基于DSP Builder數字信號處理器的FPGA設計
DSP技術(shù)廣泛應用于各個(gè)領(lǐng)域,但傳統的數字信號處理器由于以順序方式工作使得數據處理速度較低,且在功能重構及應用目標的修改方面缺乏靈活性。而使用具有并行處理特性的FPGA實(shí)現數字信號處理系統,具有很強的實(shí)時(shí)性和靈活性,因此利用FPGA實(shí)現數字信號處理成為數字信號處理領(lǐng)域的一種新的趨勢。
以往基于FPGA的數字信號處理系統的模型及算法采用VHDL或VerilogHDL等硬件描述語(yǔ)言描述。但這些硬件描述語(yǔ)言往往比較復雜,而采用Altera公司推出的專(zhuān)門(mén)針對數字信號處理器設計工具DSP BuildIer則可大大簡(jiǎn)化設計過(guò)程,提高設計效率。
1 基于DSP Builder的數字信號處理器設計流程
DSP Builder是一個(gè)系統級(或者說(shuō)算法級)設計工具,它架構在多個(gè)軟件工具之上,并連接系統級的算法仿真建模和RTL級的硬件實(shí)現兩個(gè)設計領(lǐng)域的設計工具,最大程度地發(fā)揮了這兩種工具的優(yōu)勢。
DSP Builder依賴(lài)于Math-Works公司的數學(xué)分析工具M(jìn)atlab/Simulink,以Simulink的Blockset出現,可在simulink中進(jìn)行圖形化設計和仿真,同時(shí)又通過(guò)signal Compiler把Maltlab/Simulink/DSP Builder的設計文件轉成相應的VHDL設計文件,以及用控制綜合與編譯的tcl腳本。而對后者的處理可以由FPGA/CPLD開(kāi)發(fā)工具QuartusⅡ完成。其設計流程如下:
Step1:在Simulink環(huán)境中調用Altera DSP庫(非MATLAB自帶的DSP庫)中的塊,進(jìn)行數學(xué)模型設計。
Step2:在MATLAB中進(jìn)行純數學(xué)上的仿真、驗證及修改。
Step3:當仿真符合設計要求后,再加入并運行Signal Compiler模塊,將.mdl文件自動(dòng)轉成.vhd文件,進(jìn)行RTL級的功能仿真和邏輯綜合。
Step4:在QuartusⅡ中進(jìn)行編譯設計并進(jìn)行時(shí)序仿真。
Step5:下載到一個(gè)硬件開(kāi)發(fā)板上并測試。
2 設計實(shí)例
FIR和IIR濾波器是當前數字信號處理巾最常用的2種濾波器,其中FIR因其具有精確的線(xiàn)性相位特性而得到廣泛應用。下面以截止頻率為5 kHz,采樣頻率為32 kHz,輸入序列位寬為9位(最高位為符號位)的12階FIR低通數字濾波器為例,闡述基于DSP Builder的數字信號處理器設計方案。
2.1 FIR數字濾波器結構模型
對于N階FIR數字濾波系統,其沖擊響應總是有限長(cháng)的,系統函數為:
濾波器的差分方程為:
式中,x(n)是輸入采樣序列,h(n)是濾波器系數,N是濾波器的階數,y(n)表示濾波器的輸出序列。
設計濾波器的任務(wù)就是尋找一個(gè)因果、物理上可實(shí)現的系統函數H(z),使其頻率響應滿(mǎn)足所希望的頻域指標。圖1為階FIR數字濾波器的結構圖??梢?jiàn),FIR的數字濾波過(guò)程就是一個(gè)信號逐級延遲的過(guò)程,將各級的延遲輸出加權累計,即得到FIR的輸出。
2.2 濾波器系數的確定
濾波器系數使用Matlab的FDNTool設計工具獲得。FDATool即為Filter Design&Analysys Tool,可以完成多種濾波器的設計、分析和性能評估。
啟動(dòng)FDATool后就是濾波器的設計界面,設置相應參數,便可生成所需的系數。由于得到的系數均為介于[-1,1]區間的浮點(diǎn)數,而在DSP Builder下建立的FIR濾波器模型需要一個(gè)整數(有符號整數類(lèi)型)作為濾波器系數,故需將其量化為整數。量化后濾波器系數為:
2.3 濾波器模型的建立
在DSP Builder平臺上設計FIR濾波器,首先在Matlab的Simulink中建立一個(gè).MDL模型文件,即根據所要設計FIR濾波器的結構調用Al-tera DSP Builder和其他Simulink庫中的圖形模塊,構成設計框圖文件。
如果把所有的模塊放在一個(gè)Simulink圖中,設計圖會(huì )顯得非常復雜、龐大,不利于閱讀或排錯,這時(shí)可以利用層次設計方法設計。對于12階FIR數字濾波器,可以先設計一個(gè)3階FIR濾波器子模塊fir3(圖2),然后調用3個(gè)fir3子模塊構造成12階nR數字濾波器。使用。DSPBuilder工具箱建立的12階FIR數字濾波器模型,如圖3所示。
評論