资源简介

利用matlab添加wav音频文件,并在文件上添加用randn产生均值为0方差为1的正态分布白噪声,再用IIR、FIR滤波器滤波。

资源截图

代码片段和文件信息

%读取信号的matlab程序
[xFsbits]=wavread(‘mail.wav‘);%读出信号,采样率和采样位数。
%x=x(:1);                      %这里语音信号是双声道,如只取单声道作分析,可加x=x(:1)或x=x(:2)
sound(xFsbits);               %对原始信号的声音进行回放
X=fft(x4096);                  %对信号函数进行快速离散傅里叶变换分析
magX=abs(X);                    %求幅值
angX=angle(X);                  %求相位
figure(1)                       %画图
subplot(221);plot(x);title(‘原始信号波形‘);
subplot(222);plot(X); title(‘原始信号频谱‘);
subplot(223);plot(magX);title(‘原始信号幅值‘);
subplot(224);plot(angX);title(‘原始信号相位‘);
%加噪matlab程序
fs=4096;                        %采样频率取值
f=fs*(0:511)/1024;              %对采样频率进行取值
t=0:1/1400:(size(x)-1)/1400;    %所加噪声信号的点数调整到与原始信号相同
d=0.004*randn(size(x));         %用randn产生均值为0方差为1的正态分布白噪声
x1=x+d;                         %叠加噪声
sound(x14096);                 %播放加噪声后的语音信号
y1=fft(x4096);
y2=fft(x14096);                %对加噪信号函数进行快速离散傅里叶变换分析
figure(2)              

评论

共有 条评论