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

代码片段和文件信息
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\Kfr
文件 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
相关资源
- 卡尔曼滤波与组合导航原理_第三版
- 卡尔曼滤波与组合导航原理
- 交互多模IMM 卡尔曼滤波
- 卡尔曼滤波、自适应卡尔曼、抗差卡
- 卡尔曼滤波初学详解,包你懂!
- 滤波-卡尔曼滤波-互补滤波
- 双向不敏卡尔曼滤波的无源定位算法
- 容积卡尔曼滤波(CKF)和嵌入式容积
- 论文研究-基于修正积分卡尔曼粒子滤
- 卡尔曼滤波与组合导航
- 基于Verilog HDL的卡尔曼滤波器的设计
- 卡尔曼滤波理论与实践英文原版+代码
- 控制论-维纳 第二版
- 卡尔曼滤波 宋文尧
- mpu6050+地磁传感器通过卡尔曼滤波得出
- K5环境+STM32+MPU6050+卡尔曼滤波源码
- 一种改进扩展卡尔曼滤波新方法
- 基于扩展卡尔曼滤波EKF的机器人SLAM问
- 卡尔曼滤波器及其应用基础.pdf
- Fundamentals of Kalman Filtering A Practical A
- 平衡车卡尔曼滤波
- 卡尔曼滤波理论及其在导航系统中的
- kalman滤波理论及其在导航系统中的应
- 控制论(英文版)_维纳
- MPU6050姿态解算STM32源码(互补滤波、
- opencv2.1+VS2008实现维纳滤波复原
- 卡尔曼滤波算法在FPGA中实现-Verilog代
- 卡尔曼目标跟踪
- 卡尔曼滤波与维纳滤波 现代时间序列
- zw_卡尔曼虑波_0.zip
评论
共有 条评论