国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

IIR數(shù)字濾波器綜合實驗設(shè)計

2022-05-26 13:11姜恩華李素文周建芳陳東華
關(guān)鍵詞:級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)濾波器

姜恩華,李素文,周建芳,鄒 鋒,陳東華

(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000)

0 引言

IIR(Infinite Impulse Response)數(shù)字濾波器及其網(wǎng)絡(luò)結(jié)構(gòu)是數(shù)字信號處理的重要內(nèi)容,也是數(shù)字信號處理綜合實驗的重要組成部分[1-2].如何根據(jù)數(shù)字信號處理的理論內(nèi)容,有效開展IIR數(shù)字濾波器的綜合實驗,是一個值得研究且有意義的課題[3].

本文結(jié)合Matlab軟件和TI公司的CCS(Code Composer Studio) 5.5軟件,探索如何開展IIR數(shù)字濾波器綜合實驗.借助Matlab軟件生成IIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z),可以通過Matlab軟件進行IIR數(shù)字濾波器及其網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計[4].借助TI公司的CCS 5.5軟件集成開發(fā)環(huán)境,采用Texas Instruments Simulator/C55xx Rev3.0 CPU軟件模擬器,通過C語言編寫IIR數(shù)字濾波程序,完成IIR數(shù)字濾波實驗設(shè)計[5],借助CCS 5.5軟件的Tools/Graph菜單,觀察濾波前和濾波后的信號波形,直觀地展現(xiàn)了IIR數(shù)字濾波的效果.

1 基于Matlab軟件的IIR數(shù)字濾波網(wǎng)絡(luò)設(shè)計

1.1 IIR數(shù)字濾波器設(shè)計

IIR數(shù)字濾波器設(shè)計通常借助模擬濾波器完成其設(shè)計,由于模擬濾波器設(shè)計涉及的公式繁多,計算復(fù)雜,很難采用C語言編程實現(xiàn).

Matlab軟件提供了巴特沃斯濾波器、切比雪夫濾波器和橢圓濾波器等模擬濾波器的設(shè)計函數(shù),借助Matlab軟件,很容易實現(xiàn)模擬濾波器設(shè)計[6-7].從而設(shè)計出符合實驗要求的IIR數(shù)字濾波器.

首先,把IIR數(shù)字濾波器的邊界截止頻率,通過脈沖響應(yīng)不變法或雙線性變換法的頻率變換公式,把數(shù)字域頻率轉(zhuǎn)換為模擬濾波器的模擬角頻率,調(diào)用模擬濾波器設(shè)計函數(shù),設(shè)計出相應(yīng)的模擬濾波器,得到其系統(tǒng)函數(shù)Ha(s);其次,調(diào)用脈沖響應(yīng)不變法或雙線性變換法的設(shè)計函數(shù),把模擬濾波器的系統(tǒng)函數(shù)Ha(s)轉(zhuǎn)換為IIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z)[8].

根據(jù)系統(tǒng)函數(shù)H(z)的分子多項式和分母多項式的系數(shù),通過函數(shù)freqz求得幅頻特性,從而觀察IIR數(shù)字濾波器的幅頻特性曲線和相頻特性曲線.

1.2 IIR數(shù)字濾波網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計

通過系統(tǒng)函數(shù)H(z)的分子多項式系數(shù)bi和分母多項式系數(shù)ai,可以得到IIR數(shù)字濾波器的直接型網(wǎng)絡(luò)結(jié)構(gòu).

對系統(tǒng)函數(shù)H(z)的分子多項式求取零點和分母多項式求取極點,一階零點和一階極點結(jié)合形成一階因式,二階共軛成對的零點和二階共軛成對的極點結(jié)合形成二階因式,系統(tǒng)函數(shù)H(z)分解為若干個一階因式和二階因式相乘的形式,一階因式對應(yīng)一階網(wǎng)絡(luò)結(jié)構(gòu),二階因式對應(yīng)二階網(wǎng)絡(luò)結(jié)構(gòu),把若干個一階網(wǎng)絡(luò)結(jié)構(gòu)和二階網(wǎng)絡(luò)結(jié)構(gòu)級聯(lián)在一起,形成IIR數(shù)字濾波網(wǎng)絡(luò)的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu).

借助Matlab軟件中的tf2sos函數(shù),可以把直接型網(wǎng)絡(luò)結(jié)構(gòu)轉(zhuǎn)換為級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu),生成級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS和增益G,其中增益G為常數(shù),級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS的每行元素構(gòu)成一個基本的二階網(wǎng)絡(luò)結(jié)構(gòu).

借助Matlab軟件中的filter函數(shù)實現(xiàn)直接型網(wǎng)絡(luò)結(jié)構(gòu)濾波,借助filtfilt函數(shù)實現(xiàn)級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)濾波[8].

以IIR低通濾波器設(shè)計為例,由于巴特沃斯模擬低通濾波器的幅頻特性在通帶和阻帶內(nèi)單調(diào)和無波紋,所以模擬濾波器采用巴特沃斯模擬低通濾波器.借助Matlab軟件,設(shè)計IIR低通濾波器及其濾波的流程如圖1所示.

圖1 IIR低通濾波器設(shè)計及濾波流程圖

2 線性常系數(shù)差分方程的求解算法

2.1 線性常系數(shù)差分方程

通過Matlab軟件提供的脈沖響應(yīng)不變法和雙線性變換法設(shè)計函數(shù),設(shè)計IIR數(shù)字濾波器,求出系統(tǒng)函數(shù)H(z),如式(1)所示.把式(1)寫成Y(z)和X(z)的等式形式,然后進行z變換的逆變換,得到表示IIR數(shù)字濾波的線性常系數(shù)差分方程,如式(2)所示.其中,n為移位位數(shù),i為求和變量,x(n-i)為輸入移位序列,y(n-i)為輸出移位序列.

(1)

(2)

2.2 線性常系數(shù)差分方程求解算法

(1)數(shù)組bi[M+1]初始化為bi,數(shù)組ai[N]初始化為ai,數(shù)組xn[M+1]和數(shù)組yn[N]初始化為0,n=0.

(2)數(shù)組xn[M+1]中元素右移1位,數(shù)組元素xn[0]=x(n).

(4)數(shù)組yn[N]中的元素右移1位,數(shù)組元素yn[0]=y[n].

(5)n加1,若n小于序列x(n)的長度L,則跳到(2)重復(fù)執(zhí)行,否則,算法結(jié)束.

3 IIR數(shù)字濾波仿真實驗設(shè)計

3.1 求解IIR數(shù)字濾波器的系統(tǒng)函數(shù)

已經(jīng)IIR數(shù)字濾波器的邊界截止頻率、通帶衰減和阻帶衰減,借助模擬濾波器設(shè)計,假設(shè)選用巴特沃斯濾波器作為原型模擬濾波器,選擇脈沖響應(yīng)不變法或雙線性變換法設(shè)計.按照圖1中的設(shè)計步驟,首先,進行頻率變換,得到模擬濾波器的技術(shù)指標(biāo).其次,借助Matlab軟件,按照選定的模擬濾波器設(shè)計函數(shù),進行模擬濾波器設(shè)計,求得其系統(tǒng)函數(shù)Ha(s),調(diào)用脈沖響應(yīng)不變法或雙線性變換法設(shè)計函數(shù),求得IIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z).

3.2 輸入信號設(shè)計

由于正弦序列的頻譜為單位沖激信號,在IIR數(shù)字濾波實驗中,為了使實驗現(xiàn)象容易觀察,一般選擇正弦序列作為輸入信號,在對濾波前和濾波后的信號頻譜分析時,實驗現(xiàn)象明顯.

根據(jù)IIR濾波器的通帶和阻帶的截止頻率,確定正弦序列的頻率[10].對于IIR低通和高通濾波器,輸入序列x1(n)設(shè)計為兩個正弦序列相加的形式,如式(3)所示,其中Fs為采樣頻率.若f1=25 Hz,f2=100 Hz,F(xiàn)s=256 Hz,則輸入序列x2(n)如式(4)所示,其時域波形如圖4所示,頻譜如圖5所示.

x1(n)=sin(2×3.14×f1×n/Fs)+sin(2×3.14×f2×n/Fs),

(3)

x2(n)=10×sin(2×3.14×n×(25/256)) +5×sin(2×3.14×n×(100/256)).

(4)

圖4 輸入x2(n)的時域波形

圖5 輸入x2(n)的頻譜

3.3 IIR數(shù)字低通濾波仿真實驗設(shè)計

IIR數(shù)字低通濾波器的技術(shù)指標(biāo)包括通帶截止頻率ωp、阻帶截止頻率ωs、通帶允許的最大衰減αp和阻帶允許的最小衰減αs.采用脈沖響應(yīng)不變法設(shè)計,借助Matlab軟件,按照圖1中的設(shè)計步驟,求得IIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z)[11],如式(5)所示.

(5)

根據(jù)系統(tǒng)函數(shù)H(z),畫出直接Ⅰ型網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示.按照直接Ⅰ型網(wǎng)絡(luò)結(jié)構(gòu)完成濾波,求得輸出序列y(n).首先把系數(shù)b0,b1,…,bM存放到數(shù)組bi[M+1]中,把系數(shù)a1,a2,…,aN存放到數(shù)組ai[N]中,輸入序列x(n)存放到數(shù)組x[n]中,其長度為L,輸出序列y(n)存放到數(shù)組y[n]中,輸入移位序列x(n-i)存放到數(shù)組xn[M+1]中,輸出移位序列y(n-i)存放到數(shù)組yn[N]中.采用C語言編寫程序,實現(xiàn)圖6的直接Ⅰ型網(wǎng)絡(luò)結(jié)構(gòu)的C語言算法如圖7所示.

圖6 IIR直接Ⅰ型網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 The direct Ⅰ form of the IIR network

for(i=0;i0;i--){xn[i]=xn[i-1];}xn[0]=x[n];for(i=0;i0;k--){yn[k]=yn[k-1];}yn[0]=y[n];}

若IIR數(shù)字低通濾波器的技術(shù)指標(biāo)為ωp=0.3*pi、ωs=0.5*pi、αp=1和αs=20,按照圖1中的設(shè)計步驟,采用脈沖響應(yīng)不變法設(shè)計IIR數(shù)字低通濾波器,求得其系統(tǒng)函數(shù)H(z).采用直接I型網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)濾波.采用式(4)表示的混疊信號作為輸入序列x(n).借助TI公司的CCS 5.5集成開發(fā)環(huán)境,采用Texas Instruments Simulator/C55xx Rev3.0 CPU軟件模擬器.采用圖7所示程序,求解線性常系數(shù)差分方程,實現(xiàn)IIR低通濾波,求得輸出序列y(n).通過CCS5.5軟件的Tools/Graph菜單觀察y(n)的波形,其時域波形如圖8所示,頻譜如圖9所示.比較圖5和圖9,可以看出,高頻信號被濾除,低頻信號通過IIR數(shù)字低通濾波器.

圖8 IIR低通濾波器輸出的時域波形

圖9 IIR低通濾波器輸出的頻譜

3.4 IIR數(shù)字高通濾波仿真實驗設(shè)計

IIR數(shù)字高通濾波器的技術(shù)指標(biāo)包括通帶截止頻率ωp、阻帶截止頻率ωs、通帶允許的最大衰減αp和阻帶允許的最小衰減αs.采用雙線性變換法設(shè)計,采用級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)濾波[12],借助Matlab軟件,按照圖1中的設(shè)計步驟,求得級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS和增益G,其中G為常數(shù).

IIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS如式(6)所示,系數(shù)矩陣SOS由k行組成,每行元素代表一個二階因式的系數(shù),前3個元素為分子多項式的系數(shù),后3個元素為分母多項式的系數(shù),通過系數(shù)矩陣SOS的第i行元素得到的二階因式如式(7)所示,若系數(shù)b2i和a2i為0,則為一階因式.

(6)

(7)

通過一階因式畫出一階網(wǎng)絡(luò)結(jié)構(gòu),二階因式畫出二階網(wǎng)絡(luò)結(jié)構(gòu),把一階網(wǎng)絡(luò)結(jié)構(gòu)和二階網(wǎng)絡(luò)結(jié)構(gòu)級聯(lián)在一起,得到IIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu),如圖10所示.

圖10 IIR級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)

通常把SOS矩陣的每行元素表示為二階因式的形式,IIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)可以看作由K個基本二階網(wǎng)絡(luò)結(jié)構(gòu)級聯(lián)而成.若圖6程序中的N=M=2,圖7中的C語言程序轉(zhuǎn)變?yōu)閷崿F(xiàn)基本二階網(wǎng)絡(luò)結(jié)構(gòu)濾波的C語言子程序.

按照圖10所示的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu),編寫實現(xiàn)IIR數(shù)字高通濾波器濾波的C語言程序,在C語言程序主函數(shù)main()中,需要調(diào)用K次基本二階網(wǎng)絡(luò)結(jié)構(gòu)濾波的C語言子程序,完成級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)濾波,求得輸出序列y(n).

若IIR數(shù)字高通濾波器的技術(shù)指標(biāo)為ωp=0.5*pi、ωs=0.3*pi、αp=1和αs=20,采用雙線性變換法設(shè)計IIR數(shù)字高通濾波器,按照圖1中的設(shè)計步驟,求得系數(shù)矩陣SOS和增益G.采用式(4)表示的混疊信號作為輸入序列x(n).借助TI公司的CCS 5.5軟件,采用Texas Instruments Simulator/C55xx Rev3.0 CPU軟件模擬器.編寫C語言程序,實現(xiàn)IIR數(shù)字高通濾波器的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)濾波,求得輸出序列y(n).通過CCS 5.5軟件的Tools/Graph菜單觀察y(n)的波形,其時域波形如圖11所示,頻譜如圖12所示.比較圖5和圖12,可以看出,低頻信號被濾除,高頻信號通過IIR數(shù)字高通濾波器.

圖11 IIR高通濾波器輸出序列的時域波形

圖12 IIR高通濾波器輸出序列的頻譜

4 結(jié)論

本文借助Matlab軟件實現(xiàn)IIR數(shù)字濾波器的設(shè)計.借助CCS 5.5軟件,采用Texas Instruments Simulator/C55xx Rev3.0 CPU軟件模擬器,編寫C語言程序完成IIR數(shù)字濾波實驗設(shè)計.首先,借助Matlab軟件,完成IIR數(shù)字濾波器設(shè)計,得到IIR直接型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)bi和ai、級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS和增益G.其次,根據(jù)IIR濾波器的邊界截止頻率,設(shè)計輸入序列x(n).再次,借助CCS 5.5軟件,根據(jù)IIR直接型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)bi和ai,編寫實現(xiàn)IIR直接型網(wǎng)絡(luò)結(jié)構(gòu)濾波C語言程序;根據(jù)IIR級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)的系數(shù)矩陣SOS和增益G,編寫實現(xiàn)IIR級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)濾波C語言程序.完成對輸入序列x(n)的濾波,較好地完成了IIR數(shù)字濾波綜合實驗設(shè)計,實驗過程中計算簡單、步驟清晰且現(xiàn)象明顯,取得了良好的實驗效果.

猜你喜歡
級聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)濾波器
鈾濃縮廠級聯(lián)系統(tǒng)核安全分析
從濾波器理解卷積
開關(guān)電源EMI濾波器的應(yīng)用方法探討
基于Canny振蕩抑制準(zhǔn)則的改進匹配濾波器
基于級聯(lián)MUSIC的面陣中的二維DOA估計算法
H橋級聯(lián)型STATCOM啟動策略研究
基于DSP/FPGA的級聯(lián)型固態(tài)變壓器控制研究
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
基于TMS320C6678的SAR方位向預(yù)濾波器的并行實現(xiàn)
知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠(yuǎn)程創(chuàng)新搜尋的中介作用