畢業(yè)設計(論文)-基于MATLAB的語音數字濾波器設計與實現(xiàn).doc
《畢業(yè)設計(論文)-基于MATLAB的語音數字濾波器設計與實現(xiàn).doc》由會員分享,可在線閱讀,更多相關《畢業(yè)設計(論文)-基于MATLAB的語音數字濾波器設計與實現(xiàn).doc(51頁珍藏版)》請在裝配圖網上搜索。
1、密 級公 開學 號110989 畢 業(yè) 設 計(論 文) 基于MATLAB的語音數字濾波器設計與實現(xiàn)院(系、部):信息工程學院姓 名:年 級:2011級專 業(yè):自動化指導教師:教師職稱: 2015年 06月20日北京北 京 石 油 化 工 學 院畢 業(yè) 設 計 (論 文) 任 務 書學院(系、部) 信息工程學院 專業(yè) 自動化 班級 自113 學生姓名 指導教師/職稱 1.畢業(yè)設計(論文)題目基于MATLAB的語音數字濾波器設計與實現(xiàn)2.任務起止日期: 2014年 12 月 22日 至 2015年 07 月 03 日3.畢業(yè)設計(論文)的主要內容與要求(含課題簡介、任務與要求、預期培養(yǎng)目標、含原
2、始數據及應提交的成果)課題簡介根據模擬濾波器的設計原理,提出了數字濾波器的設計方法,并在MATLAB環(huán)境下實現(xiàn)語音數字濾波器的設計。數字濾波器根據其沖激響應函數的時域特性,可分為兩種,即無限長沖激響應(IIR)數字濾波器和有限長沖激響應(FIR)數字濾波器。其主要內容概括為:首先查閱語音濾波器的基本概念及原理,其中包括系統(tǒng)的描述、系統(tǒng)的傳遞函數、系統(tǒng)的模型;接著對兩類濾波器的需求和設計進行分析;重點描述語音數字濾波器的設計過程,最后實現(xiàn)一個人機交互的濾波器。具體工作任務與要求:撰寫開題報告 翻譯外文資料(不少于25000字符)了解數字濾波器的基本原理。根據數字濾波器的基本原理指出FIR和IIR
3、兩種傳遞類型。要求MATLAB對系統(tǒng)進行控制系統(tǒng)設計。 a、系統(tǒng)傳遞函數 b、系統(tǒng)模型設計c、MATLAB運行語音數字濾波器程序,修改錯誤部分預期培養(yǎng)目標:具備文獻查閱與綜合能力。具備閱讀和翻譯能力。具備數據的收集、分析、計算和處理能力。具備項目調研、設計、編程和調試能力。具備現(xiàn)場解決問題的能力。具備一定的科技論文寫作能力。最終提交材料:開題報告資料原文(不少于25000字符)及翻譯稿畢業(yè)設計論文畢業(yè)設計日常記錄本4.主要參考文獻朱義勝,董輝,信號處理濾波器設計古萩隆嗣,數字濾波器與信號處理張明照,劉鄭波,劉斌,應用MATLAB實現(xiàn)信號分析和處理5.進度計劃及指導安排周次日 期工 作 內 容具
4、 體 要 求162014.12.222015.12.26崗位實習與畢業(yè)設計(調研、查資料、熟悉系統(tǒng)工藝,翻譯外文資料、寫開題報告)同步進行。172014.12.292015.01.02崗位實習與畢業(yè)設計(調研、查資料、熟悉系統(tǒng)工藝,翻譯外文資料、寫開題報告)同步進行。182015.01.052015.01.09崗位實習與畢業(yè)設計(調研、查資料、熟悉系統(tǒng)工藝,翻譯外文資料、寫開題報告)同步進行。192015.01.122015.01.16崗位實習與畢業(yè)設計(調研、查資料、熟悉系統(tǒng)流程,翻譯外文資料、寫開題報告)同步進行。202015.01.192015.01.23與崗位實習穿插進行,在按時開題后
5、無先后順序。交譯文/開題報告這段時間穿插共計8周崗位實習12015.03.022015.03.0622015.03.092015.03.1332015.03.162015.03.2042015.03.232015.03.27設置系統(tǒng)傳遞函數,設計系統(tǒng)模型52015.03.302015.04.03確定系統(tǒng)傳遞函數、系統(tǒng)模型、FIR和IIR工作分配。62015.04.062015.04.10用MATLAB設計FIR和IIR傳遞函數,系統(tǒng)模型72015.04.132015.04.17用MATLAB設計FIR和IIR傳遞函數,系統(tǒng)模型82015.04.202015.04.24用MATLAB設計FIR和
6、IIR傳遞函數,系統(tǒng)模型92015.04.272015.05.01FIR和IIR,調試102015.05.042015.05.08FIR和IIR,調試112015.05.112015.05.15FIR和IIR,調試122015.05.182015.05.22FIR和IIR,調試132015.05.252015.05.29FIR和IIR,調試142015.06.012015.06.05FIR和IIR,調試這段時間穿插共計8周崗位實習152015.06.082015.06.12調試及整理論文162015.06.152015.06.19畢業(yè)答辯交論文172015.06.222015.06.268周崗
7、位實習總結交崗位實習報告182015.06.292015.07.03備注:2014年12月至2015年6月畢業(yè)設計期間包括8周崗位實習任務書審定日期2014年12月18日 系(教研室)主任(簽字) 任務書批準日期2014年12月19日 教學院(系、部)院長(簽字) 任務書下達日期2014年12月20日 指導教師(簽字) 計劃完成任務日期2015年07月03日 學生(簽字) 基于MATLAB的語音數字濾波器的設計與實現(xiàn)摘 要語音信號處理是研究用數字信號處理技術和語音學知識對語音信號進行處理的新興的學科,是目前發(fā)展最為迅速的信息科學研究領域的核心技術之一。將語音信號處理在MATLAB的基礎上進行運
8、行實現(xiàn),是比較簡單的便捷的方法之一。通過語音傳遞信息是人類最重要、最有效、最常用和最方便的交換信息形式。本設計針對現(xiàn)在大部分語音處理軟件內容繁多、操作不便等問題,采用MATLAB綜合運用GUI界面設計、各種函數調用等來實現(xiàn)語音信號的變頻、變幅、傅里葉變換及濾波,程序界面簡練,操作簡便,最終通過在MATLAB上設計語音濾波器,進行數字濾波、傅里葉變換、時域和頻域分析、聲音回放以及各種圖的呈現(xiàn)等,結合不同的參數,最后實現(xiàn)一個人機交互的過程,使輸入的語音信號能夠處理后輸出,并得出不同的濾波效果。最后,本文對語音信號處理的進一步發(fā)展方向提出了自己的見解。關鍵字:MATLAB,語音信號,傅里葉變換,濾波
9、AbstractSpeech Signal Processing is a new emerging discipline to study the speech signal processing by the use of digital signal processing technology and phonetics knowledge, which is one of the core technologies in the fastest developing information science research field. Running the speech signa
10、l processing on the basis of MATLAB is a relative simple and convenient method. Transmitting the signal through speech is the most important, most effective, most common and most convenient information exchanging form. Considering the various contents and the inconvenient operation for the current m
11、ost speech processing software, this design uses the MATLAB to synthetically apply GUI interface design and call the various functions to achieve the frequency, amplitude, Fourier Transform and wave filtering of the speech signal. The program interface is concise and the operation is convenient. Ult
12、imately designing a speech filter based on MATLAB to realize the digital filter, Fourier Transform, the time domain and frequency domain analysis, the sound playback and various graph presentation. Then combining with different parameters to realize the interactive process of human and machine, outp
13、ut the processed speech signal and get the different filter wave effect. Finally, the paper puts forward the own views on the further development of the speech signal processing.Keywords:MATLAB,voice signal,fourier transform,wave filteringIV基于MATLAB的語音數字濾波器設計與實現(xiàn)目 錄第一章 前 言11.1 研究背景11.2 研究意義11.3 國內外發(fā)展
14、狀況21.4 本文的主要研究內容4第二章 應用軟件的介紹62.1 MATLAB 簡介62.2 運行環(huán)境72.3 開發(fā)環(huán)境7第三章 數字濾波器83.1 濾波的基本概念83.2 數字濾波器的工作原理83.3 數字濾波器的分類93.4 FIR濾波器的結構93.4.1 直接型結構93.4.2 級聯(lián)型結構103.4.3 頻率采樣型結構103.5 IIR濾波器的結構113.5.1 直接型結構113.5.2 級聯(lián)型結構133.6 巴特沃斯濾波器14第四章 語音濾波器設計154.1 設計流程圖154.2 程序演示164.2.1 語音信號的提取164.2.2 語音信號的調整194.2.3 語音信號的振幅調整20
15、4.2.4 語音信號的加噪聲及分析224.2.5 語音信號的濾波254.2.6語音信號的輸出25第五章 結論與展望295.1 總結295.2 展望29參 考 文 獻30致 謝32附 錄133附 錄241聲 明42第一章 前 言1.1 研究背景目前很多方面都需要用到濾波處理,用MATLAB運行濾波器缺點是速度比較慢,但不要添加硬件設備,比較經濟實用1,針對不同的場合及使用方向,選擇不同的濾波器。MATLAB是應用最為廣泛的設計數字濾波器的方法,與C語言的程序設計相比較,利用MATLAB可節(jié)省大量的編程時間,將其用于數字濾波器的編程,提高了編程效率。利用MATLAB的窗函數可以快速有效地設計各種F
16、IR數字濾波器,設計簡單方便。采用MATLAB,可以根據要求和所設計的濾波器的特性,隨意調整設計參數,最終達到濾波器的最優(yōu)設計2。數字濾波器(digital filter)是由數字乘法器、加法器和延時單元組成的一種裝置3,在通信、圖像、語音、雷達等許多領域都有著十分廣泛的應用。MATLAB是第四代計算機語言,是目前公認的國際上最流行的科學與工程計算的軟件工具。強大的設計功能是MATLAB在濾波器設計更方便快捷4。采用現(xiàn)有軟件生產商提供的軟件工具進行實驗教學是最可行的,即引入了大型工程設計仿真軟件MATLAB(矩陣實驗室),可以滿足現(xiàn)有實驗教學的需要5。按所通過信號的頻段分為低通、高通、帶通和帶
17、阻濾波器四種,根據數字濾波器沖激響應的時域特征,可將數字濾波器分為長沖激響應(IIR)濾波器和有限長沖激響應(FIR)濾波器兩種3,4。由于MATLAB具有強大運算功能,所以MATLAB的數字濾波器設計法可以快速有效的設計由軟件組成的常規(guī)的上述數字濾波器,其特點是設計方便、快捷,極大的減輕了工作量6,7。1.2 研究意義利用研制可用于教學和實驗的軟件系統(tǒng),用直觀的形式把結果顯示出來8。序列的基本計算、基本信號的產生、數據采集、傅里葉變換、FIR及IIR濾波器的設計9。在測量高速電氣化鐵道鋼軌電位時,為濾除數據采集裝置中接觸網與受電弓系統(tǒng)耦合作用產生的高頻電磁干擾而造成的噪音,同時為消除供電系統(tǒng)
18、產生的靜電干擾與磁干擾引起的附加噪音,需要采取有效的濾波措施。在數據采集系統(tǒng)的軟件中采用了基于MATLAB的低通IIR濾波器,有效濾除上述干擾造成的噪音現(xiàn)場實測證實該濾波器能滿足測量要求,為數字濾波器工程化應用提供了有益經驗10。采用數字控制技術進行電動汽車充電機的控制時,為了得到理想的控制效果,需要對被控信號先進行濾波處理,針對電動汽車充電機系統(tǒng)中直流信號可能存在有交流分量和交流信號可能存在有諧波分量的情況,采用數字濾波器對被控信號進行處理。針對傳統(tǒng)數字濾波器設計中繁瑣的理論計算,以MATLAB為輔助條件對設計流程進行了簡化,并針對不同的被控信號分別進行了IIR數字濾波器和FIR數字濾波器的
19、設計,最后進行了對比分析,為了提高處理速度,建議在電動汽車充電機數字濾波中采用工FIR數字濾波器11。數字濾波器根據其沖激響應函數的時域特性,可分為兩種,即無限長沖激響應(IIR)數字濾波器和有限長沖激響應(FIR)數字濾波器12。IIR濾波器比一定能保證其穩(wěn)定性,并且也不能實現(xiàn)嚴格意義上的線性相應13 。但是它不僅能利用以前所積累的模擬濾波器的經驗,而且用低階濾波器也可以得到優(yōu)良的幅頻特性11。IIR數字濾波器可用較少的階數達到所要求的幅度特性,且實現(xiàn)時所需的運算次數及存儲單元都很少,十分適合對于相位特性沒有嚴格要求的場有合,如果對相位特性要求這時選用FIR濾波器較好14。FIR濾波器具有以
20、下的優(yōu)點:可以在幅度特性隨意設計的同時,保證精確、嚴格的線性相位;由于FIR濾波器的單位脈沖響應h(n)是有限長序列,因此FIR濾波器沒有不穩(wěn)定的問題;由于FIR濾波器一般為非遞歸結構,因此在采用MATLAB設計時候采用有限精度的計算,來避免出現(xiàn)遞歸結構中極性震蕩等不穩(wěn)定現(xiàn)象15。FIR濾波器的缺點在于:信號的延遲偏大??紤]到用高性能的DSP,由于其處理速度快,此缺點是可以避免的,用定點DSP實現(xiàn)濾波器械要考慮DSP的定標、誤差、循環(huán)尋址等幾個關鍵問題16。1.3 國內外發(fā)展狀況有能力進行信號處理的裝置都可以稱為濾波器。在近代電信設備和各類控制系統(tǒng)中,濾波器應用極為廣泛;數字濾波器在數字信號處
21、理的各種應用中發(fā)揮著十分重要的作用,它是通過對采樣數據信號進行數字運算處理來達到頻域濾波的目的17。1917年美國和德國科學家分別發(fā)明了LC濾波器,次年導致了美國第一個多路復用系統(tǒng)的出現(xiàn)。20世紀50年代無源濾波器日趨成熟。自60年代起由于計算機技術、集成工藝和材料工業(yè)的發(fā)展,濾波器發(fā)展上了一個新臺階,并且朝著低功耗、高精度、小體積、多功能、穩(wěn)定可靠和廉價方向努力,其中小體積、多功能、高精度、穩(wěn)定可靠成為70年代以后的主攻方向。導致RC有源濾波器、數字濾波器、開關電容濾波器和電荷轉移器等各種濾波器的飛速發(fā)展,到70年代后期,上述幾種濾波器的單片集成已被研制出來并得到應用。80年代,致力于各類新
22、型濾波器的研究,努力提高性能并逐漸擴大應用范圍。90年代至現(xiàn)在主要致力于把各類濾波器應用于各類產品的開發(fā)和研制。當然,對濾波器本身的研究仍在不斷進行。我國廣泛使用濾波器是50年代后期的事,當時主要用于話路濾波和報路濾波。經過半個世紀的發(fā)展,我國濾波器在研制、生產和應用等方面已納入國際發(fā)展步伐。海馬橋車有限公司楊亮針對電動汽車充電機系統(tǒng),對被控信號進行了數字濾波處理,根據被控信號的不同,以MATLAB為輔助條件,分別進行了1IR數字濾波器和FIR數字濾波器的設計,通過對仿真結果的分析,建議在電動汽車充電機系統(tǒng)中采用IIR數字濾波器對被控信號進行處理,這有利于提高控制器對被控信號的處理速度18。南
23、京鐵道職業(yè)技術學院陳明忠利用MATLAB的數字信號處理函數,實現(xiàn)數字鋼軌電位測試系統(tǒng)的數字濾波19。研究表明,機車受電弓與接觸網系統(tǒng)產生的高頻電磁干擾和大電流入地系統(tǒng)的靜電干擾對測量和數據采集會產生嚴重影響,往往導致儀器設備不能正常工作,或出現(xiàn)較大誤差。除在硬件上需要設計防干擾的各種措施外,在軟件上采用數字濾波器消除干擾也是非常重要的有效方法。利用MATLAB提供的數字濾波器分析和設計的函數,根據工程現(xiàn)場的濾波要求和條件,正確選擇濾波器參數,則可方便快捷的設計出所需要的濾波器。在高速電氣化鐵路或有強電磁干擾的工業(yè)測量控制現(xiàn)場,基于MATLAB的數字濾波器,將會發(fā)揮更有效的作用。蘇州大學王蔚在圖
24、像壓縮、圖像去噪等方面的應用研究,應用MATLAB對原圖增加對比度增加亮度,得出的圖像效果有了一定的改善20。又對圖像進行加噪以及去噪的圖像顯示均有明顯改善效果,得出結論MATLAB信號處理工具箱、圖像處理工具箱、小波等工具箱可以很好地設計和實現(xiàn)數字濾波,為數字濾波、信號處理、圖像處理等方面的研究提供了有力的工具。中國科學技術大學潘金云研究地震勘測系統(tǒng)中,數字濾波器是利用有限精度算法實現(xiàn)具有濾波處理功能的離散、時間線性,實際勘探中,采集站主要由前端的模擬濾波器、中間的過采樣模數轉換器和后端的數字抽取濾波器組成21。研究對比發(fā)現(xiàn),F(xiàn)IR濾波器系統(tǒng)中不存在回路,因此系統(tǒng)是穩(wěn)定的,而且系統(tǒng)相位可控,
25、容易實現(xiàn)線性相位,但是設計過程比較復雜。對于以地震波形信息來判斷地質結構的石油勘探,只有FIR濾波器才是合適的選擇。中海油田服務股份有限公司技術中心饒知在濾波器在聲波測井儀方面做了相應的研究22,交又偶極陣列聲波測井儀是目前主流的先進聲波測井設備之一,但在測井過程中難免存在噪聲十擾,對測井質量造成不利影響。在利用MATLAB對大量實測信號進行時頻分析的基礎上,針對噪聲的規(guī)律和特點,提出時域濾波和頻域濾波相結合的方案。時域上采取限幅平均濾波法,頻域上選擇具有線性相位的FIR濾波器。利用MATLAB濾波器設計與分析工具箱獲取濾波器系數,借助DSP軟件開發(fā)環(huán)境CCS,用匯編語言設計了基于DSP的井下
26、實時FIR數字濾波器?,F(xiàn)場測井試驗表明,該濾波器對測井信號中存在的噪聲具有良好的抑制作用,同時滿足測井系統(tǒng)的實時性要求。合肥工業(yè)大學的趙春柳做了并聯(lián)型有源電力濾波器仿真研究23,首先對三相三線制系統(tǒng)傳統(tǒng)檢測負載電流諧波(含有諧波檢測環(huán)節(jié))和檢測直流側電壓(不含諧波檢測環(huán)節(jié))的控制策略進行了詳細的討論,探討了兩者本質聯(lián)系;給出了一種新型控制策略,其具有傳統(tǒng)檢測負載電流諧波控制策略的較好的動態(tài)性能,同時又有檢測直流側電壓控制策略的簡潔性。其次對三相四線制系統(tǒng)的并聯(lián)型有源電力濾波器兩種拓撲結構電容中點式和四橋臂式的控制策略作了詳細的論述。最后討論了并聯(lián)型有源電力濾波器實現(xiàn)的相關技術電流檢測時的抗混疊
27、技術、諧波檢測環(huán)節(jié)的數字低通濾波器的設計、輸出濾波器的設計及對有源電力濾波器系統(tǒng)性能影響分析和濾波器啟動時大過補償電流的產生原因及抑制措施等。天津大學王金星在分析抑制諧波常用方法的基礎上,利用瞬時無功功率理論進行有源濾波器的仿真設計24。該方法可以實現(xiàn)快速的高次諧波檢測與濾波,并進行無功功率補償。本設計用先進的仿真軟件工具MATLAB中的電力系統(tǒng)仿工具箱對基于這種方法的有源濾波器進行仿真,仿真結果表明基于瞬時無功功率理論設計的有源濾波器裝置能夠有效檢測出高次諧波分量,并可以消除諧波分量和進行無功補償。1.4 本文的主要研究內容本文主要研究目的是在MATLAB的基礎上設計無限長響應FIR和有限長
28、響應IIR的語音濾波器,通過對FIR和IIR濾波器的原理研究,先對系統(tǒng)進行簡單的描述,確定濾波器的傳遞函數,對兩類濾波器進行簡單的介紹和了解,我主要針對Butterworth濾波器設計了低通、高通、帶通、帶阻的FIR和IIR八種濾波器,結合MATLAB設計語音數字濾波器,充分利用軟件的方便與實用性,再結合不同的參數,最后實現(xiàn)一個人機交互的過程,使輸入的語音信號能夠理想的輸出。第二章 應用軟件的介紹2.1 MATLAB 簡介MATLAB是美國Math Works公司出品的商業(yè)數學軟件,用于算法開發(fā)、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環(huán)境,主要包括 MATLAB和Simul
29、ink兩大部分。MATLAB是矩陣實驗室(Matrix Laboratory)的簡稱,和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、 繪制函數和數據、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域25。 MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡捷得多、并且Math work也吸收了像Maple等軟件的優(yōu)點
30、,,使MATLAB成為一個強大的數學軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C+,JAVA的支持??梢灾苯诱{用,,用戶也可以將自己編寫的實用程序導入到MATLAB函數庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經典的程序,用戶可以直接進行下載就可以用28 。MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級, MATLAB 的用戶界面也越來越精致,更加
31、接近Windows的標準界面,人機交互性更強,操作更簡單。而且新版本的MATLAB提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調試系統(tǒng),程序不必經過編譯就可以直接運行,而且符合科技人員對數學表達式的書寫格式。使之更利于非計算機專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因26。其擁有600多個工程中要用到的數學運算函數,可以方便的實現(xiàn)用戶所需的各種計算功能。函數中所使用的算法都是科研和工程計算中的最新研究成果,而前經過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層編程語
32、言,如C和C+27。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。 MATLAB的這些函數集包括從最簡單最基本的函數到諸如矩陣,特征向量、快速傅立葉變換的復雜函數。函數所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數據的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復數的各種運算、三角函數和其他初等數學運算、多維數組操作以及建模動態(tài)仿真等。2.2 運行環(huán)境運行環(huán)境主要介紹了硬件環(huán)境和軟件環(huán)境。 硬件環(huán)境: 1. 處理器:Inter Pentium 166 MX或更高2. 內存:512MB或更高 3. 硬盤空間:40GB或
33、更高 4. 顯卡:SVGA顯示適配器 5. 操作系統(tǒng):Window 98以上2.3 開發(fā)環(huán)境開發(fā)環(huán)境主要介紹了本系統(tǒng)采用的操作系統(tǒng)、開發(fā)環(huán)境。其中操作系統(tǒng)為Windows 8.1,開發(fā)環(huán)境是MATLAB 2014a。第三章 數字濾波器3.1 濾波的基本概念濾波就是提取輸入信號中的有用頻率成分,抑制無用頻率成分的信號處理過程。所謂數字濾波器,是指輸入、輸出均為數字信號,通過數值運算處理改變輸入信號所含頻率成分的相對比例,或者濾除某些頻率成分的數字器件或程序。正因為數字濾波通過數值運算實現(xiàn)濾波,所以數字濾波器處理精度高、穩(wěn)定、體積小、重量輕、靈活、不存在阻抗匹配問題,可以實現(xiàn)模擬濾波器無法實現(xiàn)的特
34、殊濾波功能。所謂數字濾波器設計,就是要找出滿足濾波要求的系統(tǒng)的單位脈沖響應h(n),或者系統(tǒng)的系統(tǒng)函數H(z)。3.2 數字濾波器的工作原理數字濾波器的作用是利用離散時間系統(tǒng)的特性對輸入信號波形(或頻譜)進行加工處理,或者說利用數字方法按預定的要求對信號進行變換。數字濾波器可以理解為是一個計算程序或算法,將代表輸入信號的數字時間序列轉化為代表輸出信號的數字時間序列,并在轉化過程中,使信號按預定的形式變化。數字濾波器有多種分類,根據數字濾波器沖激響應的時域特征,可將數字濾波器分為兩種,即無限長沖激響應(IIR)濾波器和有限長沖激響應(FIR)濾波器。從性能上來說,IIR濾波器傳輸函數的極點可位于
35、單位圓內的任何地方,因此可用較低的階數獲得高的選擇性,所用的存貯單元少,所以經濟而效率高。但是這個高效率是以相位的非線性為代價的。選擇性越好,則相位非線性越嚴重。相反,F(xiàn)IR濾波器卻可以得到嚴格的線性相位,然而由于FIR濾波器傳輸函數的極點固定在原點,所以只能用較高的階數達到高的選擇性;對于同樣的濾波器設計指標,F(xiàn)IR濾波器所要求的階數可以比IIR濾波器高510倍,結果,成本較高,信號延時也較大;如果按相同的選擇性和相同的線性要求來說,則IIR濾波器就必須加全通網絡進行相位較正,同樣要大增加濾波器的節(jié)數和復雜性。整體來看,IIR濾波器達到同樣效果階數少,延遲小,但是有穩(wěn)定性問題,非線性相位;F
36、IR濾波器沒有穩(wěn)定性問題,線性相位,但階數多,延遲大。3.3 數字濾波器的分類與模擬濾波器類似,數字濾波器按頻率特性劃分為低通、高通、帶通、帶阻、全通等類型,由于數字濾波器的頻率響應是周期性的,周期為2。各種理想數字濾波器的幅度頻率響應如圖3-1所示。按功能劃分經典濾波器又可分為低通、高通、帶通、帶阻四種濾波器。圖3-1 四種濾波器的幅頻響應3.4 FIR濾波器的結構FIR濾波器的設計是建立在對期望濾波器頻率特性的某種近似基礎之上的。目前有許多方法可以設計FIR濾波器,比如窗函數設計法、頻率取樣法等。其中,窗函數設計法是濾波器設計的主要方法之一,由于運算簡便,物理意義直觀,已成為工程實際中應用
37、最廣泛的方法,常見的窗函數有:矩形窗、三角形窗、布萊克曼窗、切比雪夫窗等。有限長單位沖激響應FIR濾波器主要有三種結構。3.4.1 直接型結構直接型結構的FIR濾波器常被稱為橫向濾波器。結構圖如圖3-2,傳函表達式: 公式(3-1)圖3-2 直接型結構3.4.2 級聯(lián)型結構對H(z)進行因式分解,表示為公式3-2,結構圖如圖3-3所示。 公式(3-2)圖3-3 H(z)的結構將公式3-2再進行z變換得到: 公式(3-3)是用直接型結構構成的二階FIR濾波器,結構圖如圖3-4。3.4.3 頻率采樣型結構將公式3-2通過離散傅里葉變換得到等式: 公式(3-4)這種濾波器是以為系數,是將單位圓上的頻
38、率特性進行N等分采樣得到,結構圖如圖3-5。圖3-4 的結構圖3-5 頻率采樣型結構3.5 IIR濾波器的結構3.5.1 直接型結構IIR濾波器的傳遞函數可以表示為 公式(3-5)直接型結構分為直接I型和直接II型,結構圖分別如圖3-6和圖3-7所示。圖3-6 直接I型圖3-7 直接II型3.5.2 級聯(lián)型結構對IIR濾波器的傳函進行一因式分解,可得公式3-6,其結構圖如圖3-8。 公式(3-6)圖3-8 級聯(lián)型I型級聯(lián)型結構也分為I型和II型,如圖3-9所示為II型。圖3-9 級聯(lián)型II型將IIR的傳函進行因式分解,換一種寫法,可得公式3-7,結構圖如圖3-10。 公式(3-7)圖3-10
39、并聯(lián)型結構3.6 巴特沃斯濾波器巴特沃斯濾波器是電子濾波器的一種。這種濾波器最先由英國工程師斯替芬巴特沃斯(Stephen Butterworth)在1930年發(fā)表在英國無線電工程期刊的一篇論文中提出的。其特點是通頻帶的頻率響應曲線最平滑,如圖3-11所示。巴特沃斯濾波器的特點是通頻帶內的頻率響應曲線最大限度平坦,沒有起伏,而在阻頻帶則逐漸下降為零。在振幅的對數對角頻率的波特圖上,從某一邊界角頻率開始, 振幅隨著角頻率的增加而逐步減少,趨向負無窮大。 圖3-11 頻率響應曲線第四章 語音濾波器設計4.1 設計流程圖本文的設計流程圖如圖4-1所示,將MATLAB運行,先導入語音信號,這時會有導入
40、的語音回放,并可點擊其他按鈕查看頻譜、幅頻、相頻等圖像。在原來采集的語音信號基礎上加一定的噪音,這時的聲音會有嗞嗞的響聲,在第二個界面可以輸入FIR或IIR的不同參數,進行濾波處理,點擊輸出,原來的信號會有不同的效果。 圖4-1 設計流程圖4.2 程序演示4.2.1 語音信號的提取在MATLAB中使用wavread函數,可得出信號的采樣頻率為22500,并且聲音是單聲道的。利用Sound函數可以清晰的聽到已錄入的語音信號。點擊“采集”按鈕采集數據并畫出波形圖。其中聲音的采樣頻率fs=22050Hz,x為采樣數據,bits表示量化階數。部分程序如下:x,fs,bits=wavread(My_vo
41、ice); sound(x); axes(handles.axes1)plot(x);title(原始信號波形);guidata(hObject, handles); %更新結構體運行后語音信號處理系統(tǒng)的操作界面如圖4-2。 圖4-2 語音信號處理系統(tǒng)的采集信號界面然后點擊“頻譜”按鈕,得到采集得到的語音信號的頻譜圖如圖4-3:部分程序如下:x,fs,bits=wavread(My_voice); X=fft(x,4096);axes(handles.axes1)claplot(X); title(原始信號頻譜);圖4-3 原始信號頻譜圖點擊“幅頻”按鈕,便可得到語音的幅頻圖如圖4-4:x,f
42、s,bits=wavread(My_voice); X=fft(x,4096);magX=abs(X);angX=angle(X);axes(handles.axes1)claplot(magX);title(原始信號幅值);guidata(hObject, handles); %更新結構體圖4-4 語音的幅頻圖點擊“相頻”按鈕,便可得到語音的相頻圖如圖4-5:其部分程序如下:x,fs,bits=wavread(My_voice); X=fft(x,4096);magX=abs(X);angX=angle(X);axes(handles.axes1)claplot(angX);title(原始
43、信號相位);guidata(hObject, handles); %更新結構體圖4-5 語音的相頻圖如圖中提取的語音的波形圖所示,整段音頻數據中得聲音高低起伏與錄入的聲音信號基本一致,并且可以觀察到其中包含部分高頻噪聲。4.2.2 語音信號的調整在設計中,可以將語音信號的采樣頻率提高或降低,來實現(xiàn)語音信號的調整,得到理想的語音信號。例如將采樣頻率增加500Hz,即可得到語音信號頻率比原頻率高50Hz新的語音信號。在頻率調節(jié)編輯框中填寫500,即頻率增加500Hz,點擊“頻率調節(jié)”按鈕,得到如圖4-6的信號波形圖,并試聽調整后的效果。其部分程序如下:x,fs,bits=wavread(My_vo
44、ice);var1=str2num(get(handles.Fuzhi,string);fs1=str2num(get(handles.Pinlv,string);wavwrite(x,fs+fs1,bits,My_voice);x1,fs2,bits=wavread(My_voice);y1=var1*x1;axes(handles.axes1);plot(y1);title(頻率調整);%plot(x1(:,1);sound(y1,fs2,bits);圖4-6頻率調整后波形圖與原語音信號相比,經過調整后的信號語速明顯變快,即實現(xiàn)了信號頻率增加功能。4.2.3 語音信號的振幅調整在設計中,可
45、以將語音信號的幅度進行提高或降低操作,來實現(xiàn)語音信號的調整,得到聲音音量大小不同的語音信號,例如將原語音信號的幅度提高一倍,得到如圖4-7的信號波形圖,可以通過GUI操作界面的輸出功能試聽調整后的效果。其部分程序如下:x,fs,bits=wavread(My_voice);var1=str2num(get(handles.Fuzhi,string);fs1=str2num(get(handles.Pinlv,string);z1=var1*x;axes(handles.axes1);plot(z1); title(幅值調節(jié));sound(z1)guidata(hObject, handles)
46、; %更新結構體圖4-7 幅度調整后波形圖此時聽到的調整后聲音聲調變高,但不是很明顯,可以將幅度的變化值設置的比較大,那樣的話就可以得到效果相當明顯的語音信號了。4.2.4 語音信號的加噪聲及分析對原信號加噪聲再濾波,可以清楚地體現(xiàn)出濾波器對信號的濾波作用。加噪聲部分程序如下:點擊“加噪聲”按鈕,得到如圖4-8的信號波形圖,并試聽加噪聲后的效果。其部分程序如下:fs=22050; %語音信號采樣頻率為22050 x,fs,bits=wavread(My_voice); %讀取語音信號的數據,賦給變量xy1=fft(x,1024); %對信號做1024點FFT變換f=fs*(0:511)/102
47、4;x1=rand(1,length(x); %產生一與x長度一致的隨機信號 x2=x1+x;sound(x2);axes(handles.axes1)plot(x2); %做原始語音信號的時域圖形title(加高斯噪聲后語音信號時域圖)xlabel(time n);ylabel(fudu);guidata(hObject, handles); %更新結構體點擊“頻譜顯示”按鈕,得到如圖4-9的信號頻譜圖。其部分程序如下:fs=22050; %語音信號采樣頻率為22050 x,fs,bits=wavread(My_voice); %讀取語音信號的數據,賦給變量xy1=fft(x,1024);
48、%對信號做1024點FFT變換x1=rand(1,length(x); %產生一與x長度一致的隨機信號 x2=x1+x;y2=fft(x2,1024);axes(handles.axes1)plot(y2,r);title(原始語音信號頻譜);xlabel(Hz);ylabel(fudu);guidata(hObject, handles); %更新結構體 圖4-8加噪聲后波形 圖4-9 加噪聲后頻譜倒譜分析是指信號短時振幅譜的對數進行傅里葉反變換。它具有可近似地分離并提取出頻譜包絡信息和細微結構信息的特點。對語音信號進行頻譜分析,在MATLAB中可以利用函數fft對信號行快速傅里葉變換,得到
49、信號的頻譜圖,并進行倒譜分析,得到倒譜圖。點擊“倒頻譜顯示”按鈕,可以得到加噪聲后信號的倒頻譜顯示,如圖4-10。其部分程序如下:fs=22050; %語音信號采樣頻率為22050 x,fs,bits=wavread(My_voice); %讀取語音信號的數據,賦給變量xy1=fft(x,1024); %對信號做1024點FFT變換x1=rand(1,length(x); %產生一與x長度一致的隨機信號 x2=x1+x;y2=fft(x2,1024);c=fft(log(abs(x2)+eps); %倒頻譜計算ms1=fs/1000;ms20=fs/50;q=(ms1:ms20)/fs; %確
50、定倒頻刻度axes(handles.axes1)plot(q,abs(c(ms1:ms20); %畫倒譜圖legend(倒譜圖);xlabel(倒頻(s));ylabel(倒頻譜幅度(Hz));圖4-10 倒譜圖顯示從上面的倒譜圖可以看出當讀“主人,信息收到了”時,所對應的頻率大概在200Hz左右。這與人的語音信號頻率集中在200 Hz到4.5 kHz之間是相一致的。而在未發(fā)聲的時間段內,相對的小高頻部分(200500Hz)應該屬于背景噪聲。4.2.5 語音信號的濾波從圖4-7中發(fā)現(xiàn),語音信號中包含背景噪聲,這些噪聲的頻率一般較高。所以可以利用MATLAB軟件中的濾波器進行濾波處理,得到較為理
51、想的語音信號。本系統(tǒng)有Butterworth低通、高通、帶通、帶阻FIR和IIR各2種共8種濾波器,選擇所需濾波器,填入對應的參數值,即可得到所需濾波器。Butterworth低通、高通、帶通、帶阻的FIR濾波器部分程序如下:switch(v)case 1,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,low);H,W=freqz(num,den);case 2,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,high);H,W=freqz(
52、num,den);case 3,Wp=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,bandpass);H,W=freqz(num,den);case 4,Wp=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,stop);H,W=freqz(num,den);假設通帶截止頻率為2500,阻帶截止頻率為3500,通帶最大衰減1,阻帶最小衰
53、減30,數字抽樣頻率8000。點擊“Design”按鈕,可得符合需求的濾波器,低通濾波器、高通濾波器、帶通濾波器、帶阻濾波器界面圖分別如圖4-11、圖4-12、圖4-13、圖4-14所示。4.2.6語音信號的輸出 圖4-11 FIR低通濾波器圖象顯示 圖4-12 FIR高通濾波器圖象顯示 圖4-13 FIR帶通濾波器圖象顯示 圖4-14 FIR帶阻濾波器圖象顯示濾波后的語音信號輸出界面如圖4-15所示。程序如下:switch(v)case 1,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,low);H,W=freqz
54、(num,den);y=filter(num,den,x);case 2,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,high);H,W=freqz(num,den);y=filter(num,den,x);case 3,Wp=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,bandpass);H,W=freqz(num,den);y=filter(num,den,x);case 4,W
55、p=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,stop);H,W=freqz(num,den);y=filter(num,den,x);case 5,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,low);H,W=freqs(num,den);y=filter(num,den,x);case 6,n,Wn=buttord(wp/(Fs/2),ws/(Fs/2),Rp,Rs,z);nu
56、m,den=butter(n,Wn,high);H,W=freqs(num,den);y=filter(num,den,x);case 7,Wp=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=butter(n,Wn,bandpass);H,W=freqs(num,den);y=filter(num,den,x);case 8,Wp=wp(1),wp(2);Ws=ws(1),ws(2);n,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,z);num,den=bu
57、tter(n,Wn,stop);H,W=freqs(num,den);y=filter(num,den,x); 圖4-15 語音信號輸出界面顯示第五章 結論與展望5.1 總結本文對語音信號處理系統(tǒng)的設計作了詳細的介紹,采用濾波器圖像分析和處理技術,實現(xiàn)了利用濾波器進行語音信號的基本處理的功能,經過測試運行,本設計圓滿的完成了對語音信號的讀取與打開;較好的完成了對語音信號的頻譜分析,通過fft變換,得出了語音信號的頻譜圖;在濾波這一塊,課題主要是從數字濾波器入手來設計濾波器,分別從兩大模塊設計了FIR和IIR各種類型的濾波器,基本實現(xiàn)了濾波,完成了各種濾波器的濾波效果比較,與課題的要求十分相符。
58、綜上,本設計主要有以下優(yōu)點:1) 操作界面簡練。在進行語音信號處理的操作界面中,菜單按鍵明了,每個功能只對應一個按鍵,省去了大型軟件的操作復雜步驟。2) 處理速度較快。由于整個操作過程存在多個分步驟,并且每個步驟的聯(lián)系不是很緊密,所以每個步驟中的運行速度很快。3) 占用內存空間比較小。整個程序僅占用數十KB的物理空間,省去了軟件的安裝麻煩。5.2 展望濾波器在世界上的使用率越來越高,各個方面都可以利用濾波器來進行分析處理,充分利用性價比較高的MATLAB可以節(jié)省很多時間。然而本文設計還存在許多可以改進的地方,主要有以下幾個方面:1) 本程序僅能進行一般應用條件下的語音信號處理,功能比較單一,不
59、能進行復雜的語音信號處理。2) 由于系統(tǒng)定位于一般條件下的語音信號處理,計算精度比較低,不能進行精度較高的語音信號處理。3) 該程序由于編寫簡單,操作界面較小,對較大物理內存的語音信號文件不能進行處理。期待以后能夠對我設計的這個濾波器有更大的改進。參 考 文 獻1 廖頑,劉良福,肖士斌. 基于MATLAB的數字濾波器設計實現(xiàn)J.贛南師范學院學報,2006(06):01.2 方勇.數字信號處理原理與實踐.北京:清華大學出版社,2005.3 程佩青.數字信號處理教程M.北京清華大學出版社,1995. 4 Chi-Tsongchen.數字信號處理頻譜計算與濾波器設計M.電子工業(yè)出版社,2002.5 IEEE Transactions on Signal Processing2006,54(10):40154025.6 Ingle VK,Proakis JG.數字信號處理及其MATLAB實現(xiàn)M.北京電子工業(yè)出版社 ,1998.7 梁虹,梁潔,陳躍斌.信號與系統(tǒng)分析及MATLAB實現(xiàn)M.北京電子工業(yè)出版社,2002.8 A.G YarovoM L.E Ligthan,J.Ma
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。