版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于matlab的語音信號分析與處理摘要:濾波器設計在數(shù)字信號處理中占有極其重要的地位,F(xiàn)IR數(shù)字濾波器和IIR濾波器是濾波器設計的重要組成部分。Matlab功能強大、編程效率高, 特別是Matlab具有信號分析工具箱,不需具備很強的編程能力,就可以很方便地進行信號分析、處理和設計?;贛ATLAB有噪音語音信號處理的設計與實現(xiàn),綜合運用數(shù)字信號處理的理論知識對加噪聲語音信號進行時域、頻域分析和濾波。使用窗函數(shù)法來設計FIR數(shù)字濾波器,用巴特沃斯、切比雪夫和雙線性變法設計IIR數(shù)字濾波器,并利用MATLAB作為輔助工具完成設計中的計算與圖形的繪制。關鍵詞:數(shù)字濾波器;MATLAB;切比雪夫Ab
2、stract: Filter design in digital signal processing plays an extremely important role, FIR digital filters and IIR filter is an important part of filter design. Matlab is powerful, programming efficiency, Matlab also has a particular signal analysis toolbox, it need not have strong programming skills
3、 can be easily signal analysis, processing and design. MATLAB based on the noise issue speech signal processing design and implementation of digital signal processing integrated use of the theoretical knowledge of the speech signal plus noise, time domain, frequency domain analysis and filtering. Th
4、e corresponding results obtained through theoretical derivation, and then use MATLAB as a programming tool for computer implementation.Implemented in the design process, using the window function method to design FIR digital filters with Butterworth, Chebyshev and bilinear Reform IIR digital filter
5、design and use of MATLAB as a supplementary tool to complete the calculation and graphic design Drawing.Keywords:digital filter; MATLAB; Chebyshev語音信號處理是研究用數(shù)字信號處理技術和語音學知識對語音信號進行處理的新興的學科,是目前發(fā)展最為迅速的信息科學研究領域的核心技術之一。通過語音傳遞信息是人類最重要、最有效、最常用和最方便的交換信息形式。Matlab語言是一種數(shù)據(jù)分析和處理功能十分強大的計算機應用軟件,它可以將聲音文件變換為離散的數(shù)據(jù)文件,然后
6、利用其強大的矩陣運算能力處理數(shù)據(jù),如數(shù)字濾波、傅里葉變換、時域和頻域分析、聲音回放以及各種圖的呈現(xiàn)等,它的信號處理與分析工具箱為語音信號分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語音信號的處理和分析以及信號的可視化,使人機交互更加便捷。1.語音信號處理的概念及現(xiàn)狀語音是語言的聲學表現(xiàn),是人類交流信息最自然、最有效、最方便的手段。隨著社會文化的進步和科學技術的發(fā)展,人類開始進入了信息化時代,用現(xiàn)代手段研究語音處理技術,使人們能更加有效地產(chǎn)生、傳輸、存儲、和獲取語音信息,這對于促進社會的發(fā)展具有十分重要的意義,因此,語音信號處理正越來越受到人們的關注和廣泛的研究。1.1語
7、音信號處理的概念語音是人類獲取信息的重要來源和利用信息的重要手段。通過語言相互傳遞信息是人類最重要的基本功能之一。語音是語言的聲學表現(xiàn),是相互傳遞信息的最重要的手段,是人類最重要、最有效、最常用和最方便的交換信息的形式。1.2語音信號處理的現(xiàn)狀20世紀60年代中期形成的一系列數(shù)字信號處理的理論和算法,如數(shù)字濾波器、快速傅立葉變換(FFT)等是語音信號數(shù)字處理的理論和技術基礎。隨著信息科學技術的飛速發(fā)展,語音信號處理取得了重大的進展:進入70年代之后,提出了用于語音信號的信息壓縮和特征提取的線性預測技術(LPC),并已成為語音信號處理最強有力的工具,廣泛應用于語音信號的分析、合成及各個應用領域,
8、以及用于輸入語音與參考樣本之間時間匹配的動態(tài)規(guī)劃方法;80年代初一種新的基于聚類分析的高效數(shù)據(jù)壓縮技術矢量量化(VQ)應用于語音信號處理中;而用隱馬爾可夫模型(HMM)描述語音信號過程的產(chǎn)生是80年代語音信號處理技術的重大發(fā)展,目前HMM已構成了現(xiàn)代語音識別研究的重要基石。近年來人工神經(jīng)網(wǎng)絡(ANN)的研究取得了迅速發(fā)展,語音信號處理的各項課題是促進其發(fā)展的重要動力之一,同時,它的許多成果也體現(xiàn)在有關語音信號處理的各項技術之中。2.語音信號處理的內容和方法2.1語音信號處理的內容用Matlab對含噪的語音信號同時在時域和頻域進行濾波處理和分析,在Matlab應用軟件下設計一個簡單易用的圖形用戶
9、界面(GUI),來解決一般應用條件下的各種語音信號的處理。主要是通過用帶有錄音功能的手機或計算機錄取一段語音信息,把已錄取的語音信息存儲為.wav格式文件,用matlab讀取語音文件,運用數(shù)字信號學基本原理實現(xiàn)語音信號的處理,在matlab環(huán)境下綜合運用信號提取,幅頻變換以及傅里葉變換、濾波等技術來進行語音信號處理,能對語音信號進行采集,并對其進行各種處理,達到簡單的語音信號處理的目的。2.2語音信號處理的方法在圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于
10、用戶來說在視覺上更易于接受。GUI的廣泛應用是當今計算機發(fā)展的重大成就之一,他極大地方便了非專業(yè)用戶的使用人們從此不再需要死記硬背大量的命令,取而代之的是可以通過窗口、菜單、按鍵等方式來方便地進行操作?;贛ATLAB有噪音語音信號處理的設計與實現(xiàn),綜合運用數(shù)字信號處理的理論知識對加噪聲語音信號進行時域、頻域分析和濾波。通過理論推導得出相應結論,再利用 MATLAB 作為編程工具進行計算機實現(xiàn)。在設計實現(xiàn)的過程中,使用窗函數(shù)法來設計FIR數(shù)字濾波器,用巴特沃斯、切比雪夫和雙線性變法設計IIR數(shù)字濾波器,并利用MATLAB 作為輔助工具完成設計中的計算與圖形的繪制。通過對對所設計濾波器的仿真和頻
11、率特性分析,可知利用MATLAB信號處理工具箱可以有效快捷地設計FIR和IIR數(shù)字濾波器。3.語音信號處理3.1原始語音信號采集與處理使用帶有錄音功能的手機或電腦的聲卡設備采集一段語音信號,并將其保存在電腦中,語音信息文件為 *.wav格式。語音信號的處理主要包括信號的提取、信號的調整、信號的變換和濾波等。通過用戶圖形界面的輸出功能,將處理后的信號的語音進行播放,試聽處理后的效果。語音信號采集過程如圖3-1所示。圖3-1 語音信號采集過程(1)語音信號的時域分析語音信號是一種非平穩(wěn)的時變信號,它攜帶著各種信息。在語音編碼、語音合成、語音識別和語音增強等語音處理中無一例外需要提取語音中包含的各種
12、信息。語音信號分析的目的就在與方便有效的提取并表示語音信號所攜帶的信息。語音信號分析可以分為時域和變換域等處理方法,其中時域分析是最簡單的方法,直接對語音信號的時域波形進行分析,提取的特征參數(shù)主要有語音的短時能量,短時平均過零率,短時自相關函數(shù)等。 提?。和ㄟ^圖形用戶界面上的菜單功能按鍵采集電腦設備上的一段音頻信號,完成音頻信號的頻率,幅度等信息的提取,并得到該語音信號的波形圖。 調整:在設計的用戶圖形界面下對輸入的音頻信號進行各種變化,如變化幅度、改變頻率等操作,以實現(xiàn)對語音信號的調整。(2)語音信號的頻域分析信號的傅立葉表示在信號的分析與處理中起著重要的作用。因為對于線性系統(tǒng)來說,可以很方
13、便地確定其對正弦或復指數(shù)和的響應,所以傅立葉分析方法能完善地解決許多信號分析和處理問題。另外,傅立葉表示使信號的某些特性變得更明顯,因此,它能更深入地說明信號的各項紅物理現(xiàn)象。由于語音信號是隨著時間變化的,通常認為,語音是一個受準周期脈沖或隨機噪聲源激勵的線性系統(tǒng)的輸出。輸出頻譜是聲道系統(tǒng)頻率響應與激勵源頻譜的乘積。聲道系統(tǒng)的頻率響應及激勵源都是隨時間變化的,因此一般標準的傅立葉表示雖然適用于周期及平穩(wěn)隨機信號的表示,但不能直接用于語音信號。由于語音信號可以認為在短時間內,近似不變,因而可以采用短時分析法。 變換:在用戶圖形界面下對采集的語音信號進行Fourier等變換,并畫出變換前后的頻譜圖
14、和變換后的倒譜圖。 濾波:濾除語音信號中的噪音部分,可采用低通濾波、高通濾波、帶通濾波和帯阻濾波,并比較各種濾波后的效果。(3)語音信號處理流程圖語音信號處理的過程包括語音信號的采集、信息提取、信號調整、信號變換、信號濾波。其中信號調整又包括幅度和頻率的任意倍數(shù)變化,語音信號處理流程圖如圖3-2所示。圖3-2語音信號處理流程圖信號的濾波采用了四種濾波方式,來觀察各種濾波性能的優(yōu)缺點:如圖3-3所示:圖3-3 語音信號濾波的方式在以上兩圖中,可以看到整個語音信號處理系統(tǒng)的流程大概分為三步,首先要讀入待處理的語音信號,然后進行語音信號的處理,包括信息的提取、幅度和頻率的變換以及語音信號的傅里葉變換
15、、濾波等;濾波又包括低通濾波、高通濾波、帶通濾波和帶阻濾波等方式。最后對處理過的語音信號進行處理后的效果顯示。3.2語音的錄入與打開在MATLAB中,y,fs,bits=wavread('Blip',N1 N2);用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數(shù)。N1 N2表示讀取從N1點到N2點的值(若只有一個N的點則表示讀取前N點的采樣值)。sound(x,fs,bits); 用于對聲音的回放。向量y則就代表了一個信號(也即一個復雜的“函數(shù)表達式”)也就是說可以像處理一個信號表達式一樣處理這個聲音信號。3.3時域信號的FFT分析FFT即為快速
16、傅氏變換,是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進行改進獲得的。在MATLAB的信號處理工具箱中函數(shù)FFT和IFFT用于快速傅立葉變換和逆變換。函數(shù)FFT用于序列快速傅立葉變換,其調用格式為y=fft(x),其中,x是序列,y是序列的FFT,x可以為一向量或矩陣,若x為一向量,y是x的FFT且和x相同長度;若x為一矩陣,則y是對矩陣的每一列向量進行FFT。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基2FFT算法,否則fft執(zhí)行一種混合基的離散傅立葉變換算法,計算速度較慢。函數(shù)FFT的另一種調用格式為y=fft(x,N),式中,x,y意義同前
17、,N為正整數(shù)。函數(shù)執(zhí)行N點的FFT,若x為向量且長度小于N,則函數(shù)將x補零至長度N;若向量x的長度大于N,則函數(shù)截短x使之長度為N;若x 為矩陣,按相同方法對x進行處理。3.4數(shù)字濾波器設計原理數(shù)字濾波器的作用是利用離散時間系統(tǒng)的特性對輸入信號波形(或頻譜)進行加工處理,或者說利用數(shù)字方法按預定的要求對信號進行變換。數(shù)字濾波器可以理解為是一個計算程序或算法,將代表輸入信號的數(shù)字時間序列轉化為代表輸出信號的數(shù)字時間序列,并在轉化過程中,使信號按預定的形式變化。數(shù)字濾波器有多種分類,根據(jù)數(shù)字濾波器沖激響應的時域特征,可將數(shù)字濾波器分為兩種,即無限長沖激響應(IIR)濾波器和有限長沖激響應(FIR)
18、濾波器。從性能上來說,IIR濾波器傳輸函數(shù)的極點可位于單位圓內的任何地方,因此可用較低的階數(shù)獲得高的選擇性,所用的存貯單元少,所以經(jīng)濟而效率高。但是這個高效率是以相位的非線性為代價的。選擇性越好,則相位非線性越嚴重。相反,F(xiàn)IR濾波器卻可以得到嚴格的線性相位,然而由于FIR濾波器傳輸函數(shù)的極點固定在原點,所以只能用較高的階數(shù)達到高的選擇性;對于同樣的濾波器設計指標,F(xiàn)IR濾波器所要求的階數(shù)可以比IIR濾波器高510倍,結果,成本較高,信號延時也較大;如果按相同的選擇性和相同的線性要求來說,則IIR濾波器就必須加全通網(wǎng)絡進行相位較正,同樣要大增加濾波器的節(jié)數(shù)和復雜性。整體來看,IIR濾波器達到同
19、樣效果階數(shù)少,延遲小,但是有穩(wěn)定性問題,非線性相位;FIR濾波器沒有穩(wěn)定性問題,線性相位,但階數(shù)多,延遲大。3.5倒譜的概念定義:倒譜定義為信號短時振幅譜的對數(shù)傅里葉反變換。特點:具有可近似地分離并能提取出頻譜包絡信息和細微結構信息的特點用途:提取聲道特征信息:提取頻譜包絡特征,以此作為描述音韻的特征參數(shù)而應用于語音識別。提取音源信息:提取基音特征,以此作為描述音韻特征的輔助參數(shù)而應用于語音識別。求法:A:短時信號;B:短時頻譜;C:對數(shù)頻譜; D:倒譜系數(shù);E:對數(shù)頻譜包絡; F:基本周期4. 語音信號處理實例分析4.1圖形用戶界面設計在MATLAB主窗口中,選擇File菜單中的New菜單項
20、,再選擇其中的GUI命令,就會顯示圖形用戶界面的設計模板。MATLAB為GUI設計一共準備了4種模板,分別是Blank GUI(默認) 、GUI with Uicontrols(帶控件對象的GUI模板) 、GUI with Axes and Menu(帶坐標軸與菜單的GUI模板)與Modal Question Dialog(帶模式問話對話框的GUI模板)。設計語音信號處理系統(tǒng)的用戶圖形操作界面(GUI)SoundProcess,其中菜單主要包括File、Process和Output三大主要部分,其中File菜單包括輸入(Input)、保存(Save)和退出(Quit)等功能;Process菜單
21、主要包括提取(Extract)、調整(Extract)、變換(Transform)和濾波(Filter)菜單,其中調整(Extract)包括幅度調整(Range)和頻率調整(Frequency),濾波(Filter)菜單包含低通濾波(LowpassFilter)、高通濾波(HighpassFilter)、帶通濾波(BandpassFilter)和帯阻濾波(BandstopFilter)等功能菜單。4.2信號的采集該系統(tǒng)是以一段簡短的的語音信號做為分析樣本,通過計算機系統(tǒng)將一段“主人,信息收到了”的語音信號保存到到計算機中,并且保存格式為“*.wav”。4.3語音信號的處理設計(1)語音信號的提
22、取在Matlab中使用Wavread函數(shù),可得出信號的采樣頻率為22500,并且聲音是單聲道的。利用Sound函數(shù)可以清晰的聽到“主人,信息收到了”的語音。采集數(shù)據(jù)并畫出波形圖。其中聲音的采樣頻率Fs=22050Hz,y為采樣 數(shù)據(jù),NBITS表示量化階數(shù)。部分程序如下: fn=input(' Enter WAV filename:','s'); %獲取一個*.wav的文件x,fs,nb=wavread(fn);ms2=floor(fs*0.002);ms10=floor(fs*0.01);ms20=floor(fs*0.02);ms30=floor(fs*0.
23、03);t=(0:length(x)-1)/fs; %計算樣本時刻 subplot(2,1,1); %確定顯示位置plot(t,x); %畫波形圖legend('Waveform');xlabel( 'Time(s)');ylabel('Amplitude'); 運行后彈出語音信號處理系統(tǒng)的操作界面如圖4-1:圖4-1語音信號處理系統(tǒng)的操作界面然后點擊File菜單中的子菜單Input,回到Matlab軟件的輸入界面如圖4-2:圖4-2輸入界面輸入要處理的語音信號的名稱,便可得到語音語音的波形圖如圖4-3:圖4-3語音語音的波形圖如圖中提取的語音的
24、波形圖所示,整段音頻數(shù)據(jù)中得聲音高低起伏與錄入的聲音信號基本一致,并且可以觀察到其中包含部分高頻噪聲。(2)語音信號的調整在語音信號的研究中,經(jīng)常會對語音信號進行進行多倍頻率以及多倍幅度變換調整,日常應用中,這種變換調整也經(jīng)常要用到。所以在設計中也添加了這種功能,并能夠觀察調整后的信號的波形圖得變化, 而且能通過語音處理界面的輸出功能試聽處理后的語音信號。語音信號的頻率調整在設計中,可以將語音信號的采樣頻率提高或降低,來實現(xiàn)語音信號的調整,得到理想的語音信號。例如將采樣頻率提高一倍,即可得到語音信號頻率為原頻率2倍新的語音信號。運行ProcessàAdjustàFreque
25、ncy,得到如圖4-4的信號波形圖,并試聽調整后的效果。圖4-4頻率調整后波形圖與原語音信號相比,經(jīng)過調整后的信號周期變?yōu)樵瓉淼?/2,此時的語速明顯變快,即實現(xiàn)了信號的2倍頻功能。語音信號的振幅調整在設計中,可以將語音信號的幅度進行提高或降低操作,來實現(xiàn)語音信號的調整,得到聲音音量大小不同的語音信號,例如將原語音信號的幅度提高一倍,得到如下圖4-5的信號波形圖,可以通過GUI操作界面的輸出功能試聽調整后的效果。圖4-5 幅度調整后波形圖此時聽到的調整后聲音聲調變高,但不是很明顯,可以將幅度的變化值設置的比較大,那樣的話就可以得到效果相當明顯的語音信號了。(3)語音信號的傅里葉變換倒譜分析是指
26、信號短時振幅譜的對數(shù)進行傅里葉反變換。它具有可近似地分離并提取出頻譜包絡信息和細微結構信息的特點。對語音信號進行頻譜分析,在Matlab中可以利用函數(shù)fft對信號行快速傅里葉變換,得到信號的頻譜圖,并進行倒譜分析,得到倒譜圖。傅里葉變換的部分程序如下:x=y(44101:55050,1); %提取原語音信號的一部分t=(0:length(x)-1)/fs; %計算樣本時刻subplot(3,1,1); %確定顯示位置plot(t,x); %畫波形圖legend('波形圖');xlabel( 'Time(s)');ylabel('Amplitude'
27、;);Y=fft(x,hamming(length(x); %做加窗傅里葉變換fm=5000*length(Y)/fs; %限定頻率范圍f=(0:fm)*fs/length(Y); %確定頻率刻度subplot(3,1,2);plot(f,20*log10(abs(Y(1:length(f)+eps);legend('頻譜圖'); %畫頻譜圖ylabel('幅度(db)');xlabel('頻率(Hz)');c=fft(log(abs(x)+eps); %倒頻譜計算ms1=fs/1000;ms20=fs/50q=(ms1:ms20)/fs; %確
28、定倒頻刻度subplot(3,1,3);plot(q,abs(c(ms1:ms20); %畫倒譜圖legend('倒譜圖');xlabel('倒頻(s)');ylabel('倒頻譜幅度(Hz)');運行Processà Transform,對語音信號的一部分進行傅里葉變換,并進行倒譜分析,得到如圖4-6:圖4-6 聲音樣本波形圖、頻譜圖和倒譜圖從上面的倒譜圖可以看出當讀“主人,信息收到了”時,所對應的頻率大概在200Hz左右。這與人的語音信號頻率集中在200 Hz到4.5 kHz之間是相一致的。而在未發(fā)聲的時間段內,相對的小高頻部分(2
29、00500Hz)應該屬于背景噪聲。(4)語音信號的濾波從圖4-4中發(fā)現(xiàn),語音信號中包含背景噪聲,這些噪聲的頻率一般較高。所以可以利用MATLAB軟件中的濾波器進行濾波處理,得到較為理想的語音信號。語音信號的低通濾波系統(tǒng)中設計了一個截止頻率為200Hz切比雪夫I型低通濾波器,它的幅頻特性如下圖4-7:圖4-7 低通濾波器的幅頻特性低通濾波器性能指標:wp=0.075pi,ws =0.125pi,Rp=0.25;As=50dB;經(jīng)過低通濾波器處理后,比較處理前后的波形圖的變化,如下圖4-8:圖4-8 低通濾波后波形和頻譜的變化低通濾波后,聲音稍微有些發(fā)悶、低沉,原因是高頻分量被低通濾波器衰減。但是
30、很接近原來的聲音。 語音信號的高通濾波運用切比雪夫型數(shù)字高通濾波器,對語音信號進行濾波處理。高通濾波器性能指標:wp=0.375pi,ws=0.425pi,Rp=0.25;As=50dB;然后將其與原信號的比較圖如下圖4-9:圖4-9高通濾波后波形和頻譜的變化高通濾波后,此時只有少許雜音,原因是低頻分量被高通濾波器衰減,而人聲部分正好是低頻部分,所以只剩下雜音,或者發(fā)出高頻雜音但人的耳朵聽不到。語音信號的帶通濾波運用橢圓數(shù)字帶通濾波器函數(shù),對語音信號進行濾波處理后其與原信號的比較圖如下圖4-10:圖4-10帶通濾波后波形和頻譜的變化語音信號的帶阻濾波運用切比雪夫型數(shù)字帶阻濾波器,對語音信號進行
31、濾波處理后其與原信號的比較圖如下圖4-11:圖4-11帯阻濾波后波形和頻譜的變化從以上各種數(shù)字濾波器經(jīng)過濾波后得出的語音信號相比較,低通濾波后,聲音稍微有些發(fā)悶,但是很接近原來的聲音;高通濾波后聽不到人的聲音;帶通濾波后聲音有點像機器人小叮當發(fā)出的聲音。帶阻濾波后,聲音比較接近原來的聲音。從頻譜圖中我們可以看出聲音的能量主要集中在低頻(0.2pi即22045Hz以內)部分。4.4 語音信號的輸出可以將處理后的語音信號在Matlab軟件先播放,體驗處理后的語音信號的效果。還可以將處理后的語音信號保存在電腦上。運行FileàSave,保存處理后的語音信號。如果沒有語音信號被處理,則系統(tǒng)會
32、出現(xiàn)提示如下圖4-12:圖4-12 保存提示界面如果有語音信號被處理,運行FileàSave,系統(tǒng)會出現(xiàn)提示如下圖4-13:圖4-13 保存界面保存后,整個操作過程就完成了。參考文獻1余勝威,吳婷,羅建橋MATLAB GUI設計入門與實踐北京:清華大學出版社,20162 高西全,丁玉美數(shù)字信號處理第3版西安:西安電子科技大學出版社,20083 羅華飛MATLAB GUI設計學習手記第3版北京:北京航空航天大學出版社,20144 劉泉,闕大順數(shù)字信號處理原理與實現(xiàn)北京:電子工業(yè)出版社,20105 張磊,畢靖,郭蓮英MATLAB實用教程北京:人民郵電出版社,20086 張威MATLAB基
33、礎與編程入門西安:西安電子科技大學出版社,20137 劉帥奇,李會雅,趙杰MATLAB程序設計基礎與應用北京:清華大學出版社,20168 丁偉雄MATLAB R2015a數(shù)字圖像處理北京:清華大學出版社,20169 劉維精通MATLAB與C/C+混合程序設計第4版北京:北京航空航天大學出版社,2015附錄(I) 設計FIR和IIR數(shù)字濾波器%=IIR低通濾波器=Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s)
34、; b11,a11=butter(n11,wn11,s); num11,den11=bilinear(b11,a11,0.5);h,w=freqz(num11,den11);figure;plot(w*8000*0.5/pi,abs(h);legend(IIR低通濾波器,Location,NorthWest);grid;程序結果如下圖: %=IIR帶通濾波器=Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft);wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft)
35、;w=wp1*wp2/ws2;bw=wp2-wp1; %有效通帶頻率wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,s); b12,a12=butter(n12,wn12,s);num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2),bw);num12,den12=bilinear(num2,den2,0.5);h,w=freqz(num12,den12);figure;plot(w*8000*0.5/pi,abs(h);axis(0 4500 0 1.5);legend(IIR帶通濾波器,Location,
36、NorthWest);grid;程序結果如下圖:%=IIR高通濾波器=Ft=8000;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft);ws1=tan(pi*Fs/Ft);wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s);b13,a13=cheby1(n13,1,wn13,s); num,den=lp2hp(b13,a13,wn13);num13,den13=bilinear(num,den,0.5); h,w=freqz(num13,den13);figure;plot(w*21000*0.5/pi,abs(h);lege
37、nd(IIR高通濾波器,Location,NorthWest);axis(0 11000 0 1.5);grid;程序結果如下圖:%*FIR低通濾波*Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); s=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);b21=fir1(n21,wn21,kaiser(n21+1,beta);h,w=freqz(b21,1); figure;p
38、lot(w*8000*0.5/pi,abs(h);title(FIR低通濾波器,fontweight,bold);grid;程序結果如下圖:%*FIR帶通濾波器*Fp1=1200; %通帶邊界頻率 Fp2=3000;Fs1=1000; %阻帶截止頻率Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft); wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp*wp2-w.2)/(bw*w);n22,wn22=buttord(wp,ws,1,50
39、,s); b22,a22=butter(n22,wn22,s); num2,den2=lp2bp(b22,a22,sqrt(wp1*wp2),bw); num22,den22=bilinear(num2,den2,0.5);h,w=freqz(num22,den22); figure;plot(w*8000*0.5/pi,abs(h);axis(0 4500 0 1.5);legend(FIR帶通濾波器,Location,NorthWest);grid;程序結果如下圖:%*%FIR高通濾波器*Ft=8001;Fp=4000; %通帶邊界頻率 Fs=3500; %阻帶截止頻率wp=2*Fp/Ft
40、;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); s=10.(-rs/20);fpts=ws wp;mag=0 1;dev=p s;n23,wn23,beta,ftype=kaiserord(fpts,mag,dev);b23=fir1(n23,wn23,high,kaiser(n23+1,beta);h,w=freqz(b23,1); figure;plot(w*12000*0.5/pi,abs(h);title(FIR高通濾波器,fontweight,bold);axis(2500 5500 0 1.2);grid;程序結果如下圖:附錄(II)比較濾波前后語音
41、信號的波形及頻譜% =雙線性變換法=%*低通濾波器*y,fs,nbits=wavread (OriSound); %IIR低通n = length (y) ; %求出語音信號的長度Noise=0.2*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲s=y+Noise; %語音信號加入噪聲S=fft(s); Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;n11,wn11=buttord(wp,ws,1,50,s);%求低通濾波器的階數(shù)和截止頻率b11,a11=butter(n11,wn11,s); %求S域的頻率響應的參數(shù) num11,den1
42、1=bilinear(b11,a11,0.5); %利用雙線性變換實現(xiàn)頻率響應S域到Z域的變換 z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求濾波后的信號figure;subplot(2,2,1);plot(abs(S),g);title(濾波前信號的頻譜,fontweight,bold);axis( 0 150000 0 4000);grid;subplot(2,2,2);plot(abs(m11),r);title(濾波后信號的頻譜,fontweight,bold);axis( 0 150000 0 4000);grid;subp
43、lot(2,2,3);plot(s);title(濾波前信號的波形,fontweight,bold);axis(95000 100000 -1 1);grid;subplot(2,2,4);plot(z11);title(濾波后的信號波形,fontweight,bold);axis(95000 100000 -1 1);grid;程序結果如下圖:附II-1 雙線性低通濾波器比較%*帶通濾波器*y,fs,nbits=wavread (OriSound); %IIR帶通n = length (y) ; %求出語音信號的長度Noise=0.2*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲s=y+Noi
44、se; %語音信號加入噪聲 S=fft(s); %傅里葉變換Ft=8000;Fp=1000;Fs=1200;wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); %通帶阻帶波紋q=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p q;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%由kaiserord求濾波器的階數(shù)和截止頻率b21=fir1(n21,wn21,kaiser(n21+1,beta); %由fir1設計濾波器z21=fftfilt(b21,s);sound(z21);m2
45、1=fft(z21); %求濾波后的信號figure(4);subplot(2,2,1);plot(abs(S),g);title(濾波前信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2,2,2);plot(abs(m21),r);title(濾波后信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2,2,3);plot(s);title(濾波前信號的波形,fontweight,bold);axis(95000 100000 -1 1);grid;subplo
46、t(2,2,4);plot(z21);title(濾波后的信號波形,fontweight,bold);axis(95000 100000 -1 1);grid;程序結果如下圖:附II-2 雙線性帶通濾波器比較%*高通濾波器*y,fs,nbits=wavread (OriSound); %IIR高通n = length (y) ; %求出語音信號的長度Noise=0.2*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲s=y+Noise; %語音信號加入噪聲S=fft(s); %傅里葉變換Fp1=1200;Fs1=1000;Ft=8000;wp1=tan(pi*Fp1/Ft);ws1=tan(pi*F
47、s1/Ft);wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s); %求模擬的低通濾波器階數(shù)和截止頻率b13,a13=cheby1(n13,1,wn13,s); %求S域的頻率響應的參數(shù)num,den=lp2hp(b13,a13,wn13);%將S域低通參數(shù)轉為高通的num13,den13=bilinear(num,den,0.5); %利用雙線性變換實現(xiàn)頻率響應S域到Z域轉換z13=filter(num13,den13,s);sound(z13);m13=fft(z13); %求濾波后的信號figure;subplot(2,2,1);plot
48、(abs(S),g);title(濾波前信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2,2,2);plot(abs(m13),r);title(濾波后信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2,2,3);plot(s);title(濾波前信號的波形,fontweight,bold);axis(95000 100000 -1 1);grid;subplot(2,2,4);plot(z13);title(濾波后的信號波形,fontweight,bold
49、);axis(95000 100000 -1 1);grid;程序結果如下圖 附II-3 雙線性高通濾波器比較%=窗函數(shù)法=%*低通濾波器*y,fs,nbits=wavread (OriSound); %FIR低通n = length (y) ; %求出語音信號的長度Noise=0.2*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲s=y+Noise; %語音信號加入噪聲 S=fft(s); %傅里葉變換Ft=8000;Fp=1000;Fs=1200;wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.(-rp/20); %通帶阻帶波紋q=10.(-rs/20);fpt
50、s=wp ws;mag=1 0;dev=p q;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%由kaiserord求濾波器的階數(shù)和截止頻率b21=fir1(n21,wn21,kaiser(n21+1,beta); %由fir1設計濾波器z21=fftfilt(b21,s);sound(z21);m21=fft(z21); %求濾波后的信號figure(4);subplot(2,2,1);plot(abs(S),g);title(濾波前信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2
51、,2,2);plot(abs(m21),r);title(濾波后信號的頻譜,fontweight,bold);axis(0 150000 0 4000);grid;subplot(2,2,3);plot(s);title(濾波前信號的波形,fontweight,bold);axis(95000 100000 -1 1);grid;subplot(2,2,4);plot(z21);title(濾波后的信號波形,fontweight,bold);axis(95000 100000 -1 1);grid;附II-4 窗函數(shù)低通濾波器比較%*帶通濾波器*y,fs,nbits=wavread ('OriSound');n = length (y) ; %求出語音
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度保密信息共享與保密義務協(xié)議4篇
- 2025版智慧社區(qū)毛坯店面租賃合同范本3篇
- 二零二五年場部保密設施建設合同范本4篇
- 二零二五年度智能空調內外機清洗與智能化維護服務合同2篇
- 二零二五年度旅行社與旅游保險機構合作協(xié)議7篇
- 2025年度臨時商業(yè)設施租賃合同4篇
- 2025年度征收拆遷安置房置換合同示范文本4篇
- 2025年度物流園區(qū)租賃保證金及物流服務合同4篇
- 二零二五版鍋爐設備運行監(jiān)控與故障排除合同范本3篇
- 2025年度旅行社導游人員就業(yè)協(xié)議書范本4篇
- 智慧財務綜合實訓
- 安徽省合肥市2021-2022學年七年級上學期期末數(shù)學試題(含答案)3
- 教育專家報告合集:年度得到:沈祖蕓全球教育報告(2023-2024)
- 肝臟腫瘤護理查房
- 護士工作壓力管理護理工作中的壓力應對策略
- 2023年日語考試:大學日語六級真題模擬匯編(共479題)
- 皮帶拆除安全技術措施
- ISO9001(2015版)質量體系標準講解
- 《培訓資料緊固》課件
- 黑龍江省政府采購評標專家考試題
- 成品煙道安裝施工方案
評論
0/150
提交評論