武汉理工大学《MATLAB原理与应用》课程设计说明书
比较上图的原语音频谱图和滤波处理后的语音频谱图,频率较高的语音信号被明显地衰减,低频的语音信号保留了下来,起到了低通滤波的效果。
2 双线性变换法
[y,fs,bit]=wavread('system.wav'); sound(y,fs,bit); x1=fft(y,1024); fp=1000; fr=1200;
f=fs*(0:511)/1024; t=(0:length(y)-1)/fs; subplot(221);
plot(t,y);title('原始语音信号波形');xlabel('t/s'); subplot(222);
plot(f,20*log10(abs(x1(1:512))));title('原始语音信号频谱'); xlabel('f/Hz');ylabel('dB'); wp=(fp/fs)*2*pi; ws=(fr/fs)*2*pi; OmegaP=2*fs*tan(wp/2); OmegaS=2*fs*tan(ws/2); ap=1; as=15;
[N,Wn]=buttord(OmegaP,OmegaS,ap,as,'s'); %选择滤波器的最小阶数 [b,a]=butter(N,Wn,'s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); y1=filter(bz,az,y); subplot(223);
19
武汉理工大学《MATLAB原理与应用》课程设计说明书
plot(t,y1);title('滤波后语音信号波形');xlabel('t/s'); y2=fft(y1,1024); subplot(224);
plot(f,20*log10(abs(y2(1:512))));title('滤波后语音信号频谱'); xlabel('f/Hz');ylabel('dB'); sound(y1,fs,bit);
滤波处理后的时域和频域波形:
图 6 双极性变换法低通滤波结果
比较上图的原语音频谱图和滤波处理后的语音频谱图,频率较高的语音信号被明显地衰减,低频的语音信号保留了下来,起到了低通滤波的效果。
20
武汉理工大学《MATLAB原理与应用》课程设计说明书
2.2.3 高通滤波器
1 窗函数法
[y,fs,bit]=wavread('system.wav'); sound(y,fs,bit); f=fs*(0:511)/1024; t=(0:length(y)-1)/fs; subplot(221);
plot(t,y);title('原始语音信号波形');xlabel('t/s'); x1=fft(y,1024); subplot(222);
plot(f,20*log10(abs(x1(1:512))));title('原始语音信号频谱'); xlabel('f/Hz');ylabel('dB'); fr=5000; wr=2*pi*fr; Window=boxcar(20); b=fir1(19,fr/(fs/2),'high'); [h,w]=freqz(b,1); y1=fftfilt(b,y); subplot(223);
plot(t,y1);title('滤波后语音信号波形');xlabel('t/s'); y2=fft(y1,1024); subplot(224);
plot(f,20*log10(abs(y2(1:512))));title('滤波后语音信号频谱'); xlabel('f/Hz');ylabel('dB'); sound(y1,fs,bit);
21
武汉理工大学《MATLAB原理与应用》课程设计说明书
图 7 窗函数法高通滤波结果
比较上图的原语音频谱图和滤波处理后的语音频谱图,频率较低的语音信号被明显地衰减,高频的语音信号保留了下来,起到了高通滤波的效果。 2 双线性变换法
[y,fs,bit]=wavread('system.wav'); sound(y,fs,bit); f=fs*(0:511)/1024; t=(0:length(y)-1)/fs; subplot(221);
plot(t,y);title('原始语音信号波形');xlabel('t/s'); x1=fft(y,1024); subplot(222);
plot(f,20*log10(abs(x1(1:512))));title('原始语音信号频谱'); xlabel('f/Hz');ylabel('dB'); fp=5000;
22
相关推荐: