資源簡介
利用matlab添加wav音頻文件,并在文件上添加用randn產(chǎn)生均值為0方差為1的正態(tài)分布白噪聲,再用IIR、FIR濾波器濾波。
代碼片段和文件信息
%讀取信號的matlab程序
[xFsbits]=wavread(‘mail.wav‘);%讀出信號,采樣率和采樣位數(shù)。
%x=x(:1);??????????????????????%這里語音信號是雙聲道,如只取單聲道作分析,可加x=x(:1)或x=x(:2)
sound(xFsbits);???????????????%對原始信號的聲音進(jìn)行回放
X=fft(x4096);??????????????????%對信號函數(shù)進(jìn)行快速離散傅里葉變換分析
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;??????????????%對采樣頻率進(jìn)行取值
t=0:1/1400:(size(x)-1)/1400;????%所加噪聲信號的點數(shù)調(diào)整到與原始信號相同
d=0.004*randn(size(x));?????????%用randn產(chǎn)生均值為0方差為1的正態(tài)分布白噪聲
x1=x+d;?????????????????????????%疊加噪聲
sound(x14096);?????????????????%播放加噪聲后的語音信號
y1=fft(x4096);
y2=fft(x14096);????????????????%對加噪信號函數(shù)進(jìn)行快速離散傅里葉變換分析
figure(2)??????????????
評論
共有 條評論