數(shù)字濾波部分 - 多軟件平臺FIR數(shù)字濾波器的協(xié)同設(shè)計

2012年11月13日 14:53 來源:本站整理 作者:灰色天空 我要評論(0)

標(biāo)簽:數(shù)字濾波器(54)FIR(27)多軟件平臺(1)
2.2 數(shù)字濾波部分

  2.2.1 FIR數(shù)字濾波器的設(shè)計原理分析

  FIR數(shù)字濾波器的構(gòu)成形式主要有直接型、級聯(lián)型、線性相位型FIR濾波器和頻率采樣型等。本文采用直接型結(jié)構(gòu),故N階FIR數(shù)字濾波器的傳遞函數(shù)為:

  

 

  H(z)是z-1的N-1次多項式,它在z平面上有個N-1零點,在原點z=0處有一個N-1重極點,因此系統(tǒng)函數(shù)H(z)永遠(yuǎn)穩(wěn)定。系統(tǒng)差分方程表達(dá)式為:

  

 

  上式就是輸入序列x(n)與單位沖擊響應(yīng)h(n)的線性卷積,由上式可知n時刻的輸入y(n)僅于n時刻的輸入以及過去N-1個輸入值有關(guān),實際上FIR數(shù)字濾波器是由一個"抽頭延遲線"加法器和乘法器的集合構(gòu)成的。賦給每個乘法器的操作數(shù)就是一個FIR系數(shù)。

  線性相位型FIR數(shù)字濾波器相位響應(yīng)是頻率的線性函數(shù),即:

  

 

  該因果系統(tǒng)具有嚴(yán)格的線性相位,當(dāng)M為偶數(shù)時,有:

  

 

  其中M為FIR濾波器的抽頭數(shù);h(k)為第k級抽頭系數(shù)(單位沖擊響應(yīng));x(n-k)為延時k個抽頭的輸入信號。

  2.2.2 濾波器系數(shù)的計算

  數(shù)字濾波器實際上是一個采用有限精度算法實現(xiàn)的線性非時變系統(tǒng),它的步驟為先根據(jù)需要確定濾波器的性能指標(biāo),然后利用Matlah提供的濾波器設(shè)計工具--FDAtool仿真設(shè)計濾波器進(jìn)行系數(shù)的設(shè)計。本系統(tǒng)的設(shè)計指標(biāo):設(shè)計一個8階低通濾波器,模擬信號的采樣頻率為50 kHz,信號的截止頻率為2000Hz,輸入序列帶寬為8位。因為在FIR數(shù)字濾波器之后的ispPAC20中的D/A轉(zhuǎn)換器為8位,所以在設(shè)置濾波器系數(shù)的時候要限制輸出位數(shù)。

  FDATool計算出的值是一個有符號小數(shù),而在DSPBuilder下建立的FIR濾波器模型需要一個整數(shù)作為濾波器系數(shù)。所以必須進(jìn)行量化,并對得到的系數(shù)進(jìn)行歸一化處理。

  2.2.3 FIR數(shù)字濾波器模型的搭建

  DSP Builder是一個系統(tǒng)級(或算法級)設(shè)計工具,它構(gòu)架在多個軟件工具之上,并把系統(tǒng)級和RTL級兩個設(shè)計領(lǐng)域的設(shè)計工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢。

  根據(jù)FIR數(shù)字濾波器的原理,在Matlab/simulink中進(jìn)行設(shè)計的輸入,利用Altera DSP Builder中的模塊進(jìn)行濾波器模型的搭建,然后將計算好的FIR數(shù)字濾波器系數(shù)輸入到搭建的模型中,圖4所示為搭建好的FIR數(shù)字濾波器模型。

  

圖4 FIR數(shù)字濾波器模型

 

  在搭建好的模型中加入兩個正弦波合成的輸入信號,運行仿真,通過Scope窗口觀察濾波器時域仿真波形如圖5所示。

  

濾波器時域仿真波形

 

  從仿真的結(jié)果看,F(xiàn)IR濾波器輸入信號上面疊加的帶外信號得到有效濾除,效果為理想。

  但是由于EDA工具軟件(諸如QuartusⅡ和ModelSim)不能直接處理MATLab的。mdl文件,這就需要一個轉(zhuǎn)換過。mdl)轉(zhuǎn)化成通用的硬件描述語言--VHDL文件。轉(zhuǎn)化后獲得的HDL文件是基于RTL級的,即可綜合的VHDL描述。然后對VHDL的RTL代碼和仿真文件進(jìn)行綜合、編譯適配及仿真。

  2.3 后端模擬部分

  信號經(jīng)過FIR數(shù)字濾波以后,生成的數(shù)字信號經(jīng)過ispPAC20內(nèi)部D/A轉(zhuǎn)換器,將數(shù)字信號轉(zhuǎn)換成模擬信號,然后通過ispPAC20內(nèi)部器件進(jìn)行最后的模擬濾波,濾除信號中的疊加的某些高頻分量,經(jīng)過實際驗證,得到的信號能夠滿足設(shè)計要求。

  2.4 系統(tǒng)整體功能的實現(xiàn)

  將原始信號經(jīng)過ispPAC20的IN1口輸入,經(jīng)過內(nèi)部程序的緩沖以及預(yù)濾波作用之后,將信號輸入到比較器ep1的比較端口,然后與8位逐次逼近寄存器(SAR)輸出的數(shù)字量經(jīng)過內(nèi)部D/A轉(zhuǎn)換器輸出的信號進(jìn)行比較,從而完成從模擬信號到數(shù)字信號的轉(zhuǎn)換過程。經(jīng)過FPGA對轉(zhuǎn)換后的數(shù)字信號的濾波處理之后,從FPGA的管腳輸出,再通過后端ispPAC20的D/A轉(zhuǎn)換器以及內(nèi)部的運放以及輸出濾波等程序,將信號從ispPAC 20輸出,從而完成系統(tǒng)的整個功能。

  3 結(jié)束語

  本系統(tǒng)改變了傳統(tǒng)的只用硬件電路設(shè)計的方法,系統(tǒng)中前端模擬部分和后端模擬部分均采用可編程模擬器件(ispPAC)實現(xiàn),使用高度集成化芯片,系統(tǒng)的可靠性與穩(wěn)定性有所提高,而且利用FPGA可以根據(jù)自己的要求重復(fù)配置各種精度和特性的FIR濾波器,使設(shè)計更為靈活,但由于利用ispPAC20和FPGA構(gòu)建的A/D轉(zhuǎn)換器在轉(zhuǎn)換精度和速率上有一定的限制,所以此系統(tǒng)在實際工程應(yīng)用中還存在一定的局限性。

上一頁12

本文導(dǎo)航