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