语音信号的数字滤波处理 下载本文

语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计

图3.10 噪声信号时域和频谱图

(2)设计Bartlett 窗高通滤波器,MATLAB程序如下。滤波器图如图3.11所示。

fp=600,fc=400; wp=2*pi*fp/FS; ws=2*pi*fc/FS;

Bt=wp-ws; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi;

[bz,az]=fir1(N-1,wc,'high',bartlett(N)); [h,w]=freqz(bz,az); plot(w/pi,20*log(abs(h)));

第 17 页 共 56 页

语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计

图3.11 Bartlett窗高通滤波器图

3.2.3.3 语音处理——Bartlett 窗带通通滤波器

(1)添加噪声信号zs0=0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.12所示。

t=0:length(x)-1;

zs0=0.05*cos(2*pi*100*t/22050); figure(2); subplot(2,1,1) plot(zs0)

title('噪声信号波形'); zs1=fft(zs0,1200);

%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)

plot(f(1:600),abs(zs1(1:600))); title('噪声信号频谱');

第 18 页 共 56 页

语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计

图3.12 噪声信号的时域及频谱图

(2)设计Bartlett 窗带通滤波器,MATLAB程序如下。滤波器图如图3.13所示。

wlp=600*2*pi/FS,wup=6000*2*pi/FS; wls=400*2*pi/FS;wus=7000*2*pi/FS; Bt=wlp-wls; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2);

wc=[(wls+wlp)/2/pi,(wus+wup)/2/pi]; [bz,az]=fir1(N-1,wc,bartlett(N)); [h,w]=freqz(bz,az); plot(w/pi,20*log(abs(h)));

第 19 页 共 56 页

语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计

图3.13 Bartlett窗带通滤波器图

4 程序调试及运行结果

4.1 巴特沃思低通数字滤波器

将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用巴特沃思低通滤波器进行滤波。MATLAB程序如下,仿真处理如图4.1所示。

Fs=22050;

[x,FS,bits]=wavread('C:\\WINDOWS\\Media'); x=x(:,1); figure(1); subplot(2,1,1); plot(x);

%sound(x,FS,bits); %回放语音 title('语音信号时域波形图') y=fft(x,3260);

第 20 页 共 56 页