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