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

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

图4.3 巴特沃思带通滤波器处理噪声图

4.4 Bartlett窗低通滤波器

将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用

Bartlett 窗低通滤波器进行语音信号的滤波。MATLAB程序如下,仿真处理如图4.4

所示。 %语音信号

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);

f=(FS/1630)*[1:1630]; subplot(2,1,2);

第 29 页 共 56 页

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

plot(f(1:1630),abs(y(1:1630))); title('语音信号频谱图'); %产生噪声信号并加到语音信号 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); %回放噪音 subplot(2,1,2)

plot(f(1:600),abs(zs1(1:600))); title('噪声信号频谱'); x1=x+zs';

%sound(x1,FS,bits); %回放加入噪声后的语音 y1=fft(x1,1200); figure(3);

subplot(2,1,1);plot(x1); title('加入噪声后的信号波形'); subplot(2,1,2);

plot(f(1:600),abs(y1(1:600))); title('加入噪声后的信号频谱'); %低通加窗滤波

fp=3000,fc=3500; wp=2*pi*fp/FS; ws=2*pi*fc/FS;

Bt=ws-wp;

第 30 页 共 56 页

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

N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,bartlett(N)); X=conv(hn,x); sound(X,FS,bits); X1=fft(X,1200); figure(4); subplot(211); plot(X);

title('滤波后的信号波形'); subplot(212);

plot(f(1:600),abs(X1(1:600))); title('滤波后的信号频谱')

图4.4 Bartlett窗低通滤波器处理噪声图

4.5 Bartlett窗高通滤波器

第 31 页 共 56 页

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

将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用

Bartlett 窗高通滤波器进行语音信号的滤波。MATLAB程序如下,仿真处理如图4.5

所示。

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);

f=(FS/1630)*[1:1630]; subplot(2,1,2);

plot(f(1:1630),abs(y(1:1630))); title('语音信号频谱图'); %产生噪声信号并加到语音信号 %产生噪声信号并加到语音信号 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('噪声信号频谱');

第 32 页 共 56 页