掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 FIR濾波器原理
FIR數(shù)字濾波器是一種非遞歸系統(tǒng),其沖激響應(yīng)總是有限長(zhǎng)的,其系統(tǒng)函數(shù)可以記為:,最基本的FIR濾波器可用下式表示是輸入采樣序列;h(m)是濾波器系數(shù);N是濾波器的階數(shù);y(n)表示濾波器的輸出序列。也可以用卷積來(lái)表示輸出序列y(n)與x(n),h(n)的關(guān)系:
y(n)=x(n)*h(n)
圖2顯示了一個(gè)典型的直接T型3階FIR濾波器,其輸出序列y(n)滿足下列等式:
在該FIR濾波器中,總共存在3個(gè)延時(shí)結(jié),4個(gè)乘法單元,1個(gè)4輸入的加法器。如果采用普通的數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn),只能用串行的方式順序地執(zhí)行延時(shí)、乘加操作,不可能在1個(gè)DSP處理器指令周期內(nèi)完成,必須用多個(gè)指令周期來(lái)完成。但如果采用FPGA來(lái)實(shí)現(xiàn),就可以采用并行結(jié)構(gòu),在1個(gè)時(shí)鐘周期內(nèi)得到1個(gè)FIR濾波器的輸出。不難發(fā)現(xiàn),圖2的電路結(jié)構(gòu)是一種流水線結(jié)構(gòu),這種結(jié)構(gòu)在硬件系統(tǒng)中有利于并行高速運(yùn)行。
2 FIR濾波器的實(shí)現(xiàn)
Altera提供的FIR Complier是結(jié)合Altera FPGA器件的FIR Filter Core,DSP Builder與FIR Compiler可以緊密結(jié)合起來(lái)。DSP Builder提供了FIR Core的應(yīng)用環(huán)境和仿真驗(yàn)證環(huán)境。
2.1 建立模型文件
為了調(diào)用FIR IP Core,在Simulink環(huán)境中新建模型文件,放置Sigtlal Compiler模塊和FIR模塊。啟動(dòng)Simulink的方法:打開(kāi)Matlab,在主命令窗口直接鍵入Simulink,按回車即可。然后打開(kāi)Altera DSP Builder模塊,在MegaCore Functions調(diào)出fir_compiler_v7_0。
2.2 配置FIR濾波器核
雙擊模型中的FIR模塊,在彈出來(lái)的選擇窗口中有:關(guān)于這個(gè)核(about this core)、程序說(shuō)明書(shū)(documentation)、顯示元件(display symb01)、步驟1確定參數(shù)(Stepl:Parameterize)和步驟2生成(Step2:Generate)等4個(gè)不同的選項(xiàng)。點(diǎn)擊stepl,便打開(kāi)了FIR濾波器核的參數(shù)設(shè)置窗口,如圖3所示。
由圖3可見(jiàn),濾波器的系數(shù)精度為32位,器件為CycloneⅢ,結(jié)構(gòu)為并行濾波器,結(jié)構(gòu)選擇了1級(jí)流水線,濾波器由LC邏輯宏單元構(gòu)成,系數(shù)數(shù)據(jù)存于FPGA的M9K模塊中,1個(gè)輸入通道,32位有符號(hào)并行輸入,全精度數(shù)據(jù)輸出。設(shè)定后會(huì)直接顯示濾波器的頻率響應(yīng)(frequency res-ponse)或時(shí)域響應(yīng)及系數(shù)值(timeresponse & coefficeient values)。由其頻率響應(yīng)圖可以看出,此FIR濾波器為低通濾波器。如果不符合設(shè)計(jì)要求,則可以通過(guò)對(duì)Edit Coefficient Set選項(xiàng),對(duì)濾波器進(jìn)行重新配置。
2.3 生成VHDL語(yǔ)言
完成FIR濾波器核配置后,便可得到設(shè)計(jì)好的濾波器,加入輸入/輸出信號(hào),形成如圖4所示電路。點(diǎn)擊SignalCompiler,再選擇Anal-yze,選擇Sigle step compilation中的Convert MDL to VHDL,就可以生成對(duì)應(yīng)的VHDL語(yǔ)言。
在QuartusⅡ中打開(kāi)編譯后生成的fir.qpf工程文件,可以得到濾波器的VHDL語(yǔ)言,其部分代碼如下:
編譯成功后,可以將其轉(zhuǎn)換成元件。
2.4 系統(tǒng)功能仿真
在Matlab中,建立M文件,運(yùn)用前面設(shè)置好參數(shù)所生成的FIR濾波器,打開(kāi)FIR濾波器時(shí)域響應(yīng)與系數(shù)值(time response & coefficeient vahles)。得到該濾波器的時(shí)域響應(yīng)和系數(shù)值如圖5所示,由該系數(shù)表確定濾波器,并進(jìn)行算法級(jí)仿真,得到如圖6所示的波形。
圖6(a)為濾波前信號(hào),圖6(b)為濾波后信號(hào)。從仿真波形可以看出,經(jīng)過(guò)FIR濾波器之后,高次諧波信號(hào)被很好地濾除了,達(dá)到了預(yù)定的設(shè)計(jì)目標(biāo)。
3 基本FPGA片上系統(tǒng)的功能測(cè)試
設(shè)計(jì)目標(biāo)器件選用美國(guó)Altera公司Cyclone系列FPGA器件中的EP3C25E144C8N芯片,通過(guò)開(kāi)發(fā)工具QuartusⅡ?qū)Ω鱾€(gè)模塊的VHDL源程序及頂層電路進(jìn)行編譯、邏輯綜合、電路的糾錯(cuò)、驗(yàn)證、自動(dòng)布局布線及仿真等各種測(cè)試,最終將設(shè)計(jì)編譯的數(shù)據(jù)下載到芯片中,同時(shí)與單片機(jī)AT89C51結(jié)合,進(jìn)一步進(jìn)行數(shù)據(jù)的快速處理和控制,實(shí)現(xiàn)鍵盤可設(shè)置參數(shù)及LCD顯示。經(jīng)實(shí)際電路測(cè)試驗(yàn)證,達(dá)到了設(shè)計(jì)的要求。
4 結(jié)語(yǔ)
這種基于SoPC數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn),不僅利用Matlab中的Simulink與Alterl DSP Builder工具確定FIR濾波器系數(shù),不用編程,只需簡(jiǎn)單的設(shè)置,而且通過(guò)VHDL層次化設(shè)計(jì)方法,同時(shí)使FPGA與單片機(jī)相結(jié)合,采用C51及VHDL語(yǔ)言模塊化設(shè)計(jì)思想進(jìn)行優(yōu)化編程,進(jìn)一步完善了數(shù)據(jù)的快速處理和有效控制,提高了設(shè)計(jì)的靈活性、可靠性,也增強(qiáng)了系統(tǒng)功能的可擴(kuò)展性。
北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開(kāi)發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...
關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車