欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13529|回復: 21
收起左側

dsp入門,經驗

  [復制鏈接]
ID:128229 發表于 2016-6-27 14:53 | 顯示全部樓層 |閱讀模式
作者:王彥
許久許久沒有這么安靜下來寫點東西了,最近特別有功夫,就回憶了一下學習DSP的整個過程,我算不上會DSP只是在認真的學習罷了,我想時常有空就把我學習DSP的心得寫下來,以作將來自己的一份回憶,也許無什么大的價值供大家參考,我還是會認真虛心的去寫下去。
我學DSP有半年多了吧,還是不是很懂整個奧妙的專業,也許臺深了也許我的知識儲備還是不夠吧,學習起來也說不上吃力,但還是不是那么明朗的感覺。閑話就不多說了,我們說正題吧,學DSP其實是我的一個同學給我引的路,他是做ARM的對這個方面多少有點了解,就推薦我學DSP,在大三的暑假快結束的時候就引我見了一個導師,在DSP方面做過研究我就跟著老師學習,開始嘛自己不是了解,老師就推薦我先看TI的54系列的手冊,我用了一個暑假認真的看,做了至少一本的筆記,感覺還是不夠,但想想那本書其實還真的很有用的,我到顯示還時常在那時做的筆記中去查找一些東西。
要說學DSP我不得不說一本學DSP人很多都了解的一本書,程佩青的《數字信號處理》,初學DSP不看這本書也許會走些彎路吧,這本書講了很多基礎的數字信號處理的知識,我現在不管在哪都會帶上這本書,為什么呢?這本書講了很多基礎知識,算法從何而來,就是從那些傳遞函數,從那些模擬向數字轉換的推導再經過MATLAB做以處理,就會得到DSP的一些算法的數據,說的是很簡單,我們大家都有這樣的經歷吧,別人給你好的路讓你去走你會覺得沒什么難的,等叫你自己去走一條別人沒有告訴你的路的時候我們就知道自己的問題很多了,所以這條路不是說的那么簡單。但我想數學好的人在這方面可能會少走一些彎路,我用了一個暑假看TI手冊和數字信號處理,反正到現在還是不能說自己都懂,我只認為自己都了解一點皮毛而已。到了大四開學,我就去實驗室做DSP的實驗,沒什么難的都是按實驗書的步驟往下走就會完成預訂的目標,大概用了一個星期做完了這些。在接下來的日子感覺有點漂浮了,呵呵。導師就給了我一個新的任務,把我做的DSP的實驗的程序不管是C語言的還是匯編的都“翻譯”出來,這個可夠我嗆的了,學C的時候還學了點大概就跟看英語一樣還能馬馬虎虎看下去,可匯編啊,我的天哪,學單片機和微機原理的匯編時候就沒怎么學,談匯編色變啊。沒辦法,自己想學就只有拿一本寫有指令集的書一個對著一個慢慢的看,終于用了快一個月的時間完了。松了一口氣,可后面的路還廠呢,豈是這些就足矣的,在后面學習CMD文件。。。。。就是關于CCS的一些知識,到此還是只會在試驗箱上跑現成的程序,自己下的程序都還不會在試驗箱上運行,怎么辦呢?不跑怎么知道自己下的程序是不是可以通過運行呢?就找導師教我,先將CMD文件的后綴改為CMD這樣就變成了CMD文件了,在CCS中先建一個工程文件,隨便你想放哪都可以,但最好要有一個文件夾,建完了就在ADD(在工程文件的下拉目錄下點右鍵)加C文件,要是有匯編的話還要加匯編的文件,加了C語言就要加編譯器,將C轉換為匯編語言,當然這是機子自身的運行步驟不是我們考慮的我們只要把轉換器加載進去就OK了,這個也是在右鍵ADD加載了,最后還有一點重要的別忘了,CMD文件還沒加呢,這些做完了可以用CCS上的檢驗功能檢驗,無錯的話可以生成OUT文件,這個就是運行的執行文件,大家有一點需要注意的,有時一些參數需要修改的在DEBUG中,依自己需要修改,這個現在還不是太明白,以后弄懂了在后續文章中寫出來。運行OUT文件,就要在LODE中加入這個OUT文件再運行就可以了,可以在視窗中改些參數看到自己想要得到的圖形等。
以上些的比較雜,我現在在看MATLAB在數字信號處理中的應用,我想DSP就是做算法最難,而MATLAB是做算法實現的工具,所以就抽些時間集中把MATLAB看下,DSP也不是傳說中的那么難我們只要有信心多看多做一定可以做的很好的。好了,今天就先寫這么多吧,以后在寫。這個博客中的一些文章是我轉載的,希望對大家有用,我以后也會盡量加些自己寫的文章。歡迎大家常來看看,支持小弟。
要學好DSP我們有不能忽視的三門基礎先修課程:信號與系統,數字信號處理和微機(單片機)。這三門課是學DSP的基礎,要想做好DSP我們要做到硬件和軟件的結合,還要會設計系統,那么問題來了,硬件和軟件的結合必然要求對基礎知識有深刻的理解和認識(這里系統的設計我們在后面談)。

那先說下信號與系統,信號與系統的核心思想是什么呢?就是把復雜的信號給分解了,分解成簡單的信號分解成我們可以容易下手的處理的簡單信號,再通過一個系統或者若干得到響應,最后將這些若干響應用同樣組合的方式組合起來送到輸出端,結果就會得到我們的系統響應。細點說,時域分析,時域分析是把信號分解后分別乘上單位沖擊響應(即把信號分別通過單位系統),再把得到的響應累加求和就會得到時域的響應(單位沖擊響應移位加權和),為什么說是累加求和呢?線性積分就是求和很多因子的求和這里也是同樣的道理。再說頻域分析,頻域分析是把信號分解成若干不同頻率的正弦信號再通過系統然后累加求和。思路跟上面一樣,總的來說信號與系統的思想就是把復雜的信號分解成簡單的信號,分別通過系統,但后累加求和(積分)得到我們需要的響應。說到信號與系統不能不提到傅立葉變換,傅立葉變換是信號與系統的工具,通過它才可以得到系統變換,下面幾個需要記下,正余弦函數的指數表示,歐拉公式(重點),周期函數的傅立葉級數的展開,傅立葉變換對,一些常用函數的傅立葉變換需要記住(正余弦,指數,常數,沖擊響應,,,,),單位沖擊序列的傅立葉變換尤其需要記住這是DSP后面處理函數的核心內容,F[δ(t-nT)]=w。Σn=-δ(w-w。)=w。δw。(w).
這里說下數字信號處理,數字信號處理主要處理的是離散信號,離散時間信號盡管在時間上是離散的,但在幅度上仍然是連續變化的,因此仍然是模擬信號,只有經過量化器,也就是將各離散時間點上的信號幅度歸并到有限的若干個電平上,并用數字來表示時,才稱其為數字信號(digital signal).實際上,任何序列都可以表示成δ[n]的移位加權和,這是一個非常重要的概念,因為我們在討論信號通過系統的時候,只需要討論單位數字沖激通過系統的響應,即單位沖激響應,然后將系統對各移位的沖擊的響應疊加,就得到系統的輸出。這個思想和信號與系統的處理思想是一樣的,整個一部信號與系統的理論就是建立在對信號的不同形式分解,然后再綜合的基礎上的。數字信號處理中有兩個比較重要也比較基礎的沖激響應系統:有限沖激響應系統(FIR,Finite Impulse Response);無限沖激響應系統(IIR, Infinite Impulse Response);也有兩個比較基礎的變換:Z變換和傅立葉變換。

下面是時域和頻域的對應:

時域的連續非周期信號←→頻域連續非周期譜(FT)

時域的周期信號
←→頻域離散譜(FST)

時域的離散信號
←→頻域周期譜(DTFT)

時域的離散周期信號
←→頻域離散周期譜(DFT)

在DFT中,變換的兩邊都是離散的,從而才是真正能用計算機來做數字信號處理的變換對。兩邊都是周期的,從而處理可以只在一個周期內進行,這有兩個重要的意義,一是所做的處理是有限的(這對計算機來說是必須的);二是只在一個周期內就可以保留全部的信息(這對準確的處理來說是必須的);

在現實工程中我們遇到的信號往往是連續的非周期的,為了進行DFT,就必須將其離散(抽樣)周期化(周期延拓)。

在信號的采樣的時候要遵循奈奎斯特準則,奈奎斯特抽樣頻率fS=1/T=2fm(即不失真的最低采樣頻率);奈奎斯特抽樣間隔T=1/2fm(即不失真的最大采樣間隔),由于理想低通濾波器是不可實現的,所以實際上的低通濾波器都有上升時間和下降時間,因此工程上往往采用fS›2.5~3 fm.采樣后的信號,時間上是離散的,但幅度仍然是連續的,還不是真正的數字信號,必須對其幅度做量化,即將離散時間點上的幅度歸入有限數目的等級。

關于微機原理的知識自己學的不是太好,也不知道怎么說起就不說了。我想還是多看看書會有幫助的。
前面(一)說了截至到現在我的大概學習過程,(二)說了信號與系統,數字信號處理的知識。這個篇章我想說說DSP的硬件結構。DSP的硬件和軟件以及系統設計稱為DSP的三大部分,我覺得這部分內容還是比較有用的。
說DSP的硬件結構不得不說起它的CPU結構,世界上的CPU結構從上個世紀四十年代起CPU發展的時候就分為兩大種類,一種是馮•••諾依曼結構(Von Neuman);另一種是哈佛結構(Harvard);馮•••諾依曼結構主要用于通用的處理器中,而哈佛結構主要用于DSP處理器中。兩個結構的構成見下圖(1):
從上圖可以顯而易見的看出哈佛結構可以做并行處理,可以減少處理時間。
有兩中指標可以表示處理器的處理速度:MIPS與MFLOPS。
MIPS--(million instruction per second),每秒百萬次運算
MFLOPS――(million floating operation per second),浮點運算多少次每秒
現在市面上32的處理器可以達到90億次浮點運算/秒(9000MFLOPS)
DSP的處理器可以進行流水作業(pipeline),一個數據從取指到存儲需要經過取指,譯碼,尋址,取數,運算,存儲這六個步驟,流水作業可以讓他們在單周內完成,怎么講呢?舉個例子就是說DSP處理器進行的是并行的處理,可以在一個周期內同時進行第一條數據的尋址,第二條數據的譯碼,第三條數據的取指,依次類推理解這個概念就不難了。這里需要理解的是單周期,不說說一個數據可以在一個周期內進行完所有的步驟而是一個相對概念,可以一個周期內同時處理不同數據的不同步驟。
DSP處理器中用兩個通用處理器沒有的東西,是什么呢?1,獨立的硬件乘法器:在卷積,數字濾波,FFT,相關,矩陣運算等算法中都有ΣA(k)B(n-k)一類的運算大量的重復乘法和累加。通用計算機的乘法是用軟件實現的,當然需要若干個周期;DSP用硬件乘法器,用MAC指令(取數,乘法,累加)在單周期內完成。2,獨立的DMA總線與控制器:當然通用的計算機中也有DMA也不占用CPU資源但它是公用的不是獨立的。取數是從總線上取的是從存儲器中取的,雖然現在的時鐘頻率很高,但你要從總線上取數就要占用總線的時間,CPU的數據也是從總線上收發的,總線的時間占用了CPU只能暫時的掛起,等于變相的占用了CPU的資源。運算速度的快滿取決于數據的吞吐量,有了硬件乘法器和獨立的DMA總線與控制器,可想了DSP的處理速度會加快很多。有一組或多組獨立的DMA總線與CPU的程序,數據總線并行處理,在不影響CPU工作的條件下,DMA目前已達到800Mbyte/s。
在CPU方面DSP的CPU與通用的CPU也有著不同的方面,通用的CPU由ALU(算術邏輯單元)與CU(控制邏輯單元)組成,通過軟件實現;DSP的CPU設有獨立的硬件乘法器,可在單周期內完成乘法運算。
硬件電路圖中的MUX是多路器,可以理解為一個選擇開關,選取多路中的一個數據輸出。
我們在說DSP的硬件結構,關于浮點與定點是不得不說的。DSP分為定點和浮點兩種,那種更好無法說,因為看你怎么用,用在什么方面,適合的永遠是最好的。浮點格式是用指數形式表示的,其動態范圍要比定點的要大的多,定點的DSP經常需要考慮溢出的問題,浮點DSP中基本上可以不考慮這個問題。為了保證底數的精度,假如浮點DSP做成32BIT的那么總線,寄存器,存儲器等的寬度也相應的是32BIT的。在處理數據方面浮點的DSP速度更快一些,尤其在做浮點運算的時候,為什么呢?因為它就是為浮點運算所做的,當然了浮點的DSP價格也高一些,開發難度也大一些。
DSP將來發展的趨勢,更高的運行速度和信號處理速度,多DSP協同工作,更方便的開發環境,更多的專用DSP,價格更低,性能更高,應用更廣泛。


評分

參與人數 1黑幣 +2 收起 理由
jzjcs + 2

查看全部評分

回復

使用道具 舉報

ID:148509 發表于 2017-3-29 21:24 | 顯示全部樓層
值得學習
回復

使用道具 舉報

ID:191024 發表于 2017-5-23 21:43 | 顯示全部樓層
很值得我們學習。
回復

使用道具 舉報

ID:247467 發表于 2018-4-18 20:00 | 顯示全部樓層
說的很深入可以學學
回復

使用道具 舉報

ID:247467 發表于 2018-4-23 18:48 | 顯示全部樓層
講的很深入,看來是下了很大的功夫了,參考一下你的經驗了,謝謝分享你的心得。
回復

使用道具 舉報

ID:404329 發表于 2018-9-30 11:40 | 顯示全部樓層
學習了,多謝樓主,能否加個QQ?我的QQ:472307016
回復

使用道具 舉報

ID:451892 發表于 2018-12-22 00:16 | 顯示全部樓層
很棒,值得學習!謝謝
回復

使用道具 舉報

ID:477203 發表于 2019-2-16 17:54 | 顯示全部樓層
有沒有一個簡單的實例,初學也能上手(入門)的?增加學習的信心啊!
回復

使用道具 舉報

ID:479061 發表于 2019-2-27 19:50 | 顯示全部樓層
學習了,把從入門到應用。
回復

使用道具 舉報

ID:478236 發表于 2019-3-24 22:34 | 顯示全部樓層
有興趣,但無良師,新手除了樓主推薦的書,還有什么書推薦嗎?,TI手冊是什么?
回復

使用道具 舉報

ID:510044 發表于 2019-4-11 22:05 | 顯示全部樓層
有沒有TI參考程序。
回復

使用道具 舉報

ID:647476 發表于 2019-11-22 20:48 | 顯示全部樓層
感謝,受教了
回復

使用道具 舉報

ID:752571 發表于 2020-5-15 14:52 | 顯示全部樓層
樓主高手啊
回復

使用道具 舉報

ID:752571 發表于 2020-5-15 14:53 | 顯示全部樓層
樓主高手啊,非常不錯!
回復

使用道具 舉報

ID:811943 發表于 2020-8-6 17:16 來自觸屏版 | 顯示全部樓層
樓主很棒,我現在也在T門就感覺無從下手的感覺很慌,感謝樓主的分享
回復

使用道具 舉報

ID:637656 發表于 2020-9-25 08:55 | 顯示全部樓層

很值得我們學習。
回復

使用道具 舉報

ID:587620 發表于 2020-10-5 22:04 | 顯示全部樓層
受教了,希望向您學習
回復

使用道具 舉報

ID:717637 發表于 2020-10-18 20:21 | 顯示全部樓層
寫的好,學習中
回復

使用道具 舉報

ID:872450 發表于 2021-1-9 22:37 來自觸屏版 | 顯示全部樓層
分析到位
回復

使用道具 舉報

ID:488714 發表于 2021-3-15 09:20 | 顯示全部樓層
這些心得體會很有用
回復

使用道具 舉報

ID:938845 發表于 2021-6-16 19:10 | 顯示全部樓層
詳細編寫如何通過code composer studio3.3從tms320lf2406下載固件
回復

使用道具 舉報

22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
24#
無效樓層,該帖已經被刪除
ID:169593 發表于 2023-3-17 23:06 | 顯示全部樓層
你好。。。。。
回復

使用道具 舉報

26#
無效樓層,該帖已經被刪除
27#
無效樓層,該帖已經被刪除
28#
無效樓層,該帖已經被刪除
29#
無效樓層,該帖已經被刪除
30#
無效樓層,該帖已經被刪除
31#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表