file:///C:UsersAdministratorAppDataRoamingTencentUsers1305216230QQWinTempRichOleTC4OJX~RZ)G$9KJ]F~9O}$U.jpg
[y,fs,nbits]=wavread('speech'); %窗函数高通滤波
n=length(y); %求出语音信号的长度
noise=0.01*randn(n,2); %随机函数产生噪声
s=y+noise; %语音信号加入噪声
S=fft(s); %傅里叶变换
Ft=8000;
Fp=1000;
Fs=1200;
wp=2*Fp/Ft;
ws=2*Fs/Ft;
rp=1;
rs=50;
p=1-10.^(-rp/20);
s=10.^(-rs/20);
fpts=[wp ws];
mag=[0 1];
dev=[p s];
[n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率
b23=fir1(n23,wn23,Kaiser(n23+1,beta));%由firl设计滤波器
z23=fftfilt(b23,s);
sound(z23);
m23=fft(z23); %求滤波后的信号
figure;
subplot(2,2,1);
plot(abs(S),'g');
title('滤波前信号的频谱');
subplot(2,2,2);
plot(abs(m23),'r');
title('滤波后信号的频谱');
subplot(2,2,3);
plot(s);
title('滤波前信号的波形');
subplot(2,2,4);
plot(z23);
title('滤波后信号的波形');[y,fs,nbits]=wavread('speech'); %窗函数高通滤波
n=length(y); %求出语音信号的长度
noise=0.01*randn(n,2); %随机函数产生噪声
s=y+noise; %语音信号加入噪声
S=fft(s); %傅里叶变换
Ft=8000;
Fp=1000;
Fs=1200;
wp=2*Fp/Ft;
ws=2*Fs/Ft;
rp=1;
rs=50;
p=1-10.^(-rp/20);
s=10.^(-rs/20);
fpts=[wp ws];
mag=[0 1];
dev=[p s];
[n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率
b23=fir1(n23,wn23,Kaiser(n23+1,beta));%由firl设计滤波器
z23=fftfilt(b23,s);
sound(z23);
m23=fft(z23); %求滤波后的信号
figure;
subplot(2,2,1);
plot(abs(S),'g');
title('滤波前信号的频谱');
subplot(2,2,2);
plot(abs(m23),'r');
title('滤波后信号的频谱');
subplot(2,2,3);
plot(s);
title('滤波前信号的波形');
subplot(2,2,4);
plot(z23);
title('滤波后信号的波形');
为什么只输出一个波形?
-
一周热门 更多>