本人今年研一,想自學DSP,希望以後工作能夠用到。但是我在這方面絕對的小白一個,想請問各位大神?
怎樣入門呢?求各位大神指點?資料的選擇?還有究竟該怎樣辦?
首先贊一下題主,能夠自己主動的去學習,這點值得嘉獎。
雖然我是一名射頻工程師,但是我研究生的時候也做過DSP,主要用來控制和做一些小演算法。回答可能不專業,但希望對你有幫助。
不知道題主是否做過單片機的開發,如果做過,那你可以把DSP當成一個高級單片機來看。
如果沒有,個人認為你可以如此下手:首先,了解DSP的硬體結構,只是了解,利用好百度,還有學校的圖書館以及學校的資料庫資源啊。知道DSP內部大概的運作機制,有那些組成部分。
其次,選擇一款DSP晶元進行針對性學習,你可以考慮買個開發板。DSP的類型挺多的,有的比較適合控制就像TI的C2000系列,有的適合做演算法,這個自己去查啊,這也是能力的一種的鍛煉,搜集資料的能力。所以根據你的需要去選擇。選好了,就看晶元的器件手冊,看看DSP速度如何,內部有哪些外設,寄存器,介面。這些是跟硬體相關的,需要你對硬體電路有一定的了解。
再者,準備好開發工具,熟悉編譯環境,比如TI的DSP就是使用的CCS。學會C語言,學習演算法原理,理解演算法的思想。拿起開發板,通常買了開發板它會贈送很多的資料,硬體電路的資料,相關軟體的資料,還有常式和調試手冊。按照手冊上的說明,一步步的實驗。所以始終建議你買個開發板來做實驗。先運行常式,慢慢熟悉之後,開始自己編寫一些小程序,循序漸進,慢慢的你就能熟練運用。在接著就進階了,成為高手,這個就看你自己的造化了。
最後,別忘了DSP是系統的核心部分,但是其外圍電路也是很關鍵的。不要只關注DSP本身的編程,而脫離了硬體。比如你要做一個信號處理演算法,首先要有個硬體平台,核心是DSP。那麼,首先最初輸入的信號肯定是模擬的,DSP只能處理數字信號,那必須把模擬轉換成數字信號,那就涉及ADC,而ADC本身也有很多需要考量的地方。反正就是多從系統的角度去考慮問題,不要忽略系統中的任何一個部分。
總之,利用好身邊的資源,學會怎麼去搜集資料,建議買個開發板,先按照別人給的例子照著學學,多了解硬體電路的知識。
以上。推薦閱讀:
※目前國內哪家DSP(Demand Side Platform)需求方平台綜合效果最好?
※微博有自己的ADX嗎?效果怎麼樣?
※ARM 和 Intel 誰能代替 DSP?
※什麼是自動代碼生成技術,這種技術有什麼優點?