资源简介

对语音信号添加高斯白噪声,分别采用维纳、卡尔曼、谱减法、自适应滤波算法,进行去噪处理,文件中含有语音文件

资源截图

代码片段和文件信息

clear
close all
clc
a1=-1.6;   
a2=0.8; 
[xfs1]=audioread(‘handel.wav‘);
[dnfs2]=audioread(‘handel_echo.wav‘);
figure;
subplot(211);
plot(x);
title(‘spk参考信号‘);
subplot(212);
plot(dn);
title(‘MICin-期望信号‘);

n=max(size(x));  % 信号中的时间点个数   
P=5;   % LMS算法重复运算5次,用于评估五次运算产生的误差的平均水平
e=zeros(1n);   % 用于存放误差
ep=zeros(1n);  % 用于存放五次运算累积的误差
ee=zeros(1n);  % 用于存放平方差
%算法
h=waitbar(0‘计算进度‘);
steps = P;
for p=1:P 
L=100;     % 滤波器阶数,考虑到两个信号之间没有延时,且这里只是用来分离出输入的x信号,而且误差不做要求,因此不需要设置太高的阶数 
u=0.0022;   % 增益常数 
wL=zeros(Ln);  % 产生一个权向量矩阵
for i=(L+1):n   % 计算权向量矩阵中第三组权向量到最后一组权向量相关的变量,根据x和e=x-y求下一个y没有d(n)
    X=x(i-L:1:(i-1));   % 更新滤波器的参考矢量X(n)
    y(i)=X‘*wL(:i);    % 根据x计算i时刻输出信号 
    e(i)=dn(i)-y(i);     % 计算i时刻误差信号 
    wL(:(i+1))=wL(:i)+2*u*e(i)*X;     % 更新i时刻滤波器的权向量 
    ee(i)=e(i)^2;   % 更新平方差
end 
ep=ep+ee;  % 平方差累积
waitbar(p/steps);
end
close(h);
eq=ep/P;    % 五十次重复计算平方差求均值
a1L=-wL(21:n);   % a1在LMS算法下值的变化,wL矩阵中第一行的1到n个数,权向量矩阵第一行 
a2L=-wL(11:n);   % a2在LMS算法下值的变化 ,wL矩阵中第二行的1到n个数,权向量矩阵第二行 

%画图
figure;
subplot(321);
plot(x); 
title(‘需要采集的声音Voice‘);    % 根据w产生的随机信号x

subplot(322);
plot(dn);
title(‘被回声污染的了Voice,就是MICin‘);   % 五十次运算误差求均值

subplot(323);
plot(y); 
title(‘合成回声信号‘);    % 根据w产生的随机信号x

subplot(324);
plot(e);
title(‘误差‘);   % 五十次运算误差求均值


subplot(325); 
plot(a1L‘r-‘); % 权向量矩阵第一行
hold on;
plot(a2L‘k-‘); % 权向量矩阵第二行
title(‘权向量参数的学习过程‘);  
legend(‘a1L‘‘a2L‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-21 13:27  demo4\
     文件        1862  2018-12-21 12:53  demo4\AdaFilter.m
     文件         427  2018-12-21 13:28  demo4\AdaFilter2.m
     文件         325  2018-05-13 22:22  demo4\add_noise.m
     文件      146270  2018-12-21 12:01  demo4\handel.wav
     文件      146270  2018-12-21 12:01  demo4\handel_echo.wav
     文件        2491  2018-12-21 11:53  demo4\kalman.m
     文件         729  2018-05-13 20:52  demo4\Kframe.m
     文件       45100  2018-12-21 13:26  demo4\signalnoisy.wav
     文件      107294  2000-03-28 23:16  demo4\six.wav
     文件         253  2018-12-21 11:22  demo4\SNR_singlech.m
     文件       45102  2005-07-12 08:58  demo4\sp01.wav
     文件        1978  2018-05-13 22:22  demo4\spectruesub.m
     文件        2849  2018-12-21 11:28  demo4\SpeechEnhancement.asv
     文件        2706  2018-12-21 11:53  demo4\SpeechEnhancement.m
     文件        1002  2018-05-13 22:23  demo4\stationary_noise_evaluate.m
     文件        1874  2018-05-13 22:23  demo4\wienerfilter.m

评论

共有 条评论