第一篇:中南大學(xué)《數(shù)字信號(hào)處理》課程設(shè)計(jì)報(bào)告
中南大學(xué)
《現(xiàn)代信號(hào)處理》 課程設(shè)計(jì)報(bào)告
學(xué) 院: 專(zhuān)業(yè)班級(jí):
姓 名:
學(xué) 號(hào):
指導(dǎo)老師:
設(shè)計(jì)時(shí)間:
前 言
《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)與《現(xiàn)代信號(hào)處理》課程配套,是通信工程類(lèi)專(zhuān)業(yè)的重要實(shí)踐環(huán)節(jié)。數(shù)字信號(hào)處理是每一個(gè)電子信息科學(xué)工作者必須掌握的重要知識(shí)。它采用計(jì)算機(jī)仿真軟件,以數(shù)值計(jì)算的方法對(duì)信號(hào)進(jìn)行分析、變換、濾波、檢測(cè)、估計(jì)與識(shí)別等加工處理,以達(dá)到提取信息便于使用的目的。
通信工程專(zhuān)業(yè)的培養(yǎng)目標(biāo)是具備通信技術(shù)的基本理論和應(yīng)用技術(shù),能從事電子、信息、通信等領(lǐng)域的工作。鑒于我校充分培養(yǎng)學(xué)生實(shí)踐能力的辦學(xué)宗旨,對(duì)本專(zhuān)業(yè)學(xué)生的培養(yǎng)要進(jìn)行工程素質(zhì)培養(yǎng)、拓寬專(zhuān)業(yè)口徑、注重基礎(chǔ)和發(fā)展?jié)摿ΑL貏e是培養(yǎng)學(xué)生的創(chuàng)新能力,以實(shí)現(xiàn)技術(shù)為主線(xiàn)多進(jìn)行實(shí)驗(yàn)技能的培養(yǎng)。學(xué)生通過(guò)《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)這一重要環(huán)節(jié),可以將本專(zhuān)業(yè)的主干課程《現(xiàn)代信號(hào)處理》從理論學(xué)習(xí)到實(shí)踐應(yīng)用,對(duì)數(shù)字信號(hào)處理技術(shù)有較深的了解,進(jìn)一步增強(qiáng)學(xué)生動(dòng)手能力和適應(yīng)實(shí)際工作的能力。
目 錄
前 言............................................................2 第一章 設(shè)計(jì)目的及要求.............................................4
1.1 課程設(shè)計(jì)目的................................................4 1.2 課程設(shè)計(jì)要求................................................4 1.3 課程設(shè)計(jì)選做題目............................................4 第二章 設(shè)計(jì)題目及思想.............................................5
2.1 各題目的設(shè)計(jì)思想............................................5
2.1.1 第一題................................................5 2.1.2 第二題...............................................6 2.1.3 第三題...............................................6 2.1.4 第四題...............................................7 2.1.5 第五題...............................................7 2.1.6 第六題...............................................8 2.2 GUI界面設(shè)計(jì)思想............................................9 第三章 調(diào)試及結(jié)果分析............................................12 3.1 GUI界面的結(jié)果與調(diào)試.......................................12 3.2 各題目的結(jié)果與調(diào)試.........................................12 3.2.1 第一題...............................................12 3.2.2 第二題...............................................13 3.2.3 第三題...............................................14 3.2.4 第四題...............................................15 3.2.5 第五題...............................................16 3.2.6 第六題...............................................21 第四章 課程設(shè)計(jì)總結(jié)..............................................24 4.1 課程設(shè)計(jì)所遇問(wèn)題及解決方案.................................24 4.2 課程設(shè)計(jì)心得體會(huì)...........................................25 附錄:............................................................26 參考文獻(xiàn)..........................................................35 第一章 設(shè)計(jì)目的及要求
1.1 課程設(shè)計(jì)目的
1.全面復(fù)習(xí)課程所學(xué)理論知識(shí),鞏固所學(xué)知識(shí)重點(diǎn)和難點(diǎn),將理論與實(shí)踐很好地結(jié)合起來(lái)。
2.掌握信號(hào)分析與處理的基本方法與實(shí)現(xiàn)
3.提高綜合運(yùn)用所學(xué)知識(shí)獨(dú)立分析和解決問(wèn)題的能力; 4.熟練使用一種高級(jí)語(yǔ)言進(jìn)行編程實(shí)現(xiàn)。
1.2 課程設(shè)計(jì)要求
一、使用MATLAB(或其它開(kāi)發(fā)工具)編程實(shí)現(xiàn)上述內(nèi)容,寫(xiě)出課程設(shè)計(jì)報(bào)告。濾波器設(shè)計(jì)題目應(yīng)盡量避免使用現(xiàn)成的工具箱函數(shù)。為便于分析與觀察,設(shè)計(jì)中所有頻譜顯示中的頻率參數(shù)均應(yīng)對(duì)折疊頻率歸一化。
二、課程設(shè)計(jì)報(bào)告的內(nèi)容包括:
(1)課程設(shè)計(jì)題目和題目設(shè)計(jì)要求;(2)設(shè)計(jì)思想和系統(tǒng)功能分析;
(3)設(shè)計(jì)中關(guān)鍵部分的理論分析與計(jì)算,關(guān)鍵模塊的設(shè)計(jì)思路;(4)測(cè)試數(shù)據(jù)、測(cè)試輸出結(jié)果,及必要的理論分析和比較;
(5)總結(jié),包括設(shè)計(jì)過(guò)程中遇到的問(wèn)題和解決方法,設(shè)計(jì)心得與體會(huì)等;(6)參考文獻(xiàn);(7)程序源代碼清單。
三、課程設(shè)計(jì)考核要求:
課程考核分三部分,一部分是上機(jī)率,占20%;第二部分是檢查成績(jī),最后兩次上機(jī)為檢查時(shí)間,占50%;第三部分為課程設(shè)計(jì)報(bào)告,占30%。注意:
(1)演示系統(tǒng)使用GUI界面或混合編程實(shí)現(xiàn)集成打包發(fā)布,酌情加分。(2)若發(fā)現(xiàn)程序或課程設(shè)計(jì)報(bào)告雷同,一律不及格。
1.3 課程設(shè)計(jì)選做題目
選題1.音樂(lè)信號(hào)處理:
1)獲取一段音樂(lè)或語(yǔ)音信號(hào),設(shè)計(jì)單回聲濾波器,實(shí)現(xiàn)信號(hào)的單回聲產(chǎn) 生。給出加入單回聲前后的信號(hào)頻譜。
2)設(shè)計(jì)多重回聲濾波器,實(shí)現(xiàn)多重回聲效果。給出加入多重回聲后的信號(hào)頻譜。
3)設(shè)計(jì)均衡器,使得得不同頻率的混合音頻信號(hào),通過(guò)一個(gè)均衡器后,增強(qiáng)或削減某些頻率區(qū)域。
選題二.對(duì)混有噪聲的音樂(lè)信號(hào)進(jìn)行濾波:
1)在一段音樂(lè)信號(hào)中混入兩個(gè)頻率的正弦型干擾信號(hào),利用FFT計(jì)算該混合信號(hào)的頻譜并確定干擾信號(hào)的頻譜;
2)利用二階帶阻濾波器設(shè)計(jì)一個(gè)能濾出干擾信號(hào)的梳狀濾波器; 3)利用梳狀濾波器濾除信號(hào)中的噪聲,播放處理前后的信號(hào),并比較處理前后的結(jié)果
本次課程設(shè)計(jì)共有6道必做題目,并且我們并沒(méi)有系統(tǒng)的學(xué)過(guò)MATLAB,所以我并沒(méi)有做選做題。
第二章 設(shè)計(jì)題目及思想
2.1 各題目的設(shè)計(jì)思想
2.1.1 第一題
一、題目:
1.給定模擬信號(hào):xa(t)?e?1000t
1)選擇采樣頻率Fs = 5000Hz和合適的信號(hào)長(zhǎng)度,采樣得到序列 x1(n)。求并畫(huà)出x1(n)及其序列傅里葉變換 |X1(ejw)|。
2)選擇采樣頻率Fs = 1000Hz和合適的信號(hào)長(zhǎng)度,采樣得到序列 x2(n)。求并畫(huà)出x2(n)及其序列傅里葉變換 |X2(ejw)|。3)說(shuō)明|X1(ejw)|與|X2(ejw)|間的區(qū)別,為什么?
二、思想:
第一題主要的考查點(diǎn)是對(duì)連續(xù)時(shí)間信號(hào)的抽樣,對(duì)抽樣信號(hào)進(jìn)行傅里葉變換以及不同采樣頻率對(duì)幅頻特性曲線(xiàn)的影響等。主要的理論依據(jù)如下:
(1)對(duì)連續(xù)時(shí)間信號(hào)的抽樣:設(shè)連續(xù)時(shí)間信號(hào)為x(t),則對(duì)其采樣得到的離散時(shí)間信號(hào)為x(n)=x(nT),T為采樣周期;
(2)離散時(shí)間信號(hào)的傅里葉變換:X(e)?FT[x(n)]?j?
由于抽樣后的離散時(shí)間信號(hào)題目沒(méi)有給出,故應(yīng)先對(duì)連續(xù)信號(hào)做抽樣,后再對(duì)離散時(shí)間信號(hào)進(jìn)行傅里葉變換。本次我直接采用輸入公式的方式進(jìn)行傅里葉變換。
n????x(n)e??j?n。
2.1.2 第二題
一、題目:
2.已知兩系統(tǒng)分別用下面差分方程描述:
y1(n)?x(n)?x(n?1)
y2(n)?x(n)?x(n?1)
試分別寫(xiě)出它們的傳輸函數(shù),并分別打印H(ejw)~w曲線(xiàn)。說(shuō)明這兩個(gè)系統(tǒng)的區(qū)別。
二、思想:
第二題的主要考查點(diǎn)是由系統(tǒng)的方程得出系統(tǒng)的傳輸函數(shù)。而在MATLAB中有freqz函數(shù)可直接求出系統(tǒng)的傳輸函數(shù),然后由abs函數(shù)以及angle函數(shù)可得出其幅頻相頻特性曲線(xiàn)。
2.1.3 第三題
一、題目:
3.已知已調(diào)信號(hào)x(t)?cos(?t)cos(9?t),其中調(diào)制信號(hào)cos(?t),載波為cos(9?t)。
1)選擇合適的采樣頻率及信號(hào)長(zhǎng)度,使用FFT分析該已調(diào)信號(hào)的頻譜并畫(huà)出其幅頻特性和相頻特性曲線(xiàn)圖。2)對(duì)該已調(diào)信號(hào)進(jìn)行解調(diào),恢復(fù)原調(diào)制信號(hào)。
二、思想:
第三題的主要考查點(diǎn)是信號(hào)的調(diào)制與解調(diào)。這屬于通信原理的主要原理知識(shí)。本題第一問(wèn)需要使用FFT分析已調(diào)信號(hào)的頻譜特性,在MATLAB中FFT可以直接作為函數(shù)調(diào)用,所以我選擇直接調(diào)用FFT對(duì)其進(jìn)行分析。第二問(wèn)中要 對(duì)已調(diào)信號(hào)進(jìn)行解調(diào)。其主要思想是解調(diào)已調(diào)信號(hào)需要先將已調(diào)信號(hào)乘以載波后選擇適當(dāng)?shù)臑V波器進(jìn)行濾波,將其多余信號(hào)濾除。
2.1.4 第四題
一、題目:
4.已知三角波序列x1(n)和反三角波序列x2(n):
?n?1,0?n?3?4?n,0?n?3??x1(n)??8?n,4?n?7 x2(n)??n?3,4?n?7
?0,?0,其它其它??用N=8點(diǎn)FFT分析序列x1(n)和x2(n)的幅頻特性,觀察兩者的序列形狀和頻譜特性曲線(xiàn)有什么異同?繪出兩序列及其幅頻特性曲線(xiàn)。在x1(n)和x2(n)的末尾補(bǔ)零,用N=16點(diǎn)FFT分析這兩個(gè)信號(hào)的幅頻特性,觀察幅頻特性發(fā)生了什么變化??jī)汕闆r的FFT頻譜還有相同之處嗎?這些變化說(shuō)明了什么?
二、思想:
第四題的主要考查點(diǎn)是FFT快速傅里葉變換的用法。而這在MATLAB中,F(xiàn)FT可以直接作為函數(shù)調(diào)用,所以我選擇用FFT快速傅里葉變換進(jìn)行分析三角波序列。不過(guò)首先要將三角波以及反三角波的取值范圍和函數(shù)值計(jì)算出來(lái),后才可直接對(duì)序列進(jìn)行FFT變換并分析其頻譜特性。
2.1.5 第五題
一、題目:
5.設(shè)有一信號(hào)x(n)=1+cos(n)+cos(4?2?n),設(shè)計(jì)各種IIR數(shù)字濾波器以實(shí)現(xiàn): 31)低通濾波器,濾除cos(2??n)的成分,保留成分1+cos(n)342)高通濾波器,濾除1+cos(n)的成分,保留成分cos(4?2?n)33)帶通濾波器,濾除1+cos(?2??n)的成分,保留成分cos(n)342?n)34)帶阻濾波器,濾除cos(n)的成分,保留成分1+cos(4要求:1)求出各個(gè)濾波器的階數(shù),設(shè)計(jì)各濾波器。畫(huà)出各濾波器的幅頻和相 頻特性,計(jì)算濾波器的系統(tǒng)函數(shù)H(z)。2)畫(huà)出濾波前后信號(hào)的時(shí)域、頻域波形。
二、思想:
第五題的主要考查點(diǎn)是用IIR雙線(xiàn)性變換法設(shè)計(jì)BW類(lèi)型(低通、高通、帶通以及帯阻)數(shù)字濾波器。
其主要理論依據(jù)如下:(1)正切變換實(shí)現(xiàn)頻率壓縮:
??2tan(?1T/2)/T
(2)雙線(xiàn)性變換:
s?(2/T)[(1?z?1)(1?z?1)]
或
z?(2/T?s)/(2T/? s
(3)將所需數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)類(lèi)型的模擬濾波器的邊界頻率公式為:
??(2/T)tan(?/2)
其設(shè)計(jì)主要按照課中所學(xué)濾波器設(shè)計(jì)的步驟進(jìn)行分步設(shè)計(jì)。但由于其系統(tǒng)函數(shù)的公式無(wú)法直接輸入,故采用buttord函數(shù)進(jìn)行巴特沃斯濾波器的方法分析所給參數(shù)計(jì)算出其系統(tǒng)函數(shù)的系數(shù)矩陣。再借由系統(tǒng)函數(shù)的系數(shù)矩陣得出具體的系統(tǒng)函數(shù)。得出系統(tǒng)函數(shù)后便可得到相應(yīng)的階數(shù)以及幅頻、相頻特性。
濾波前的信號(hào)頻域波形由先對(duì)時(shí)域波形進(jìn)行FFT變換后得出。對(duì)原信號(hào)的濾波則采用直接調(diào)用filter函數(shù)進(jìn)行對(duì)原函數(shù)的濾波,而頻域波形同樣經(jīng)由先FFT變換分析后得出。
2.1.6 第六題
一、題目:
6.1)用Hanning窗設(shè)計(jì)一線(xiàn)性相位帶通數(shù)字濾波器,要求:N=15。觀察它的實(shí)際3dB和20dB帶寬。N=45,重復(fù)這一設(shè)計(jì),觀察幅頻和相位特性的變化,注意長(zhǎng)度N變化的影響;
2)分別改用矩形窗和Blackman窗,設(shè)計(jì)(1)中的帶通濾波器,觀察并記錄窗函數(shù)對(duì)濾波器幅頻特性的影響,比較三種窗的特點(diǎn);總結(jié)窗的不同長(zhǎng)度和不同窗對(duì)濾波器的影響
二、思想:
第六題的主要考查點(diǎn)是幾種主要的窗函數(shù)(矩形窗、漢寧窗、哈明窗等)對(duì)離散時(shí)間信號(hào)的截取,并用FFT對(duì)其頻譜進(jìn)行分析。其主要理論依據(jù)如下:
(1)矩形窗(Rectangle Window)
wR(n)?RN(n)
其幅度函數(shù)為:
WRg(?)?sin(?N/2)/sin(?/2)
(2)漢寧(Hanning)窗——升余弦窗
wHn(n)?0.5[1?cos(2?n/(N?1))]RN(n)
其頻譜函數(shù)為:
WHn(ej?)?FT[wHn(n)]?WHng(?)e?j(N?1)?/2
其幅度函數(shù)為:
WHng(?)?0.5WRg(?)?0.25[WRg(??2?/N)?WRg(??2?/N)]
(3)哈明(Hamming)窗——改進(jìn)的升余弦窗
wHm(n)?[0.54?0.46cos(2?n/(N?1))]RN(n)
其頻譜函數(shù)為:
WHm(ej?)?0.54WR(ej?)?0.23WR(ej(??2?/(N?1)))?0.23WR(ej(??2?/(N?1)))
當(dāng)N??1時(shí),其幅度函數(shù)可近似表示為:
WHmg(?)?0.54WRg(?)?0.23WRg(??2?/N)?0.23WRg(??2?/N)
2.2 GUI界面設(shè)計(jì)思想
本次課程設(shè)計(jì)由于結(jié)果中圖形太多,若一次性完成所以題目的演示則需要開(kāi)創(chuàng)許多個(gè)新的窗口進(jìn)行圖形建立,這樣不方便驗(yàn)收及查看。所以最后決定采用圖形用戶(hù)(Graphical User Interface,簡(jiǎn)稱(chēng) GUI)界面,下面對(duì)GUI界面進(jìn)行簡(jiǎn)單的一些介紹。
GUI 是 Graphical User Interface 的簡(jiǎn)稱(chēng),即圖形用戶(hù)界面,通常人機(jī)交互圖形化用戶(hù)界面設(shè)計(jì)經(jīng)常讀做“goo-ee”,準(zhǔn)確來(lái)說(shuō) GUI 就是屏幕產(chǎn)品的視覺(jué)體驗(yàn)和互動(dòng)操作部分。
GUI 是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人—機(jī)—環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。
在MATLAB主界面中輸入“guide”,再敲擊回車(chē)鍵,彈出GUI界面窗口,即可新建GUI界面,如下圖所示:
圖2.5 GUI界面的新建窗口圖
在圖2.5的窗口中點(diǎn)擊“OK”,則可新建一個(gè)GUI界面,并進(jìn)入其編輯窗口,如圖2.6所示:
圖2.6 GUI界面的編輯窗口圖
隨后便可在此窗口內(nèi)編輯演示界面,此次設(shè)計(jì)主要利用的是Static Text(靜態(tài)文本)和Push Button(按鈕)。在界面中輸入相關(guān)的靜態(tài)文本,并新建若干個(gè)按鈕,再以此在每個(gè)按鈕上點(diǎn)擊右鍵,選擇View CallBacks調(diào)出Call Back函數(shù),將相應(yīng)設(shè)計(jì)題的源代碼輸入Call Back函數(shù)界面中對(duì)應(yīng)按鈕的段落后。如圖2.7 和2.8所示:
圖2.7 調(diào)用CallBack的操作流程圖
圖2.8 CallBack代碼編輯窗口圖
如此便可以建立一個(gè)方便、美觀又直觀的演示界面,以便老師驗(yàn)收時(shí)操作簡(jiǎn)單、條理清晰、并且用時(shí)不長(zhǎng)。第三章 調(diào)試及結(jié)果分析
3.1 GUI界面的結(jié)果與調(diào)試
這次設(shè)計(jì)的演示界面采用的是GUI界面,這一點(diǎn)在前面提到過(guò),在此不贅述了,只將界面的調(diào)試結(jié)果說(shuō)明一下。演示界面如圖3.1所示:
圖3.1 演示界面圖
如圖3.1所示,用戶(hù)克根據(jù)需要選擇題目,每個(gè)題中又有不同的選項(xiàng),只要點(diǎn)擊一下對(duì)應(yīng)的按鈕,相關(guān)信號(hào)的處理結(jié)果就會(huì)出現(xiàn)在一個(gè)新的figure窗口中。
3.2 各題目的結(jié)果與調(diào)試
3.2.1 第一題
第一題的調(diào)試結(jié)果如圖3.2所示,各圖形的意義均有明確表明。
圖3.2 第一題的調(diào)試結(jié)果圖
分析: 分別以所要求采樣頻率fs=5000Hz、1000Hz對(duì)xa(t)進(jìn)行等間隔采樣,得到x(n)?xa(nT),(T?1/fs為采樣周期),可知,采樣信號(hào)的頻譜函數(shù)是在原模擬信號(hào)頻譜函數(shù)的周期延拓;若以頻率f為自變量,則以采樣頻率fs?1/T為延拓周期;對(duì)頻帶限于fc的模擬信號(hào)xa(t),根據(jù)采樣定理,只有當(dāng)fs?2fc時(shí),采樣后才不會(huì)發(fā)生頻譜混疊失真。但是在Matlab上是無(wú)法計(jì)算連續(xù)函數(shù),只有在當(dāng)fs足夠大的時(shí)候,我們才將頻譜混疊忽略不計(jì),從而可對(duì)采樣序列進(jìn)行傅里葉變換;最后應(yīng)用subplot()命令實(shí)現(xiàn)畫(huà)圖,并注意到要?dú)w一化。
由以上實(shí)驗(yàn)得到的圖形結(jié)果可以看到:,當(dāng)采樣頻率越大的時(shí)候,采樣信號(hào)的頻譜越陡峭,而其失真情況也越來(lái)越小,根據(jù)采樣定理“采樣頻率越接近信號(hào)頻率,其失真情況就越小”可以得到上述結(jié)論。
3.2.2 第二題
第二題的調(diào)試結(jié)果如圖3.3所示,各圖形的意義均有明確表明。
圖3.3 第二題的調(diào)試結(jié)果圖
分析:由于所求系統(tǒng)的系統(tǒng)方程已經(jīng)由題目可知,則其零極點(diǎn)分布圖也可由上圖所知。故根據(jù)計(jì)算所得出其系統(tǒng)函數(shù)后做FFT變換所得幅頻特性和相頻特性均由上圖可知。
3.2.3 第三題
第三題的調(diào)試結(jié)果如圖3.4所示,上圖為第一問(wèn)結(jié)果,下圖為第二問(wèn)結(jié)果。
圖3.4 第三題的調(diào)試結(jié)果圖
分析:當(dāng)已調(diào)信號(hào)進(jìn)行不同點(diǎn)數(shù)的采樣后再經(jīng)不同間隔的FFT變換后,其展現(xiàn)的幅頻特性以及相頻特性類(lèi)似于上圖。因選取的采樣點(diǎn)不同則結(jié)果不同。第二問(wèn)中的濾波器的設(shè)計(jì)參數(shù)由題目中的調(diào)制信號(hào)和載波決定,由此設(shè)計(jì)出的低通濾波器的系統(tǒng)函數(shù)圖如上。最后因?yàn)V波器的不嚴(yán)密而導(dǎo)致解調(diào)后的原信號(hào)有所失真,并不能完完全全的解調(diào)出原信號(hào)。
3.2.4 第四題
第四題的調(diào)試結(jié)果如圖3.5所示,圖中所代表意義均有標(biāo)明
圖3.5 第四題的調(diào)試結(jié)果圖
分析:首先先根據(jù)題目中所給的三角波函數(shù)以及反三角波函數(shù)的函數(shù)式得出其波形。經(jīng)由不同采樣的FFT變換后有stem畫(huà)出其圖形如上。由圖可看出三角波序列和反三角波序列在8點(diǎn)的FFT變換后的圖形基本一樣,沒(méi)有太大差別。而16點(diǎn)FFT后的圖形則有不小差異,此說(shuō)明對(duì)其FFT變換時(shí),取的點(diǎn)數(shù)越多,圖形差異越大。
3.2.5 第五題
第五題的調(diào)試結(jié)果第一問(wèn)中低通濾波器的圖形如圖3.6所示。
圖3.6 第五題的低通濾波器調(diào)試結(jié)果圖
高通濾波器的圖形如圖3.7所示。
圖3.7 第五題的高通濾波器調(diào)試結(jié)果圖 帶通濾波器的圖形如圖3.8所示。
圖3.8 第五題的帶通濾波器調(diào)試結(jié)果圖 帶阻濾波器的圖形如圖3.9所示。
圖3.9 第五題的帶阻濾波器調(diào)試結(jié)果圖 分析:經(jīng)由一下理論知識(shí)可依次求出各濾波器的參數(shù)及系統(tǒng)函數(shù)。(1)正切變換實(shí)現(xiàn)頻率壓縮:
??2tan(?1T/2)/T
(2)雙線(xiàn)性變換:
s?(2/T)[(1?z?1)(1?z?1)]
或
z?(2/T?s)/(2T/? s(3)將所需數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)類(lèi)型的模擬濾波器的邊界頻率公式為:
??(2/T)tan(?/2)
頻域圖形均由FFT變換后可得出。此次設(shè)計(jì)IIR數(shù)字濾波器是其參數(shù)選擇并不精準(zhǔn),均由自己在可行范圍中嘗試得出最像的結(jié)果。但其濾波器的幅頻特性和相頻特性仍然具有失真現(xiàn)象。
3.2.6 第六題
第六題的調(diào)試結(jié)果依次的圖形如圖4.0所示。
圖4.0 第六題的調(diào)試結(jié)果圖
分析:此圖由上往下依次為N=15及N=45的漢明窗、布萊克曼窗和矩形窗。由圖形可以看出N越小時(shí)窗函數(shù)的主瓣范圍越大,副瓣坡度越緩。濾波器濾波功能越好。
第四章 課程設(shè)計(jì)總結(jié)
4.1 課程設(shè)計(jì)所遇問(wèn)題及解決方案
拿到設(shè)計(jì)題時(shí),完全不知道從何處入手,一開(kāi)始只會(huì)按照書(shū)上的解題思路一步步來(lái)算,一步步來(lái)解這些題目,解出來(lái)后再設(shè)法將其輸入編程中,從而的到想要的答案??墒敲看稳绱?,系統(tǒng)輸出的結(jié)果總是和預(yù)想中的不一樣,有些甚至不知道哪里出了錯(cuò)。不過(guò)后來(lái),在翻閱了有關(guān)參考文獻(xiàn)后,知道了題目中大部分內(nèi)容都可以通過(guò)MATLAB強(qiáng)大的函數(shù)工具箱里的函數(shù)直接實(shí)現(xiàn)。開(kāi)始設(shè)計(jì)后,總是用錯(cuò)函數(shù),輸錯(cuò)參數(shù)等,這類(lèi)問(wèn)題層出不窮,畢竟是第一次用MATLAB進(jìn)行設(shè)計(jì)實(shí)踐,很多問(wèn)題還是要虛心向老師和同學(xué)請(qǐng)教的。在很多次的請(qǐng)教,修改后,程序基本成功地得到了運(yùn)行,調(diào)試過(guò)程中又遇到了一些小問(wèn)題,大多是由于粗心 導(dǎo)致的,這些問(wèn)題在調(diào)試過(guò)程中都得到了修正。
這次課程設(shè)計(jì)過(guò)程中遇到的主要問(wèn)題是頻率歸一化的問(wèn)題,開(kāi)始對(duì)歸一化的概念不是很清楚。在問(wèn)了班上能力較強(qiáng)的同學(xué)后,對(duì)這個(gè)概念深入理解了,并在程序中成功地實(shí)現(xiàn)了。
4.2 課程設(shè)計(jì)心得體會(huì)
通過(guò)這兩周的《現(xiàn)代信號(hào)處理》課程設(shè)計(jì)實(shí)踐,我學(xué)習(xí)會(huì)了MATLAB編程語(yǔ)言的基本概念、語(yǔ)法、語(yǔ)義和數(shù)據(jù)類(lèi)型的使用特點(diǎn),加深了對(duì)數(shù)字信號(hào)處理這門(mén)學(xué)科所學(xué)理論知識(shí)的理解,掌握了運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的基本思想和方法,更重要的是培養(yǎng)了自己的自學(xué)能力。
因?yàn)檫@是我們第一次接觸MATLAB編程語(yǔ)言,在編寫(xiě)程序以及調(diào)試的過(guò)程中遇到了很多困難,但是我通過(guò)去圖書(shū)館查找資料,請(qǐng)教同學(xué)老師,再自己一點(diǎn)點(diǎn)改善程序,最終還是編寫(xiě)出一個(gè)比較完善的程序,基本實(shí)現(xiàn)了所有要求功能,這是最值得我欣慰的一點(diǎn)。
剛拿到程序設(shè)計(jì)課題時(shí),我感覺(jué)一片茫然,因?yàn)樵谥暗男盘?hào)處理學(xué)習(xí)中,本身對(duì)數(shù)字信號(hào)處理這門(mén)學(xué)科的學(xué)習(xí)就不精深,更何況只是在一些例題中接觸過(guò)MATLAB語(yǔ)言,甚至沒(méi)有看過(guò)一些基礎(chǔ)的書(shū)籍,更沒(méi)有上過(guò)課,所以初次遇到一個(gè)實(shí)際問(wèn)題,感覺(jué)無(wú)從下手。這是由于自己對(duì)MATLAB的模塊設(shè)計(jì)不夠理解,同時(shí)對(duì)MATLAB的基本語(yǔ)句一無(wú)所知,不過(guò)通過(guò)請(qǐng)教老師懂得了首先要了解解題思路,以及若要實(shí)現(xiàn)此次設(shè)計(jì)需要哪些最基本的思路和函數(shù)。這樣一下子豁然開(kāi)朗,掌握了基本設(shè)計(jì)思路之后,后面的編程就順利多了。至此,我真真體會(huì)到清晰地思路對(duì)成功編寫(xiě)一個(gè)程序的重要性。
當(dāng)然成功編寫(xiě)一個(gè)程序絕非易事,之前,我總以為程序能夠正常運(yùn)行,就代表著編程成功,后來(lái)我才發(fā)現(xiàn)我大錯(cuò)特錯(cuò)了。我用了三天時(shí)間,完成了程序的編寫(xiě)、改錯(cuò),但我立刻發(fā)現(xiàn)盡管程序能夠正常運(yùn)行,部分功能卻不完善,甚至不能出現(xiàn)自己想要的結(jié)果。經(jīng)過(guò)一次又一次調(diào)試、修改又修改,一點(diǎn)一點(diǎn)發(fā)現(xiàn)問(wèn)題并改正,我才真正發(fā)現(xiàn)編程遠(yuǎn)沒(méi)有想象中的簡(jiǎn)單,并且深刻體會(huì)到編程和單純的解題是有著多么大的不同。它需要的不僅是清晰地編程思路、編程技巧,還需要細(xì)心,有耐心有毅力。
在編程過(guò)程中,我遇到了許多問(wèn)題,通過(guò)查找資料也未能找到原因,每次我想老師請(qǐng)教,可老師總不是萬(wàn)能的,顧不到每一位同學(xué)的要求。這時(shí),同學(xué)就是一個(gè)很好的求助對(duì)象。我們可以找曾經(jīng)接觸過(guò)MATLAB的同學(xué)學(xué)習(xí)、交流、討論。這樣不僅我們可以學(xué)習(xí),他們也可以更加鞏固他們的知識(shí)。我想這便是團(tuán)隊(duì) 精神,有的時(shí)候真的是人多力量大。
最后,在此次編程過(guò)程中,我收獲的不僅僅是對(duì)上學(xué)期已學(xué)的知識(shí)的鞏固,和MATLAB這項(xiàng)新的工作平臺(tái),我還學(xué)會(huì)了遇到難題時(shí)不能輕易放棄,要有迎難而上的勇氣,有時(shí)候自己一個(gè)人完成不了的理解不了的知識(shí),多請(qǐng)教請(qǐng)教別人是一項(xiàng)很好的選擇等等??傊?,這次課程設(shè)計(jì)讓我學(xué)會(huì)了很多,我會(huì)銘記于心,讓其在以后的學(xué)習(xí)、生活或者工作中都時(shí)刻警醒著我。
附錄:
源程序清單
%1.現(xiàn)代碼 figure(1)t=-0.005:0.0001:0.005;y1=exp(-1000*abs(t));T=0.0002;n=-25:1:25;y2=exp(-1000*abs(n*T));N=200;k=0:1:N;w=pi*k/N;X=y2*exp(-j*n'*w);X=real(X);w=[-fliplr(w),w(2:N+1)];X=[fliplr(X),X(2:N+1)];subplot(2,2,1);plot(t,y1);title('原函數(shù)');xlabel('t/秒');ylabel('y1(n)');subplot(2,2,2);stem(n*T,y2,'.');xlabel('n*T/秒');ylabel('y2(n)');title('(1)離散序列,fs=5000');subplot(2,3,4);plot(w/pi,X);xlabel('頻率/pi');ylabel('Xl(w)')title('(1)序列的傅里葉變換')t=-0.005:0.0001:0.005;y1=exp(-1000*abs(t));T=0.001;n=-5:1:5;y2=exp(-1000*abs(n*T));N=200;k=0:1:N;w=pi*k/N;X=y2*exp(-j*n'*w);X=real(X);w=[-fliplr(w),w(2:N+1)];X=[fliplr(X),X(2:N+1)];subplot(2,3,5);stem(n*T,y2,'.');xlabel('n*T/秒');ylabel('y2(n)');title('(2)離散序列,fs=1000');subplot(2,3,6);plot(w/pi,X);xlabel('頻率/pi');ylabel('Xl(w)')title('(2)序列的傅里葉變換')
%2.figure(1)B=[1,1];A=1;subplot(2,3,3);zplane(B,A);xlabel('實(shí)部Re');ylabel('虛部Im');title('y(n)=x(n)+x(n-1)傳輸函數(shù)零極點(diǎn)分布');grid on [H,w]=freqz(B,A,'whole');subplot(2,3,1);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('|H(e^j^omega)|');title('幅頻響應(yīng)特性');axis([0,2,0,2.2]);subplot(2,3,2);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-1.6,1.6]);xlabel('omega/pi');ylabel('phi(omega)');title('相頻響應(yīng)特性');B=[1,-1];A=1;subplot(2,3,6);zplane(B,A);xlabel('實(shí)部Re');ylabel('虛部Im');title('y(n)=x(n)-x(n-1)傳輸函數(shù)零極點(diǎn)分布');grid on [H,w]=freqz(B,A,'whole');subplot(2,3,4);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('|H(e^j^omega)|');title('幅頻響應(yīng)特性 ');axis([0,2,0,2.2]);subplot(2,3,5);plot(w/pi,angle(H),'linewidth',2);grid on;xlabel('omega/pi');ylabel('phi(omega)');title('相頻響應(yīng)特性');axis([-0.1,2.1,-1.6,1.6]);
%3.%(1)figure(1)t=0:1.9:100;n=0:1:99;x1=cos(pi*t);x2=cos(9*pi*t);y1=x1.*x2;y2=fft(y1,100);subplot(3,1,1);plot(t,y1);title('已調(diào)信號(hào)x');xlabel('t/秒');ylabel('y1(n)');subplot(3,1,2);stem(n,abs(y2),'.');title('幅頻特性');xlabel('頻率/pi');ylabel('幅值');pha=angle(y2);subplot(3,1,3);stem(n,pha,'.');title('相頻特性');xlabel('頻率/pi');ylabel('相位(rad)');axis([0 99-5 5]);
%(2)figure(2)t1=1;t=[0:0.05:5];x=cos(pi*t).*cos(9*pi*t);%已調(diào)信號(hào) subplot(2,2,1);plot(t,x);title('已調(diào)信號(hào)');y=x.*cos(9*pi*t);%已調(diào)信號(hào)再乘以載波信號(hào) wp=6*pi/5;ws=14*pi/8;Rp=3;As=30;%選定濾波器的參數(shù),并設(shè)計(jì)模擬低通濾波器 [N,wc]=buttord(wp,ws,Rp,As,'s');[B,A]=butter(N,wc,'s');[H,w]=freqs(B,A,127);%濾波器的系統(tǒng)函數(shù) subplot(2,2,2);plot(w/(2*pi),abs(H));axis([0,5,0,1]);title('濾波器系統(tǒng)函數(shù)');w1=linspace(0,40,64);%求y的頻譜 F1=y*exp(-j*t'*w1);F=[fliplr(F1),F1(2:64)];w=[-fliplr(w1),w1(2:64)];subplot(2,2,3);plot(w,abs(F)),title('y的頻譜');Y3=H'.*F;%通過(guò)信號(hào)的頻譜與系統(tǒng)函數(shù)相乘進(jìn)行濾波 z=Y3*exp(j*w'*t)/pi;%濾波后的序列 subplot(2,2,4);plot(t,z);title('濾波后的序列');
%4.figure(1)n1=0:3,n2=4:7;x1=n1+1,x2=8-n2;subplot(2,3,1);stem([n1,n2],[x1,x2],'.');title('三角波序列');x=[1 2 3 4 4 3 2 1];subplot(2,3,2);stem(abs(fft(x)),'.');title('三角波序列8點(diǎn)FFT');x=[1 2 3 4 4 3 2 1 0 0 0 0 0 0 0 0];subplot(2,3,3);stem(abs(fft(x)),'.');title('三角波序列16點(diǎn)FFT');n1=0:3,n2=4:7;x1=4-n1,x2=n2-3;subplot(2,3,4);stem([n1,n2],[x1,x2],'.');title('反三角波序列');x=[4 3 2 1 1 2 3 4];subplot(2,3,5);stem(abs(fft(x)),'.');title('反三角波序列8點(diǎn)FFT');x=[4 3 2 1 1 2 3 4 0 0 0 0 0 0 0 0];subplot(2,3,6);stem(abs(fft(x)),'.');title('反三角波序列16點(diǎn)FFT');
%5.%低通 figure(1)n=0:1:24;x=1+cos(pi*n/4)+cos(2/3*pi*n);Wp=1/4*pi;Ws=2/3*pi;Ap=3;As=30;Os=2*tan(Ws/2);Op=2*tan(Wp/2);N=ceil(1/2*log10((10^(0.1*As)-1)/(10^(0.1*Ap)-1))./log10(Os/Op)), Oc1=Op*(10^(0.1*Ap)-1)^(-1/(2*N));Oc2=Os*(10^(0.1*As)-1)^(-1/(2*N));Oc=[Oc1,Oc2];Oc=min(Oc)
wp=[Wp/pi];wr=[Ws/pi];[N,wc]=buttord(wp,wr,Ap,As,'s');[b,a]=butter(N,wc,'low');sysl=tf(b,a)w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形');
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');%高通 figure(1)n=0:1:24;x=1+cos(pi*n/4)+cos(2/3*pi*n);Wp=2*pi/3;Ws=1*pi/4;Ap=3;As=30;Os=2*tan(Ws/2);Op=2*tan(Wp/2);N=ceil(1/2*log10((10^(0.1*As)-1)/(10^(0.1*Ap)-1))./log10(Op/Os)), Oc1=(1/Op)*(10^(0.1*Ap)-1)^(-1/(2*N));Oc2=(1/Os)*(10^(0.1*As)-1)^(-1/(2*N));Oc=[Oc1,Oc2];Oc=min(Oc)
wp=[Wp/pi];wr=[Ws/pi];[N,wc]=buttord(wp,wr,Ap,As,'s');[b,a]=butter(N,wc,'high');sysl=tf(b,a)w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形');
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%帶通 figure(1);wp1=(3*pi)/16;wp2=(5*pi)/16;ap=1;ws1=(1*pi)/16;ws2=(5*pi)/9;as=50;wp=[wp1/pi wp2/pi];ws=[ws1/pi ws2/pi];[N,wn]=buttord(wp,ws,ap,as);[b,a]=butter(N,wn,'bandpass');N, sysl=tf(b,a), w=linspace(0,2*pi,500);
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形')
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%帶阻 figure(1);
wp1=pi/16;wp2=(5*pi)/9;ap=1;ws1=(3*pi)/16;ws2=(5*pi)/16;as=50;wp=[wp1/pi,wp2/pi];ws=[ws1/pi,ws2/pi];[N,wc]=buttord(ws,wp,ap,as);[b,a]=butter(N,wc,'stop');w=linspace(0,2*pi,500);N, sysl=tf(b,a)
n=0:100;x1=1+cos(pi*n/4)+cos(2*pi*n/3);subplot(221),plot(n,x1);title('濾波前時(shí)域波形');y1=fft(x1,500);subplot(222),plot(w,abs(y1));title('濾波前頻域波形');
x2=filter(b,a,x1);subplot(223),plot(n,x2)title('濾波后的時(shí)域波形');y2=fft(x2,500);subplot(224),plot(w,abs(y2));title('濾波后的頻域波形')
figure(2);freqz(b,a,1000);title('濾波器幅頻相頻響應(yīng)');
%6.%(1)figure(1)Window=hanning(16);h=fir1(15,[0.3 0.5],Window);
freqz(h,1)title('N=15的漢寧窗');figure(2)Window=hanning(46);h=fir1(45,[0.3 0.5],Window);freqz(h,1)title('N=45的漢寧窗');%(2)figure(3)Window=blackman(16);b=fir1(15,[0.3 0.5],Window);freqz(b,1)title('N=15的布萊克曼窗');
figure(4)Window=blackman(46);b=fir1(45,[0.3 0.5],Window);freqz(b,1)title('N=45的布萊克曼窗');
figure(5)Window=boxcar(16);b=fir1(15,[0.3 0.5],Window);freqz(b,1)title('N=15的矩形窗');
figure(6)Window=boxcar(46);b=fir1(45,[0.3 0.5],Window);freqz(b,1)title('N=45的矩形窗');
參考文獻(xiàn)
[1]高西全,丁玉美.數(shù)字信號(hào)處理.第三版.西安:西安電子科技大學(xué)出版社,2008 [2]彭軍,李宏.信號(hào)與信息處理基礎(chǔ).北京:中國(guó)鐵道出版社,2009 [3]A.V.奧本海姆,等.信號(hào)與系統(tǒng).劉樹(shù)棠,譯.西安:西安交通大學(xué)出版社,1985 [4]程佩青.數(shù)字信號(hào)處理教程.第二版.北京:清華大學(xué)出版社,2001 [5]陳懷琛,吳大正,高西全.MATLAB在電子信息課程中的應(yīng)用.第三版.北京:電子工業(yè)出版社,2006 [6]董長(zhǎng)虹.MATLAB信號(hào)處理與應(yīng)用.北京:國(guó)防工業(yè)出版社,2005
第二篇:中南大學(xué)數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告2
中南大學(xué)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
專(zhuān)業(yè)班級(jí):
指導(dǎo)老師:
姓
名:
學(xué)
號(hào):
目
錄
一、課程設(shè)計(jì)要求
二、設(shè)計(jì)過(guò)程
(1)設(shè)計(jì)題目(2)設(shè)計(jì)源代碼(3)設(shè)計(jì)結(jié)果(4)結(jié)果分析
三、設(shè)計(jì)總結(jié)與心得體會(huì)
四、課程設(shè)計(jì)指導(dǎo)書(shū)
一、課程設(shè)計(jì)要求
1、課程設(shè)計(jì)指導(dǎo)書(shū)
①《數(shù)字信號(hào)處理(第二版)》,丁玉美等,西安電子科技大學(xué)出版社; ②《MATLAB 及在電子信息課程中的應(yīng)用》,陳懷琛等,電子工業(yè)出版社。
2、課程設(shè)計(jì)內(nèi)容: ⑴語(yǔ)音信號(hào)去噪處理 主要要求:
1)在windows系統(tǒng)下的錄音機(jī)錄制一段1s左右的語(yǔ)音信號(hào)作為原聲信號(hào),在MATLAB軟件平臺(tái)下,利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù);
2)畫(huà)出語(yǔ)音信號(hào)的時(shí)域波形,對(duì)采樣后的語(yǔ)音進(jìn)行fft變換,得到信號(hào)的頻譜特性;對(duì)語(yǔ)音信號(hào)分別加入正弦噪聲和白噪聲,畫(huà)出加噪信號(hào)的時(shí)域波形和頻譜圖;
3)根據(jù)對(duì)加噪語(yǔ)音信號(hào)譜分析結(jié)果,確定濾除噪聲濾波器的技術(shù)指標(biāo),設(shè)計(jì)合適的數(shù)字濾波器,并畫(huà)出濾波器的頻域響應(yīng);
4)用所設(shè)計(jì)的濾波器對(duì)加噪的信號(hào)進(jìn)行濾波,在同一個(gè)窗口畫(huà)出濾波前后信號(hào)的時(shí)域圖和頻譜圖,對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)變化; 5)利用sound(x)回放語(yǔ)音信號(hào),驗(yàn)證設(shè)計(jì)效果。
⑵語(yǔ)音信號(hào)的延時(shí)和混響 主要要求:
1)利用Windows下的錄音機(jī)或其他軟件,錄制一段自己的語(yǔ)音信號(hào),時(shí)間控制在1s左右,并對(duì)錄制的信號(hào)進(jìn)行采樣;
2)語(yǔ)音信號(hào)的頻譜分析,畫(huà)出采樣后語(yǔ)音信號(hào)的時(shí)域波形和頻譜圖; 3)將信號(hào)加入延時(shí)和混響,再分析其頻譜,并與原始信號(hào)頻譜進(jìn)行比較; 4)設(shè)計(jì)幾種特殊類(lèi)型的濾波器:?jiǎn)位芈暈V波器,多重回聲濾波器,全通結(jié)構(gòu)的混響器,并畫(huà)出濾波器的頻域響應(yīng);
5)用自己設(shè)計(jì)的濾波器對(duì)采集的語(yǔ)音信號(hào)進(jìn)行濾波;
6)分析得到信號(hào)的頻譜,畫(huà)出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化; 7)回放語(yǔ)音信號(hào)。
⑶數(shù)字濾波器的設(shè)計(jì)及實(shí)現(xiàn) 主要要求:
1)調(diào)用信號(hào)產(chǎn)生函數(shù)mstg產(chǎn)生三路抑制載波調(diào)幅信號(hào)相加構(gòu)成的復(fù)合信號(hào)st,觀察st的時(shí)域波形和幅頻特性曲線(xiàn);
2)由要求將st中的三路調(diào)幅信號(hào)分離,通過(guò)觀察st的幅頻特性曲線(xiàn),分別確定可以分離st中三路抑制載波單頻調(diào)幅信號(hào)的三個(gè)濾波器(低通濾波器、帶通濾波器、高通濾波器)的通帶截止頻率和阻帶截止頻率,要求濾波器的通帶最大衰減為0.1dB,阻帶最小衰減為60dB;
3)編程調(diào)用MATLAB濾波器設(shè)計(jì)函數(shù)分別設(shè)計(jì)這三個(gè)數(shù)字濾波器,并繪圖顯示其幅頻特性曲線(xiàn);
4)調(diào)用濾波函數(shù)filter,用所設(shè)計(jì)的三個(gè)濾波器分別對(duì)復(fù)合信號(hào)st進(jìn)行濾波,分離出st中的三路不同載波頻率的調(diào)幅信號(hào),并繪圖顯示濾波后信號(hào)的時(shí)域波形和頻譜,觀察分離效果。
⑷心電信號(hào)的處理 主要要求:
1)在MATLAB軟件平臺(tái)下,給原始的心電信號(hào)疊加上噪聲或干擾,干擾類(lèi)型分為如下幾種:白噪聲、工頻干擾(50Hz)、諧波干擾(二次、三次諧波為主,分別為100Hz、150Hz)繪出疊加噪聲后的心電信號(hào)時(shí)域和頻譜圖,在視覺(jué)上與原始心電信號(hào)圖形對(duì)比,分析頻域基本特征變化。
2)給定濾波器的規(guī)一化性能指標(biāo)(參考指標(biāo),實(shí)際中依據(jù)每個(gè)同學(xué)所疊加噪聲情況而定),例如:通帶截止頻率wp=0.25*pi, 阻通帶截止頻率ws=0.3*pi;通帶最大衰減Rp=1 dB;阻帶最小衰減Rs=15 dB
3)采用窗函數(shù)法設(shè)計(jì)各型FIR濾波器(低通、高通、帶通、帶阻中的至少2種類(lèi)型),來(lái)對(duì)疊加干擾前后的心電信號(hào)進(jìn)行濾波處理,繪出濾波器的頻域響應(yīng)及濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;在相同的性能指標(biāo)下比較各方法的濾波效果,并從理論上進(jìn)行分析或解釋?zhuān)?/p>
4)采用雙線(xiàn)性變換法利用不同的原型低通濾波器(Butterworth型與切比雪夫I型)來(lái)設(shè)計(jì)各型IIR濾波器(低通、高通、帶通、帶阻中的至少2種類(lèi)型)繪出濾波器的頻域響應(yīng),并用這些數(shù)字濾波器對(duì)含噪心電信號(hào)分別進(jìn)行濾波處理;比較不同方法下設(shè)計(jì)出來(lái)的數(shù)字濾波器的濾波效果,并從理論上進(jìn)行分析或解釋?zhuān)?/p>
5)心電信號(hào)波形觀察、頻譜觀察,對(duì)濾波后的心電信號(hào)觀察其時(shí)域、頻域特征變化。
3、具體要求
⑴、使用 MATLAB(或其它開(kāi)發(fā)工具)編程實(shí)現(xiàn)上述內(nèi)容,寫(xiě)出課程設(shè)計(jì)報(bào)告。
⑵、課程設(shè)計(jì)報(bào)告的內(nèi)容包括:
①課程設(shè)計(jì)題目和題目設(shè)計(jì)要求;
②設(shè)計(jì)思想和系統(tǒng)功能結(jié)構(gòu)及功能說(shuō)明;
③設(shè)計(jì)中關(guān)鍵部分的詳細(xì)描述和介紹,采用流程圖描述關(guān)鍵模塊的設(shè)計(jì)思路;
④總結(jié),包括設(shè)計(jì)過(guò)程中遇到的問(wèn)題和解決方法,心得體會(huì)等;
⑤參考文獻(xiàn);
⑥程序源代碼清單。
4、考核方式
課程考核分三部分,一部分是上機(jī)率,占 20%;第二部分是檢查成績(jī),最后兩次上機(jī)為
檢查時(shí)間,占 50%;第三部分為課程設(shè)計(jì)報(bào)告,占 30%。注意:
⑴、使用 GUI 界面或混合編程實(shí)現(xiàn)仿真程序,酌情加分; ⑵、若發(fā)現(xiàn)程序或課程設(shè)計(jì)報(bào)告雷同,一律不及格。⑶、主要參考資料
[1] S.K.Mitra.Digital Signal Processing: A Computer Based Approach, 3rd Edition [M], New York, USA: McGraw-Hill, 2000 [2] R.G.Lyons.Understanding Digital Signal Processing, 2nd Edition [M].New Jersey, USA: Prentice Hall, 2005 [3] 程佩青.數(shù)字信號(hào)處理教程, 第二版[M].北京: 清華大學(xué)出版社, 2001 [4] 趙樹(shù)杰等.數(shù)字信號(hào)處理[M].西安: 西安電子科技大學(xué)出版社, 1997 [5] 丁玉美等.數(shù)字信號(hào)處理—時(shí)域離散隨機(jī)信號(hào)處理[M].西安: 西安電子科技大學(xué)出版社, 2002 [6] 陳懷琛等.MATLAB 及在電子信息課程中的應(yīng)用[M], 北京: 電子工業(yè)出版社出版, 2002 ⑷、課程設(shè)計(jì)進(jìn)度安排
序號(hào) 階段內(nèi)容 合計(jì)(天)一 設(shè)計(jì)準(zhǔn)備 1 二 方案選擇及初步設(shè)計(jì) 2 三 目標(biāo)項(xiàng)目設(shè)計(jì)實(shí)現(xiàn)及調(diào)試 3 四 撰寫(xiě)課程設(shè)計(jì)報(bào)告 2 五 上機(jī)檢查成績(jī) 2 總計(jì)(2 周)10
二.設(shè)計(jì)過(guò)程
第一題、語(yǔ)音信號(hào)去噪處理
1.設(shè)計(jì)要求:
(1)在windows系統(tǒng)下的錄音機(jī)錄制一段1s左右的語(yǔ)音信號(hào)作為原聲信號(hào),在MATLAB軟件平臺(tái)下,利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù);
(2)畫(huà)出語(yǔ)音信號(hào)的時(shí)域波形,對(duì)采樣后的語(yǔ)音進(jìn)行fft變換,得到信號(hào)的頻譜特性;對(duì)語(yǔ)音信號(hào)分別加入正弦噪聲和白噪聲,畫(huà)出加噪信號(hào)的時(shí)域波形和頻譜圖;
(3)根據(jù)對(duì)加噪語(yǔ)音信號(hào)譜分析結(jié)果,確定濾除噪聲濾波器的技術(shù)指標(biāo),設(shè)計(jì)合適的數(shù)字濾波器,并畫(huà)出濾波器的頻域響應(yīng);
(4)用所設(shè)計(jì)的濾波器對(duì)加噪的信號(hào)進(jìn)行濾波,在同一個(gè)窗口畫(huà)出濾波前后信號(hào)的時(shí)域圖和頻譜圖,對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)變化;(5)利用sound(x)回放語(yǔ)音信號(hào),驗(yàn)證設(shè)計(jì)效果。
2.設(shè)計(jì)步驟:
(1)找到7s的語(yǔ)音信號(hào),利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行信號(hào)讀??;(2)計(jì)算樣本時(shí)刻和頻譜圖的頻率,并進(jìn)行N+1點(diǎn)FFT變換;(3)加噪聲為5000Hz的正弦信號(hào)正弦噪聲,采用awgn函數(shù)加信噪比為10的高斯白噪聲;
(4)設(shè)計(jì)濾波器;
(5)繪出相應(yīng)的時(shí)域、頻域圖;
(6)利用sound函數(shù)進(jìn)行原始信號(hào)的語(yǔ)音播放,加噪聲音播放,以及濾波之后的語(yǔ)言播放。
3.設(shè)計(jì)實(shí)現(xiàn):
(1)時(shí)域圖與頻譜圖(加正弦)
錄入原始信號(hào)的時(shí)域圖:
加入正弦信號(hào)后的時(shí)域圖: 濾波后的時(shí)域圖:
錄入原始信號(hào)的頻域圖:
加入正弦信號(hào)后的頻率圖:
濾波后的頻域圖:
采用巴斯低通濾波器濾除正弦波:
(2)具體代碼實(shí)現(xiàn):
[x,fs,bits]=wavread('E:mcpass.wav');%原信號(hào)
n=size(x,1);
%提取采樣信號(hào)的長(zhǎng)度 t=(0:length(x)-1)/fs;
%計(jì)算樣本時(shí)刻
f=fs*(0:(n+1)/2-1)/n+1;
%計(jì)算頻域圖的頻率
X=fft(x,n+1);
%進(jìn)行N+1點(diǎn)FFT變換
ts=0:1/fs:(size(x)-1)/fs;
%將所加噪聲信號(hào)的點(diǎn)數(shù)調(diào)整到與原始信號(hào)相同 s=x+0.05*sin(2*pi*5000*ts)';
%加噪聲為5000Hz的正弦信號(hào)正弦噪聲 S=fft(s,n+1);
%加正弦噪聲后的頻域 %正弦濾波
wp=2000/fs*2*pi;
%2000為通帶截止頻率
ws=3000/fs*2*pi;
%3000為阻帶下限截止頻率
Rp=4;
%通帶波紋
Rs=25;
%阻帶波紋
T=1/fs;Fs=1/T;
%定義采樣間隔
Wp=2/T*tan(wp/2);
%計(jì)算對(duì)應(yīng)的數(shù)字頻率
Ws=2/T*tan(ws/2);[N,wn]=buttord(Wp,Ws,Rp,Rs,'s');
%計(jì)算濾波器介數(shù)和截止頻率
[c,d]=butter(N,wn,'s');
%計(jì)算濾波器系統(tǒng)函數(shù)分子分母系數(shù)
[B,A]=bilinear(c,d,Fs);
%雙線(xiàn)性變換得到數(shù)字濾波器系統(tǒng)函數(shù)分子分母系數(shù) [Hb,Wc]=freqz(B,A);sf=filter(B,A,s);
%對(duì)加噪信號(hào)進(jìn)行濾波
Sf=fft(sf,n+1);
%對(duì)濾波后進(jìn)行N+1點(diǎn)FFT變換
%繪圖部分 figure(3);plot(fs*Wc/(2*pi),20*log10(abs(Hb)));title('巴斯低通濾波器頻域響應(yīng)圖');xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(3,1,1);plot(t,x);title('原信號(hào)時(shí)域')xlabel('時(shí)間(s)');ylabel('幅度');figure(2);subplot(3,1,1);plot(f,abs(X(1:(n+1)/2)));title('原信號(hào)頻域')xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(3,1,2);plot(t,s);title('加正弦信號(hào)后的時(shí)域')xlabel('時(shí)間(s)');ylabel('幅度');figure(2);subplot(3,1,2);plot(f,abs(S(1:(n+1)/2)));title('加正弦信號(hào)后的頻域圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1)subplot(3,1,3);plot(t,sf);title('濾波后的時(shí)域圖');xlabel('時(shí)間(s)');ylabel('幅度');figure(2)subplot(3,1,3);plot(f,abs(Sf(1:(n+1)/2)));title('濾波后的頻域圖');xlabel('頻率(Hz)');ylabel('幅度');sound(x);sound(s);sound(sf);
(3)時(shí)域圖與頻域圖(加白噪聲)
加白噪聲后的時(shí)域圖和濾除之后的時(shí)域圖:
加白噪聲和濾除之后的頻域圖:
采用blackman函數(shù)濾波:
具體代碼實(shí)現(xiàn):
[x,fs,bits]=wavread('E:hbsong.wav');N=size(x,1);t=(0:length(x)-1)/fs;f=fs*(0:(N+1)/2-1)/N+1;X=fft(x,N+1);%加高斯白噪聲
z=awgn(x,20);
%對(duì)信號(hào)加信噪比為10的高斯白噪聲 N1=size(z,1);
%提取采樣信號(hào)的長(zhǎng)度 t=(0:length(z)-1)/fs;
%計(jì)算樣本時(shí)刻 f=fs*(0:(N1+1)/2-1)/N1+1;Z=fft(z,N1+1);Wp=2500/fs*2*pi;Ws=3000/fs*2*pi;
%計(jì)算對(duì)應(yīng)的數(shù)字頻率 B=Ws-Wp;n=ceil(1*pi/B);wc=(Wp+Ws)/2;b=fir1(n-1,wc/pi,'stop',blackman(n));%blackman窗函數(shù)濾波 [H,w]=freqz(b,1);y=fftfilt(b,z);
t1=(0:length(y)-1)/fs;
Y=fft(y,N1+1);subplot(2,2,1);
plot(t,z);title('加高斯白噪聲后時(shí)域圖');subplot(2,2,2);plot(f,abs(Z(1:(N1+1)/2)));title('濾波前信號(hào)頻譜圖')figure
plot(fs*w/(2*pi),20*log10);title('blackman函數(shù)頻域響應(yīng)圖');title('頻率響應(yīng)')xlabel('頻率(Hz)');ylabel('幅度');subplot(2,2,3);
plot(t1,y)title('濾波后信號(hào)時(shí)域圖');xlabel('時(shí)間(s)');ylabel('幅度');subplot(2,2,4);plot(f,abs(Y(1:(N1+1)/2)));title('濾波后信號(hào)頻譜圖')xlabel('頻率(Hz)');ylabel('幅度');
sound(y,fs)
第二題、語(yǔ)音信號(hào)的延時(shí)和混響
1.設(shè)計(jì)要求:
(1)利用Windows下的錄音機(jī)或其他軟件,錄制一段自己的語(yǔ)音信號(hào),時(shí)間控制在1s左右,并對(duì)錄制的信號(hào)進(jìn)行采樣;
(2)語(yǔ)音信號(hào)的頻譜分析,畫(huà)出采樣后語(yǔ)音信號(hào)的時(shí)域波形和頻譜圖; 將信號(hào)加入延時(shí)和混響,再分析其頻譜,并與原始信號(hào)頻譜進(jìn)行比較;
(3)設(shè)計(jì)幾種特殊類(lèi)型的濾波器:?jiǎn)位芈暈V波器,多重回聲濾波器,全通結(jié)構(gòu)的混響器,并畫(huà)出濾波器的頻域響應(yīng);
(4)用自己設(shè)計(jì)的濾波器對(duì)采集的語(yǔ)音信號(hào)進(jìn)行濾波;
(5)分析得到信號(hào)的頻譜,畫(huà)出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;(6)回放語(yǔ)音信號(hào)。
2.設(shè)計(jì)步驟:
(1)錄入原始聲音信號(hào);
(2)計(jì)算樣本時(shí)刻和頻譜圖的頻率,并進(jìn)行N+1點(diǎn)FFT變換;(3)加入單回聲;
(4)設(shè)計(jì)單回聲濾波器幅頻響應(yīng)函數(shù);(5)繪出相應(yīng)時(shí)域與頻域圖;
(6)利用sound函數(shù)進(jìn)行原始信號(hào)的語(yǔ)音播放,加單回聲后語(yǔ)言播放,以及濾除之后的語(yǔ)言播放;
3.設(shè)計(jì)實(shí)現(xiàn):
(1)時(shí)域圖和頻域圖(加單回聲)
原始信號(hào)時(shí)域圖:
濾波后的時(shí)域圖:
原始信號(hào)頻域圖:
濾波后頻域圖:
單回聲濾波器幅頻響應(yīng):
(2)具體代碼實(shí)現(xiàn)(單回聲):
[x,fs,bits]=wavread('E:mcpass.wav');%原聲音信號(hào) n=size(x,1);t=(0:length(x)-1)/fs;f=fs*(0:(n+1)/2-1)/n+1;X=fft(x,n+1);a=0.6;%單回聲濾波 R=fs*a;B=[1,zeros(1,R-2),a];A=[1,zeros(1,R-1)];y = filter(B,A,x);Y=fft(y,n+1);[H,W]=freqz(B,A);
%求單回聲濾波器幅頻響應(yīng)函數(shù) %繪圖部分 figure(2);plot(fs*W/(2*pi),20*log10(abs(H)));title('頻率響應(yīng)');xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,1);plot(t,x);title('原信號(hào)時(shí)域');xlabel('時(shí)間(s)');ylabel('幅度');subplot(4,1,2);plot(f,abs(X(1:(n+1)/2)));title('原信號(hào)頻域');xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,3);plot(t,y);title('濾波后時(shí)域圖');xlabel('時(shí)間(s)');ylabel('幅度');figure(1);subplot(4,1,4);plot(f,abs(Y(1:(n+1)/2)));title('濾波后頻域圖');xlabel('頻率(Hz)');ylabel('幅度');sound(x,fs,bits);sound(y,fs,bits);
(3)時(shí)域圖與頻域圖(多重回聲)
原始信號(hào)時(shí)域圖與多重信號(hào)時(shí)域圖:
原始信號(hào)時(shí)域圖與多重信號(hào)頻域圖:
多重回聲濾波器幅頻響應(yīng):
(4)具體代碼實(shí)現(xiàn)(多回聲)
%原聲音信號(hào)
[x,fs,bits]=wavread('E:mcpass.wav');N=size(x,1);t=(0:length(x)-1)/fs;f=fs*(0:(N+1)/2-1)/N+1;%多重回聲 a=0.5;R=fs*a;B=[1,zeros(1,R-2)];A=[1,zeros(1,R-1),a];yd = filter(B,A,x);
%濾波器函數(shù) %頻率響應(yīng)
[Hb,Wc]=freqz(B,A);
%求多重回聲濾波器幅頻響應(yīng)函數(shù) %繪圖部分 figure(2);plot(fs*Wc/(2*pi),20*log10(abs(Hb)));title('多重濾波器頻域響應(yīng)圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,1);plot(t,x);title('原信號(hào)時(shí)域');xlabel('時(shí)間(s)');ylabel('幅度');X=fft(x,N+1);subplot(4,1,3);plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域');xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,2);plot(t,yd);title('多重信號(hào)時(shí)域圖')xlabel('時(shí)間(s)');ylabel('幅度');Yd=fft(yd,N+1);
%多重回聲濾波后信號(hào)FFT變換 subplot(4,1,4);plot(f,abs(Yd(1:(N+1)/2)));title('多重信號(hào)頻域圖');xlabel('頻率(Hz)');ylabel('幅度');sound(x);sound(yd);
(5)時(shí)域圖與頻域圖(全通濾波器)
原始信號(hào)時(shí)域圖與全通濾波器時(shí)域圖:
原始信號(hào)時(shí)域圖與全通濾波器頻域圖:
全通濾波器的頻域響應(yīng)圖:
(6)具體代碼實(shí)現(xiàn)(全通濾波器):
%原聲音信號(hào)
[x,fs,bits]=wavread('E:mcpass.wav');N=size(x,1);t=(0:length(x)-1)/fs;f=fs*(0:(N+1)/2-1)/N+1;%全通結(jié)構(gòu)混響 a=0.5;R=fs*a;B=[a,zeros(1,R-2),1];A=[1,zeros(1,R-2),a];yd = filter(B,A,x);%頻率響應(yīng)
[Hb,Wc]=freqz(B,A);
%求全通濾波器幅頻響應(yīng)函數(shù) figure(2);plot(fs*Wc/(2*pi),20*log10(abs(Hb)));title('全通結(jié)構(gòu)頻域響應(yīng)圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,1);plot(t,x);title('原信號(hào)時(shí)域');xlabel('時(shí)間(s)');ylabel('幅度');X=fft(x,N+1);subplot(4,1,3);plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域');xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,2);plot(t,yd);title('全通濾波器時(shí)域圖');xlabel('時(shí)間(s)');ylabel('幅度');Yd=fft(yd,N+1);subplot(4,1,4);plot(f,abs(Yd(1:(N+1)/2)));title('全通濾波器頻域圖');xlabel('頻率(Hz)');ylabel('幅度');sound(x);sound(yd);(7)時(shí)域圖與頻域圖(延時(shí)與混響)
原始信號(hào)時(shí)域圖:
延時(shí)時(shí)域圖:
混響時(shí)域圖:
原始信號(hào)頻域:
延時(shí)信號(hào)頻域圖:
混響信號(hào)頻域圖:
(8)具體代碼實(shí)現(xiàn)(延時(shí)與混響):
[x,fs,bits]=wavread('E:mcpass.wav');N=size(x,1);t=(0:length(x)-1)/fs;f=fs*(0:(N+1)/2-1)/N+1;xd=[zeros(300,1);x];%信號(hào)延時(shí) td=(0:length(xd)-1)/fs;Xd=fft(xd);
Xd1=fftshift(Xd);
dFs =fs/length(xd);
xd1=[x;zeros(300,1)];%信號(hào)混響 x1=xd1+xd;Xhun=fft(x1);%混響信號(hào)fft變換
Xh2=fftshift(x1);%平移,中心為0頻率 dFs = fs/length(x1);%繪圖部分 figure(1);subplot(4,1,1);plot(t,x);title('原信號(hào)時(shí)域');xlabel('時(shí)間(s)');ylabel('幅度');X=fft(x,N+1);subplot(4,1,2);plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域');xlabel('頻率(Hz)');ylabel('幅度');subplot(4,1,3);
plot(td,xd);title('延時(shí)信號(hào)時(shí)域圖')xlabel('時(shí)間(s)');ylabel('幅度');subplot(4,1,4);
plot([-fs/2:dFs: fs/2-dFs],abs(Xd));title('延時(shí)信號(hào)頻域圖')xlabel('頻率(Hz)');ylabel('幅度');figure(2);subplot(2,1,1);plot(td,x1);title('混響信號(hào)時(shí)域圖');xlabel('時(shí)間(s)');ylabel('幅度');figure(2);subplot(2,1,2);plot([-fs/2:dFs: fs/2-dFs],abs(Xh2));title('混響信號(hào)頻域圖');xlabel('頻率(Hz)');ylabel('幅度');sound(x);sound(xd);sound(x1);第三題、數(shù)字濾波器的設(shè)計(jì)及實(shí)現(xiàn)
1.設(shè)計(jì)要求:
(1)調(diào)用信號(hào)產(chǎn)生函數(shù)mstg產(chǎn)生由三路抑制載波調(diào)幅信號(hào)相加構(gòu)成的復(fù)合信號(hào)st,觀察st的時(shí)域波形和幅頻特性曲線(xiàn);
(2)要求將st中的三路調(diào)幅信號(hào)分離,通過(guò)觀察st的幅頻特性曲線(xiàn),分別確定可以分離st中三路抑制載波單頻調(diào)幅信號(hào)的三個(gè)濾波器(低通濾波器、帶通濾波器、高通濾波器)的通帶截止頻率和阻帶截止頻率,要求濾波器的通帶最大衰減為0.1dB,阻帶最小衰減為60dB;(3)編程調(diào)用MATLAB濾波器設(shè)計(jì)函數(shù)分別設(shè)計(jì)這三個(gè)數(shù)字濾波器,并繪圖顯示其幅頻特性曲線(xiàn);
(4)調(diào)用濾波函數(shù)filter,用所設(shè)計(jì)的三個(gè)濾波器分別對(duì)復(fù)合信號(hào)st進(jìn)行濾波,分離出st中的三路不同載波頻率的調(diào)幅信號(hào),并繪圖顯示濾波后信號(hào)的時(shí)域波形和頻譜,觀察分離效果。
2.設(shè)計(jì)步驟:
(1)產(chǎn)生三路調(diào)幅信號(hào);
(2)三路信號(hào)相加組成復(fù)合信號(hào);
(3)分別設(shè)計(jì)低通、帶通、高通濾波器,對(duì)三路信號(hào)濾波;(4)繪出相應(yīng)的時(shí)域、頻域圖;(5)觀察分離效果;
3.設(shè)計(jì)實(shí)現(xiàn):
(1)時(shí)域圖與頻域圖(第一路):
第二路:
第三路:
4.具體代碼實(shí)現(xiàn):
N=1600;
%N為信號(hào)st的長(zhǎng)度。
Fs=10000;T=1/Fs;Tp=N*T;%采樣頻率Fs=10kHz,Tp為采樣時(shí)間 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10;
%第1路調(diào)幅信號(hào)的載波頻率fc1=1000Hz, fm1=fc1/10;
%第1路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率fm1=100Hz fc2=Fs/20;
%第2路調(diào)幅信號(hào)的載波頻率fc2=500Hz fm2=fc2/10;
%第2路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率fm2=50Hz fc3=Fs/40;
%第3路調(diào)幅信號(hào)的載波頻率fc3=250Hz, fm3=fc3/10;
%第3路調(diào)幅信號(hào)的調(diào)制信號(hào)頻率fm3=25Hz xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);%產(chǎn)生第1路調(diào)幅信號(hào) xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);%產(chǎn)生第2路調(diào)幅信號(hào) xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);%產(chǎn)生第3路調(diào)幅信號(hào) st=xt1+xt2+xt3;
%三路調(diào)幅信號(hào)相加 fxt=fft(st,N);
%計(jì)算信號(hào)st的頻譜 figure(1);subplot(2,1,1);plot(t,st);title('三路調(diào)幅信號(hào)時(shí)域圖')grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/2,min(st),max(st)]);title('(a)s(t)的波形');subplot(2,1,2);stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b)s(t)的頻譜');axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度');
Fs=10000;T=1/Fs;
%采樣頻率
%調(diào)用信號(hào)產(chǎn)生函數(shù)mstg產(chǎn)生由三路抑制載波調(diào)幅信號(hào)相加構(gòu)成的復(fù)合信號(hào)st
%低通濾波器設(shè)計(jì)與實(shí)現(xiàn)
fp=280;fs=450;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;
[N,wp]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N,rp,rs,wp);
y1t=filter(B,A,st);
[Hb,Wc]=freqz(B,A);
figure(2);subplot(2,1,1);plot(Fs*Wc/(2*pi),20*log10(abs(Hb)));title('低通濾波器頻域響應(yīng)圖')subplot(2,1,2);plot(t,y1t);title('第一路低頻信號(hào)時(shí)域圖')
%帶通濾波器設(shè)計(jì)與實(shí)現(xiàn)
fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N,rp,rs,wp);y2t=filter(B,A,st);[Hb1,Wc1]=freqz(B,A);figure(3);subplot(2,1,1);plot(Fs*Wc1/(2*pi),20*log10(abs(Hb1)));title('帶通濾波器頻域響應(yīng)圖')subplot(2,1,2);plot(t,y2t);title('第二路中頻信號(hào)時(shí)域圖')
%高通濾波器設(shè)計(jì)與實(shí)現(xiàn) fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;
%DF指標(biāo)(低通濾波器的通、阻帶邊界頻)[N,wp]=ellipord(wp,ws,rp,rs);
%調(diào)用ellipord計(jì)算橢圓DF階數(shù)N和通帶截止頻率wp [B,A]=ellip(N,rp,rs,wp,'high');%調(diào)用ellip計(jì)算橢圓帶通DF系統(tǒng)函數(shù)系數(shù)向量B和A y3t=filter(B,A,st);
%濾波器軟件實(shí)現(xiàn) [Hb2,Wc2]=freqz(B,A);figure(4);subplot(2,1,1);plot(Fs*Wc2/(2*pi),20*log10(abs(Hb2)));title('高通濾波器頻域響應(yīng)圖')subplot(2,1,2);plot(t,y3t);title('第三路高頻信號(hào)時(shí)域圖')第四題、心電信號(hào)的處理
1.設(shè)計(jì)要求:
(1)在MATLAB軟件平臺(tái)下,給原始的心電信號(hào)疊加上噪聲或干擾,干擾類(lèi)型分為如下幾種:白噪聲、工頻干擾(50Hz)、諧波干擾(二次、三次諧波為主,分別為100Hz、150Hz)繪出疊加噪聲后的心電信號(hào)時(shí)域和頻譜圖,在視覺(jué)上與原始心電信號(hào)圖形對(duì)比,分析頻域基本特征變化。
(2)給定濾波器的規(guī)一化性能指標(biāo)(參考指標(biāo),實(shí)際中依據(jù)每個(gè)同學(xué)所疊加噪聲情況而定),例如:通帶截止頻率wp=0.25*pi, 阻通帶截止頻率ws=0.3*pi;通帶最大衰減Rp=1 dB;阻帶最小衰減Rs=15 dB
(3)采用窗函數(shù)法設(shè)計(jì)各型FIR濾波器(低通、高通、帶通、帶阻中的至少2種類(lèi)型),來(lái)對(duì)疊加干擾前后的心電信號(hào)進(jìn)行濾波處理,繪出濾波器的頻域響應(yīng)及濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;在相同的性能指標(biāo)下比較各方法的濾波效果,并從理論上進(jìn)行分析或解釋?zhuān)唬?)采用雙線(xiàn)性變換法利用不同的原型低通濾波器(Butterworth型與切比雪夫I型)來(lái)設(shè)計(jì)各型IIR濾波器(低通、高通、帶通、帶阻中的至少2種類(lèi)型)繪出濾波器的頻域響應(yīng),并用這些數(shù)字濾波器對(duì)含噪心電信號(hào)分別進(jìn)行濾波處理;比較不同方法下設(shè)計(jì)出來(lái)的數(shù)字濾波器的濾波效果,并從理論上進(jìn)行分析或解釋?zhuān)?/p>
(5)心電信號(hào)波形觀察、頻譜觀察,對(duì)濾波后的心電信號(hào)觀察其時(shí)域、頻域特征變化。
2.設(shè)計(jì)步驟:
(1)讀取原始心電信號(hào);
(2)心電信號(hào)加50HZ工頻信號(hào);(3)心電信號(hào)加入諧波;(4)心電信號(hào)加入白噪聲;
(5)設(shè)計(jì)相應(yīng)的濾波器進(jìn)行不同噪聲的濾除;(6)繪出相應(yīng)的時(shí)域頻域圖;
3.設(shè)計(jì)實(shí)現(xiàn):
(1)各時(shí)域頻域圖:
原始心電信號(hào)時(shí)域圖以及加入個(gè)噪聲后的時(shí)域圖:
原始心電信號(hào)頻域圖以及加入個(gè)噪聲后的時(shí)頻域圖:
(2)具體代碼實(shí)現(xiàn):
%原心電信號(hào)
xl=load('E:心電信號(hào)-新.txt');x=xl(:,2);N=size(x,1);fs=1000;t=(0:length(x)-1)/fs;f=fs/N*(0:(N+1)/2-1)+1;X=fft(x,N);%加50hz工頻干擾 y=x+sin(2*50*pi*t)';Y=fft(y,N);%加100hz、150hz諧波干擾
y1=x+sin(2*100*pi*t)'+cos(2*150*pi*t)';Y1=fft(y1,N);%加白噪聲 yb=awgn(x,20);Yd=fft(yb,N);figure(1);subplot(4,1,1);plot(t,x);title('原信號(hào)時(shí)域圖')xlabel('時(shí)間(s)');ylabel('幅度');figure(2);subplot(4,1,1)plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,2);plot(t,y);title('加50hz工頻信號(hào)時(shí)域圖')xlabel('時(shí)間(s)');ylabel('幅度');figure(2);subplot(4,1,2);plot(f,abs(Y(1:(N+1)/2)));title('加50hz工頻信號(hào)頻域圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1)subplot(4,1,3);plot(t,y1);title('加諧波后的時(shí)域圖')xlabel('時(shí)間(s)');ylabel('幅度');figure(2)subplot(4,1,3);plot(f,abs(Y1(1:(N+1)/2)));title('加諧波后的頻域圖')xlabel('頻率(Hz)');ylabel('幅度');figure(1);subplot(4,1,4);plot(t,y1);title('加白噪后的時(shí)域圖');figure(2);subplot(4,1,4);plot(f,abs(Y1(1:(N+1)/2)));title('加白噪后的頻域圖');
(3)濾除部分:
濾除50HZ信號(hào)后的時(shí)域圖(blackman低通濾波器):
濾除50HZ信號(hào)后的頻域圖: blackman低通濾波器濾波:
具體代碼:
%原心電信號(hào)
xl=load('E:心電信號(hào)-新.txt');x=xl(:,2);N=size(x,1);fs=1000;t=(0:length(x)-1)/fs;f=fs/N*(0:(N+1)/2-1)+1;%f=fs/N*(0:N-1);X=fft(x,N);%加50hz工頻干擾 y=x+sin(2*50*pi*t)';Y=fft(y,N);%blackman低通濾波器 wp=30/fs*pi;ws=40/fs*pi;B=ws-wp;M=ceil(12*pi/B)-1;bl=fir1(M,(ws+wp)/2/pi,'low',blackman(M+1));yl=fftfilt(bl,y);Yl=fft(yl,N);figure(1);subplot(3,1,1);plot(t,x);title('原信號(hào)時(shí)域圖')figure(2);subplot(3,1,1)plot(f,abs(X(1:(N+1)/2)));%plot(f,abs(X));title('原信號(hào)頻域圖')figure(1);subplot(3,1,2);plot(t,y);title('加50hz工頻信號(hào)時(shí)域圖')figure(2);subplot(3,1,2);plot(f,abs(Y(1:(N+1)/2)));%plot(f,abs(Y));title('加50hz工頻信號(hào)頻域圖')figure(1);subplot(3,1,3);plot(t,yl);title('濾波后信號(hào)時(shí)域圖')figure(2)subplot(3,1,3);plot(f,abs(Yl(1:(N+1)/2)));%plot(f,abs(Yl));title('濾波后信號(hào)頻域圖')figure(3)[h2,w2]=freqz(bl,1);plot(w2/(2*pi)*fs,20*log10(abs(h2)));title('blackman低通濾波器頻率響應(yīng)圖');
濾除50HZ信號(hào)后的時(shí)域圖(切比雪夫?yàn)V波器):
濾除50HZ信號(hào)后的頻域圖(切比雪夫?yàn)V波器):
切比雪夫?yàn)V波器:
具體代碼實(shí)現(xiàn):
%原心電信號(hào)
xl=load('E:心電信號(hào)-新.txt');x=xl(:,2);N=size(x,1);fs=1000;t=(0:length(x)-1)/fs;f=fs/N*(0:(N+1)/2-1)+1;X=fft(x,N);%加50hz工頻干擾 y=x+sin(2*50*pi*t)';Y=fft(y,N);%切比雪夫?yàn)V波器
wp=20/fs*2*pi;ws=30/fs*2*pi;wp1=2*fs*tan(wp/2);ws1=2*fs*tan(ws/2);Rp=1;Rs=15;[N1,w]=cheb1ord(wp1,ws1,Rp,Rs,'s');[B1,A1]=cheby1(N1,1,w,'low','s');[B,A]=bilinear(B1,A1,fs);[Hk,wk]=freqz(B,A);yf=filter(B,A,y);Yf=fft(yf,N);figure(1);subplot(3,1,1);plot(t,x);title('原信號(hào)時(shí)域圖')figure(2);subplot(3,1,1)plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域圖')figure(1);subplot(3,1,2);plot(t,y);title('加50hz工頻信號(hào)時(shí)域圖')figure(2);subplot(3,1,2);plot(f,abs(Y(1:(N+1)/2)));title('加50hz工頻信號(hào)頻域圖')figure(1);subplot(3,1,3)plot(t,yf);title('濾波后信號(hào)時(shí)域圖')figure(2);subplot(3,1,3)plot(f,abs(Yf(1:(N+1)/2)));title('濾波后信號(hào)頻域圖')figure(3)plot(fs*wk/(2*pi),20*log10(abs(Hk)));title('切比雪夫?yàn)V波器頻域響應(yīng)圖');
濾除白噪聲后的時(shí)域圖(blackman低通濾波器):
濾除白噪聲后的頻域圖(blackman低通濾波器):
blackman低通濾波器:
具體代碼實(shí)現(xiàn):
%原心電信號(hào)
xl=load('E:心電信號(hào)-新.txt');x=xl(:,2);N=size(x,1);fs=1000;t=(0:length(x)-1)/fs;f=fs/N*(0:(N+1)/2-1)+1;X=fft(x,N);%加白噪聲 yb=awgn(x,20);Yd=fft(yb,N);%blackman低通濾波器 wp=70/fs*pi;ws=90/fs*pi;Bl=ws-wp;Ml=ceil(12*pi/Bl)-1;bl=fir1(Ml,(ws+wp)/2/pi,'low',blackman(Ml+1));yl=fftfilt(bl,y1);Yl=fft(yl,N);%繪圖部分 figure(1);subplot(3,1,1);plot(t,x);title('原信號(hào)時(shí)域圖')figure(2);subplot(3,1,1)plot(f,abs(X(1:(N+1)/2)));title('原信號(hào)頻域圖')figure(1);subplot(3,1,2);plot(t,y1);title('加白噪后的時(shí)域圖');figure(2);subplot(3,1,2);plot(f,abs(Y1(1:(N+1)/2)));title('加白噪后的頻域圖');figure(1);subplot(3,1,3);plot(t,yl);title('濾波后信號(hào)時(shí)域圖')figure(2)subplot(3,1,3);plot(f,abs(Yl(1:(N+1)/2)));%plot(f,abs(Yl));title('濾波后信號(hào)頻域圖')figure(3)[h2,w2]=freqz(bl,1);plot(w2/(2*pi)*fs,20*log10(abs(h2)));title('blackman低通濾波器頻率響應(yīng)圖');
三、設(shè)計(jì)總結(jié)與心得體會(huì)
在課程設(shè)計(jì)的這段時(shí)間,我獲益匪淺。不但進(jìn)一步掌握了數(shù)字信號(hào)處理的基礎(chǔ)知識(shí)及MATLAB的基本操作,還使我了解了信號(hào)的產(chǎn)生、采樣及頻譜分析的方法。我進(jìn)一步了解到凡事都需要耐心,細(xì)心仔細(xì)是成功的保證。雖然在做的過(guò)程中遇到了一些問(wèn)題,但是我都通過(guò)自己的努力解決了它們,證明了自己的能力。這次課程設(shè)計(jì)對(duì)我各方面的綜合能力有了很大的提高,對(duì)我以后的工作,實(shí)踐都有很大的幫助。
在此次課程設(shè)計(jì)當(dāng)中,我經(jīng)常把C語(yǔ)言的語(yǔ)法知識(shí)照搬到MATALAB設(shè)計(jì)中,從而導(dǎo)致調(diào)試失敗,所以下次用此類(lèi)語(yǔ)言做課程設(shè)計(jì)時(shí),應(yīng)事先學(xué)習(xí)下這類(lèi)語(yǔ)言的基本語(yǔ)法,以免與其他語(yǔ)言相混淆。還有就是有些不定參數(shù)存在時(shí),可先取定值,用于調(diào)試,這樣可以節(jié)約調(diào)試時(shí)間,從而提高效率。
本次課程設(shè)計(jì)不但讓我又學(xué)到了一些知識(shí),而且也提高了我的綜合能力。使我在各個(gè)方面都得到了鍛煉,以后有這樣的機(jī)會(huì)一定會(huì)更加的很好利用,它不僅可以提高學(xué)習(xí)的針對(duì)性而且可以很好的鍛煉動(dòng)手能力以及自己的邏輯設(shè)計(jì)能力和處理問(wèn)題的能力,希望在以后這方面的能力會(huì)很好的加強(qiáng)。
四、課程設(shè)計(jì)指導(dǎo)書(shū)
[1] 《數(shù)字信號(hào)處理(第二版)》.丁玉美等 西安電子科技大學(xué)出版社 [2] 《數(shù)字信號(hào)處理及其MATLAB實(shí)現(xiàn)》,陳懷琛等譯,電子工業(yè)出版社; [3] 《MATLAB及在電子信息課程中的應(yīng)用》,陳懷琛等,電子工業(yè)出版社
第三篇:數(shù)字信號(hào)處理課程設(shè)計(jì)..
課程設(shè)計(jì)報(bào)告
課程名稱(chēng): 數(shù)字信號(hào)處理 課題名稱(chēng): 語(yǔ)音信號(hào)的處理與濾波
姓 名: 學(xué) 號(hào): 院 系: 專(zhuān)業(yè)班級(jí): 指導(dǎo)教師: 完成日期: 2013年7月2日
目錄
第1部分 課程設(shè)計(jì)報(bào)告………………………………………3 一.設(shè)計(jì)目的……………………………………………3 二.設(shè)計(jì)內(nèi)容……………………………………………3 三.設(shè)計(jì)原理……………………………………………3 四.具體實(shí)現(xiàn)……………………………………………5 1.錄制一段聲音…………………………………5 2.巴特沃斯濾波器的設(shè)計(jì)………………………8 3.將聲音信號(hào)送入濾波器濾波…………………13 4.語(yǔ)音信號(hào)的回放………………………………19 5.男女語(yǔ)音信號(hào)的頻譜分析……………………19 6.噪聲的疊加和濾除……………………………22 五. 結(jié)果分析……………………………………………27 第2部分 課程設(shè)計(jì)總結(jié)………………………………28 一. 參考文獻(xiàn)……………………………………………28
第1部分 課程設(shè)計(jì)報(bào)告
一.設(shè)計(jì)目的
綜合運(yùn)用本課程的理論知識(shí)進(jìn)行頻譜分析以及濾波器設(shè)計(jì),通過(guò)理論推導(dǎo)得出相應(yīng)結(jié)論,并利用MATLAB作為工具進(jìn)行實(shí)現(xiàn),從而復(fù)習(xí)鞏固課堂所學(xué)的理論知識(shí),提高對(duì)所學(xué)知識(shí)的綜合應(yīng)用能力,并從實(shí)踐上初步實(shí)現(xiàn)對(duì)數(shù)字信號(hào)的處理。
二.設(shè)計(jì)內(nèi)容
錄制一段個(gè)人自己的語(yǔ)音信號(hào),并對(duì)錄制的信號(hào)進(jìn)行采樣;畫(huà)出采樣后語(yǔ)音信號(hào)的時(shí)域波形和頻譜圖;給定濾波器的性能指標(biāo),采用窗函數(shù)法和雙線(xiàn)性變換法設(shè)計(jì)濾波器,并畫(huà)出濾波器的頻率響應(yīng);然后用自己設(shè)計(jì)的濾波器對(duì)采集的信號(hào)進(jìn)行濾波,畫(huà)出濾波后信號(hào)的時(shí)域波形和頻譜,并對(duì)濾波前后的信號(hào)進(jìn)行對(duì)比,分析信號(hào)的變化;回放語(yǔ)音信號(hào);換一個(gè)與你性別相異的人錄制同樣一段語(yǔ)音內(nèi)容,分析兩段內(nèi)容相同的語(yǔ)音信號(hào)頻譜之間有什么特點(diǎn);再錄制一段同樣長(zhǎng)時(shí)間的背景噪聲疊加到你的語(yǔ)音信號(hào)中,分析疊加前后信號(hào)頻譜的變化,設(shè)計(jì)一個(gè)合適的濾波器,能夠把該噪聲濾除;
三.設(shè)計(jì)原理
1.在Matlab軟件平臺(tái)下,利用函數(shù)wavrecord(),wavwrite(),wavread(),wavplay()對(duì)語(yǔ)音信號(hào)進(jìn)行錄制,存儲(chǔ),讀取,回放。
2.用y=fft(x)對(duì)采集的信號(hào)做快速傅立葉變換,并用[h1,w]=freqz(h)進(jìn)行DTFT變換。
3.掌握FIR DF線(xiàn)性相位的概念,即線(xiàn)性相位對(duì)h(n)、H(?)及零點(diǎn)的約束,了解四種FIR DF的頻響特點(diǎn)。
4.在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波。
5.抽樣定理
連續(xù)信號(hào)經(jīng)理想抽樣后時(shí)域、頻域發(fā)生的變化(理想抽樣信號(hào)與連續(xù)信號(hào)頻譜之間的關(guān)系)
理想抽樣信號(hào)能否代表原始信號(hào)、如何不失真地還原信號(hào)即由離散信號(hào)恢復(fù)連續(xù)信號(hào)的條件(抽樣定理)
理想采樣過(guò)程描述: 時(shí)域描述:
?a(t)?xa(t)?T(t)??xa(t)?(t?nT)??xa(nT)?(t?nT)xn???n??????T(t)?頻域描述:利用傅氏變換的性質(zhì),時(shí)域相乘頻域卷積,若
n?????(t?nT)??a(t)Xa(j?)?xXa(j?)?xa(t)?T(j?)??T(t)
則有
?(j?)?1X(j?)??(j?)XaaT2?1?2?1??Xa(j?)??Xa(j??jk)??Xa(j??jk?s)Tk???TTk????(j?)與X(j?)的關(guān)系:理想抽樣信號(hào)的頻譜是連續(xù)信號(hào)頻譜的Xaa
周期延拓,重復(fù)周期為?s(采樣角頻率)。如果:
?X(j?)?Xa(j?)??a??0???s/2???s/2即連續(xù)信號(hào)是帶限的,且信號(hào)最高頻率不超過(guò)抽樣頻率的二分之一,則可不失真恢復(fù)。
奈奎斯特采樣定理:要使實(shí)信號(hào)采樣后能夠不失真還原,采樣頻率必須大于信號(hào)最高頻率的兩倍:?s?2?h 或 fs?2fh
四.具體實(shí)現(xiàn)
1.錄制一段聲音
1.1錄制并分析
在MATLAB中用wavrecord、wavread、wavplay、wavwrite對(duì)聲音進(jìn)行錄制、讀取、回放、存儲(chǔ)。
程序如下:
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語(yǔ)音信號(hào) fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令
wavplay(x,Fs);%按任意鍵播放語(yǔ)音信號(hào)
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)sound.wav');%存儲(chǔ)語(yǔ)音信號(hào)
N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(2);subplot(2,1,1);plot(x);%錄制信號(hào)的時(shí)域波形 title('原始信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 figure(2);subplot(2,1,2);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 title('原始信號(hào)的頻譜圖');%加標(biāo)題
grid;%加網(wǎng)格
圖1.1 原始信號(hào)的時(shí)域與頻譜圖
1.2濾除無(wú)效點(diǎn)
針對(duì)實(shí)際發(fā)出聲音落后錄制動(dòng)作半拍的現(xiàn)象,如何拔除對(duì)無(wú)效點(diǎn)的采樣的問(wèn)題: 出現(xiàn)這種現(xiàn)象的原因主要是錄音開(kāi)始時(shí),人的反應(yīng)慢了半拍,導(dǎo)致出現(xiàn)了一些無(wú)效點(diǎn),而后而出現(xiàn)的無(wú)效的點(diǎn),主要是已經(jīng)沒(méi)有聲音的動(dòng)作,先讀取聲音出來(lái),將原始語(yǔ)音信號(hào)時(shí)域波形圖畫(huà)出來(lái),根據(jù)己得到的信號(hào),可以在第二次讀取聲音的后面設(shè)定采樣點(diǎn),取好有效點(diǎn),畫(huà)出濾除無(wú)效點(diǎn)后的語(yǔ)音信號(hào)時(shí)域波形圖,對(duì)比可以看出。這樣就可以解決這個(gè)問(wèn)題。
x=wavread('C:UsersacerDesktop數(shù)字信號(hào)sound.wav', 7
[4000,24000]);%從4000點(diǎn)截取到24000結(jié)束 plot(x);%畫(huà)出截取后的時(shí)域圖形 title('截取后的聲音時(shí)域圖形');%標(biāo)題 xlabel('頻率');ylabel('振幅');grid;%畫(huà)網(wǎng)格
圖1.2 去除無(wú)效點(diǎn)
2.巴特沃斯濾波器的設(shè)計(jì)
2.1設(shè)計(jì)巴特沃思低通濾波器
MATLAB程序如下。濾波器圖如圖3.3所示。
%低通濾波
fp=1000;fs=1200;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯低通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');gridon;9
圖2.1 巴特沃思低通濾波器
2.2設(shè)計(jì)巴特沃思高通濾波器
MATLAB程序如下。濾波器圖如圖3.5所示。%高通濾波
fp=4800;fs=5000;Fs=22050;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);10
[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'high','s');[Bz,Az]=bilinear(B,A,Fs1);figure(1);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯高通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');grid on;
圖2.2巴特沃思高通濾波器
2.3設(shè)計(jì)巴特沃思帶通濾波器
MATLAB程序如下。濾波器圖如圖3.7所示。%帶通濾波
fp=[1200,3000];fs=[1000,3200];Fs=8000;rp=1;rs=100;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(4);[h,w]=freqz(Bz,Az,512,Fs1*1000);plot(w,abs(h));title('巴特沃斯帶通濾波器');xlabel('頻率(HZ)');ylabel('耗損(dB)');grid on;12
圖2.3巴特沃思帶通濾波器
3.將聲音信號(hào)送入濾波器濾波
x=wavread('C:UsersacerDesktop數(shù)字信號(hào)sound.wav');%播放原始信號(hào)
wavplay(x,fs);%播放原始信號(hào) N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(4);subplot(4,2,1);plot(x);%錄制信號(hào)的時(shí)域波形
title('原始信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(4,2,3);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 title('原始信號(hào)的頻譜圖');%加標(biāo)題 grid;%加網(wǎng)格
3.1低通濾波器濾波 fs=8000;beta=10.056;wc=2*pi*1000/fs;ws=2*pi*1200/fs;width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi /width);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);
ys=fftfilt(h,x);%信號(hào)送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語(yǔ)音信號(hào)進(jìn)行快速傅立葉變換 figure(4);subplot(4,2,2);%在四行兩列的第二個(gè)窗口顯示圖形 plot(ys);%信號(hào)的時(shí)域波形
title('低通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%網(wǎng)格
subplot(4,2,4);%在四行兩列的第四個(gè)窗口顯示圖形 plot(f, abs(fftwave(n1)));%繪制模值 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義
title('低通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào)
3.2高通濾波器濾波 fs=8000;beta=10.056;ws=2*5000/fs;wc=2*4800/fs;
width=ws-wc;wn=(ws+wc)/2;n=ceil(12.8*pi/width);h=fir1(n,wn/pi, 'high',kaiser(n+2,beta));[h1,w]=freqz(h);ys=fftfilt(h,x);%將信號(hào)送入高通濾波器濾波 subplot(4,2,5);%在四行兩列的第五個(gè)窗口顯示圖形 plot(ys);%信號(hào)的時(shí)域波形 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 title('高通濾波后信號(hào)的時(shí)域波形');%標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%網(wǎng)格
fftwave=fft(ys);%將濾波后的語(yǔ)音信號(hào)進(jìn)行快速傅立葉變換 subplot(4,2,7);%在四行兩列的第七個(gè)窗口顯示圖形 plot(f,abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義
title('高通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào)
3.3帶通濾波器 fs=8000;beta=10.056;wc1=2*pi*1000/fs;wc2=2*pi*3200/fs;ws1=2*pi*1200/fs;ws2=2*pi*3000/fs;width=ws1-wc1;wn1=(ws1+wc1)/2;wn2=(ws2+wc2)/2;wn=[wn1 wn2];n=ceil(12.8/width*pi);h=fir1(n,wn/pi,'band',kaiser(n+1,beta));[h1,w]=freqz(h);ys1= fftfilt(h,x);%將信號(hào)送入高通濾波器濾波 figure(4);subplot(4,2,6);%在四行兩列的第六個(gè)窗口顯示圖形 plot(ys1);%繪制后信號(hào)的時(shí)域的圖形 title('帶通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示縱坐標(biāo)表示的意義 grid;%網(wǎng)格
fftwave=fft(ys1);%對(duì)濾波后的信號(hào)進(jìn)行快速傅立葉變換 subplot(4,2,8);%在四行兩列的第八個(gè)窗口顯示圖形
plot(f, abs(fftwave(n1)));%繪制模值 axis([0 1 0 50]);xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 title('帶通濾波器濾波后信號(hào)的頻譜圖');%加標(biāo)題 grid;%網(wǎng)格
wavplay(ys1,8000);%播放濾波后信號(hào) 圖形如下:
原始信號(hào)的時(shí)域波形幅值/A0-1012x 10原始信號(hào)的頻譜圖34幅值/A1低通濾波后信號(hào)的時(shí)域波形0.50-0.5012頻率w/pi3400.51頻率w/pi高通濾波后信號(hào)的時(shí)域波形幅值/A0幅值/A0幅值/Ax 10高通濾波器濾波后信號(hào)的頻譜圖5012頻率w/pi34幅值/A0.20-0.2幅值/A2001000x 10低通濾波器濾波后信號(hào)的頻譜圖200100000.51頻率w/pi帶通濾波后信號(hào)的時(shí)域波形0.50-0.501234頻率w/pix 10帶通濾波器濾波后信號(hào)的頻譜圖50幅值 00.5頻率w/pi1000.5頻率w/pi1
分析:三個(gè)濾波器濾波后的聲音與原來(lái)的聲音都發(fā)生了變化。其中低
通的濾波后與原來(lái)聲音沒(méi)有很大的變化,其它兩個(gè)都又明顯的變化
4.語(yǔ)音信號(hào)的回放
sound(xlow,Fs,bits);%在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放,其調(diào)用格式: sound(xhigh, Fs,bits);%sound(x, Fs, bits);sound(xdaitong, Fs,bits);5.男女語(yǔ)音信號(hào)的頻譜分析
5.1 錄制一段異性的聲音進(jìn)行頻譜分析
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語(yǔ)音信號(hào) fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語(yǔ)音信號(hào)
wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)sound2.wav');%存儲(chǔ)語(yǔ)音信號(hào)
5.2 分析男女聲音的頻譜
x=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound2.wav ');%播放原始信號(hào),解決落后半拍
wavplay(x,fs);%播放原始信號(hào) N=length(x);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;
f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(1);subplot(2,2,1);plot(x);%錄制信號(hào)的時(shí)域波形
title('原始女生信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(x);%快速傅立葉變換 subplot(2,2,2);plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始女生信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 grid;%加網(wǎng)格
[y,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound.wav ');% 對(duì)語(yǔ)音信號(hào)進(jìn)行采樣
wavplay(y,fs);%播放原始信號(hào) N=length(y);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 subplot(2,2,3);plot(y);%錄制信號(hào)的時(shí)域波形
title('原始男生信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示縱坐標(biāo)的表示意義 grid;%加網(wǎng)格
y0=fft(y);%快速傅立葉變換
subplot(2,2,4);%在四行兩列的第三個(gè)窗口顯示圖形 plot(f,abs(y0(n1)));%原始信號(hào)的頻譜圖 title('原始男生信號(hào)的頻譜圖');%加標(biāo)題 xlabel('頻率w/pi');%顯示橫坐標(biāo)表示的意義 ylabel('幅值 ');%顯示縱坐標(biāo)表示的意義 grid;%加網(wǎng)格
5.3男女聲音的頻譜圖
原始女生信號(hào)的時(shí)域波形0.50-0.5-1150100原始女生信號(hào)的頻譜圖幅值/A幅值 012345000x 10原始男生信號(hào)的時(shí)域波形0.50.5頻率w/pi原始男生信號(hào)的頻譜圖1300200幅值/A0幅值 012x 1034100-0.5000.5頻率w/pi1
圖5.3男女聲音信號(hào)波形與頻譜對(duì)比
分析:就時(shí)域圖看,男生的時(shí)域圖中振幅比女生的高,對(duì)于頻譜圖女生的高頻成分比較多
6.噪聲的疊加和濾除
6.1錄制一段背景噪聲
Fs=8000;%抽樣頻率 time=3;%錄音時(shí)間 fprintf('按Enter鍵錄音%ds',time);%文字提示 pause;%暫停命令 fprintf('錄音中......');x=wavrecord(time*Fs,Fs,'double');%錄制語(yǔ)音信號(hào)
fprintf('錄音結(jié)束');%文字提示 fprintf('按Enter鍵回放錄音');pause;%暫停命令 wavplay(x,Fs);%按任意鍵播放語(yǔ)音信號(hào) wavwrite(x,Fs,'C:UsersacerDesktop數(shù)字信號(hào)噪音.wav');%存儲(chǔ)語(yǔ)音信號(hào)
6.2 對(duì)噪聲進(jìn)行頻譜的分析
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)噪音.wav ');%對(duì)語(yǔ)音信號(hào)進(jìn)行采樣
wavplay(x1,fs);%播放噪聲信號(hào) N=length(x1);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔
n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(5);subplot(3,2,1);plot(x1);%信號(hào)的時(shí)域波形 title('噪聲信號(hào)的時(shí)域波形');grid;ylabel('幅值/A');y0=fft(x1);%快速傅立葉變換
subplot(3,2,2);plot(f,abs(y0(n1)));%噪聲信號(hào)的頻譜圖 ylabel('幅值');title('噪聲信號(hào)的頻譜圖');
6.3原始信號(hào)與噪音的疊加
fs=8000;[x,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)sound.wav ');%對(duì)錄入信號(hào)進(jìn)行采樣
[x1,fs,bits]=wavread(' C:UsersacerDesktop數(shù)字信號(hào)噪音.wav ');%對(duì)噪聲信號(hào)進(jìn)行采樣
yy=x+x1;%將兩個(gè)聲音疊加
6.4疊加信號(hào)的頻譜分析:
wavplay(yy,fs);%播放疊加后信號(hào) N=length(yy);%返回采樣點(diǎn)數(shù) df=fs/N;%采樣間隔 n1=1:N/2;f=[(n1-1)*(2*pi/N)]/pi;%頻帶寬度 figure(5);subplot(3,2,3);plot(yy,'LineWidth',2);%信號(hào)的時(shí)域波形
title('疊加信號(hào)的時(shí)域波形');xlabel('時(shí)間/t');ylabel('幅值/A');grid;y0=fft(yy);%快速傅立葉變換 subplot(3,2,4);plot(f,abs(y0(n1)));%疊加信號(hào)的頻譜圖 title('疊加信號(hào)的頻譜圖');xlabel('頻率w/pi');ylabel('幅值/db');grid;
6.5 設(shè)計(jì)一個(gè)合適的濾波器將噪聲濾除 fs=18000;%采樣頻率 Wp=2*1000/fs;%通帶截至頻率 Ws=2*2000/fs;%阻帶截至頻率 Rp=1;%最大衰減 Rs=100;%最小衰減
[N,Wn]=buttord(Wp,Ws,Rp,Rs);%buttord函數(shù)(n為階數(shù),Wn為截至頻率)
[num,den]=butter(N,Wn);%butter函數(shù)(num為分子系數(shù)den為分母系數(shù))
[h,w]=freqz(num,den);%DTFT變換
ys=filter(num,den,yy);%信號(hào)送入濾波器濾波,ys為輸出 fftwave=fft(ys);%將濾波后的語(yǔ)音信號(hào)進(jìn)行快速傅立葉變換 figure(5);subplot(3,2,5);plot(ys);%信號(hào)的時(shí)域波形
title('低通濾波后信號(hào)的時(shí)域波形');%加標(biāo)題 ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%網(wǎng)格 subplot(3,2,6);plot(f, abs(fftwave(n1)));%繪制模值 title('低通濾波器濾波后信號(hào)的頻譜圖');%標(biāo)題 xlabel('頻率w/pi');ylabel('幅值/A');%顯示標(biāo)表示的意義 grid;%加網(wǎng)格
wavplay(ys,8000);%播放濾波后信號(hào) grid;圖形如下:
噪聲信號(hào)的時(shí)域波形1100噪聲信號(hào)的頻譜圖幅值/A0-1幅值0123450000.5疊加信號(hào)的頻譜圖1x 10疊加信號(hào)的時(shí)域波形10-101時(shí)間/t2200幅值/db34幅值/A100000.5頻率w/pi1x 10低通濾波后信號(hào)的時(shí)域波形0.5低通濾波器濾波后信號(hào)的頻譜圖200幅值/A0-0.5幅值/A012x 1034100000.5頻率w/pi1
圖6.1噪音的疊加與濾除前后頻譜對(duì)比
7.結(jié)果分析
1.錄制剛開(kāi)始時(shí),常會(huì)出現(xiàn)實(shí)際發(fā)出聲音落后錄制動(dòng)作半拍,可在[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav')加 窗[x,fs,bits]=wavread('d:matlavworkwomamaaiwo.wav',[100 10000]),窗的長(zhǎng)度可根據(jù)需要定義。
2.語(yǔ)音信號(hào)通過(guò)低通濾波器后,把高頻濾除,聲音變得比較低沉。當(dāng)通過(guò)高通濾波器后,把低頻濾除,聲音變得比較就尖銳。通過(guò)帶通濾波器后,聲音比較適中。
3.通過(guò)觀察男生和女生圖像知:時(shí)域圖的振幅大小與性別無(wú)關(guān),只與說(shuō)話(huà)人音量大小有關(guān),音量越大,振幅越大。頻率圖中,女生高 27
頻成分較多。
4.疊加噪聲后,噪聲與原信號(hào)明顯區(qū)分,但通過(guò)低通濾波器后,噪聲沒(méi)有濾除,信號(hào)產(chǎn)生失真。原因可能為噪聲與信號(hào)頻率相近無(wú)法濾除。
第2部分 課程設(shè)計(jì)總結(jié)
通過(guò)本次課程設(shè)計(jì),使我們對(duì)數(shù)字信號(hào)處理相關(guān)知識(shí)有了更深刻的理解,尤其是對(duì)各種濾波器的設(shè)計(jì)。在設(shè)計(jì)的過(guò)程中遇到了很多問(wèn)題,剛剛開(kāi)始時(shí)曾天真的認(rèn)為只要把以前的程序改了參數(shù)就可以用了,可是問(wèn)題沒(méi)有我想象中的那么簡(jiǎn)單,單純的搬程序是不能解決問(wèn)題的。通過(guò)查閱資料和請(qǐng)教同學(xué)收獲了很多以前不懂的理論知識(shí)。再利用所學(xué)的操作,發(fā)現(xiàn)所寫(xiě)的程序還是沒(méi)有能夠運(yùn)行,通過(guò)不斷地調(diào)試,運(yùn)行,最終得出了需要的結(jié)果。整個(gè)過(guò)程中學(xué)到了很多新的知識(shí),特別是對(duì)Matlab的使用終于有些了解。在以后的學(xué)習(xí)中還需要深入了解這方面的內(nèi)容。在這次的課程設(shè)計(jì)中讓我體會(huì)最深的是:知識(shí)來(lái)不得半點(diǎn)的馬虎。也認(rèn)識(shí)到自己的不足,以后要進(jìn)一步學(xué)習(xí)。
八.參考文獻(xiàn)
[1]數(shù)字信號(hào)處理教程(第三版)程佩青 清華大學(xué)出版社 [2]MATLAB信號(hào)處理 劉波 文忠 電子工業(yè)出版社 [3]MATLAB7.1及其在信號(hào)處理中的應(yīng)用 王宏 清華大學(xué)出版社
[4]MATLAB基礎(chǔ)與編程入門(mén) 張威 西安電子科技大學(xué)出版社
[5] 數(shù)字信號(hào)處理及其MATLAB實(shí)驗(yàn) 趙紅怡 張常 化學(xué)工業(yè)出版社
[6]MATLAB信號(hào)處理詳解 陳亞勇等 人民郵電出版社 [7] 數(shù)字信號(hào)處理
錢(qián)同惠 機(jī)械工業(yè)出版社 29
第四篇:數(shù)字信號(hào)處理課程設(shè)計(jì)
目 錄
摘要...........................................................................................................................................1 1 緒論..............................................................................................................................................2
1.1 DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則......................................................................................2 1.2 國(guó)內(nèi)外研究動(dòng)態(tài).............................................................................................................2 2系統(tǒng)設(shè)計(jì)........................................................................................................................................3 3硬件設(shè)計(jì)........................................................................................................................................5
3.1 硬件結(jié)構(gòu)...........................................................................................................................5 3.2 硬件電路設(shè)計(jì)...................................................................................................................7
3.2.1 總輸入電路...........................................................................................................7 3.2.2 總輸出電路...........................................................................................................7 3.2.3 語(yǔ)音輸入電路.......................................................................................................9 3.2.4 語(yǔ)音輸出電路.......................................................................................................9 實(shí)驗(yàn)結(jié)果及分析.........................................................................................................................10 4.1 實(shí)驗(yàn)結(jié)果.........................................................................................................................10 4.2 實(shí)驗(yàn)分析.........................................................................................................................12 5 總結(jié)與心得體會(huì).........................................................................................................................13 參考文獻(xiàn).........................................................................................................................................14 致謝................................................................................................................................................15
摘要
基于DSP的語(yǔ)音信號(hào)處理系統(tǒng),該系統(tǒng)采用TMS320VC5509作為主處理器,TLV320AIC23B作為音頻芯片,在此基礎(chǔ)上完成系統(tǒng)硬件平臺(tái)的搭建和軟件設(shè)計(jì),從而實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的采集、濾波和回放功能,它可作為語(yǔ)音信號(hào)處理的通用平臺(tái)。
語(yǔ)音是人類(lèi)相互之間進(jìn)行交流時(shí)使用最多、最自然、最基本也是最重要的信息載體。在高度信息化的今天,語(yǔ)音信號(hào)處理是信息高速公路、多媒體技術(shù)、辦公自動(dòng)化、現(xiàn)代通信及智能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。通常這些信號(hào)處理的過(guò)程要滿(mǎn)足實(shí)時(shí)且快速高效的要求,隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來(lái)越多,為語(yǔ)音信號(hào)的處理提供了良好的平臺(tái)。本文設(shè)計(jì)了一個(gè)基于TMS320VC5509定點(diǎn)的語(yǔ)音信號(hào)處理系統(tǒng),實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的采集、處理與回放等功能,為今后復(fù)雜的語(yǔ)音信號(hào)處理算法的研究和實(shí)時(shí)實(shí)現(xiàn)提供一個(gè)通用平臺(tái)。
關(guān)鍵詞:語(yǔ)音處理;DSP;TMS320VC5509;TLV320AIC23B
1 緒論
語(yǔ)音是人類(lèi)相互間所進(jìn)行的通信的最自然和最簡(jiǎn)潔方便的形式,語(yǔ)音通信是一種理想的人機(jī)通信方式。語(yǔ)音通信的研究涉及到人工智能、數(shù)字信號(hào)處理、微型計(jì)算機(jī)技術(shù)、語(yǔ)言聲學(xué)、語(yǔ)言學(xué)等許多領(lǐng)域,所以說(shuō)語(yǔ)音的通信是一個(gè)多學(xué)科的綜合研究領(lǐng)域,其研究成果具有重要的學(xué)術(shù)價(jià)值。另外通過(guò)語(yǔ)音來(lái)傳遞信息是人類(lèi)最重要的、最有效、最常用的交換信息的形式。語(yǔ)言是人類(lèi)特有的功能,聲音是人類(lèi)常用的工具,是相互傳遞信息的主要手段。同時(shí)也是眾構(gòu)成思想交流和感情溝通的最主要的途徑。
1.1 DSP系統(tǒng)特點(diǎn)和設(shè)計(jì)基本原則
DSP(digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來(lái)處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱(chēng)道的兩大特色。
1.2 國(guó)內(nèi)外研究動(dòng)態(tài)
語(yǔ)音信號(hào)處理作為一個(gè)重要的研究領(lǐng)域,已經(jīng)有很長(zhǎng)的研究歷史。但是它的快速發(fā)展可以說(shuō)是從1940年前后Dudley的聲碼器和Potter等人的可見(jiàn)語(yǔ)音開(kāi)始的;20世紀(jì)60年代中期形成的一系列數(shù)字信號(hào)處理的理念和技術(shù)基礎(chǔ);到了80年代,由于矢量量化、隱馬爾可夫模型和人工神經(jīng)網(wǎng)絡(luò)等相繼被應(yīng)用于語(yǔ)音信號(hào)處理,并經(jīng)過(guò)不斷改進(jìn)與完善,使得語(yǔ)音信號(hào)處理技術(shù)產(chǎn)生了突破性的進(jìn)展。一方面,對(duì)聲學(xué)語(yǔ)音學(xué)統(tǒng)計(jì)模型的研究逐漸深入,魯棒的語(yǔ)音識(shí)別、基于語(yǔ)音段的建模方法及隱馬爾可夫模型與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合成為研究的熱點(diǎn)。另一方面,為了語(yǔ)音識(shí)別實(shí)用化的需要,講者自適應(yīng)、聽(tīng)覺(jué)模型、快速搜索識(shí)別算法以及進(jìn)一步的語(yǔ)言模型的研究等課題倍受關(guān)注。
在通信越來(lái)越發(fā)達(dá)的當(dāng)今世界,尤其最近幾十年,語(yǔ)音壓縮編碼技術(shù)在移動(dòng) 通信、IP電話(huà)通信、保密通信、衛(wèi)星通信以及語(yǔ)音存儲(chǔ)等很多方面得到了廣泛的應(yīng)用。因此,語(yǔ)音編碼一直是通信和信號(hào)處理的研究熱點(diǎn),并其取得了驚人的進(jìn)展,目前在PC機(jī)上的語(yǔ)音編碼已經(jīng)趨于成熟,而如何在嵌入式系統(tǒng)中實(shí)時(shí)實(shí)現(xiàn)語(yǔ)音壓縮編碼則是近些年來(lái)語(yǔ)音信號(hào)處理領(lǐng)域的研究熱點(diǎn)之一。
2系統(tǒng)設(shè)計(jì)
在實(shí)際生活中,當(dāng)聲源遇到物體時(shí)會(huì)發(fā)生反射,反射的聲波和聲源聲波一起傳輸,聽(tīng)者會(huì)發(fā)現(xiàn)反射聲波部分比聲源聲波慢一些,類(lèi)似人們面對(duì)山體高聲呼喊后可以在過(guò)一會(huì)兒聽(tīng)到回聲的現(xiàn)象。聲音遇到較遠(yuǎn)物體產(chǎn)生的反射會(huì)比遇到較近的反射波晚些到達(dá)聲源位置,所以回聲和原聲的延遲隨反射物體的距離大小改變。同時(shí),反射聲音的物體對(duì)聲波的反射能力,決定了聽(tīng)到的回聲的強(qiáng)弱和質(zhì)量。另外,生活中的回聲的成分比較復(fù)雜,有反射、漫反射、折射,還有回聲的多次反射、折射效果。
當(dāng)已知一個(gè)數(shù)字音源后,可以利用計(jì)算機(jī)的處理能力,用數(shù)字的方式通過(guò)計(jì)算模擬回聲效應(yīng)。簡(jiǎn)單的講,可以在原聲音流中疊加延遲一段時(shí)間后的聲流,實(shí)現(xiàn)回聲效果。當(dāng)然通過(guò)復(fù)雜運(yùn)算,可以計(jì)算各種效應(yīng)的混響效果。如此產(chǎn)生的回聲,我們稱(chēng)之為數(shù)字回聲。
本次實(shí)驗(yàn)的程序流程圖如下:
圖2.1 程序流程圖
本次實(shí)驗(yàn)的系統(tǒng)框圖如下:
圖2.2 系統(tǒng)框圖
3硬件設(shè)計(jì)
3.1 硬件結(jié)構(gòu)
圖3.1是系統(tǒng)的硬件結(jié)構(gòu)框圖, 系統(tǒng)主要包括VC5509和A IC23 兩個(gè)模塊。
圖3.1系統(tǒng)硬件結(jié)構(gòu)框圖
利用VC5509 的片上外設(shè)I2C(Inter-Integrated Circuit, 內(nèi)部集成電路)模塊配置AIC23 的內(nèi)部寄存器;通過(guò)VC5509 的McBSP(Multi channel Buffered Serial Ports, 多通道緩存串口)接收和發(fā)送采樣的音頻數(shù)據(jù)??刂仆ǖ乐辉谂渲肁IC23 的內(nèi)部寄存器時(shí)工作, 而當(dāng)傳輸音頻數(shù)據(jù)時(shí)則處于閑置狀態(tài)。
AIC23通過(guò)麥克風(fēng)輸入或者立體聲音頻輸入采集模擬信號(hào), 并把模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào), 存儲(chǔ)到DSP的內(nèi)部RAM中,以便DSP處理。
當(dāng)DSP完成對(duì)音頻數(shù)據(jù)的處理以后, AIC23再把數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào), 這樣就能夠在立體聲輸出端或者耳機(jī)輸出端聽(tīng)到聲音。
AIC23能夠?qū)崿F(xiàn)與VC5509 DSP的McBSP端口的無(wú)縫連接, 使系統(tǒng)設(shè)計(jì)更加簡(jiǎn)單。接口的原理框圖, 如下圖所示。
圖3.2 AIC23與VC5509接口原理圖
系統(tǒng)中A IC23的主時(shí)鐘12 MHz直接由外部的晶振提供。MODE接數(shù)字地, 表示利用I2 C控制接口對(duì)AIC23傳輸控制數(shù)據(jù)。CS接數(shù)字地, 定義了I2 C總線(xiàn)上AIC23的外設(shè)地址, 通過(guò)將CS接到高電平或低電平, 可以選擇A IC23作為從設(shè)備在I2 C總線(xiàn)上的地址。SCLK和SDIN是AIC23控制端口的移位時(shí)鐘和數(shù)據(jù)輸入端,分別與VC5509的I2C模塊端口SCL和SDA相連。
收發(fā)時(shí)鐘信號(hào)CLKX1和CLKR1由A IC23的串行數(shù)據(jù)輸入時(shí)鐘BCLK提供, 并由A IC23的幀同步信號(hào)LRCIN、LRCOUT啟動(dòng)串口數(shù)據(jù)傳輸。DX1和DR1分別與A IC23 的D IN 和DOUT 相連, 從而完成VC5509與AIC23間的數(shù)字信號(hào)通信。
3.2 硬件電路設(shè)計(jì)
3.2.1 總輸入電路
圖3.3 總輸入電路
從左到右各部分電路為:
話(huà)筒,開(kāi)關(guān),語(yǔ)音輸入電路,UA741高增益放大電路,有源二階帶 通濾波器。
3.2.2 總輸出電路
圖3.4 總輸出電路
從左到右各部分電路為:
LM386高頻功率放大器及其外圍器件連接電路,語(yǔ)音輸出電路,開(kāi)關(guān),揚(yáng)聲器。
3.2.3 語(yǔ)音輸入電路
圖3.5語(yǔ)音輸入電路
3.2.4 語(yǔ)音輸出電路
圖3.6 語(yǔ)音輸出電路
語(yǔ)音信號(hào)通道包括模擬輸入和模擬輸出兩個(gè)部分。模擬信號(hào)的輸入輸出電路如圖所示。上圖中MICBIAS 為提供的麥克風(fēng)偏壓,通常是3/4 AVDD,MICIN為麥克風(fēng)輸入,可以根據(jù)需要調(diào)整輸入增益。下圖中LLINEOUT 為左聲道輸出,RLINEOUT為右聲道輸出。用戶(hù)可以根據(jù)電阻阻值調(diào)節(jié)增益的大小,使語(yǔ)音輸入輸出達(dá)到最佳效果。從而實(shí)現(xiàn)良好的模擬語(yǔ)音信號(hào)輸入與模擬信號(hào)的輸出。4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)結(jié)果
按“F5”鍵運(yùn)行,注意觀察窗口中的bEcho=0,表示數(shù)字回聲功能沒(méi)有激活。這時(shí)從耳機(jī)中能聽(tīng)到麥克風(fēng)中的輸入語(yǔ)音放送。將觀察窗口中bEcho的取值改成非0值。這時(shí)可從耳機(jī)中聽(tīng)到帶數(shù)字回聲道語(yǔ)音放送。
分別調(diào)整uDelay和uEffect的取值,使他們保持在0-1023范圍內(nèi),同時(shí)聽(tīng)聽(tīng)耳機(jī)中的輸出有何變化。
當(dāng)uDelay和uEffect的數(shù)值增大時(shí),數(shù)字回聲的效果就會(huì)越加的明顯。
圖4.1 修改前程序圖
圖4.2 修改前程序圖
圖4.3 頻譜分析
圖4.4 左聲道及右聲道波形 4.2 實(shí)驗(yàn)分析
所以,從本實(shí)驗(yàn)可知當(dāng)已知一個(gè)數(shù)字音源后,可以利用計(jì)算機(jī)的處理能力,用數(shù)字的方式通過(guò)計(jì)算模擬回聲效應(yīng)。簡(jiǎn)單的講,可以在原聲音流中疊加延遲一段時(shí)間后的聲流,實(shí)現(xiàn)回聲效果。當(dāng)然通過(guò)復(fù)雜運(yùn)算,可以計(jì)算各種效應(yīng)的混響效果。
聲音放送可以加入數(shù)字回聲,數(shù)字回聲的強(qiáng)弱和與原聲的延遲均可在程序中設(shè)定和調(diào)整。5 總結(jié)與心得體會(huì)
通過(guò)本次課程設(shè)計(jì),我明白了細(xì)節(jié)決定成敗這句話(huà)的道理,在實(shí)驗(yàn)中,有很多注意的地方,都被忽視了,導(dǎo)致再花費(fèi)更多的時(shí)間去修改,這嚴(yán)重影響了試驗(yàn)的進(jìn)度。同時(shí),在本次實(shí)驗(yàn)中我了解了ICETEK – VC5509 – A板上語(yǔ)音codec芯片TLV320AIC23的設(shè)計(jì)和程序控制原理,并進(jìn)一步掌握了數(shù)字回聲產(chǎn)生原理、編程及其參數(shù)選擇、控制,以及了解了VC5509DSP擴(kuò)展存儲(chǔ)器的編程使用方法。
這一學(xué)期的理論知識(shí)學(xué)習(xí)加上這次課程設(shè)計(jì),使我對(duì)DSP有了更加深刻的了解,對(duì)數(shù)字信號(hào)的處理功能,軟硬件相結(jié)合,語(yǔ)音信號(hào)的采集與放送等等方面都有了很深的了解,相信本次課程設(shè)計(jì),無(wú)論是對(duì)我以后的學(xué)習(xí),還是工作等方面都有一個(gè)很大的幫助。因此,本次課程設(shè)計(jì)讓我受益匪淺。
參考文獻(xiàn)
[1]李利.DSP原理及應(yīng)用[M].北京:中國(guó)水利水電出版社,2004.[2]王安民,陳明欣,朱明.TMS320C54xxDSP實(shí)用技術(shù)[M].北京:清華大學(xué)出版社,2007 [3]彭啟琮,李玉柏.DSP技術(shù)[M].成都:電子科技大學(xué)出版社,1997 [4]李宏偉,等.基于幀間重疊譜減法的語(yǔ)音增強(qiáng)方法[J].解放軍理工大學(xué)學(xué)報(bào),2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU與外設(shè)[M].梁曉雯,裴小平,李玉虎,譯.北京:清華大學(xué)出版社,2006 [6]趙力.語(yǔ)音信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2003比較圖4和圖5,可以看到1200Hz以上的頻譜明顯得到了抑制。
[7]江濤,朱光喜.基于TMS320VC5402的音頻信號(hào)采集與系統(tǒng)處理[J].電子技術(shù)用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001
致謝
在本次課程設(shè)計(jì)的即將完成之際,筆者的心情無(wú)法平靜,本文的完成既是筆者孜孜不倦努力的結(jié)果,更是指導(dǎo)老師樊洪斌老師親切關(guān)懷和悉心指導(dǎo)的結(jié)果。在整個(gè)課程設(shè)計(jì)的選題、研究和撰寫(xiě)過(guò)程中,老師都給了我精心的指導(dǎo)、熱忱的鼓勵(lì)和支持,他的精心點(diǎn)撥為我開(kāi)拓了研究視野,修正了寫(xiě)作思路,對(duì)課程設(shè)計(jì)的完善和質(zhì)量的提高起到了關(guān)鍵性的作用。另外,導(dǎo)師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、一絲不茍的工作作風(fēng)和高尚的人格魅力,都給了學(xué)生很大感觸,使學(xué)生終生受益。在此,學(xué)生謹(jǐn)向老師致以最真摯的感激和最崇高的敬佩之情。
另外,還要感謝這段時(shí)間來(lái)陪我一起努力同學(xué),感謝我們這個(gè)小團(tuán)隊(duì),感謝每一個(gè)在學(xué)習(xí)和生活中所有給予我關(guān)心、支持和幫助的老師和同學(xué)們,幾年來(lái)我們一起學(xué)習(xí)、一起玩耍,共同度過(guò)了太多的美好時(shí)光。我們始終是一個(gè)團(tuán)結(jié)、友愛(ài)、積極向上的集體。
第五篇:數(shù)字信號(hào)處理(DSP)課程設(shè)計(jì)報(bào)告
中南大學(xué)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
專(zhuān)業(yè)班級(jí): 通信工程1201
指導(dǎo)老師:李宏
姓
名:
學(xué)
號(hào):
完成日期:2014年10月18日
前
言
現(xiàn)代信號(hào)處理是將信號(hào)表示并處理的理論和技術(shù),而數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。在本次課程設(shè)計(jì)中主要以數(shù)字信號(hào)處理來(lái)解決問(wèn)題。數(shù)字信號(hào)處理的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波,因此在進(jìn)行數(shù)字信號(hào)處理之前需要將信號(hào)從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過(guò)模數(shù)轉(zhuǎn)換器實(shí)現(xiàn)。而數(shù)字信號(hào)處理的輸出經(jīng)常也要變換到模擬域,這是通過(guò)數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)的。
數(shù)字信號(hào)處理的算法需要利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備如數(shù)字信號(hào)處理器(DSP)和專(zhuān)用集成電路(ASIC)等。數(shù)字信號(hào)處理技術(shù)及設(shè)備具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號(hào)處理技術(shù)與設(shè)備所無(wú)法比擬的。數(shù)字信號(hào)處理的核心算法是離散傅立葉變換(DFT),是DFT使信號(hào)在數(shù)字域和頻域都實(shí)現(xiàn)了離散化,從而可以用通用計(jì)算機(jī)處理離散信號(hào)。而使數(shù)字信號(hào)處理從理論走向?qū)嵱玫氖强焖俑盗⑷~變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運(yùn)算量,使實(shí)時(shí)的數(shù)字信號(hào)處理成為可能、極大促進(jìn)了該學(xué)科的發(fā)展。
MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱(chēng),和Mathematica、Maple并稱(chēng)為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類(lèi)科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶(hù)接口、連接其它編程語(yǔ)言的程序等。
一、課程設(shè)計(jì)目的:
1.全面復(fù)習(xí)課程所學(xué)理論知識(shí),鞏固所學(xué)知識(shí)重點(diǎn)和難點(diǎn),將理論與實(shí)踐很好地結(jié)合起來(lái)。
2.掌握信號(hào)分析與處理的基本方法與實(shí)現(xiàn)
3.提高綜合運(yùn)用所學(xué)知識(shí)獨(dú)立分析和解決問(wèn)題的能力; 4.熟練使用一種高級(jí)語(yǔ)言進(jìn)行編程實(shí)現(xiàn)。
二、課程設(shè)計(jì)題目:
(一):
1)生成信號(hào)發(fā)生器:能產(chǎn)生頻率(或基頻)為10Hz的周期性正弦波、三角波和方波信號(hào)。繪出它們的時(shí)域波形
2)為避免頻譜混疊,試確定各信號(hào)的采樣頻率。說(shuō)明選擇理由。3)對(duì)周期信號(hào)進(jìn)行離散傅立葉變換,為了克服頻譜泄露現(xiàn)象,試確定截取數(shù)據(jù)的長(zhǎng)度,即信號(hào)長(zhǎng)度。分析說(shuō)明選擇理由。4)繪出各信號(hào)頻域的幅頻特性和相頻特性
5)以正弦周期信號(hào)為例,觀察討論基本概念(頻譜混疊、頻譜泄漏、整周期截取等)。
(二):
已知三個(gè)信號(hào)aip(n),經(jīng)調(diào)制產(chǎn)生信號(hào)s(n)??aip(n)cos(i?n/4),其中ai為
i?1常數(shù),p(n)為具有窄帶特性的Hanning信號(hào)。將此已調(diào)信號(hào)通過(guò)信道傳輸,描述該信道的差分方程為
y(n)?1.1172y(n?1)?0.9841y(n?2)?0.4022y(n?3)?0.2247y(n?4)?0.2247x(n)?0.4022x(n?1)?0.9841x(n?2)?1.1172x(n?3)?x(n?4)
得到接收信號(hào)y(n)?s(n)*h(n)
1)分析Hanning信號(hào)p(n)的時(shí)域與頻域特性 2)分析已調(diào)信號(hào)s(n)的時(shí)域與頻域特性 3)分析系統(tǒng)的單位脈沖響應(yīng)h(n)4)分析接收信號(hào)y(n)的頻譜
5)設(shè)計(jì)帶通濾波器從接收信號(hào)y(n)中還原出三個(gè)已調(diào)信號(hào)。
3(三):圖像信號(hào)相關(guān)處理
1)讀入一幅彩色圖像
2)將彩色圖像進(jìn)行三原色分解,分解出R、G、B分量,并用圖像顯示出來(lái)
3)將彩色圖像灰度化,轉(zhuǎn)換為灰度圖像并顯示
4)對(duì)灰度圖像用幾種典型的邊緣檢測(cè)算子進(jìn)行邊緣檢測(cè),顯示檢測(cè)出的邊緣。
三、調(diào)試及結(jié)果分析(截圖):
(一):
1)
頻率為10Hz的周期性正弦波:
頻率為10Hz的周期性三角波:
頻率為10Hz的周期性方波:
2)采樣頻率不能過(guò)低,必須fs>=2fm,即采樣頻率必須大于或等于最高截止頻率的二倍(對(duì)采樣頻率的要求,即采樣頻率要足夠大,采樣的值要足夠多,才能不失真的恢復(fù)原信號(hào))。題目中信號(hào)頻率為10Hz,則采樣頻率應(yīng)該大于或等于20Hz,這樣的話(huà)采樣離散信號(hào)才能夠無(wú)失真的恢復(fù)到原來(lái)的連續(xù)信號(hào)。3)截取數(shù)據(jù)長(zhǎng)度(即信號(hào)長(zhǎng)度)N=T*fs=2 4)
頻率為10Hz的周期性正弦波的幅頻特性和相頻特性:
頻率為10Hz的周期性三角波的幅頻特性和相頻特性:
頻率為10Hz的周期性方波的幅頻特性和相頻特性:
5)
頻譜混疊:一個(gè)信號(hào)的最高頻率比如是fmax,那它的頻譜就是在-fmax~fmax之間有值。對(duì)這個(gè)信號(hào)進(jìn)行時(shí)域采樣(就是取離散的點(diǎn)),設(shè)采樣率為fs。有一個(gè)定理:對(duì)信號(hào)進(jìn)行時(shí)域fs的采樣,信號(hào)的頻譜就會(huì)在頻域以fs為周期重復(fù)。那么如果fs>=2fmax,可想而知,頻域?qū)挾葹閒s的頻帶內(nèi),是可以放得下一整個(gè)完整的頻譜的,所以不會(huì)混疊。如果fs<2fmax,頻域每間隔fs就會(huì)出現(xiàn)一個(gè)頻譜,必定會(huì)有相鄰的頻譜疊在一起的情況,就是混疊。
頻譜泄露:對(duì)于頻率為fs的正弦序列,它的頻譜應(yīng)該只是在fs處有離散譜。但是,在利用DFT求它的頻譜做了截短,結(jié)果使信號(hào)的頻譜不只是在fs處有離散譜,而是在以fs為中心的頻帶范圍內(nèi)都有譜線(xiàn)出現(xiàn),它們可以理解為是從fs頻率上“泄露”出去的,這種現(xiàn)象稱(chēng) 為頻譜“泄露”。
整周泣截?。号c周期函數(shù)一樣,周期信號(hào)是每隔時(shí)間T以后,信號(hào)重復(fù)出現(xiàn)。T就稱(chēng)為信號(hào)的周期。
N取100時(shí):
N取200時(shí):
(二):
1)Hanning信號(hào)p(n)的時(shí)域與頻域特性:
2)已調(diào)信號(hào)s(n)的時(shí)域與頻域特性:
3)系統(tǒng)的單位脈沖響應(yīng)h(n):
4)接收信號(hào)y(n)的頻譜:
5)(設(shè)計(jì)帶通濾波器)從接收信號(hào)y(n)中還原出三個(gè)已調(diào)信號(hào):
(三):
1)讀入一幅彩色圖像:
2)將彩色圖像進(jìn)行三原色分解,分解出R、G、B分量,并用圖像顯示出來(lái):
3)將彩色圖像灰度化,轉(zhuǎn)換為灰度圖像并顯示:
4)對(duì)灰度圖像用幾種典型的邊緣檢測(cè)算子進(jìn)行邊緣檢測(cè),顯示檢測(cè)出的邊緣:
四、源程序:
(一): 1):
周期性正弦波: fs=10;w=2*pi*fs;t=0:0.01:2;y=sin(w*t);plot(t,y);grid on;axis([0 2-2 2]);title('正弦信號(hào)');
周期性三角波: t=-0.3:0.01:0.3;y=sawtooth(10*pi*t,0.5);plot(t,y);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信號(hào)')
周期性方波: t=0:0.001:0.5;y=square(2*pi*10*t,50);plot(t,y);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信號(hào)')
4):
周期性正弦波: t=0:0.001:0.999;subplot(311)a=sin(20*pi*t);plot(t,a);grid on;title('sin20pi*t');xlabel('T');b=fft(a);subplot(312);stem(t*1000,abs(b)/1000,'fill');xlabel('Hz');axis([-10 50 0 0.5]);grid on;title('幅頻特性')subplot(313)stem(t*1000,angle(b)/1000,'fill');xlabel('Hz');axis([0 100-0.004 0.004])grid on;title('相頻特性')
周期性三角波: t=-0.3:0.01:0.3;a=sawtooth(10*pi*t,0.5);subplot(311)plot(t,a);grid on;axis([-0.3 0.3-1.5 1.5]);title('三角波信號(hào)')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 0.5]);grid on;title('幅頻特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 25-0.04 0.04]);grid on;title('相頻特性')周期性方波: t=0:0.001:0.5;a=square(2*pi*10*t,50);subplot(311)plot(t,a);grid on;axis([0 0.5-1.5 1.5]);title('周期方波信號(hào)')b=fft(a);subplot(312)stem(t*100,abs(b)/100,'fill');axis([0 50 0 4]);grid on;title('幅頻特性')subplot(313)stem(t*100,angle(b)/100,'fill');axis([0 5-0.04 0.04]);grid on;title('相頻特性')
5):
N=100(或:N=200);T=1;
t=linspace(0,T,N);x=sin(2*pi*10*t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;subplot(2,1,1)plot(t,x)
title('x=sin(2*pi*50*t)')xlabel('t')
ylabel('Amplitude')axis([0,1,-1,1]);subplot(2,1,2)plot(f,abs(F))xlabel('Frequency');ylabel('|X(e^{jw})|')
(二): 1): N=100;n=0:99;Rn=[ones(1,N-1)zeros(1, 101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;subplot(211);stem(n,pn);title('漢寧信號(hào)');[H,w]=freqz(pn,1,200);magH=abs(H);length(w);length(H);magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);2):
N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));subplot(211);stem(n,sn);
title('已調(diào)信號(hào)');
[H,w]=freqz(sn,1,200);magH=abs(H);length(w);length(H);
magHdB=20*log10(magH);subplot(212);plot(w/pi,magHdB);
3):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];n=1:49;
hn=impz(b,a,n);stem(n,hn,'k','f');ylabel('脈沖響應(yīng) ¨h(n)');xlabel('序號(hào)(n)');title('單位脈沖響應(yīng)');
4):
a=[1-1.1172 0.9842-0.4022 0.2247];b=[0.2247-0.4022 0.9842-1.1172 1];k=0:0.1:100;p=0.5-0.5*cos(2*pi*k./74);s=p.*(cos(pi*k/4)+2*cos(pi*k/2)+3*cos(3*pi*k/4));y=filter(b,a,s);z1=fft(y,256);plot([-128:127],fftshift(abs(z1)));axis([-30 30 0 120]);grid on;
5):
wp=200;ws=200;wp1=[0.2,0.3];ws1=[0.1,0.4];wp2=[0.4,0.6];ws2=[0.3,0.7];wp3=[0.7,0.8];ws3=[0.6,0.9];ap=1;as=20;N=100;n=0:99;
Rn=[ones(1,N-1)zeros(1,101-N)];pn=0.5*[1-cos((2*pi*n)/(N-1))].*Rn;
sn=2*pn.*(cos(pi*n/4)+4*pn.*cos(pi*n/2)+6*pn.*cos(3*pi*n/4));a=[1-1.1172 0.9841-0.4022 0.2277];b=[0.2277-0.4022 0.9841-1.1172 1];yn=filter(b,a,sn);
[n,wc]=cheb1ord(wp,ws,ap,as);[bz,az]=cheby1(n,ap,wc);subplot(311)bz1=bz;az1=az;x1=filter(bz1,az1,yn);plot(x1);subplot(312)bz2=bz;az2=az;x2=filter(bz2,az2,yn);plot(x2);subplot(313)bz3=bz;az3=az;x3=filter(bz3,az3,yn);plot(x3)
(三):
1):
clc;a=imread('F:星空.jpg');imshow(a),title('原彩色圖像');2):
clc;a=imread('F:星空.jpg');subplot(3,2,1),imshow(a),title('原彩色圖像');
ar=a(:,:,1);ag=a(:,:,2);ab=a(:,:,3);subplot(3,2,4),imshow(ar),title('R');
subplot(3,2,5),imshow(ag),title('G');subplot(3,2,6),imshow(ab),title('B');3):
clc;a=imread('F:星空.jpg');subplot(2,1,1),imshow(a),title('原彩色圖像');b=rgb2gray(a);subplot(2,1,2),imshow(b),title('灰度圖像');4):
a=imread('F:星空.jpg');b=rgb2gray(a);b1=edge(b,'sobel');b2=edge(b,'prewitt');b3=edge(b,'roberts');b4=edge(b,'log');b5=edge(b,'canny');subplot(3,2,1);imshow(b);title('灰度圖像');subplot(3,2,2);imshow(b1);title('Sobel邊緣檢測(cè)');subplot(3,2,3);imshow(b2);title('Prewitt邊緣檢測(cè)');subplot(3,2,4);imshow(b1);title('Roberts邊緣檢測(cè)');subplot(3,2,5);imshow(b1);title('LoG邊緣檢測(cè)');subplot(3,2,6);imshow(b1);title('Canny邊緣檢測(cè)');
五、總結(jié)與心得體會(huì):
在課程設(shè)計(jì)的這段時(shí)間,我獲益匪淺,不但進(jìn)一步掌握了數(shù)字信號(hào)處理的基礎(chǔ)知識(shí)及MATLAB的基本操作,還詳細(xì)了解并掌握了信號(hào)的產(chǎn)生、采樣及頻譜分析的方法。我進(jìn)一步了解到凡事都需要耐心,細(xì)心仔細(xì)是成功的重要保證之一。雖然在做的過(guò)程中遇到了一些問(wèn)題,但是在研究生學(xué)姐、班級(jí)同學(xué)的幫助以及自己的努力下,問(wèn)題最終都得以解決。這次課程設(shè)計(jì)對(duì)我各方面的能力有了很大的提高,對(duì)我以后的工作、實(shí)踐都有很大的幫助。
在此次課程設(shè)計(jì)當(dāng)中,我經(jīng)常把C語(yǔ)言的語(yǔ)法知識(shí)照搬到MATALAB設(shè)計(jì)中,從而導(dǎo)致調(diào)試失敗,所以下次用此類(lèi)語(yǔ)言做課程設(shè)計(jì)時(shí),應(yīng)事先學(xué)習(xí)下這類(lèi)語(yǔ)言的基本語(yǔ)法,以免與其他語(yǔ)言相混淆。還有就是有些不定參數(shù)存在時(shí),可先取定值,用于調(diào)試,這樣可以節(jié)約調(diào)試時(shí)間,從而提高效率。
本次課程設(shè)計(jì)不但讓我又學(xué)到了一些知識(shí),而且也提高了我的綜合能力,使我在各個(gè)方面都得到了鍛煉。以后有這樣的機(jī)會(huì)一定會(huì)更加的很好利用,它不僅可以提高學(xué)習(xí)的針對(duì)性而且可以很好的鍛煉動(dòng)手能力以及自己的邏輯設(shè)計(jì)能力和處理問(wèn)題的能力,希望在以后的學(xué)習(xí)生活中會(huì)有更多的機(jī)會(huì)來(lái)加強(qiáng)這方面的能力。
參考文獻(xiàn):
[1] 《數(shù)字信號(hào)處理(第二版)》.丁玉美等 西安電子科技大學(xué)出版社 [2] 《數(shù)字信號(hào)處理及其MATLAB實(shí)現(xiàn)》,陳懷琛等譯,電子工業(yè)出版社;
[3] 《MATLAB及在電子信息課程中的應(yīng)用》,陳懷琛等,電子工業(yè)出版社