前言:想要寫出一篇引人入勝的文章?我們特意為您整理了Matlab的數(shù)字信號處理課程實驗設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:本文設(shè)計了一個基于matlab的“數(shù)字信號處理”課程綜合性實驗。該實驗把“數(shù)字信號處理”課程中的許多離散的知識點串接了起來,包括采樣、量化、濾波器設(shè)計、濾波器實現(xiàn)、DFT/FFT和濾波器的有限字長效應(yīng)等。教學(xué)實踐表明該實驗有利于鞏固學(xué)生課堂上學(xué)到的理論知識,提高學(xué)生的理論聯(lián)系實際的能力和動手解決問題的能力。
關(guān)鍵詞:數(shù)字信號處理;綜合性實驗;Matlab
0引言
“數(shù)字信號處理”課程的主要內(nèi)容包括z變換、離散傅里葉變換(DFT)、快速傅里葉變換(FFT)、數(shù)字濾波器設(shè)計和實現(xiàn)以及數(shù)字信號處理中的有限字長效應(yīng)等等[1]。在學(xué)習(xí)理論知識的同時或之后,引入實驗將有助于學(xué)生更好地理解和掌握課程內(nèi)容[2-3]。筆者在教學(xué)過程中,設(shè)計了Matlab綜合性實驗。該實驗在不失趣味性的同時,能把該課程中許多分散的知識點串接起來。教學(xué)實踐表明,該實驗可以幫助學(xué)生更深入地理解本門課程,取得了較好的教學(xué)效果。
1綜合實驗內(nèi)容設(shè)計
筆者所設(shè)計的Matlab實驗如下:對下式所示的輸入信號進(jìn)行濾波。x=sin(100πt)+sin(480πt)(1)具體步驟為(1)將輸入的模擬信號x進(jìn)行采樣和量化,得到12位精度的數(shù)字信號;(2)設(shè)計一個低通無限沖激響應(yīng)(IIR)濾波器,將輸入信號中的240Hz的干擾濾除,要求濾波器的輸出信號中240Hz處的噪聲功率比50Hz處的信號功率低60dB。(3)設(shè)計一個高通有限沖激響應(yīng)(FIR)濾波器,將輸入信號中的50Hz的干擾濾除,要求濾波器的輸出信號中50Hz處的噪聲功率比240Hz處的信號功率低60dB。(4)對于上述兩個濾波器,要求:給出理想濾波器的傳輸函數(shù)及頻率響應(yīng);給出系數(shù)量化后所得的新的濾波器的傳輸函數(shù)及頻率響應(yīng);確定濾波器實現(xiàn)所采用的結(jié)構(gòu),并給出該結(jié)構(gòu)中所用加法器和乘法器的位數(shù);將輸入的數(shù)字信號通過前一步實現(xiàn)的濾波器,畫出輸出信號的頻譜,確保濾波器性能滿足設(shè)計要求。順利完成上述Matlab實驗,需要解決以下問題:(1)采樣頻率和FFT點數(shù)的選取:根據(jù)采樣定理,采樣頻率只要不低于信號中所包含的最高頻率的兩倍,就可以從采樣后的離散時間信號中恢復(fù)出原始的模擬信號。根據(jù)式(1),采樣頻率只要不小于480Hz即可。但是當(dāng)需要使用FFT對信號進(jìn)行頻譜分析時,在確定采樣頻率時,除了要滿足采樣定理外,還需要考慮其他條件。例如:在做FFT時,信號頻率應(yīng)為頻率分辨率的整數(shù)倍,這樣才能準(zhǔn)確地從頻譜中看到該頻率信號的功率,避免譜泄漏,即下式中的k應(yīng)為整數(shù):k=ffs=N(2)其中f,fs和N分別為信號頻率、采樣頻率和FFT的點數(shù)。fs/N為頻率分辨率,N一般為2的冪次方。在k不為整數(shù)時,為了減小譜泄漏的影響,可以在做FFT之前對采樣所得的信號進(jìn)行加窗處理[1]。(2)模數(shù)轉(zhuǎn)換器的實現(xiàn):實驗中要求對輸入信號進(jìn)行量化,得到12位精度的數(shù)字信號。在將輸入信號進(jìn)行量化時,涉及到如何確定模數(shù)轉(zhuǎn)換器的滿量程范圍、結(jié)構(gòu)、量化方式(舍入還是截斷)以及如何進(jìn)行有符號數(shù)的量化等。(3)IIR濾波器類型的選擇和設(shè)計:雙線性變換是設(shè)計數(shù)字IIR濾波器的常用方法。它首先要將所要設(shè)計的數(shù)字濾波器的歸一化邊界角頻率進(jìn)行預(yù)畸變,然后再設(shè)計出滿足性能要求的模擬濾波器。模擬濾波器有四種類型,分別為巴特沃斯濾波器,切比雪夫I型濾波器、切比雪夫II型濾波器以及橢圓濾波器。只有了解了這四種濾波器的特性,才能根據(jù)實際需求來選擇合適的濾波器類型。在選擇好濾波器類型后,將濾波器的性能指標(biāo)輸入相應(yīng)的Matlab函數(shù),就可以得到濾波器的傳輸函數(shù),完成濾波器的設(shè)計。以橢圓濾波器為例,可以依次調(diào)用函數(shù)elli-pord(),函數(shù)ellipap()和函數(shù)zp2tf()來獲得濾波器的階數(shù)、零極點、增益和s域傳輸函數(shù);也可以直接調(diào)用函數(shù)ellip()來得到濾波器的s域傳輸函數(shù)。最后再通過調(diào)用函數(shù)bilinear()得到相應(yīng)數(shù)字濾波器的傳輸函數(shù)。(4)FIR濾波器的設(shè)計:在用窗函數(shù)法來設(shè)計FIR濾波器時,首先要根據(jù)濾波器的性能參數(shù)(如過渡帶寬度、阻帶衰減等)選取合適的窗函數(shù)以及確定窗函數(shù)的長度,之后將得到的窗函數(shù)與理想濾波器的單位脈沖響應(yīng)序列相乘得到FIR濾波器的單位脈沖響應(yīng)序列。以Kaiser窗為例,在Matlab中,函數(shù)kaiserord()用于預(yù)估FIR濾波器的階數(shù),函數(shù)kaiser()用于產(chǎn)生相應(yīng)長度的Kaiser窗函數(shù),函數(shù)fir1()用于實現(xiàn)采用該Kaiser窗設(shè)計的FIR濾波器,輸出為濾波器的單位脈沖響應(yīng)序列。(5)濾波器的實現(xiàn):在用硬件實現(xiàn)濾波器時,必須考慮濾波器的有限字長效應(yīng),即濾波器系數(shù)的量化、濾波器中加法器和乘法器的有限字長效應(yīng)以及運算結(jié)果的有限字長等等。濾波器的實現(xiàn)結(jié)構(gòu)有直接型、級聯(lián)型和并聯(lián)型等。由于IIR濾波器存在量化噪聲的積累,所以在選擇結(jié)構(gòu)時,需要考慮各種結(jié)構(gòu)對有限字長效應(yīng)的靈敏度。高階IIR濾波器通常采用級聯(lián)型或并聯(lián)型結(jié)構(gòu)來實現(xiàn)。Matlab中的函數(shù)residuez(B,A)用于計算傳輸函數(shù)B(z)/A(z)的留數(shù)、極點和直接項,從而得到有理式的部分分式展開;利用傳輸函數(shù)的部分分式展開,并通過適當(dāng)?shù)暮喜?,可以得到濾波器的并聯(lián)型結(jié)構(gòu)。函數(shù)tf2sos()則可用于將傳輸函數(shù)轉(zhuǎn)換成二階節(jié),得到濾波器的級聯(lián)型結(jié)構(gòu)。圖3給出了系數(shù)量化前后高通濾波器的頻率響應(yīng)。為了能夠判斷所設(shè)計和實現(xiàn)的濾波器的性能是否達(dá)到設(shè)計指標(biāo),需要對濾波器的輸出序列做N點的FFT。這時需要注意兩點:一要能正確地區(qū)分輸出序列中的暫態(tài)響應(yīng)部分和穩(wěn)態(tài)響應(yīng)部分;二要從穩(wěn)態(tài)響應(yīng)部分選取連續(xù)的N個輸出值做N點的FFT。
2教學(xué)反饋
根據(jù)學(xué)生上交的實驗報告,從他們所寫的實驗收獲和實驗心得可以看出這個實驗對他們學(xué)好這門功課所起的作用??偨Y(jié)如下:(1)本次實驗是FIR濾波器與IIR濾波器的設(shè)計,綜合使用了大量數(shù)字濾波器的設(shè)計方法,比如雙線性變換法,窗函數(shù)法等,加深了對課堂學(xué)習(xí)的理論知識的理解,如IIR和FIR濾波器的優(yōu)缺點、濾波器的暫態(tài)響應(yīng)和穩(wěn)態(tài)響應(yīng)、各種模擬濾波器的性能比較以及各種窗函數(shù)之間的差異等。(2)學(xué)生對采樣定理和FFT有了更深的認(rèn)識,明白了采樣頻率、FFT點數(shù)等對頻譜分析結(jié)果的影響,并通過不斷的摸索與嘗試,總結(jié)出了使用FFT時的一些注意事項。(3)對數(shù)字信號處理中的有限字長效應(yīng)有了更加直觀的體會,認(rèn)識到在設(shè)計濾波器的傳輸函數(shù)時,需要考慮量化對濾波器性能的影響,設(shè)計指標(biāo)需要留出一定的裕量。(4)提高了用Matlab實現(xiàn)數(shù)字信號處理功能的能力,包括:熟悉了使用Matlab設(shè)計FIR和IIR濾波器的流程;學(xué)會使用Matlab中的一些函數(shù),如fft,cheb1ord,cheby,bilinear,fir1等;學(xué)會了用Matlab編寫程序來實現(xiàn)指定結(jié)構(gòu)的濾波器;學(xué)會了從時域和頻域觀察濾波器的輸出是否正確以及是否達(dá)到性能要求等。總而言之,通過這次實驗,使學(xué)生真正了解了如何利用Matlab來進(jìn)行濾波器的設(shè)計,感覺受益匪淺,對他們學(xué)好“數(shù)字信號處理”課程很有幫助。
3結(jié)語
筆者所設(shè)計的基于Matlab的綜合性實驗涵蓋了“數(shù)字信號處理”課程中的主要知識點。從學(xué)生反饋的意見可以看出,本實驗取得了良好的教學(xué)效果,這有利于提高學(xué)生學(xué)習(xí)興趣以及增強他們解決實際問題的能力。
參考文獻(xiàn):
[1]程佩青,數(shù)字信號處理教程[M],北京:清華大學(xué)出版社,2007.
[2]曹建玲,劉煥淋,雷宏江.基于MATLAB的“數(shù)字信號處理”仿真實驗[J].北京:中國電力教育,2012(32):88-89.
[3]易婷.“數(shù)字信號處理”課程課內(nèi)配套實驗的設(shè)計[J].南京:電氣電子教學(xué)學(xué)報,2013,35(4):89-90.
作者:易婷 單位:復(fù)旦大學(xué) 微電子學(xué)院