📄 vs.txt
字号:
两个声音信号文件进行时域分析和频谱分析的matlab程序:
clear;
clc;
[w1,fs1,bits1]=wavread('PK_SE00.wav');
figure(1)
subplot(2,1,1);
plot(w1(:,1))
title('原始声音信号')
y1=fft(w1,1024); % 对声音信号做1024点的FFT变换
yy1=abs(y1);
f1=fs1*(0:512)/1024;
subplot(2,1,2);
plot(f1,yy1(1:513))
title('原始声音信号的频谱')
[w2,fs2,bits2]=wavread('PK_SE00p.wav'); % 读取声音文件
figure(2)
subplot(2,1,1);
plot(w2(:,1))
title('受干扰后的声音信号');
y2=fft(w2,1024);
yy2=abs(y2);
f2=fs2*(0:512)/1024;
subplot(2,1,2);
plot(f2,yy2(1:513))
title('受干扰后声音信号的频谱');
低通滤波器来把噪声滤除,程序如下:
N=60; % 设计滤波器的阶数
Wn=3400/12000;
hn=fir1(N-1,Wn); % 设计FIR低通滤波器
hw=fft(hn,1024);
figure(3)
plot(f2,20*log10(abs(hw(1:513))))
title('低通滤波器');
grid
ha=fft(hn,1024);
hx=abs(ha).*(y2'); % 对信号进行FIR低通滤波
ihx=ifft(hx); % 对滤波后的信号进行FFT逆变换
figure(4)
subplot(2,1,1);
plot(ihx(1:512))
title('低通滤波后的声音信号');
hyy=ha.*y2';
subplot(2,1,2);
plot(f2,abs(hyy(1:513)))
title('低通滤波后声音信号的频谱');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -