LMS自适应维纳滤波器

一、研究背景

维纳滤波器参数是固定的,适合于平稳随机信号。卡尔曼滤波器参数是时变的,适合于非平稳随机信号。然而,只有在信号和噪声的统计特性先验已知的情况下,这两种滤波术才能获得最优滤波。在实际应用中,常常无法得到信号和噪声统计特性的先验知识。在这种情况下,自适应滤波技术能够获得极佳的滤波性能,因而具有很好的应用价值。常用的自适应滤波技术有:最小均方(LMS)自适应滤波器、递推最小二乘(RLS)滤波器、格型滤波器和无限冲激响应(IIR)滤波器等。这些自适应滤波技术的应用又包括:自适应噪声抵消、自适应谱线增强和陷波等。

二、LMS自适应维纳滤波器理论知识

三、利用上述结论的Matlab仿真

首先用Matlab自带函数读取一段音频并保存,随即对其加上高斯白噪声干扰,对处理后的信号LMS算法滤波。并产生相应的音频文件并保存,我们可以从试听音频和观察图像两种方式查看LMS滤波的效果。

M脚本代码

 1 %-- 14-10-25 下午3:36 --%
 2 %功能:LMS自适应噪声抵消
 3 % Inputs:
 4 % Outputs:
 5 clc;
 6 clear;
 7 [ref,fs] =wavread(‘in.wav‘);
 8 apm = 1;   %噪声幅度
 9 firLen = 160;  %定义滤波器长度
10 mu = 0.002;      %迭代步长
11 a = zeros(1,firLen);   %产生一行160列向量
12 dataLen = length(ref);   %赋值ref信号向量
13 eout = zeros(1,dataLen);   %产生一列dataLen长的向量且赋值
14 e=zeros(1,dataLen);
15 firIn = zeros(1,firLen);
16 firOut=zeros(1,dataLen);
17 noise = apm*rand(1,dataLen);  %产生随机噪声
18 near = ref‘+noise;   %在原始音频基础上加入噪声
19 for i=firLen:dataLen
20 firOut(i) = a*(near(i-firLen+1:i))‘;  %fir滤波,实现横向滤波器操作
21 e(i) = ref(i)-firOut(i);  %求误差信号
22 a = a+2*mu*e(i)*(near(i-firLen+1:i));   %lms 系数更新
23 eout(i) = e(i)*e(i);
24 end
25 wavwrite(firOut,fs,‘firOut.wav‘);
26 wavwrite(eout,fs,‘eout.wav‘);
27 wavwrite(near,fs,‘speech_noise.wav‘);
28 wavplay(firOut,fs);
29 figure(1)
30 subplot(411);
31 plot(ref);
32 title(‘原始信号‘);
33 subplot(412);
34 plot(near);
35 title(‘语音加噪信号‘);
36 subplot(413);
37 plot(noise);
38 title(‘噪声信号‘);
39 subplot(414);
40 plot(firOut);
41 title(‘自适应消噪信号‘);

wave.m

运行效果图

四、源文件下载

LMS filter1.0.rar
115网盘礼包码:5lbagoebt972
http://115.com/lb/5lbagoebt972

时间: 2024-07-28 17:59:49

LMS自适应维纳滤波器的相关文章

自适应滤波:最小均方误差滤波器(LMS、NLMS)

作者:桂. 时间:2017-04-02  08:08:31 链接:http://www.cnblogs.com/xingshansi/p/6658203.html 声明:欢迎被转载,不过记得注明出处哦~ [读书笔记08] 前言 西蒙.赫金的<自适应滤波器原理>第四版第五.六章:最小均方自适应滤波器(LMS,Least Mean Square)以及归一化最小均方自适应滤波器(NLMS,Normalized Least Mean Square).全文包括: 1)LMS与维纳滤波器(Wiener F

LMS算法自适应滤波器

目录 1.自适应滤波器简介 2.自适应滤波噪声抵消原理 3.LMS算法原理 4.matlab实现 4.1.LMSfliter() 4.2.LMSmain() 5.结果分析 1.自适应滤波器简介 自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波.自适应滤波器实质上就是一种能调节自身传输特性以达到最优的维纳滤波器.自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理.维纳滤波器参数是固

基于LMS算法的自适应滤波

前言 姚天任.孙洪的<现代数字信号处理>第三章自适应滤波中关于LMS算法的学习,全文包括: 1.      自适应滤波器简介 2.      自适应干扰抵消原理 3.      自适应滤波原理 4.      最小均方(LMS)算法 5.      Matlab实现 内容为自己读书记录,本人知识有限,若有错误之处,还请各位指出! 一.自适应滤波器简介 自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成.如图所示. 输入信号x(n) 通过参数可调数字滤波器后产生输出信号 y(n),将其与期

LMS算法去噪

LMS在语音增强中具备广泛的应用,是最为常见的算法之一,该算法也是很多更为复杂算法的理论基础或 组成部分,例如阵列语音增强中的重要方法--GSC(广义旁瓣抵消).LMS算法由最初的版本延伸出来许多变种结构,例如归一化LMS,变步长LMS等等.这些都是对LMS的迭代部分进行了一定的优化所得. 最近又看起了GSC的实现,以前写的程序又重新看了一遍,差不多又巩固了一遍,希望以后自己能够不要忘记了····我这个破记性,有时候真是很无奈! 首先是理论部分推导,在此不详述,简要给出流程: 自适应线性组合器及

回声消除中的自适应算法发展历程

传统的IIR和FIR滤波器在处理输入信号的过程中滤波器的参数固定,当环境发生变化时,滤波器无法实现原先设定的目标.自适应滤波器能够根据自身的状态和环境变化调整滤波器的权重. 自适应滤波器理论 $x(n)$是输入信号,$y(n)$是输出信号,$d(n)$是期望信号或参考信号,$e(n)=d(n)-y(n)$为误差信号.根据自适应算法和误差信号$e(n)$调整滤波器系数. 自适应滤波器类型.可以分为两大类:非线性自适应滤波器.线性自适应滤波器.非线性自适应滤波器包括基于神经网络的自适应滤波器及Vol

图像的高斯模糊

通过手机获取的图像由于多方面的原因或多或少存在一些噪声,即图像的去噪处理.简单的来说就是用 的矩阵在灰度图像一个一个像素移动,以某种逻辑来消除灰度图像中的孤立点,即噪声.去噪的方法主要有均值滤波.中值滤波.自适应维纳滤波器.形态学噪声滤除器.高斯滤波器. 图像高斯滤波是在二维空间利用正态分布(高斯函数)计算平滑模版,并利用该模板与灰度图像做卷积运算来达到滤波去噪的目的.若 是正态分布的标准差,n为模板的大小,则模板上 处元素的计算公式为: 根据正态分布的特性, 越大得到的图像越模糊.从理论上讲图

TI C64X+通用库函数使用手册

在使用前,当知悉以下几点: 函数进程由手动汇编而成,已充分发挥器件效率.同时TI对外提供C和线性汇编代码 对于个人一些特殊应用,DSPLIB可能会带来额外的cycle消耗 TI DSPLIB依平台和时间变迁均会发生变动,具体使用时应参照手册描述小心使用 使用注意事项 1. 几乎所有的数组访问都要求字/双字对齐,建议均使用双字对齐. 2. TI给出了每个库函数的cycle消耗情况,其假设所有的代码和数据访问都发生在L1 cache中,如果存储访问发生在L2/片外存储器,实际消耗cycle数将增大.

自适应滤波——第二章:维纳滤波器(1)

作者:桂. 时间:2017-03-23  06:28:45 链接:http://www.cnblogs.com/xingshansi/p/6603263.html 声明:欢迎被转载,不过记得注明出处哦~ 前言 仍然是西蒙.赫金的<自适应滤波器原理>第四版,距离上次看这本书已经过去半个月,要抓点紧了.本文主要包括: 1)何为维纳滤波器(Wiener Filter); 2)Wiener滤波器的推导: 内容为自己的学习总结,内容多有参考他人,最后一并给出链接. 一.维纳滤波器简介 A-基本概念 对于

自适应滤波:维纳滤波器——GSC算法及语音增强

作者:桂. 时间:2017-03-26  06:06:44 链接:http://www.cnblogs.com/xingshansi/p/6621185.html 声明:欢迎被转载,不过记得注明出处哦~ [读书笔记04] 前言 仍然是西蒙.赫金的<自适应滤波器原理>第四版第二章,首先看到无约束维纳滤波,接着到了一般约束条件的滤波,此处为约束扩展的维纳滤波,全文包括: 1)背景介绍: 2)广义旁瓣相消(Generalized Sidelobe Cancellation, GSC)理论推导: 3)