Part 8 典型程序設(shè)計(jì)_第1頁(yè)
Part 8 典型程序設(shè)計(jì)_第2頁(yè)
Part 8 典型程序設(shè)計(jì)_第3頁(yè)
Part 8 典型程序設(shè)計(jì)_第4頁(yè)
Part 8 典型程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì) 本章將要講解通信與信號(hào)處理中常見(jiàn)的本章將要講解通信與信號(hào)處理中常見(jiàn)的下列幾種具有代表性的算法在下列幾種具有代表性的算法在C54x芯芯片中的具體實(shí)現(xiàn)方法:片中的具體實(shí)現(xiàn)方法: 卷積卷積 有限沖激響應(yīng)有限沖激響應(yīng)(FIR)數(shù)字濾波器數(shù)字濾波器 無(wú)限沖激響應(yīng)無(wú)限沖激響應(yīng)(IIR)數(shù)字濾波器數(shù)字濾波器 快速傅立葉變換快速傅立葉變換(FFT)第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì) 目錄:目錄:8.1 卷積運(yùn)算的卷積運(yùn)算的DSP實(shí)現(xiàn)實(shí)現(xiàn)8.2 數(shù)字濾波器的數(shù)字濾波器的DSP實(shí)現(xiàn)實(shí)現(xiàn) 8.3 IIR濾波器的濾

2、波器的DSP實(shí)現(xiàn)實(shí)現(xiàn)8.4快速傅立葉變換的快速傅立葉變換的DSP實(shí)現(xiàn)實(shí)現(xiàn)第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.1 卷積運(yùn)算的卷積運(yùn)算的DSP實(shí)現(xiàn)實(shí)現(xiàn) 數(shù)字卷積運(yùn)算通常采用兩種方法:數(shù)字卷積運(yùn)算通常采用兩種方法:線性卷積線性卷積圓卷積圓卷積第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.1.1信號(hào)的卷積信號(hào)的卷積函數(shù)函數(shù)f(t)與與h(t)的卷積積分,用符號(hào)的卷積積分,用符號(hào)“ ”表示,即:表示,即:( )( )( )( ) ()y tf th tfh td 讀作讀作f(t)與與h(t)的卷積積分,簡(jiǎn)稱卷積。的卷積積分,簡(jiǎn)稱卷積。第第8章

3、章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.1.2 離散系統(tǒng)的卷積分析離散系統(tǒng)的卷積分析 1.離散時(shí)間信號(hào)的時(shí)域分解離散時(shí)間信號(hào)的時(shí)域分解()k i根據(jù)單位序根據(jù)單位序列列及單位移位序列及單位移位序列 的選擇性,的選擇性,( )k可將任意序列可將任意序列f(k)用單位序列及其移位序列表示,即:用單位序列及其移位序列表示,即: ( )( 1) (1)(0) ( )(1) (1)() ()if kfkfkfkf ik i 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)例:例:如圖所示離散時(shí)間序列,可表示為:如圖所示離散時(shí)間序列,可表示為:( ) 0 (0)

4、 1 (1) 2 (2) 3 (3)f kkkkk 1230123第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2.離散系統(tǒng)的卷積計(jì)算過(guò)程離散系統(tǒng)的卷積計(jì)算過(guò)程1( )f k2( )f k1( )f k2( )f k設(shè)兩個(gè)離散時(shí)間信號(hào)為設(shè)兩個(gè)離散時(shí)間信號(hào)為和和,定義,定義與與的卷積和運(yùn)算為:的卷積和運(yùn)算為: 1212( )( )( )()kfkfkf i fki與卷積積分一樣,離散卷積也可通過(guò)圖解法來(lái)計(jì)算,與卷積積分一樣,離散卷積也可通過(guò)圖解法來(lái)計(jì)算,分為反折、平移、相乘、取和等過(guò)程。分為反折、平移、相乘、取和等過(guò)程。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理

5、典型算法程序設(shè)計(jì)3.卷積的計(jì)算卷積的計(jì)算在實(shí)際應(yīng)用中,參與卷積運(yùn)算的兩個(gè)序在實(shí)際應(yīng)用中,參與卷積運(yùn)算的兩個(gè)序列長(zhǎng)度往往差距較大,比如我們要實(shí)時(shí)列長(zhǎng)度往往差距較大,比如我們要實(shí)時(shí)的對(duì)一長(zhǎng)序列語(yǔ)音信號(hào)進(jìn)行的對(duì)一長(zhǎng)序列語(yǔ)音信號(hào)進(jìn)行“過(guò)濾過(guò)濾”處處理,可以采用有限沖激相應(yīng)序列與該語(yǔ)理,可以采用有限沖激相應(yīng)序列與該語(yǔ)音信號(hào)進(jìn)行卷積的方法來(lái)實(shí)現(xiàn)。音信號(hào)進(jìn)行卷積的方法來(lái)實(shí)現(xiàn)。 比如:重疊保留法比如:重疊保留法 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.1.3.重疊保留法卷積運(yùn)算在重疊保留法卷積運(yùn)算在C54x上的實(shí)現(xiàn)上的實(shí)現(xiàn) 1.利用利用C54x自帶的自帶的dsplib庫(kù)函數(shù)實(shí)現(xiàn)

6、庫(kù)函數(shù)實(shí)現(xiàn)TI公司提供了以公司提供了以C54x系列芯片為基礎(chǔ)的系列芯片為基礎(chǔ)的DSPLIB庫(kù)函數(shù),在庫(kù)函數(shù),在CCS開(kāi)發(fā)系統(tǒng)內(nèi)包含開(kāi)發(fā)系統(tǒng)內(nèi)包含DSPLIB庫(kù)函數(shù)。庫(kù)函數(shù)。這些庫(kù)函數(shù)均為經(jīng)過(guò)優(yōu)化處理的符合這些庫(kù)函數(shù)均為經(jīng)過(guò)優(yōu)化處理的符合C語(yǔ)語(yǔ)言標(biāo)準(zhǔn)的函數(shù)。言標(biāo)準(zhǔn)的函數(shù)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)DSPLIB庫(kù)提供了一個(gè)直接進(jìn)行線性卷積運(yùn)算的函庫(kù)提供了一個(gè)直接進(jìn)行線性卷積運(yùn)算的函數(shù),形式如下:數(shù),形式如下: oflag = short convol (DATA *x, DATA *h, DATA *r, ushort nr, ushort nh)其中其

7、中x,h為輸入數(shù)組,即進(jìn)行卷積的兩序列,為輸入數(shù)組,即進(jìn)行卷積的兩序列,r為輸出數(shù)組。為輸出數(shù)組。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)其算法為:其算法為: 0( )( ) ()nhkr jh k x jk0 =j =nr通常我們將分段后的待濾波數(shù)據(jù)放于通常我們將分段后的待濾波數(shù)據(jù)放于X數(shù)組中,而將數(shù)組中,而將濾波器沖激響應(yīng)序列放于濾波器沖激響應(yīng)序列放于h數(shù)組。按前述方法,數(shù)組。按前述方法,x長(zhǎng)長(zhǎng)度為度為L(zhǎng)+M-1,h長(zhǎng)度為長(zhǎng)度為M,則,則nr應(yīng)為應(yīng)為L(zhǎng)+M-1。計(jì)算得。計(jì)算得到結(jié)果后,舍棄到結(jié)果后,舍棄r的前的前M-1個(gè)值。個(gè)值。第第8章章 數(shù)字信號(hào)處理典型算

8、法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2.匯編語(yǔ)言設(shè)計(jì)匯編語(yǔ)言設(shè)計(jì)C54x指令集內(nèi)提供了單周期乘累加指令指令集內(nèi)提供了單周期乘累加指令MAC和循環(huán)和循環(huán)尋址方式,使每個(gè)樣值的乘累加計(jì)算可以在一個(gè)周尋址方式,使每個(gè)樣值的乘累加計(jì)算可以在一個(gè)周期內(nèi)完成。期內(nèi)完成。 卷積運(yùn)算就是實(shí)現(xiàn)兩組數(shù)對(duì)應(yīng)項(xiàng)乘積的累加和??删矸e運(yùn)算就是實(shí)現(xiàn)兩組數(shù)對(duì)應(yīng)項(xiàng)乘積的累加和。可采用采用RPTZ和和MAC指令,結(jié)合循環(huán)尋址方式去方便指令,結(jié)合循環(huán)尋址方式去方便地實(shí)現(xiàn)這一運(yùn)算:地實(shí)現(xiàn)這一運(yùn)算: RPTZ 累加器,累加器,N-1MAC (雙訪問(wèn)數(shù)據(jù)),(雙訪問(wèn)數(shù)據(jù)),累加器(雙訪問(wèn)數(shù)據(jù)),(雙訪問(wèn)數(shù)據(jù)),累加器第第8章章 數(shù)字信

9、號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)其中,其中,RPTZ 指令將累加器清零初始化,并將指令將累加器清零初始化,并將立即數(shù)立即數(shù)N-1(16位)裝入到重復(fù)計(jì)數(shù)器,使下位)裝入到重復(fù)計(jì)數(shù)器,使下一條指令重復(fù)執(zhí)行一條指令重復(fù)執(zhí)行N次。次。MAC指令實(shí)現(xiàn)將兩存儲(chǔ)區(qū)數(shù)據(jù)的乘積累加到指令實(shí)現(xiàn)將兩存儲(chǔ)區(qū)數(shù)據(jù)的乘積累加到累加器,再通過(guò)存儲(chǔ)區(qū)指針以循環(huán)尋址的方累加器,再通過(guò)存儲(chǔ)區(qū)指針以循環(huán)尋址的方式指向下一個(gè)存儲(chǔ)區(qū)。式指向下一個(gè)存儲(chǔ)區(qū)。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)程序設(shè)計(jì)的要點(diǎn)簡(jiǎn)要分析如下:程序設(shè)計(jì)的要點(diǎn)簡(jiǎn)要分析如下:為了能高效的利用為了能高效的利用DSP流

10、水線,待卷積的兩組流水線,待卷積的兩組數(shù)據(jù)都應(yīng)存放在數(shù)據(jù)都應(yīng)存放在DARAM中中如果使用雙操作數(shù)指令,輔助寄存器只能用如果使用雙操作數(shù)指令,輔助寄存器只能用AR2AR5,在此我們選擇,在此我們選擇AR3和和AR4作為雙操作為雙操作數(shù)尋址輔助寄存器作數(shù)尋址輔助寄存器匯編語(yǔ)言的代碼設(shè)計(jì)要充分考慮到資源的優(yōu)化匯編語(yǔ)言的代碼設(shè)計(jì)要充分考慮到資源的優(yōu)化等等 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)在此經(jīng)常使用一種零長(zhǎng)度循環(huán)緩沖區(qū),循環(huán)體對(duì)應(yīng)在此經(jīng)常使用一種零長(zhǎng)度循環(huán)緩沖區(qū),循環(huán)體對(duì)應(yīng)的匯編程序如下:的匯編程序如下: .bss x,239 .bss y,233 .bss h,8

11、BEGINSTM # 233,BRC STM # x,AR1 STM # x,AR4 STM # H,AR3 STM # y,AR5 STM # 7,AR0 ; loop starts RPTB next-1第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì) LD *AR4+, 13, A MAC *AR4 +, *AR3+, A MAC * AR4 +, *AR3+, A MAC *AR4 +, *AR3+, A MAC *AR4 +, *AR3+, A MAC *AR4 +, *AR3+, A MAC *AR4 +, *AR3+, A MAC *AR4 +, *AR3+,

12、 A MAC *AR4 +0%, *AR3-, A ;修改地址指針修改地址指針 SFTA A, 2 RND A MVMM AR1, AR3 STH A, * AR1+ LD #0,A ; loop endsnext:第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.2 數(shù)字濾波器的數(shù)字濾波器的DSP實(shí)現(xiàn)實(shí)現(xiàn)本節(jié)主要介紹本節(jié)主要介紹FIR和和IIR濾波器濾波器DSP實(shí)現(xiàn)方法。實(shí)現(xiàn)方法。首先簡(jiǎn)要介紹濾波器的基本原理、結(jié)構(gòu)和設(shè)計(jì)首先簡(jiǎn)要介紹濾波器的基本原理、結(jié)構(gòu)和設(shè)計(jì)方法,然后通過(guò)實(shí)例介紹濾波器設(shè)計(jì)在方法,然后通過(guò)實(shí)例介紹濾波器設(shè)計(jì)在C54x上上的實(shí)現(xiàn)方法。的實(shí)現(xiàn)方法。用用DS

13、P芯片實(shí)現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、芯片實(shí)現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點(diǎn)外,還具有靈活精確度高、不受環(huán)境影響等優(yōu)點(diǎn)外,還具有靈活性好的特點(diǎn)。性好的特點(diǎn)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.2.1 FIR濾波器的結(jié)構(gòu)與設(shè)計(jì)濾波器的結(jié)構(gòu)與設(shè)計(jì) 1.FIR濾波器的結(jié)構(gòu)濾波器的結(jié)構(gòu)一般時(shí)域離散系統(tǒng)或網(wǎng)絡(luò)的描述方式:一般時(shí)域離散系統(tǒng)或網(wǎng)絡(luò)的描述方式:差分方程差分方程單位脈沖響應(yīng)單位脈沖響應(yīng)系統(tǒng)函數(shù)進(jìn)行描述。系統(tǒng)函數(shù)進(jìn)行描述。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)則其系統(tǒng)函數(shù),即濾波器的傳遞函數(shù)為:則其系統(tǒng)函數(shù),

14、即濾波器的傳遞函數(shù)為: 01( )1MkkkNkkkb zHza z如果系統(tǒng)輸入、輸出服從如果系統(tǒng)輸入、輸出服從N階差分方程:階差分方程: 01( )()()MNkkkky nb x nka y nk第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)ka相應(yīng)的傳遞函數(shù)為:相應(yīng)的傳遞函數(shù)為:0( )( )MkkH zb k z若所有的若所有的均為零,則有:均為零,則有:0( )()Mkky nb x nk第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)據(jù)上兩式可直接畫據(jù)上兩式可直接畫FIR濾波器的直接型結(jié)構(gòu):濾波器的直接型結(jié)構(gòu): ( )x n1z1z1z1z

15、(0)h(1)h(2)h(3)h N (2)h N (1)h N ( )y nFIR濾波器的直接型結(jié)構(gòu)又稱為卷積型結(jié)構(gòu),有時(shí)濾波器的直接型結(jié)構(gòu)又稱為卷積型結(jié)構(gòu),有時(shí)也稱為橫截型結(jié)構(gòu)。也稱為橫截型結(jié)構(gòu)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)FIR濾波器主要具有如下幾個(gè)特點(diǎn):濾波器主要具有如下幾個(gè)特點(diǎn): 可以在幅度特性隨意設(shè)計(jì)的同時(shí),保證可以在幅度特性隨意設(shè)計(jì)的同時(shí),保證精確、嚴(yán)格的線性相位精確、嚴(yán)格的線性相位FIR濾波器的單位脈沖響應(yīng)是有限長(zhǎng)序列,濾波器的單位脈沖響應(yīng)是有限長(zhǎng)序列,因此因此FIR濾波器系統(tǒng)總是穩(wěn)定的濾波器系統(tǒng)總是穩(wěn)定的第第8章章 數(shù)字信號(hào)處理典型算

16、法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)由于由于FIR濾波器一般為非遞歸結(jié)構(gòu),在有濾波器一般為非遞歸結(jié)構(gòu),在有限精度運(yùn)算中,不會(huì)出現(xiàn)像遞歸機(jī)構(gòu)的濾限精度運(yùn)算中,不會(huì)出現(xiàn)像遞歸機(jī)構(gòu)的濾波器那樣的極限震蕩等不穩(wěn)定現(xiàn)象,誤差波器那樣的極限震蕩等不穩(wěn)定現(xiàn)象,誤差較小較小FIR濾波器可采用濾波器可采用FFT算法實(shí)現(xiàn),從而提算法實(shí)現(xiàn),從而提高運(yùn)算效率高運(yùn)算效率第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2. FIR濾波器的設(shè)計(jì)方法濾波器的設(shè)計(jì)方法0( )()Mkky nb x nkkbkb中,系數(shù)中,系數(shù)(k=1M)形成的序列形成的序列(k=1M)。 就是單位沖激響應(yīng)序列,濾波器設(shè)計(jì)

17、的目標(biāo)就是就是單位沖激響應(yīng)序列,濾波器設(shè)計(jì)的目標(biāo)就是找到合適的序列找到合適的序列方法方法1:傅立葉級(jí)數(shù)法:傅立葉級(jí)數(shù)法( )dH是以是以 s為周期的周期函數(shù),所以可展開(kāi)為傅為周期的周期函數(shù),所以可展開(kāi)為傅立葉級(jí)數(shù),即立葉級(jí)數(shù),即:(2/)( )sjkdkkHC e 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)/s 這里我們用這里我們用表示歸一化頻率,即表示歸一化頻率,即,則有,則有: 2( )jkdkkHC e kC可由下式求得可由下式求得:1211( )2j nkdCHed第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)通常通常( )dH為偶函數(shù),

18、這時(shí)為偶函數(shù),這時(shí): 1201( )02j nkdCHedk且且 。 kkCC因?yàn)橐驗(yàn)镕IR的系數(shù)為有限個(gè),因此需將上式中的系數(shù)進(jìn)的系數(shù)為有限個(gè),因此需將上式中的系數(shù)進(jìn)行截取,到近似的傳遞函數(shù)為行截取,到近似的傳遞函數(shù)為 : 2( )QjkakkQHC e 式中式中Q為有限的正整數(shù)。為有限的正整數(shù)。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2jze令令 , 則有:則有: ( )QkakkQHzC z上式即為所求系統(tǒng)的上式即為所求系統(tǒng)的Z域傳遞函數(shù)。近似傳遞函數(shù)域傳遞函數(shù)。近似傳遞函數(shù)的沖激響應(yīng)是由系數(shù)決定。的沖激響應(yīng)是由系數(shù)決定。 第第8章章 數(shù)字信號(hào)處理典型算法程序

19、設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)( )dh n( )dh n( ) 01hnn N 方法方法2:窗函數(shù)法設(shè)計(jì):窗函數(shù)法設(shè)計(jì)FIR窗函數(shù)法的思路是尋找一有限長(zhǎng)序列窗函數(shù)法的思路是尋找一有限長(zhǎng)序列 逼近理想的濾波器脈沖響應(yīng)逼近理想的濾波器脈沖響應(yīng) 。 是對(duì)是對(duì) 做截做截取處理。取處理。用一個(gè)有限長(zhǎng)度的窗函數(shù)序列用一個(gè)有限長(zhǎng)度的窗函數(shù)序列 來(lái)截取來(lái)截取 ,即:,即:( )w n( )dh n( )( )( )dh nw n h n第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)利用利用 ,就可得到一近似的傳遞函數(shù),就可得到一近似的傳遞函數(shù): ( )h n()( )( )Qjjna

20、dnQHew n h n e如令如令 ,則有,則有: jze( )( )( )QnadnQHzw n h n z第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)同樣,為使式同樣,為使式8-17具有因果性,需延遲具有因果性,需延遲Q個(gè)樣值,個(gè)樣值,可得可得: ( )( )( )( )QQn QadnQH zzHzw n h n z 令令,nQk上式成為:上式成為:20( )( )( )QkdkH zw n h n z第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)( )()()dh kw kQ h kQ再令再令 , 2NQ ,得到:,得到: 0( )( )

21、NkkH zh k z設(shè)計(jì)設(shè)計(jì)FIR濾波器時(shí),加窗是一個(gè)重要的計(jì)算步驟。濾波器時(shí),加窗是一個(gè)重要的計(jì)算步驟。采用矩形窗函數(shù)是簡(jiǎn)單并且直接的方法。而在實(shí)際采用矩形窗函數(shù)是簡(jiǎn)單并且直接的方法。而在實(shí)際設(shè)計(jì)中,一般采用其他窗函數(shù),比較常用的窗函數(shù)設(shè)計(jì)中,一般采用其他窗函數(shù),比較常用的窗函數(shù)有有Hanning、Hamming、Blackman、Kaiser窗等。窗等。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)FIR濾波器分為低通濾波、高通濾波、帶通濾波和濾波器分為低通濾波、高通濾波、帶通濾波和帶阻濾波。帶阻濾波。下面給出各種濾波器具體的設(shè)計(jì)方法:下面給出各種濾波器具體的設(shè)計(jì)

22、方法:1)低通濾波器的設(shè)計(jì))低通濾波器的設(shè)計(jì) sin2(/) 2csnnffCn第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2)高通濾波器的設(shè)計(jì))高通濾波器的設(shè)計(jì) 高通濾波器可以由一個(gè)幅度為高通濾波器可以由一個(gè)幅度為1的響應(yīng)減去一個(gè)低通的響應(yīng)減去一個(gè)低通濾波的響應(yīng)來(lái)獲得。濾波的響應(yīng)來(lái)獲得。 (n)函數(shù)的表達(dá)式為:函數(shù)的表達(dá)式為:1000nnn高通濾波器的系數(shù)可由下式計(jì)算得到:高通濾波器的系數(shù)可由下式計(jì)算得到:sin2(/)( ) 2csnnffCnn第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)3) 帶通濾波器的設(shè)計(jì)帶通濾波器的設(shè)計(jì) 帶通濾波器可以

23、由兩個(gè)截止頻率不同的低通濾波器帶通濾波器可以由兩個(gè)截止頻率不同的低通濾波器獲得,其系數(shù)等于兩個(gè)低通濾波器的系數(shù)之差。獲得,其系數(shù)等于兩個(gè)低通濾波器的系數(shù)之差。 21sin2(/) sin2(/) 22cscsnnffnffC-nnfc1和和fc2為低通濾波器的截止頻率,為低通濾波器的截止頻率,fs為采樣頻率。為采樣頻率。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)4) 帶阻濾波器的設(shè)計(jì)帶阻濾波器的設(shè)計(jì) 帶阻濾波器可由帶阻濾波器可由 (n)和帶通濾波器相減獲和帶通濾波器相減獲得,其系數(shù)可以由一個(gè)幅度為得,其系數(shù)可以由一個(gè)幅度為1的響應(yīng)減的響應(yīng)減去一個(gè)帶通濾波的響應(yīng)來(lái)獲得。

24、去一個(gè)帶通濾波的響應(yīng)來(lái)獲得。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)3.FIR濾波器的設(shè)計(jì)工具濾波器的設(shè)計(jì)工具在在MATLAB中,提供了兩種中,提供了兩種FIR濾波器設(shè)計(jì)方法:濾波器設(shè)計(jì)方法:一種是標(biāo)準(zhǔn)通帶濾波器的設(shè)計(jì)一種是標(biāo)準(zhǔn)通帶濾波器的設(shè)計(jì)FIR1一種是多帶一種是多帶FIR濾波器的設(shè)計(jì)濾波器的設(shè)計(jì)FIR2第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)函數(shù)函數(shù)FIR1:只能設(shè)計(jì)標(biāo)準(zhǔn)的低通、高通、帶通和只能設(shè)計(jì)標(biāo)準(zhǔn)的低通、高通、帶通和帶帶阻線性相位阻線性相位FIR濾波器。濾波器。 函數(shù)函數(shù)FIR2:還可設(shè)計(jì)加窗的還可設(shè)計(jì)加窗的FIR濾波器,但

25、它針濾波器,但它針對(duì)任意形狀的分段線性頻率相應(yīng),這一點(diǎn)在對(duì)任意形狀的分段線性頻率相應(yīng),這一點(diǎn)在FIR1中是受到限制的。中是受到限制的。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)1) fir1函數(shù)函數(shù) 具體調(diào)用格式為具體調(diào)用格式為:(1)b = fir1(n,Wn);(2) b = fir1(n,Wn,ftype); (3) b = fir1(n,Wn, Window); (4)b=fir1(n,Wn,ftype,Window) 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)n:濾波器的階數(shù);濾波器的階數(shù);Wn:濾波器的截止頻率;濾波器的截止頻率

26、;ftype:用來(lái)決定濾波器的類型:用來(lái)決定濾波器的類型:當(dāng)當(dāng)ftype=high時(shí),可設(shè)計(jì)高通濾波器;時(shí),可設(shè)計(jì)高通濾波器;當(dāng)當(dāng)ftype=stop時(shí),可設(shè)計(jì)帶阻濾波器。時(shí),可設(shè)計(jì)帶阻濾波器。 Window:用來(lái)指定濾波器采用的窗函數(shù)類型,用來(lái)指定濾波器采用的窗函數(shù)類型,其默認(rèn)值為漢明(其默認(rèn)值為漢明(Hamming)窗。)窗。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)設(shè)計(jì)低通設(shè)計(jì)低通FIR濾波器濾波器: 使用使用b=fir1(n,Wn)可得到低通濾波??傻玫降屯V波。0 Wn 1, Wn=1相當(dāng)于相當(dāng)于0.5fs。 格式:格式: b=fir1(n,Wn) 設(shè)計(jì)高

27、通設(shè)計(jì)高通FIR濾波器濾波器: 在在b=fir1(n,Wn)中,當(dāng)中,當(dāng)Wn= W1 W2 時(shí),可得時(shí),可得到帶通濾波器,其通帶為到帶通濾波器,其通帶為W1 wW2,W1和和W2分別為通帶的下限頻率和上限頻率。分別為通帶的下限頻率和上限頻率。 格式:格式: b=fir1(n, W1 W2 ) 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)設(shè)計(jì)帶通設(shè)計(jì)帶通FIR濾波器濾波器: 在在b=fir1(n,Wn)中,當(dāng)中,當(dāng)Wn= W1 W2 時(shí),可時(shí),可得到帶通濾波器,其通帶為得到帶通濾波器,其通帶為W1 wW2,W1和和W2分別為通帶的下限頻率和上限頻率。分別為通帶的下限頻率和

28、上限頻率。 格式:格式: b=fir1(n, W1 W2 ) 設(shè)計(jì)帶阻設(shè)計(jì)帶阻FIR濾波器濾波器 在在b=fir1(n,Wn,ftype)中,當(dāng)中,當(dāng)ftype= stop, Wn= W1 W2 時(shí),時(shí),fir1函數(shù)可得到帶阻濾波器。函數(shù)可得到帶阻濾波器。 格式:格式: b=fir1(n, W1 W2 ,stop) 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)在上述濾波器設(shè)計(jì)中,在上述濾波器設(shè)計(jì)中,Window參數(shù)可采用的窗口函參數(shù)可采用的窗口函數(shù)有:數(shù)有:BoxcarHanningBartlettBlackmanKasierchebwin等等默認(rèn)的窗函數(shù)為漢明(默認(rèn)的

29、窗函數(shù)為漢明(Hamming)窗。)窗。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2) fir2函數(shù)函數(shù)它可用來(lái)設(shè)計(jì)有任意頻率響應(yīng)的各種加窗它可用來(lái)設(shè)計(jì)有任意頻率響應(yīng)的各種加窗FIR濾波器。濾波器。 具體調(diào)用格式為:具體調(diào)用格式為:b=fir2(n,f,m)b=fir2(n,f,m,Window)b=fir2(n,f,m,npt)b=fir2(n,f,m,npt,Window)b=fir2(n,f,m,npt,lap)b=fir2(n,f,m,nptt,lap,Window) 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)n:濾波器的階數(shù);濾波

30、器的階數(shù);f:頻率點(diǎn)矢量,且頻率點(diǎn)矢量,且f 0,1,f=1對(duì)應(yīng)于對(duì)應(yīng)于0.5fs。矢量矢量f按升序排列,并且第一個(gè)元素必須為按升序排列,并且第一個(gè)元素必須為0,最,最后一個(gè)元素必須為后一個(gè)元素必須為1,并可以包含重復(fù)的頻率點(diǎn);,并可以包含重復(fù)的頻率點(diǎn);m:參數(shù)參數(shù)m為幅度點(diǎn)矢量,在矢量為幅度點(diǎn)矢量,在矢量m中包含了與中包含了與f相對(duì)應(yīng)的期望得到的濾波器幅度;相對(duì)應(yīng)的期望得到的濾波器幅度;第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)Window:用來(lái)指定所使用的窗函數(shù)類型,其默認(rèn)用來(lái)指定所使用的窗函數(shù)類型,其默認(rèn)值為漢明(值為漢明(Hamming)窗;)窗;Npt:用來(lái)

31、指定用來(lái)指定fir2函數(shù)對(duì)頻率響應(yīng)進(jìn)行內(nèi)插的點(diǎn)函數(shù)對(duì)頻率響應(yīng)進(jìn)行內(nèi)插的點(diǎn)數(shù);數(shù);Lap:用來(lái)指定用來(lái)指定fir2函數(shù)在重復(fù)頻率點(diǎn)附近插入的函數(shù)在重復(fù)頻率點(diǎn)附近插入的區(qū)域大小。區(qū)域大小。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.2.2 FIR濾波器在濾波器在C54x上的實(shí)現(xiàn)上的實(shí)現(xiàn)1.利用利用C54x自帶的自帶的dsplib庫(kù)函數(shù)實(shí)現(xiàn)庫(kù)函數(shù)實(shí)現(xiàn) DSPLIB庫(kù)提供了幾個(gè)與庫(kù)提供了幾個(gè)與FIR濾波直接有關(guān)的函數(shù),濾波直接有關(guān)的函數(shù),分別是分別是:cfirfirfirdecfirinterpfirsfirs2firlat 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)

32、處理典型算法程序設(shè)計(jì)2.FIR濾波運(yùn)算的匯編語(yǔ)言程序設(shè)計(jì)濾波運(yùn)算的匯編語(yǔ)言程序設(shè)計(jì)采用匯編的方法主要有:采用匯編的方法主要有:線性緩沖區(qū)法線性緩沖區(qū)法循環(huán)緩沖區(qū)法循環(huán)緩沖區(qū)法單值更新緩存法單值更新緩存法 區(qū)域更新緩存法區(qū)域更新緩存法 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)1) 線性緩沖區(qū)法線性緩沖區(qū)法單值更新緩存法:?jiǎn)沃蹈戮彺娣ǎ壕唧w實(shí)現(xiàn)步驟如下:具體實(shí)現(xiàn)步驟如下:(1)在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)N單元的緩沖區(qū),用單元的緩沖區(qū),用來(lái)存放最新的來(lái)存放最新的N個(gè)輸入樣本;個(gè)輸入樣本; (2)從最老樣本開(kāi)始取數(shù),每取一個(gè)數(shù)后,樣本從最老樣本開(kāi)始取數(shù),

33、每取一個(gè)數(shù)后,樣本向下移位;向下移位;(3)讀完最后一個(gè)樣本后,輸入最新樣本并存入讀完最后一個(gè)樣本后,輸入最新樣本并存入緩沖區(qū)的頂部。緩沖區(qū)的頂部。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2)用循環(huán)緩沖區(qū)實(shí)現(xiàn)用循環(huán)緩沖區(qū)實(shí)現(xiàn)FIR濾波器濾波器 循環(huán)緩沖區(qū)算法的過(guò)程如下:循環(huán)緩沖區(qū)算法的過(guò)程如下:(1)在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)N個(gè)單元的緩沖區(qū)個(gè)單元的緩沖區(qū)(滑滑窗窗),用來(lái)存放最新的,用來(lái)存放最新的N個(gè)輸入樣本;個(gè)輸入樣本;(2)從最新樣本開(kāi)始取數(shù);從最新樣本開(kāi)始取數(shù);(3)讀完最老樣本后,輸入最新樣本來(lái)代替最老樣讀完最老樣本后,輸入最新樣本來(lái)代

34、替最老樣本,而其他數(shù)據(jù)位置不變;本,而其他數(shù)據(jù)位置不變; (4)用用BK寄存器對(duì)緩沖區(qū)進(jìn)行間接尋址,使緩沖區(qū)寄存器對(duì)緩沖區(qū)進(jìn)行間接尋址,使緩沖區(qū)地址首尾相鄰。地址首尾相鄰。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)3)區(qū)域更新緩存法區(qū)域更新緩存法 區(qū)域更新緩存法就是每次批量輸入一批新樣值,然區(qū)域更新緩存法就是每次批量輸入一批新樣值,然后對(duì)這一批數(shù)進(jìn)行濾波處理后批量存儲(chǔ)結(jié)果,然后后對(duì)這一批數(shù)進(jìn)行濾波處理后批量存儲(chǔ)結(jié)果,然后更新緩存。更新緩存。 適合于采樣與傳輸數(shù)據(jù)很快,而處理時(shí)間相對(duì)較慢適合于采樣與傳輸數(shù)據(jù)很快,而處理時(shí)間相對(duì)較慢的場(chǎng)合。的場(chǎng)合。 第第8章章 數(shù)字信號(hào)

35、處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)4)系數(shù)對(duì)稱系數(shù)對(duì)稱FIR濾波器的實(shí)現(xiàn)濾波器的實(shí)現(xiàn) 對(duì)稱對(duì)稱FIR濾波器的實(shí)現(xiàn)方法如圖所示:濾波器的實(shí)現(xiàn)方法如圖所示:b(0)b(1)b(2)b(3)x(n-4)x(n-5)x(n-6)x(n-7)AR4x(n)x(n-1)x(n-2)x(n-3)AR3新新舊舊系數(shù)系數(shù)第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)具體過(guò)程如下:具體過(guò)程如下: (1)在在RAM中開(kāi)辟兩個(gè)中開(kāi)辟兩個(gè)N/2長(zhǎng)度的循環(huán)緩沖區(qū)長(zhǎng)度的循環(huán)緩沖區(qū)New 和和Old ,分別存放,分別存放N/2個(gè)新數(shù)據(jù)和老數(shù)據(jù);個(gè)新數(shù)據(jù)和老數(shù)據(jù); (2)設(shè)置循環(huán)緩沖區(qū)指針:

36、設(shè)置循環(huán)緩沖區(qū)指針:AR3指向指向New區(qū)中的區(qū)中的最新數(shù)據(jù),最新數(shù)據(jù),AR4指向指向Old區(qū)中的最老數(shù)據(jù);區(qū)中的最老數(shù)據(jù); (3)在程序存儲(chǔ)器中設(shè)置系數(shù)表;在程序存儲(chǔ)器中設(shè)置系數(shù)表; (4)進(jìn)行進(jìn)行(AR3)+(AR4)AH加法運(yùn)算,并修改數(shù)加法運(yùn)算,并修改數(shù)據(jù)指針,據(jù)指針,AR3+1AR3,AR4-1AR4; 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)(5)保存和輸出結(jié)果保存和輸出結(jié)果; (6)修正數(shù)據(jù)指針,修正數(shù)據(jù)指針,AR3指向指向New區(qū)的最老數(shù)據(jù);區(qū)的最老數(shù)據(jù);AR4指向指向Old區(qū)的最老數(shù)據(jù)。區(qū)的最老數(shù)據(jù)。 (7)用用New區(qū)的最老數(shù)據(jù)替代區(qū)的最老數(shù)據(jù)替

37、代Old區(qū)的最老數(shù)據(jù),區(qū)的最老數(shù)據(jù),輸入新數(shù)據(jù)替代輸入新數(shù)據(jù)替代New區(qū)的最老數(shù)據(jù)區(qū)的最老數(shù)據(jù) ; (8)重復(fù)執(zhí)行重復(fù)執(zhí)行(4) (7)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.3 IIR濾波器的濾波器的DSP實(shí)現(xiàn)實(shí)現(xiàn) IIR濾波器的結(jié)構(gòu)簡(jiǎn)單,運(yùn)算量小,具有經(jīng)濟(jì)、靈活、濾波器的結(jié)構(gòu)簡(jiǎn)單,運(yùn)算量小,具有經(jīng)濟(jì)、靈活、高效等特點(diǎn)高效等特點(diǎn) 。8.3.1 IIR濾波器的基本原理和設(shè)計(jì)方法濾波器的基本原理和設(shè)計(jì)方法1. IIR濾波器的特點(diǎn)濾波器的特點(diǎn)IIR濾波器差分方程的一般形式為:濾波器差分方程的一般形式為:01( )()()MNkkkky nb x nka y nk

38、第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)IIR濾波器具有無(wú)限長(zhǎng)的單位脈沖響應(yīng),在結(jié)構(gòu)上存濾波器具有無(wú)限長(zhǎng)的單位脈沖響應(yīng),在結(jié)構(gòu)上存在反饋回路,即是遞歸型的。在反饋回路,即是遞歸型的。 當(dāng)當(dāng)M=N時(shí),在零初始條件下,對(duì)上式進(jìn)行時(shí),在零初始條件下,對(duì)上式進(jìn)行z變換,得變換,得到傳遞函數(shù):到傳遞函數(shù):-101-111.-( ).-NNNNkNNkNkb zb zbz zH zCza zaz p第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì) 對(duì)于對(duì)于IIR濾波器,系統(tǒng)穩(wěn)定的條件如下:濾波器,系統(tǒng)穩(wěn)定的條件如下: 若若 ,當(dāng),當(dāng) 時(shí),時(shí), ,系統(tǒng)穩(wěn)定;,

39、系統(tǒng)穩(wěn)定;若若 ,當(dāng),當(dāng) 時(shí),時(shí), ,系統(tǒng)不穩(wěn)定;,系統(tǒng)不穩(wěn)定;| 1kp n n ( )0h n ( )0h n | 1kp IIR濾波器結(jié)構(gòu)具有多種形式:濾波器結(jié)構(gòu)具有多種形式: (1)直接直接I型型(也稱直接型也稱直接型)(2)直接直接II型型(也稱標(biāo)準(zhǔn)型也稱標(biāo)準(zhǔn)型)(3)級(jí)聯(lián)型級(jí)聯(lián)型(4)并聯(lián)型并聯(lián)型(5)格型格型(lattice)第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2. IIR數(shù)字濾波器的結(jié)構(gòu)與設(shè)計(jì)數(shù)字濾波器的結(jié)構(gòu)與設(shè)計(jì)1)二階二階IIR數(shù)字濾波器數(shù)字濾波器01212( ) ( )( -1)( -2)-( -1)-( -2) y nbx nbx nbx

40、 nay na y n二階二階IIR數(shù)字濾波器是構(gòu)成復(fù)雜數(shù)字濾波器是構(gòu)成復(fù)雜IIR數(shù)字濾波器的基數(shù)字濾波器的基本單元,因此又稱為二階基本節(jié)。本單元,因此又稱為二階基本節(jié)。一個(gè)二階一個(gè)二階IIR濾波器,其輸出可寫:濾波器,其輸出可寫: 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)直接型二階直接型二階IIR濾波器的結(jié)構(gòu)圖:濾波器的結(jié)構(gòu)圖: 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)直接直接I型的二階型的二階IIR數(shù)字濾波器:數(shù)字濾波器: 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)標(biāo)準(zhǔn)型二階標(biāo)準(zhǔn)型二階IIR數(shù)字濾波器:數(shù)字濾

41、波器: x(n)y(n)w(n)a1a2b1b21z1z第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2)高階高階IIR濾波器濾波器一個(gè)高階一個(gè)高階IIR濾波器可由多個(gè)二階基本節(jié)級(jí)聯(lián)組成。濾波器可由多個(gè)二階基本節(jié)級(jí)聯(lián)組成。 其傳遞函數(shù)為其傳遞函數(shù)為: 12( ) ( ) ( ). ( )kH zCH z HzHz式中式中Hi(z)為一階或二節(jié)階的傳遞函數(shù)。為一階或二節(jié)階的傳遞函數(shù)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)其結(jié)構(gòu)如圖其結(jié)構(gòu)如圖: x(n)y(n)此外,一個(gè)高階此外,一個(gè)高階IIR濾波器可由多個(gè)二階基本節(jié)并濾波器可由多個(gè)二階基本節(jié)

42、并聯(lián)組成。其傳遞函數(shù)為聯(lián)組成。其傳遞函數(shù)為 :12( ) ( ) ( ) . ( )kH zCH zHzHz第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)并聯(lián)型高階并聯(lián)型高階IIR濾波器結(jié)構(gòu)如圖濾波器結(jié)構(gòu)如圖: x(n)y(n)C第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)格型結(jié)構(gòu)義可分為兩種格型結(jié)構(gòu)義可分為兩種:一種是所謂的全極點(diǎn)結(jié)構(gòu)一種是所謂的全極點(diǎn)結(jié)構(gòu):全極點(diǎn)全極點(diǎn)IIR格型格型濾波器以多個(gè)基本節(jié)級(jí)聯(lián)而成濾波器以多個(gè)基本節(jié)級(jí)聯(lián)而成一種是即有極點(diǎn)又有零點(diǎn)的零極結(jié)構(gòu)一種是即有極點(diǎn)又有零點(diǎn)的零極結(jié)構(gòu) 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)

43、處理典型算法程序設(shè)計(jì)全極點(diǎn)格型全極點(diǎn)格型IIR濾波器的基本節(jié)濾波器的基本節(jié): 對(duì)于格型濾波器結(jié)構(gòu),只要對(duì)于格型濾波器結(jié)構(gòu),只要ik的絕對(duì)值小于的絕對(duì)值小于1,濾波器就是穩(wěn)定的濾波器就是穩(wěn)定的第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)3. IIR數(shù)字濾波器的設(shè)計(jì)方法數(shù)字濾波器的設(shè)計(jì)方法常用到的模擬濾波器的原型主要有以下幾種:常用到的模擬濾波器的原型主要有以下幾種: 1)巴特沃思濾波器,其幅度響應(yīng)在通帶內(nèi)具巴特沃思濾波器,其幅度響應(yīng)在通帶內(nèi)具有最平特性;有最平特性;2)切比雪夫?yàn)V波器,在通帶內(nèi)具有等波紋特切比雪夫?yàn)V波器,在通帶內(nèi)具有等波紋特性性,且階數(shù)小于巴特沃思濾波器;

44、且階數(shù)小于巴特沃思濾波器;3)橢圓濾波器,在通帶和阻帶內(nèi)具有等波紋橢圓濾波器,在通帶和阻帶內(nèi)具有等波紋特性,且階數(shù)最小。特性,且階數(shù)最小。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:( )H s( )H s( )H z1)根據(jù)模擬設(shè)計(jì)理論設(shè)計(jì)出滿足要求的傳遞函數(shù)根據(jù)模擬設(shè)計(jì)理論設(shè)計(jì)出滿足要求的傳遞函數(shù)變換成數(shù)字濾波器的傳遞函數(shù)變換成數(shù)字濾波器的傳遞函數(shù)。 2)將將常用的變換方法有常用的變換方法有:沖激不變法沖激不變法雙線性變換法雙線性變換法第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)雙線性變換的基本性質(zhì)如下:雙線性變

45、換的基本性質(zhì)如下: s平面上的平面上的j軸映射到軸映射到z平面的單位圓上;平面的單位圓上; s平面的左半平面映射到平面的左半平面映射到z平面的單位圓內(nèi);平面的單位圓內(nèi); s平面的右半平面映射到平面的右半平面映射到z平面的單位圓外。平面的單位圓外。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)由雙線性變換法設(shè)計(jì)數(shù)字濾波器,首先要設(shè)計(jì)符由雙線性變換法設(shè)計(jì)數(shù)字濾波器,首先要設(shè)計(jì)符合指標(biāo)要求的模擬濾波器。但一般只給出歸一化合指標(biāo)要求的模擬濾波器。但一般只給出歸一化原型濾波器的設(shè)計(jì)數(shù)據(jù)。原型濾波器的設(shè)計(jì)數(shù)據(jù)。而對(duì)于截止頻率為而對(duì)于截止頻率為c的濾波器,可通過(guò)適當(dāng)?shù)拇臑V波器,可通

46、過(guò)適當(dāng)?shù)拇鷵Q得到實(shí)際的模擬濾波器。換得到實(shí)際的模擬濾波器。 例如:對(duì)于低通濾波器,用例如:對(duì)于低通濾波器,用s/ c代替原型濾波器代替原型濾波器中的中的s即可。即可。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)實(shí)際應(yīng)用中,需要設(shè)計(jì)各種類型的數(shù)字濾波器,實(shí)際應(yīng)用中,需要設(shè)計(jì)各種類型的數(shù)字濾波器,般有下列兩種方法:般有下列兩種方法: (1)把一個(gè)歸一化模擬濾波器經(jīng)頻帶變換化為所需類把一個(gè)歸一化模擬濾波器經(jīng)頻帶變換化為所需類型的模擬濾波器,再通過(guò)雙線性變換法數(shù)字化為所型的模擬濾波器,再通過(guò)雙線性變換法數(shù)字化為所需類型的數(shù)字濾波器。需類型的數(shù)字濾波器。(2)將模擬低通原型用雙

47、線性變換法數(shù)字化為數(shù)字低將模擬低通原型用雙線性變換法數(shù)字化為數(shù)字低通濾波器,再變換成各種類型的數(shù)字濾波器。通濾波器,再變換成各種類型的數(shù)字濾波器。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)第一種方法設(shè)計(jì)各型數(shù)字濾波器的一般步驟:第一種方法設(shè)計(jì)各型數(shù)字濾波器的一般步驟: (1)根據(jù)數(shù)字頻率指標(biāo)計(jì)算預(yù)畸變的模擬頻率指標(biāo),根據(jù)數(shù)字頻率指標(biāo)計(jì)算預(yù)畸變的模擬頻率指標(biāo), 計(jì)算方法為:計(jì)算方法為: tan(/2)T (2)根據(jù)通帶或阻帶允許的波動(dòng),確定濾波器類型。根據(jù)通帶或阻帶允許的波動(dòng),確定濾波器類型。根據(jù)阻帶的衰耗要求,確定濾波器的階數(shù),進(jìn)而求根據(jù)阻帶的衰耗要求,確定濾波器的

48、階數(shù),進(jìn)而求得歸一化模擬低通濾波器的傳遞函數(shù)得歸一化模擬低通濾波器的傳遞函數(shù)Ha(s),然后用然后用s/ c代替濾波器代替濾波器Ha(s)中的中的s即可得到實(shí)際的模擬即可得到實(shí)際的模擬濾波器傳遞函數(shù)濾波器傳遞函數(shù)H(s)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)(3)根據(jù)雙線性變換法把模擬濾波器根據(jù)雙線性變換法把模擬濾波器H(s)變換為數(shù)字變換為數(shù)字濾波器濾波器H(z)。H(s)與與H(z)之間的對(duì)應(yīng)關(guān)系為:之間的對(duì)應(yīng)關(guān)系為: ( )| ( )|sjz ej TH sH z以上第以上第(2)步第步第(3)步可以合并進(jìn)行,即可參照下表給步可以合并進(jìn)行,即可參照下表給

49、出的變換公式進(jìn)行代換。出的變換公式進(jìn)行代換。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)模擬低通原型到各種數(shù)字濾波器的變換方法:模擬低通原型到各種數(shù)字濾波器的變換方法: 變換類型變換類型變換方法變換方法說(shuō)明說(shuō)明模擬低通原型模擬低通原型數(shù)字低通數(shù)字低通表示低通預(yù)畸截表示低通預(yù)畸截頻頻模擬低通原型模擬低通原型數(shù)字高通數(shù)字高通表示高通預(yù)畸截表示高通預(yù)畸截頻頻111czsz tan(T/2)cc tan(T/2)cc (1)1czsz第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)模擬低通原型模擬低通原型數(shù)字帶通數(shù)字帶通模擬低通原型模擬低通原型數(shù)字帶阻數(shù)字帶

50、阻2121cos(+)T/2 cos(-)T/2cccca21 tan(-)T/2acc 22(1)21azszaz21 tan(-)T/2acc 2121cos(+)T/2 cos(-)T/2cccca221211azazsz2c1c注:注: 表示通帶或阻帶的上截頻,表示通帶或阻帶的上截頻, 表示通帶或阻表示通帶或阻帶的下截頻,帶的下截頻,T為采樣周期為采樣周期第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)例例8-1設(shè)計(jì)一個(gè)低通濾波器。要求:帶寬設(shè)計(jì)一個(gè)低通濾波器。要求:帶寬BW=1rad/s,采樣頻率采樣頻率fs=100Hz。 解:解:根據(jù)給定的指標(biāo),令根據(jù)給定的指標(biāo)

51、,令c= BW=1rad/s,選擇一個(gè)滿足帶寬條件的低通模擬選擇一個(gè)滿足帶寬條件的低通模擬T=1/ fs=0.01s。濾波器,傳遞函數(shù)為:濾波器,傳遞函數(shù)為:1( ) s+1aHs 對(duì)對(duì) 進(jìn)行預(yù)畸變,求進(jìn)行預(yù)畸變,求 c。 1 tan(T/2) tan(1 0.01/2)200cc 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)用用s/ c代換原型濾波器代換原型濾波器( )aHs中的中的s,得,得 :根據(jù)表根據(jù)表8.1得到:得到: 1( ) 200s+1Hs 111czsz代入上式得數(shù)字濾波器的傳遞函數(shù)代入上式得數(shù)字濾波器的傳遞函數(shù) :111z+1( )( ) 201z-

52、199czszHzHs第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.3.2 IIR濾波器的濾波器的C54x實(shí)現(xiàn)實(shí)現(xiàn) 1.巴特沃思型濾波器的設(shè)計(jì)巴特沃思型濾波器的設(shè)計(jì)1)butter函數(shù)函數(shù) 函數(shù)形式為:函數(shù)形式為: b,a = butter(n,Wn) b,a = butter(n,Wn,ftype) 當(dāng)設(shè)計(jì)截止頻率為當(dāng)設(shè)計(jì)截止頻率為Wn的的n階低通濾波器,其中截止階低通濾波器,其中截止頻率應(yīng)滿足頻率應(yīng)滿足0Wn1,Wn=1相當(dāng)于相當(dāng)于0.5fs。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì) 當(dāng)當(dāng)ftype = high時(shí),可設(shè)計(jì)截止頻率為時(shí)

53、,可設(shè)計(jì)截止頻率為Wn的高通濾的高通濾波器;波器; 當(dāng)當(dāng)ftype = stop時(shí),可設(shè)計(jì)帶阻濾波器,此時(shí)時(shí),可設(shè)計(jì)帶阻濾波器,此時(shí)Wn = W1 W2,阻帶為,阻帶為W1 WW2。當(dāng)當(dāng)Wn= W1 W2時(shí),時(shí),butter函數(shù)產(chǎn)生一個(gè)函數(shù)產(chǎn)生一個(gè)2n階階的數(shù)字帶通濾波器,其通帶為的數(shù)字帶通濾波器,其通帶為W1 w Ws時(shí),為高通濾波器;時(shí),為高通濾波器;當(dāng)當(dāng)Wp, Ws為二元矢量時(shí),若為二元矢量時(shí),若Wp Ws,則為帶通或,則為帶通或帶阻濾波器,此時(shí)帶阻濾波器,此時(shí)Wn也為二元矢量。也為二元矢量。利用利用buttord函數(shù)可得到濾波器的最小階數(shù)函數(shù)可得到濾波器的最小階數(shù)n,并使通,并使通帶帶

54、(0,Wp)內(nèi)的紋波系數(shù)小于內(nèi)的紋波系數(shù)小于Rp,阻帶,阻帶(Ws, 1)內(nèi)衰減內(nèi)衰減系數(shù)大于系數(shù)大于Rs。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2.切比雪夫?yàn)V波器的設(shè)計(jì)切比雪夫?yàn)V波器的設(shè)計(jì)分為兩種類型:分為兩種類型: Chebyshev型:通帶等波紋性能型:通帶等波紋性能 Chebyshev型:阻帶等波紋性能型:阻帶等波紋性能 1)cheby1函數(shù)函數(shù)函數(shù)形式為:函數(shù)形式為: b,a = cheby1(n,Rp,Wn) b,a = cheby1(n, Rp,Wn,ftype) 可以設(shè)計(jì)低通、帶通、高通和帶阻可以設(shè)計(jì)低通、帶通、高通和帶阻Chebyshev型型數(shù)

55、字濾波器,其通帶內(nèi)為等波紋,阻帶內(nèi)為單調(diào)。數(shù)字濾波器,其通帶內(nèi)為等波紋,阻帶內(nèi)為單調(diào)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2)cheb1ord函數(shù)函數(shù) 函數(shù)形式為:函數(shù)形式為: n,Wn = cheb1ord(Wp, Ws, Rp, Rs) 此函數(shù)用來(lái)選擇此函數(shù)用來(lái)選擇Chebyshev型濾波器的階數(shù)。型濾波器的階數(shù)。 Wp和和Ws分別為通帶和阻帶濾波器的截止頻率,其分別為通帶和阻帶濾波器的截止頻率,其值為值為0Wp(或或Ws)1。 Rp和和Rs分別是通帶和阻帶區(qū)的紋波系數(shù)。分別是通帶和阻帶區(qū)的紋波系數(shù)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典

56、型算法程序設(shè)計(jì)3) cheby2函數(shù)函數(shù)函數(shù)形式為:函數(shù)形式為: b,a = cheby2(n,Rs,Wn) b,a = cheby2(n,Rs,Wn,ftype) cheby2函數(shù)與函數(shù)與cheby1函數(shù)基本相同,但是其通帶內(nèi)函數(shù)基本相同,但是其通帶內(nèi)為單調(diào)的,阻帶內(nèi)為等波紋,由為單調(diào)的,阻帶內(nèi)為等波紋,由Rs指定阻帶內(nèi)的波指定阻帶內(nèi)的波紋。紋。 cheby2函數(shù)可以設(shè)計(jì)函數(shù)可以設(shè)計(jì)Chebyshev型低通、帶通、型低通、帶通、高通和帶阻數(shù)字濾波器。高通和帶阻數(shù)字濾波器。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)4) cheb2ord函數(shù)函數(shù)函數(shù)形式為:函數(shù)形式為

57、: n,Wn = cheb2ord(Wp, Ws, Rp, Rs) 可以利用該函數(shù)確定可以利用該函數(shù)確定Chebyshev型數(shù)字濾波器型數(shù)字濾波器的最小階數(shù)的最小階數(shù)n和截止頻率和截止頻率Wn。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)3.橢圓濾波器的設(shè)計(jì)橢圓濾波器的設(shè)計(jì) ellip函數(shù)函數(shù)函數(shù)形式為:函數(shù)形式為: b,a = ellip(n, Rp, Rs, Wn) b,a = ellip(n, Rp, Rs, Wn,ftype) 此函數(shù)用來(lái)設(shè)計(jì)此函數(shù)用來(lái)設(shè)計(jì)Elliptic(橢圓)型濾波器。(橢圓)型濾波器??稍O(shè)計(jì)可設(shè)計(jì)n階低通或帶通濾波器。階低通或帶通濾波器。

58、也可設(shè)計(jì)也可設(shè)計(jì)n階高通或帶阻濾波器。階高通或帶阻濾波器。第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2) ellipord函數(shù)函數(shù)函數(shù)形式為:函數(shù)形式為: n,Wn = ellipord(Wp, Ws, Rp, Rs) 此函數(shù)用來(lái)選擇橢圓濾波器的階數(shù)。此函數(shù)用來(lái)選擇橢圓濾波器的階數(shù)。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)8.4快速傅立葉變換的快速傅立葉變換的DSP實(shí)現(xiàn)實(shí)現(xiàn)8.4.1 FFT算法介紹算法介紹FFT算法的基本原理是把長(zhǎng)序列的算法的基本原理是把長(zhǎng)序列的DFT逐次分解為逐次分解為較短序列的較短序列的DFT。按照抽取方式的不同可分

59、為:按照抽取方式的不同可分為:DIT-FFT(按時(shí)間抽(按時(shí)間抽取)和?。┖虳IF-FFT(按頻率抽?。┧惴?。(按頻率抽?。┧惴?。按照蝶形運(yùn)算的構(gòu)成不同可分為:按照蝶形運(yùn)算的構(gòu)成不同可分為:基基2、基、基4、基、基8以及任意因子以及任意因子(2n,n為大于為大于1的整數(shù))。的整數(shù))。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)1.傅立葉變換和逆變換傅立葉變換和逆變換對(duì)于變換長(zhǎng)度為對(duì)于變換長(zhǎng)度為N的序列的序列x(n)其傅立葉變換可以表示其傅立葉變換可以表示如下:如下:-10( )( ),0,1,.,1 NknNnX kx n WkN其中,其中,W=exp(-2/N),稱

60、為旋轉(zhuǎn)因子或蝶形因子。稱為旋轉(zhuǎn)因子或蝶形因子。 上式即為上式即為DFT的定義式。的定義式。 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)NnkW的特性:的特性: 1)對(duì)稱性:對(duì)稱性: / 2n kn kNNNWW 2)周期性:周期性: nknkNnkNkNNNWWW并由以上兩條得到:并由以上兩條得到: ()()n N kn N knkNNNWWW/2(/2)11,nkNNk NkNNNNWWWW 第第8章章 數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)數(shù)字信號(hào)處理典型算法程序設(shè)計(jì)2.基基2、DIT-FFT(按時(shí)間抽取)(按時(shí)間抽取)按時(shí)間抽取的算法是在時(shí)間域內(nèi)將輸入序列不斷根按時(shí)間抽取

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論