📄 yyhwiener.m
字号:
load handel
%sound(5*y,Fs) %原始语音信号,Fs=9192
d=y;
d=d*8;
d=d';
fq=fft(d,8192);
subplot(3,1,1);
f=Fs*(0:4095)/8192;
plot(f,abs(fq(1:4096)));
title('原始语音信号的频域图形');
xlabel('频率 f');
ylabel('FFT');
[m,n]=size(d);
x_noise=randn(1,n);
x=d+x_noise; %加入噪声后的语音信号,噪声为(0,1)分布的高斯白噪声
fq=fft(x,8192);
subplot(3,1,2);
plot(f,abs(fq(1:4096)));
title('加入噪声后语音信号的频域图形');
xlabel('频率 f');
ylabel('FFT');
yyhxcorr=xcorr(x(1:4096));
size(yyhxcorr);
A=yyhxcorr(4096:4595);
yyhdcorr=xcorr(d(1:4096),x(1:4096));
size(yyhdcorr);
B=yyhdcorr(4096:4595);
M=500;
yyhresult=wienerfilter(x,A,B,M); %用维纳滤波进行去噪
yyhresult=yyhresult(300:8192+299);
fq=fft(yyhresult);
subplot(3,1,3);
f=Fs*(0:4095)/8192;
plot(f,abs(fq(1:4096)));
title('经过维纳滤波后语音信号的频域图形');
xlabel('频率 f');
ylabel('FFT');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -