基于MATLAB的數(shù)字濾波器設(shè)計 及其對語音信號的應(yīng)用_第1頁
基于MATLAB的數(shù)字濾波器設(shè)計 及其對語音信號的應(yīng)用_第2頁
基于MATLAB的數(shù)字濾波器設(shè)計 及其對語音信號的應(yīng)用_第3頁
基于MATLAB的數(shù)字濾波器設(shè)計 及其對語音信號的應(yīng)用_第4頁
基于MATLAB的數(shù)字濾波器設(shè)計 及其對語音信號的應(yīng)用_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于MATLAB的數(shù)字濾波器設(shè)計及其對語音信號的應(yīng)用 學院:電子與信息工程學院 班級:電信1002 姓名: 學號:1010930220 指導教師: 2013-12-2 1課程設(shè)計的目的22課程設(shè)計內(nèi)容23課程設(shè)計基礎(chǔ)24.具體步驟與要求24.1語音信號的采集24.2語音信號的頻譜分析24.3設(shè)計數(shù)字濾波器,畫出其頻率響應(yīng)曲線34.4用濾波器對信號進行濾波,比較濾波前后語音信號的波形及頻譜64.5 回放語音信號115.實驗結(jié)論11 111課程設(shè)計的目的1)掌握數(shù)字信號處理的基本概念、基本理論和基本方法; 2)掌握MATLAB設(shè)計FIR和IIR數(shù)字濾波器的方法; 3)掌握在Windows環(huán)境下語音

2、信號采集以及時域、頻域分析;4)學會MATLAB的使用,掌握MATLAB的程序設(shè)計方法;5)學會用MATLAB對信號進行分析和處理。2課程設(shè)計內(nèi)容錄制一段自己的語音信號,對錄制的信號進行采樣;畫出采樣后語音信號的時域波形和頻譜圖;給定濾波器的性能指標,采用MATLAB設(shè)計數(shù)字濾波器,并畫出濾波器的頻率響應(yīng);然后用自己設(shè)計的濾波器對采集的信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;回放語音信號。3課程設(shè)計基礎(chǔ)MATLAB編程基礎(chǔ)、數(shù)字信號處理知識、語音信號處理知識。4.具體步驟與要求4.1語音信號的采集錄制一段自己的話音,或利用老師給的語音,在MAT

3、LAB軟件平臺下,利用函數(shù)wavread對語音信號進行采樣,記住采樣頻率和采樣點數(shù)。程序:I,Fs,bits=wavread('2.wav');%讀取語音信號2.wavsound(I); %重放語音wavrecord(2*Fs,Fs); %使用基于PC的音頻輸入設(shè)備4.2語音信號的頻譜分析要求畫出語音信號的時域波形;然后對語音號進行快速傅里葉變換,得到信號的頻譜特性。程序:clear allI,Fs,bits=wavread('3.wav');%讀取語音信號3.wavsound(I); %重放語音Y=fft(I); %進行快速傅里葉變換mag=abs(Y); %

4、求取幅度譜 phase=angle(Y); %求取相位譜phase=phase*180/pi; %轉(zhuǎn)換為Pi單位dB=20*log10(abs(Y)+eps); %求取對數(shù)幅度譜t=(0:length(I)-1)/Fs; %設(shè)置標度subplot(221);plot(t,I);title('波形圖');xlabel('時間(s)');ylabel('幅度');%設(shè)置標題和橫縱坐標f=(1:length(Y)*Fs/length(Y); %設(shè)置標度subplot(222);plot(f,mag);title('幅度譜');xlabe

5、l('頻率(Hz)');ylabel('頻譜幅度');%設(shè)置標題和橫縱坐標subplot(223);plot(f,phase);title('相位譜');xlabel('頻率(Hz)');ylabel('頻譜相位');%設(shè)置標題和橫縱坐標subplot(224);plot(f,dB);title('對數(shù)幅度譜');xlabel('頻率(Hz)');ylabel('頻譜幅度(dB)');%設(shè)置標題和橫縱坐標 圖2 時域波形和信號的頻譜特性4.3設(shè)計數(shù)字濾波器,畫出其頻率

6、響應(yīng)曲線各濾波器的性能指標:(1)低通濾波器性能指標fp1000Hz, fs1200Hz, As40dB, Ap1dB。(2)高通濾波器性能指標fs4000Hz, fp4300Hz, As40dB, Ap1dB(3)帶通濾波器性能指標fp11200 Hz, fp23 000 Hz, fs11000 Hz, fs23200 Hz, As40dB, Ap1dB。要求:(1) 頻率變換法設(shè)計IIR濾波器: 可以利用函數(shù)butter、cheby1、cheby2和ellip等設(shè)計。(2) (選做)設(shè)計IIR濾波器:用雙線性變換法設(shè)計上面要求的3種濾波器。bilinear(3) (選做)設(shè)計FIR濾波器:

7、用窗函數(shù)法設(shè)計上面要求的3種濾波器。可以利用函數(shù)fir1設(shè)計FIR濾波器。(4) 采用函數(shù)freqz畫出各濾波器的頻率響應(yīng)。程序:%LPF設(shè)計fpL=1000; %通帶頻率HzfsL=1200; %阻帶頻率HzapL=1; %通帶紋波DBasL=40; %阻帶衰減DBWpL = fpL*2/Fs; %通帶角頻率radWsL = fsL*2/Fs; %阻帶角頻率rad%巴特沃斯低通濾波器nL,WnL = buttord(WpL,WsL,apL,asL); %求得n和Wn,n是最小階數(shù),Wn是截止頻率bL,aL = butter(nL,WnL,'low'); %低通濾波器傳遞函數(shù)系

8、數(shù)hL,wL=freqz(bL,aL); title('巴特沃斯低通濾波器')%cheby1低通濾波器n1L,Wn1L = cheb1ord(WpL,WsL,apL,asL); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b1L,a1L = cheby1(n1L,apL,Wn1L,'low'); %低通濾波器傳遞函數(shù)系數(shù)h1L,w1L=freqz(b1L,a1L); title('cheby1低通濾波器')%cheby2低通濾波器n2L,Wn2L = cheb2ord(WpL,WsL,apL,asL); %求得n和Wn,n是最小階數(shù),Wn是截止頻

9、率b2L,a2L = cheby2(n2L,apL,Wn2L,'low'); %低通濾波器傳遞函數(shù)系數(shù)h2L,w2L=freqz(b2L,a2L); title('cheby2低通濾波器')%橢圓低通濾波器n3L,Wn3L = ellipord(WpL,WsL,apL,asL); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b3L,a3L = ellip(n3L,apL,asL,Wn3L,'low'); %低通濾波器傳遞函數(shù)系數(shù)h3L,w3L=freqz(b3L,a3L); title('橢圓低通 % HPF設(shè)計fpH=4300; %通帶

10、頻率HzfsH=4000; %阻帶頻率HzapH=1; %通帶紋波DBasH=40; %阻帶衰減DBWpH = fpH*2/Fs; %通帶角頻率radWsH = fsH*2/Fs; %通帶角頻率rad%巴特沃斯高通濾波器nH,WnH = buttord(WpH,WsH,apH,asH); %求得n和Wn,n是最小階數(shù),Wn是截止頻率bH,aH = butter(nH,WnH,'high'); %低通濾波器傳遞函數(shù)系數(shù)hH,wH=freqz(bH,aH); title('巴特沃斯高通濾波器')%cheby1高通濾波器n1H,Wn1H = cheb1ord(WpH,

11、WsH,apH,asH); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b1H,a1H = cheby1(n1H,apH,Wn1H,'high'); %低通濾波器傳遞函數(shù)系數(shù)h1H,w1H=freqz(b1H,a1H); title('cheby1高通濾波器')%cheby2高通濾波器n2H,Wn2H = cheb2ord(WpH,WsH,apH,asH); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b2H,a2H = cheby2(n2H,apH,Wn2H,'high'); %低通濾波器傳遞函數(shù)系數(shù)h2H,w2H=freqz(b2H,a2H)

12、; title('cheby2高通濾波器')%橢圓高通濾波器n3H,Wn3H = ellipord(WpH,WsH,apH,asH); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b3H,a3H = ellip(n3H,apH,asH,Wn3H,'high'); %低通濾波器傳遞函數(shù)系數(shù)h3H,w3H=freqz(b3H,a3H); title('橢圓高通濾波器')%BPF設(shè)計fp1=1200; %通帶截止頻率fp2=3000; %通帶截止頻率fpB=1200 3000; %通帶頻率fs1=1000; %阻帶截止頻率fs2=3200; %阻帶截止

13、頻率fsB=1000 3200; %阻帶頻率apB=1; %通帶紋波asB=40; %阻帶衰減WpB = fpB*2/Fs; %通帶角頻率radWsB = fsB*2/Fs; %通帶角頻率rad%巴特沃斯高通濾波器nB,WnB = buttord(WpB,WsB,apB,asB); %求得n和Wn,n是最小階數(shù),Wn是截止頻率bB,aB = butter(nB,WnB); %低通濾波器傳遞函數(shù)系數(shù)hB,wB=freqz(bB,aB); title('巴特沃斯帶通濾波器')%cheby1高通濾波器n1B,Wn1B = cheb1ord(WpB,WsB,apB,asB); %求得n

14、和Wn,n是最小階數(shù),Wn是截止頻率b1B,a1B = cheby1(n1B,apB,Wn1B'); %低通濾波器傳遞函數(shù)系數(shù)h1B,w1B=freqz(b1B,a1B); title('cheby1帶通濾波器')%cheby2高通濾波器n2B,Wn2B = cheb2ord(WpB,WsB,apB,asB); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b2B,a2B = cheby2(n2B,apB,Wn2B); %低通濾波器傳遞函數(shù)系數(shù)h2B,w2B=freqz(b2B,a2B); title('cheby2帶通濾波器')%橢圓高通濾波器n3B,W

15、n3B = ellipord(WpB,WsB,apB,asB); %求得n和Wn,n是最小階數(shù),Wn是截止頻率b3B,a3B = ellip(n3B,apB,asB,Wn3B); %低通濾波器傳遞函數(shù)系數(shù)% figure(10)h3B,w3B=freqz(b3B,a3B); title('橢圓帶通濾波器')4.4用濾波器對信號進行濾波,比較濾波前后語音信號的波形及頻譜要求用自己設(shè)計的各濾波器分別對采集的語音信號進行濾波,并在一個窗口同時畫出濾波前后的波形及頻譜。(1) IIR濾波器利用函數(shù)filter對信號進行濾波;(2) FIR濾波器利用函數(shù)fftfilt對信號進行濾波。%

16、LPF濾波且進行頻譜變換%IIR低通濾波IIRyL = filter(bL,aL,x); %語音信號通過butter低通濾波器IIRy1L = filter(b1L,a1L,x); %語音信號通過cheby1低通濾波器IIRy2L = filter(b2L,a2L,x); %語音信號通過cheby2低通濾波器IIRy3L = filter(b3L,a3L,x); %語音信號通過ellip低通濾波器%FIR低通濾波FIRyL = fftfilt(bL,x); %語音信號通過butter低通濾波器FIRy1L = fftfilt(b1L,x); %語音信號通過cheby1低通濾波器FIRy2L =

17、 fftfilt(b2L,x); %語音信號通過cheby2低通濾波器FIRy3L = fftfilt(b3L,x); %語音信號通過ellip低通濾波器%IIR低通濾波后FFTFFTIIRyL = fft(IIRyL); %語音信號通過butter低通濾波器后FFTFFTIIRy1L = fft(IIRy1L); %語音信號通過cheby1低通濾波器后FFTFFTIIRy2L = fft(IIRy2L); %語音信號通過cheby2低通濾波器后FFTFFTIIRy3L = fft(IIRy3L); %語音信號通過ellip低通濾波器后FFT%FIR低通濾波后FFTFFTFIRyL = fft

18、(FIRyL); %語音信號通過butter低通濾波器后FFTFFTFIRy1L = fft(FIRy1L); %語音信號通過cheby1低通濾波器后FFTFFTFIRy2L = fft(FIRy2L); %語音信號通過cheby2低通濾波器后FFTFFTFIRy3L = fft(FIRy3L); %語音信號通過ellip低通濾波器后FFT% 繪制原始語音、IIR、FIR低通濾波后語音波形、及濾波后頻譜圖 figure(3)subplot(6,4,1),plot(x),title('原始語音信號');subplot(6,4,2),plot(x),title('原始語音信

19、號');subplot(6,4,3),plot(x),title('原始語音信號');subplot(6,4,4),plot(x),title('原始語音信號');subplot(6,4,5),plot(IIRyL),title('butter-IIR-LPF');subplot(6,4,6),plot(IIRy1L),title('cheby1-IIR-LPF');subplot(6,4,7),plot(IIRy2L),title('cheby2-IIR-LPF');subplot(6,4,8),plot

20、(IIRy3L),title('ellip-IIR-LPF');subplot(6,4,9),plot(FFTIIRyL),title('butter-IIR-FFT');subplot(6,4,10),plot(FFTIIRy1L),title('cheby1-IIR-FFT');subplot(6,4,11),plot(FFTIIRy2L),title('cheby2-IIR-FFT');subplot(6,4,12),plot(FFTIIRy3L),title('ellip-IIR-FFT');subplot

21、(6,4,13),plot(FIRyL),title('butter-FIR-LPF');subplot(6,4,14),plot(FIRy1L),title('cheby1-FIR-LPF');subplot(6,4,15),plot(FIRy2L),title('cheby2-FIR-LPF');subplot(6,4,16),plot(FIRy3L),title('ellip-FIR-LPF');subplot(6,4,17),plot(FFTFIRyL),title('butter-FIR-FFT');su

22、bplot(6,4,18),plot(FFTFIRy1L),title('cheby1-FIR-FFT');subplot(6,4,19),plot(FFTFIRy2L),title('cheby2-FIR-FFT');subplot(6,4,20),plot(FFTFIRy3L),title('ellip-FIR-FFT');subplot(6,4,21),plot(wL*Fs/(2*pi),abs(hL),title('butter-LPF');subplot(6,4,22),plot(w1L*Fs/(2*pi),abs(h1

23、L),title('cheby1-LPF');subplot(6,4,23),plot(w2L*Fs/(2*pi),abs(h2L),title('cheby2-LPF');subplot(6,4,24),plot(w3L*Fs/(2*pi),abs(h3L),title('ellip-LPF');原始語音、IIR、FIR低通濾波后語音波形、及濾波后頻譜圖如下:HPF濾波且進行頻譜變換%IIR高通濾波IIRyH = filter(bH,aH,x); %語音信號通過低通濾波器IIRy1H = filter(b1H,a1H,x); %語音信號通過低通

24、濾波器IIRy2H = filter(b2H,a2H,x); %語音信號通過低通濾波器IIRy3H = filter(b3H,a3H,x); %語音信號通過低通濾波器%FIR高通濾波FIRyH = fftfilt(bH,x); %語音信號通過低通濾波器FIRy1H = fftfilt(b1H,x); %語音信號通過低通濾波器FIRy2H = fftfilt(b2H,x); %語音信號通過低通濾波器FIRy3H = fftfilt(b3H,x); %語音信號通過低通濾波器%IIR高通濾波后FFTFFTIIRyH = fft(IIRyH); %語音信號通過butter低通濾波器后FFTFFTIIR

25、y1H = fft(IIRy1H); %語音信號通過cheby1低通濾波器后FFTFFTIIRy2H = fft(IIRy2H); %語音信號通過cheby2低通濾波器后FFTFFTIIRy3H = fft(IIRy3H); %語音信號通過ellip低通濾波器后FFT%FIR高通濾波后FFTFFTFIRyH = fft(FIRyH); %語音信號通過butter低通濾波器后FFTFFTFIRy1H = fft(FIRy1H); %語音信號通過cheby1低通濾波器后FFTFFTFIRy2H = fft(FIRy2H); %語音信號通過cheby2低通濾波器后FFTFFTFIRy3H = fft

26、(FIRy3H); %語音信號通過ellip低通濾波器后FFT% 繪制原始語音、IIR、FIR高通濾波后語音波形、及濾波后頻譜圖 figure(4)subplot(5,4,1),plot(x),title('原始語音信號');subplot(5,4,2),plot(x),title('原始語音信號');subplot(5,4,3),plot(x),title('原始語音信號');subplot(5,4,4),plot(x),title('原始語音信號');subplot(5,4,5),plot(IIRyH),title('

27、butter-IIR-HPF');subplot(5,4,6),plot(IIRy1H),title('cheby1-IIR-HPF');subplot(5,4,7),plot(IIRy2H),title('cheby2-IIR-HPF');subplot(5,4,8),plot(IIRy3H),title('ellip-IIR-HPF');subplot(5,4,9),plot(FFTIIRyH),title('butter-IIR-FFT');subplot(5,4,10),plot(FFTIIRy1H),title(

28、'cheby1-IIR-FFT');subplot(5,4,11),plot(FFTIIRy2H),title('cheby2-IIR-FFT');subplot(5,4,12),plot(FFTIIRy3H),title('ellip-IIR-FFT');subplot(5,4,13),plot(FIRyH),title('butter-FIR-LPF');subplot(5,4,14),plot(FIRy1H),title('cheby1-FIR-LPF');subplot(5,4,15),plot(FIRy2

29、H),title('cheby2-FIR-LPF');subplot(5,4,16),plot(FIRy3H),title('ellip-FIR-LPF');subplot(5,4,17),plot(FFTFIRyH),title('butter-FIR-FFT');subplot(5,4,18),plot(FFTFIRy1H),title('cheby1-FIR-FFT');subplot(5,4,19),plot(FFTFIRy2H),title('cheby2-FIR-FFT');subplot(5,4,20

30、),plot(FFTFIRy3H),title('ellip-FIR-FFT');subplot(6,4,21),plot(wH*Fs/(2*pi),abs(hH),title('butter-HPF');subplot(6,4,22),plot(w1H*Fs/(2*pi),abs(h1H),title('cheby1-HPF');subplot(6,4,23),plot(w2H*Fs/(2*pi),abs(h2H),title('cheby2-HPF');subplot(6,4,24),plot(w3H*Fs/(2*pi),ab

31、s(h3H),title('ellip-HPF'); BPF濾波且進行頻譜變換%IIR低通濾波IIRyB = filter(bB,aB,x); %語音信號通過butter低通濾波器IIRy1B = filter(b1B,a1B,x); %語音信號通過cheby1低通濾波器IIRy2B = filter(b2B,a2B,x); %語音信號通過cheby2低通濾波器IIRy3B = filter(b3B,a3B,x); %語音信號通過ellip低通濾波器%FIR低通濾波FIRyB = fftfilt(bB,x); %語音信號通過butter低通濾波器FIRy1B = fftfilt

32、(b1B,x); %語音信號通過cheby1低通濾波器FIRy2B = fftfilt(b2B,x); %語音信號通過cheby2低通濾波器FIRy3B = fftfilt(b3B,x); %語音信號通過ellip低通濾波器%IIR低通濾波后FFTFFTIIRyB = fft(IIRyB); %語音信號通過butter低通濾波器后FFTFFTIIRy1B = fft(IIRy1B); %語音信號通過cheby1低通濾波器后FFTFFTIIRy2B = fft(IIRy2B); %語音信號通過cheby2低通濾波器后FFTFFTIIRy3B = fft(IIRy3B); %語音信號通過ellip

33、低通濾波器后FFT%FIR低通濾波后FFTFFTFIRyB = fft(FIRyB); %語音信號通過butter低通濾波器后FFTFFTFIRy1B = fft(FIRy1B); %語音信號通過cheby1低通濾波器后FFTFFTFIRy2B = fft(FIRy2B); %語音信號通過cheby2低通濾波器后FFTFFTFIRy3B = fft(FIRy3B); %語音信號通過ellip低通濾波器后FFT%繪制原始語音、IIR、FIR帶通濾波后語音波形、及濾波后頻譜圖 figure(5)subplot(6,4,1),plot(x),title('原始語音信號');subpl

34、ot(6,4,2),plot(x),title('原始語音信號');subplot(6,4,3),plot(x),title('原始語音信號');subplot(6,4,4),plot(x),title('原始語音信號');subplot(6,4,5),plot(IIRyB),title('butter-IIR-BPF');subplot(6,4,6),plot(IIRy1B),title('cheby1-IIR-BPF');subplot(6,4,7),plot(IIRy2B),title('cheby2

35、-IIR-BPF');subplot(6,4,8),plot(IIRy3B),title('ellip-IIR-BPF');subplot(6,4,9),plot(FFTIIRyB),title('butter-IIR-FFT');subplot(6,4,10),plot(FFTIIRy1B),title('cheby1-IIR-FFT');subplot(6,4,11),plot(FFTIIRy2B),title('cheby2-IIR-FFT');subplot(6,4,12),plot(FFTIIRy3B),titl

36、e('ellip-IIR-FFT');subplot(6,4,13),plot(FIRyB),title('butter-FIR-BPF');subplot(6,4,14),plot(FIRy1B),title('cheby1-FIR-BPF');subplot(6,4,15),plot(FIRy2B),title('cheby2-FIR-BPF');subplot(6,4,16),plot(FIRy3B),title('ellip-FIR-BPF');subplot(6,4,17),plot(FFTFIRyB),

37、title('butter-FIR-FFT');subplot(6,4,18),plot(FFTFIRy1B),title('cheby1-FIR-FFT');subplot(6,4,19),plot(FFTFIRy2B),title('cheby2-FIR-FFT');subplot(6,4,20),plot(FFTFIRy3B),title('ellip-FIR-FFT');subplot(6,4,21),plot(wB*Fs/(2*pi),abs(hB),title('butter-BPF');subplot(6,4,22),plot(w1B*Fs/(2*pi),abs(h1B),title('cheby1-BPF');subplot(6,4,23),plot(w2B*Fs/(2*pi),abs(h2B),title('cheby2-BPF');subplot(6,4,24),plot(w3B*Fs/(2*pi),abs(h3B),title('ellip-BPF');原始語音、IIR、FIR帶通濾波后語音波形、及濾波后頻譜圖如下:4.5 回放語音信號在MATLAB中,函數(shù)sound可以對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論