语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计
subplot(2,1,2)
plot(f(1:600),abs(zs1(1:600))); title('噪声信号频谱');
图3.6 噪声信号时域和频谱图
(2)设计巴特沃思带通滤波器,MATLAB程序如下。滤波器图如图3.7所示。
%带通滤波
fp=[600,6000];fs=[400,7000];Fs=22050; rp=1;rs=10; wp=2*pi*fp/Fs; ws=2*pi*fs/Fs; T=1;Fs1=1; wap=2*tan(wp/2); was=2*tan(ws/2);
[N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=bilinear(B,A,Fs1); figure(4);
[h,w]=freqz(Bz,Az,512,Fs1*22050); plot(w,abs(h));
title('巴特沃斯带通滤波器');
第 13 页 共 56 页
语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计
xlabel('频率(HZ)');ylabel('耗损(dB)'); grid on;
图3.7 巴特沃思带通滤波器图
3.2.3 FIR数字滤波器的设计
3.2.3.1 语音处理——bartlett窗低通滤波器
(1)添加噪声信号zs=0.05*cos(2*pi*10000*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.8所示。
t=0:length(x)-1;
zs=0.05*cos(2*pi*10000*t/22050); zs0=0.05*cos(2*pi*10000*t/22050000); figure(2); subplot(2,1,1) plot(zs0)
title('噪声信号波形'); zs1=fft(zs,1200);
%sound(zs,FS,bits); %回放噪音
第 14 页 共 56 页
语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计
subplot(2,1,2)
plot(f(1:600),abs(zs1(1:600))); title('噪声信号频谱');
图3.8 噪声信号时域和频谱图
(2)设计Bartlett窗低通滤波器,MATLAB程序如下。滤波器图如图3.9所示。 FS=22050;
fp=3000,fc=3500; wp=2*pi*fp/FS; ws=2*pi*fc/FS;
Bt=ws-wp; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi;
[bz,az]=fir1(N-1,wc,bartlett(N)); [h,w]=freqz(bz,az); plot(w/pi,20*log(abs(h)));
第 15 页 共 56 页
语音信号的数字滤波处理——巴特沃思、bartlett窗滤波器设计
图3.9 Bartlett窗低通滤波器图
3.2.3.2 语音处理——Bartlett窗高通滤波器
(1)添加噪声信号zs0=0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.10所示。
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('噪声信号频谱');
第 16 页 共 56 页