基于DSP的FIR數(shù)字濾波器實(shí)現(xiàn)
出處:維庫電子市場(chǎng)網(wǎng) 發(fā)布于:2011-08-24 08:30:14
一、 引 言
在許多數(shù)字信號(hào)處理系統(tǒng)中,F(xiàn)IR濾波器是常用的組件之一,它完成信號(hào)預(yù)調(diào)、頻帶選擇和濾波等功能。F工R濾波器在截止頻率的邊沿陡峭性能雖然不及11R濾波器,但是,考慮到FIR濾波器嚴(yán)格的線性相位特性和不像IIR濾波器存在穩(wěn)定性的問題,F(xiàn)IR濾波器能夠在數(shù)字信號(hào)處理領(lǐng)域得到廣泛的應(yīng)用。
數(shù)字濾波器(Digital Filter,簡稱為DF)是指用來對(duì)輸入信號(hào)進(jìn)行濾波的硬件和軟件。所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號(hào),通過一定運(yùn)算關(guān)系改變輸入信號(hào)所含頻率成分的器件。數(shù)字濾波器和模擬濾波器相比,因?yàn)樾盘?hào)的形式和實(shí)現(xiàn)濾波的方法不同,數(shù)字濾波器具有比模擬濾波器高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配等優(yōu)點(diǎn)。
二、 數(shù)字濾波器的兩種類型
對(duì)于一般的數(shù)字濾波器,按照單位沖激響應(yīng)可分為無限長沖激響應(yīng)IIR(Infinite Impulse Response)系統(tǒng)和有限長沖激響應(yīng)FIR(Finite Impulse Response)系統(tǒng)。
在IIR系統(tǒng)中,用有理分式表示的系統(tǒng)函數(shù)來逼近所需要的頻率響應(yīng),即其單位沖激響應(yīng)h(n)是無限長的;而在FIR系統(tǒng)中,則用一個(gè)有理多項(xiàng)式表示的系統(tǒng)函數(shù)去逼近所需要的頻率響應(yīng),即其單位沖激響應(yīng)h(n)在有限個(gè)n值處不為零。
FIR濾波器則可在幅度特性隨意設(shè)計(jì)的同時(shí),保證、嚴(yán)格的線性相位特性。這在要求相位線性信道的現(xiàn)代電子系統(tǒng),如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中,是具有很大吸引力的。而且,其單位沖激響應(yīng)是有限長的,不存在不穩(wěn)定的因素,并且可用因果系統(tǒng)來實(shí)現(xiàn)。
相較于IIR濾波器, FIR濾波器有以下的優(yōu)點(diǎn):可以很容易地設(shè)計(jì)線性相位的濾波器。 線性相位濾波器延時(shí)輸入信號(hào),卻并不扭曲其相位。實(shí)現(xiàn)簡單。 在大多數(shù)DSP處理器, 只需要對(duì)一個(gè)指令積習(xí)循環(huán)就可以完成FIR計(jì)算。適合于多采樣率轉(zhuǎn)換,它包括抽?。ń档筒蓸勇剩?插值(增加采樣率)操作。 無論是抽取或者插值, 運(yùn)用FIR濾波器可以省去一些計(jì)算, 提高計(jì)算效率。 相反,如果使用IIR濾波器,每個(gè)輸出都要逐一計(jì)算,不能省略,即使輸出要丟棄。具有理想的數(shù)字特性。 在實(shí)際中,所有的DSP濾波器必須用有限(有限bit數(shù)目)實(shí)現(xiàn),而在IIR濾波器中使用有限會(huì)產(chǎn)生很大的問題,由于采用的是反饋電路,因此IIR通常用非常少的bit實(shí)現(xiàn),設(shè)計(jì)者就能解決更少的與非理想算術(shù)有關(guān)的問題。可以用小數(shù)實(shí)現(xiàn)。 不像IIR濾波器,F(xiàn)IR濾波器通??赡苡眯∮?的系數(shù)來實(shí)現(xiàn)。(如果需要,F(xiàn)IR濾波器的總的增益可以在輸出調(diào)整)。當(dāng)使用定點(diǎn)DSP的時(shí)候,這也是一個(gè)考慮因素,它能使得實(shí)現(xiàn)更加地簡單。
下面著重討論具有線性相位特性的FIR濾波器。
三、 FIR濾波器線性相位特性的條件及設(shè)計(jì)方法
1.線性相位條件
為保證濾波器帶內(nèi)輸出信號(hào)的形狀保持不變,常常要求濾波器單位沖激響應(yīng)h(n)的頻率響應(yīng)H(ejω)應(yīng)具有線性的相頻特性,即H(ejω)=H(ω)e-jωk,其中H(ω)為幅頻特性,k為正整數(shù)。由傅氏變換的特性可知,線性相位濾波器只是將信號(hào)在時(shí)域上延遲了k個(gè)采樣點(diǎn),因此不會(huì)改變輸入信號(hào)的形狀。
可以證明,如果濾波器單位沖激響應(yīng)h(n)為實(shí)數(shù),且滿足:偶對(duì)稱即h(n)=h(N-1-n)或奇對(duì)稱h(n)=-h(N-1-n)時(shí),則其相頻特性一定是線性的。
2.設(shè)計(jì)方法
?。?) 窗函數(shù)設(shè)計(jì)法
從時(shí)域出發(fā),把理想的無限長的hd(n)用一定形狀的窗函數(shù)截取成有限長的h(n),以此h(n)來逼近hd(n),從而使所得到的頻率響應(yīng)H(ejω)與所要求的理想頻率響應(yīng)Hd(ejω)相接近。優(yōu)點(diǎn)是簡單、實(shí)用,缺點(diǎn)是截止頻率不易控制。
?。?) 頻率抽樣設(shè)計(jì)法
從頻域出發(fā),把給定的理想頻率響應(yīng)Hd(ejω)加以等間隔抽樣,所得到的H(k)作逆離散傅氏變換,從而求得h(n) ,并用與之相對(duì)應(yīng)的頻率響應(yīng)H(ejω)去逼近理想頻率響應(yīng)Hd(ejω)。優(yōu)點(diǎn)是直接在頻域進(jìn)行設(shè)計(jì),便于優(yōu)化,缺點(diǎn)是截止頻率不能自由取值。
(3) 等波紋逼近計(jì)算機(jī)輔助設(shè)計(jì)法
前面兩種方法雖然在頻率取樣點(diǎn)上的誤差非常小,但在非取樣點(diǎn)處的誤差沿頻率軸不是均勻分布的,而且截止頻率的選擇還受到了不必要的限制。因此又由切比雪夫理論提出了等波紋逼近計(jì)算機(jī)輔助設(shè)計(jì)法。它不但能準(zhǔn)確地指定通帶和阻帶的邊緣,而且還在一定意義上實(shí)現(xiàn)對(duì)所期望的頻率響應(yīng)實(shí)行逼近。
四、 FIR濾波器的實(shí)現(xiàn)
不論是窗函數(shù)設(shè)計(jì)法,還是頻率抽樣設(shè)計(jì)法,都要求出濾波器的單位沖激響應(yīng)h(n),然后才能在時(shí)域中實(shí)現(xiàn)頻域中的濾波。
1.濾波系統(tǒng)的差分方程
在頻域,當(dāng)其輸入信號(hào)為X(ejω)時(shí),如濾波器的頻率響應(yīng)為H(ejω),則其輸出信號(hào)為Y(ejω)=X(ejω)H(ejω)。
在時(shí)域,設(shè)濾波器的單位沖激響應(yīng)h(n)為一N點(diǎn)序列,即0≤n≤N-1時(shí)h(n)的值不為零,根據(jù)離散傅氏變換的性質(zhì),則可以將濾波器的輸入序列x(n)的響應(yīng)y(n)表示為x(n)與h(n)的卷積和,即:
這就是濾波系統(tǒng)的差分方程,它給濾波器的實(shí)現(xiàn)奠定了理論基礎(chǔ)。即求出時(shí)域的h(n)后,便可通過卷積來實(shí)現(xiàn)頻域的濾波。
2.卷積和運(yùn)算的實(shí)現(xiàn)
(1) h(n)序列N個(gè)點(diǎn)數(shù)值的存儲(chǔ)
由于h(n)是根據(jù)濾波性能要求已經(jīng)設(shè)計(jì)好的有限長單位沖激響應(yīng),故其N個(gè)點(diǎn)的數(shù)值是已知的,因此可以存放在ROM或RAM當(dāng)中,且對(duì)應(yīng)著N個(gè)不同的地址,便于尋址。
?。?) 輸入序列x(n)的移位寄存
輸入序列x(n)是不斷變化的,因此只能對(duì)其進(jìn)行移位寄存,寄存器的個(gè)數(shù)為N,即N個(gè)寄存器中分別存放著x(n)、x(n-1)……x(n-N+1),它們都隨著n的變化而變化。
?。?) 乘法器
用以完成兩個(gè)數(shù)值的乘法,即h(m)x(n-m),也就是將存儲(chǔ)器中N地址所對(duì)應(yīng)的N個(gè)固定數(shù)值h(m)分別與N個(gè)移位寄存器中的不斷變化的N個(gè)變化數(shù)值x(n-m)相乘。
?。?) 累加器
用以實(shí)現(xiàn)N個(gè)乘積的累加,即將當(dāng)前x(n)所對(duì)應(yīng)的N個(gè)乘積進(jìn)行累加,所得到的和就是y(n)。當(dāng)濾波器的下一個(gè)輸入值即x(n +1)到來時(shí),累加器清零,并重新將下一組x(n +1)所對(duì)應(yīng)的N個(gè)乘積進(jìn)行累加,所得到的和就是y(n +1)。
3.DSP的支持
DSP作為信號(hào)處理應(yīng)用,與一般微處理器有很大的區(qū)別。
?。?) 哈佛結(jié)構(gòu):采用多個(gè)并行存儲(chǔ)器塊結(jié)構(gòu),使得能夠訪問的存儲(chǔ)器個(gè)數(shù)增加,從而減少在一個(gè)指令周期中所需存儲(chǔ)器操作周期數(shù)。
?。?) 乘加流水線為的數(shù)據(jù)通路:卷積和運(yùn)算的基本操作就是乘法與加法,DSP則將相乘及累加統(tǒng)一考慮,構(gòu)成以乘法器、加法器流水線為中心的運(yùn)算部件。
?。?) 特殊的指令:指令RPT由數(shù)據(jù)存儲(chǔ)器指定重復(fù)次數(shù),指令MACD可以完成相乘并帶數(shù)據(jù)移位的累加,因此使得每FIR濾波器只需一個(gè)指令周期。
?。?) 指令系統(tǒng)的多級(jí)流水線:采用多級(jí)流水線操作方式,可以把指令周期減小到值,同時(shí)也就增加了數(shù)字信號(hào)處理器的吞吐量。
五、 具體電路框圖及程序流程圖
圖 1為FIR濾波器DSP實(shí)現(xiàn)的電路方框圖,其部分為TI公司生產(chǎn)的DSP芯片TMS320C203 ,EP2ROM和RAM是其外圍電路。DSP送給A/D抽樣時(shí)鐘,對(duì)輸入的模擬信號(hào)抽樣,即將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后讀取每的抽樣值,并對(duì)抽樣值進(jìn)行卷積運(yùn)算(FIR數(shù)字濾波),將運(yùn)算結(jié)果(濾波后的數(shù)字信號(hào))送至D/A ,轉(zhuǎn)換成模擬信號(hào)進(jìn)行輸出。
圖 1 電路框圖
圖 2為程序流程圖,說明如下:
圖 2 程序流程圖
?。?) 對(duì)DSP進(jìn)行初始化,定義DSP的一些向量和工作模式;
?。?) 為數(shù)字濾波作準(zhǔn)備,將預(yù)先設(shè)計(jì)好的有N個(gè)抽頭的FIR數(shù)字濾波器的沖激響應(yīng)序列h(n)中的N個(gè)數(shù)值放入存儲(chǔ)單元B1~BN;
?。?) 作好濾波準(zhǔn)備工作后,開始進(jìn)行抽樣,并讀入抽樣值,放入存儲(chǔ)單元A1中;
(4) 之后便對(duì)抽樣值進(jìn)行運(yùn)算處理:
?。╝) 將累加器清零,并設(shè)置兩個(gè)準(zhǔn)備相乘的存儲(chǔ)單元A與B的初始值K和L;
(b) 將第K個(gè)抽樣值A(chǔ)K與沖激響應(yīng)序列的第L個(gè)數(shù)值BL相乘(K+L=N+1),并將乘積送入累加器進(jìn)行累加;
(c) 將第K-1個(gè)抽樣值A(chǔ)K-1放入AK,此時(shí)AK中原數(shù)值被覆蓋;
?。╠) 重復(fù)(b)~(c),直至共完成N次乘加運(yùn)算。
(5) 輸出處理結(jié)果;
?。?) 重復(fù)(3)~(5)。
六、 結(jié)束語
FIR濾波器具有嚴(yán)格的線性相位,且是可物理實(shí)現(xiàn)的因果系統(tǒng),因此被廣泛地應(yīng)用在現(xiàn)代通信技術(shù)當(dāng)中,如解調(diào)器中的位同步與位定時(shí)提取、自適應(yīng)均衡去碼間串?dāng)_以及話音的自適應(yīng)編碼等。可見對(duì)FIR濾波器的研究是具有非常重要的現(xiàn)實(shí)意義的。
參考文獻(xiàn):
[1]. N-1 datasheet http://udpf.com.cn/datasheet/N-1_1997158.html.
[2]. ROM datasheet http://udpf.com.cn/datasheet/ROM_1188413.html.
[3]. TMS320C203 datasheet http://udpf.com.cn/datasheet/TMS320C203+_1049201.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 交交型變頻器和交直交型變頻器的區(qū)別
- 800G DR8 與其他 800G 光模塊的對(duì)比分析
- UPS電源中電流電壓傳感器的應(yīng)用
- 51單片機(jī)電平特性是什么
- AC/DC 與 DC/DC 轉(zhuǎn)換器的工作原理與應(yīng)用
- PCB板層設(shè)計(jì)與電磁兼容性的關(guān)系解析
- 接觸器式繼電器怎么區(qū)分 如何測(cè)量好壞
- 車規(guī)級(jí)MCU介紹及應(yīng)用場(chǎng)景
- 電容選型時(shí)如何選擇產(chǎn)品的電壓
- 線性穩(wěn)壓電源與開關(guān)穩(wěn)壓電源:原理、特性及應(yīng)用