上海大学数字信号处理(滤波输出)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原语音信号的时域、频域图
实验程序如下:
[x1,fs,bits]=wavread('e:\a.wav');
%sound(x1,fs,nbits);
figure(1);
plot(x1);
title('原始语音信号');
xlabel('时间t');
ylabel('音量n');
figure(2);
y1=fft(x1);
y1=fftshift(y1); %平移,是频率中心为0
derta_fs = fs/length(x1); %设置频谱的间隔,分辨率
plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画频谱图title('原始语音信号的频谱');
grid on; %保持住点痕迹
所得时域图(图一)、频率图(图二)如下所示:
滤波
fc1=10000;
N1=2*pi*0.9/(0.1*pi)
wc1=2*pi*fc1/fs;
if rem(N1,2)==0
N1=N1+1;
end
Window= boxcar (N1+1); %长度为N1的矩形窗Window
b1=fir1(N1,wc1/pi,Window);
figure(3);
freqz(b1,1,512);
title('低通滤波器的频率响应');
x1_low = filter(b1,1,x1);%对信号进行低通滤波
figure(4);
plot(x1_low);
title('信号经过低通滤波器(时域)');
figure(5);
plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_low)))); title('信号经过低通滤波器(频域)');
grid on;
wavwrite(x1_low,fs,’b.wav’);
fc2=10000;
N2=2*pi*3.1/(0.1*pi)
wc2=2*pi*fc1/fs;
N2=N2+mod(N2,2);
Window=hanning(N2+1);
b2=fir1(N2,wc2/pi,'high',Window);
figure(6);
freqz(b2,1,512);%数字滤波器频率响应
title('高通滤波器的频率响应');
x1_high = filter(b2,1,x1);%对信号进行高通滤波figure(7);
plot(x1_high);
title('信号经过高通滤波器(时域)');
figure(8);
plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_high)))); title('信号经过高通滤波器(频域)')
grid on;