做網(wǎng)站的技術(shù)關(guān)鍵佛山網(wǎng)絡(luò)推廣培訓(xùn)
? ? ? ?生活在這個(gè)色彩斑斕的世界里,大家的身邊存在太多模擬信號(hào)比如光能、電壓、電流、壓力、聲音、流速等。數(shù)字信號(hào)處理作為嵌入式研發(fā)的一個(gè)經(jīng)久不衰熱門話題,可以說大到軍工武器、航空航天,小到日常儀器、工業(yè)控制,嵌入式SOC芯片數(shù)字信號(hào)處理相關(guān)應(yīng)用無(wú)處不在,本科期間很多同學(xué)都選修或者必修過“數(shù)字信號(hào)處理”的課程,但是當(dāng)時(shí)很多內(nèi)容聽得都很模糊,聽了些理論、記了些公式,刷刷題再考考試,這門課程就算結(jié)束了,可能也沒有相關(guān)的課程設(shè)計(jì)。
? ? ? ?等到真正參加工作從事嵌入式軟件開發(fā)后,“FPGA數(shù)字信號(hào)處理”這個(gè)名詞確實(shí)常常在耳畔響起,這時(shí)候再想去系統(tǒng)學(xué)習(xí)卻發(fā)現(xiàn)很難摸到頭腦,一方面是市面很少有相關(guān)教程或者應(yīng)用案例,另一方面是需要很多相關(guān)背景知識(shí),工作閱歷的支撐。
? ? ? ?比方說首先數(shù)字信號(hào)處理中有很多概念:序列變換、頻譜分析、時(shí)域頻域、卷積濾波、上下變頻等,這些聽起來(lái)就很繞腦;其次還需要會(huì)使用matlab做一些數(shù)據(jù)模擬和分析,而對(duì)于FPGA研發(fā)來(lái)說可能還需要modelsim和matlab的聯(lián)合去驗(yàn)證分析問題;再次對(duì)于數(shù)字信號(hào)處理而言其中應(yīng)用最多的點(diǎn)在乘加運(yùn)算上,FPGA做高速ADC實(shí)時(shí)采集濾波定點(diǎn)數(shù)計(jì)算,而產(chǎn)品成本限制又要求選擇性價(jià)比較高的FPGA器件,那么在邏輯資源有限的情況下,特別是乘法器資源,就比較考驗(yàn)研發(fā)者的FPGA設(shè)計(jì)能力,通過面積時(shí)間互換方法在性能和成本之間找到一個(gè)平衡點(diǎn);最后一般情況下大多產(chǎn)品會(huì)使用前端ARM或者DSP,配合后端FPGA的架構(gòu),所以想從全局角度理解整個(gè)產(chǎn)品,對(duì)于嵌入式軟件架構(gòu)也要有些了解,哪些工作放在前端實(shí)現(xiàn)合適,哪些工作放在后端實(shí)現(xiàn)合適,前后端SOC芯片之間報(bào)文通信的方式等要能理清楚。
? ? ? ?為了把“FPGA數(shù)字信號(hào)處理”這個(gè)博客寫得盡量通俗易懂貼近項(xiàng)目,筆者課下也做了很多功課,我們從理論到實(shí)踐出發(fā)的方式,先理一理書本上數(shù)字信號(hào)處理的相關(guān)理論知識(shí),工作后再去看本科期間經(jīng)典書籍,有了工作積累很多東西會(huì)有更深刻理解,首先理論部分會(huì)整理編寫十到十五篇博客放在“FPGA基礎(chǔ)知識(shí)”專欄方便大家查閱,這部分的理論知識(shí)也經(jīng)常會(huì)用到;其次會(huì)聯(lián)合matlab和modelsim仿真,在現(xiàn)實(shí)需求中設(shè)計(jì)出不同性能和階數(shù)的FIR濾波器并上板分析觀察效果現(xiàn)象并做合理總結(jié);再次會(huì)把FFT傅里葉變化的IP核研讀一遍,同樣去聯(lián)合matlab和modelsim仿真,通過開發(fā)板DAC發(fā)出疊加頻率的正弦波輸入,ADC采樣FFT還原出采樣的波形頻率和幅值驗(yàn)證我們的設(shè)計(jì)。
? ? ? ?最后想整理一個(gè)數(shù)字信號(hào)處理的軟件框架供,具有較強(qiáng)的通用性供大家項(xiàng)目參考,為了還原整個(gè)軟件的實(shí)施,硬件上正在去繪制一個(gè)接口插件板,板載AD9220的ADC芯片和相關(guān)運(yùn)放調(diào)節(jié)電路、配有低端MCU的STM32F103CBT6芯片和編碼器按鍵、一個(gè)OLED屏幕,直插到現(xiàn)有的豌豆開發(fā)板CMOS攝像頭端子上,MCU和FPGA間串口TTL電平通信,用戶通過按鍵編碼器在OLED屏幕上設(shè)定FPGA驅(qū)動(dòng)AD9708的DAC芯片輸出不同頻率疊加的波形,硬件上通過SMA端子連接到AD9220的ADC芯片。FPGA采樣計(jì)算濾波,還原出疊加波形的頻率和幅值,通過報(bào)文串口發(fā)送到MCU處理并同時(shí)動(dòng)態(tài)顯示在OLED屏幕上。
? ? ? ?“數(shù)字信號(hào)處理”這本書當(dāng)然也存在幾個(gè)不同的版本,這里筆者準(zhǔn)備了一本經(jīng)典電子版英文的“Understanding Digital Signal Procesing”同時(shí)也附帶了其中文翻譯版,如有需要的同學(xué)私信即可,國(guó)外英文書籍寫得相比國(guó)內(nèi)教程更容易理解,博客理論撰寫整理參考高西全老師的“數(shù)字信號(hào)處理”第四版和萬(wàn)永菁老師“數(shù)字信號(hào)處理”的課程,FPGA數(shù)字信號(hào)處理則參考了杜勇老師和高亞軍老師的相關(guān)書籍。
? ??