自适应滤波器Matlab实现

直接上代码吧,原理一大堆,自行了解即可!这是LMS即自适应滤波器的Matlab代码。

function [yn,W,en]=LMS(xt,dn,M,mu)
itr = length(xt);
en = zeros(itr,1);          % 误差序列,en(k)表示第k次迭代时预期输出与实际输入的误差
W  = zeros(M,itr);% 每一行代表一个加权参量,每一列代表-次迭代,初始为0
% 迭代计算for k = M:itr                % 第k次迭代x = xt(k:-1:k-M+1) ;     % 滤波器M个抽头的输入y = W(:,k-1).' * x ;       % 滤波器的输出en(k) = dn(k) - y  ;      % 第k次迭代的误差% 滤波器权值计算的迭代式W(:,k) = W(:,k-1) + 2*mu*en(k)*x;
end% 求最优时滤波器的输出序列  r如果没有yn返回参数可以不要下面的
yn = inf * ones(size(xt)) ;% inf 是无穷大的意思
for k = M:length(xt)x = xt(k:-1:k-M+1);yn(k) = W(:,end).'* x;%用最后得到的最佳估计得到输出
endend

关于如何使用整个函数,这里给出一个例子,大家可以参考自行设计应用于自己的设计中!

close  all
% 周期信号的产生
t=0:999;
xs=5*square(0.03*t,50);
figure;
subplot(2,1,1);
plot(t,xs);grid;
ylabel('幅值');
title('{输入周期性信号}');% 噪声信号的产生
t=0:999;
xn=randn(1,1000);
subplot(2,1,2);
plot(t,xn);grid;
ylabel('幅值');
xlabel('时间');
title('{白噪声信号}');% 信号滤波
xt = xs+xn;
xt = xt.';   % 输入信号序列
dn = xn.' ;   % 预期结果序列
M  = 20 ;   % 滤波器的阶数
rho_max = max(eig(xt*xt.'));  % 输入信号相关矩阵的最大特征值
mu = (1/rho_max)     % 收敛因子 0 < mu < 1/rho[yn,W,en] = LMS(xt,dn,M,mu);
Y=xt-yn;
% 绘制滤波器输入信号
figure;
subplot(2,1,1);
plot(t,xt);grid;
ylabel('幅值');
xlabel('时间');
title('{滤波器输入信号}');% 绘制自适应滤波器输出信号
subplot(2,1,2);
plot(t,yn);grid;
ylabel('幅值');
xlabel('时间');
title('{估计的白噪声}');% 绘制自适应滤波器输出信号,预期输出信号和两者的误差
figure
plot(t,xs,'g',t,Y,'y',t,Y-xs.','r');grid;
legend('预期输出','自适应滤波器输出','误差');
ylabel('幅值');
xlabel('时间');
title('{自适应滤波器}');

OK,就分享这些,欢迎评论指出不足,及时改正不误导大家!

如何用Matlab实现自适应滤波器!!!相关推荐

  1. 自适应滤波器设计及matlab实现,自适应滤波器设计及Matlab实现附程序代码

    自适应滤波器设计及Matlab实现附程序代码 维纳自适应滤波器设计及 Matlab 实现摘 要本文从随机噪声的特性出发,分析了传统滤波和自适应滤波基本工作原理和性能,以及滤波技术的现状和发展前景.然后 ...

  2. 自适应滤波器设计及matlab实现,(终稿)自适应滤波器设计及Matlab实现.doc(OK版)...

    <自适应滤波器设计及Matlab实现.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)自适应滤波器设计及Matlab实现.doc(OK版)>相关文档资源请在帮帮文库(w ...

  3. 基于LMS自适应滤波器的QPSK信号均衡器matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 在自适应滤波器设计中,最小均方(Least Mean Square,LMS)算法使用随机梯度下降的方法实现代价函数的最小化,具 ...

  4. matlab滤波器 代码,自适应滤波器设计及Matlab实现附程序代码整理版.doc

    自适应滤波器设计及Matlab实现附程序代码整理版.doc 维纳自适应?滤波器设计?及Matl?ab实现 摘 要 本文从随机?噪声的特性?出发,分析了传统?滤波和自适?应滤波基本?工作原理和?性能,以 ...

  5. matlab 级联cic,Matlab中CIC滤波器的应用

    CIC滤波器基本原理 CIC(积分梳状级联)滤波器是工程上经常用的滤波器,因为CIC滤波器不需要乘法,CIC滤波器往往在级联抽取滤波器的第一级和级联插值滤波器的最后一级.这一节我们以CIC抽取滤波器为 ...

  6. 浅谈自适应滤波器---(快速RLS算法)

    在上一篇博客中(浅谈自适应滤波器)我给大家介绍了关于自适应滤波器的一些入门级的知识,并分析了常规RLS算法单次迭代的计算量级为O[N2],当阶数N增大时相应的计算量显著增大,为了将计算量级降低到O[N ...

  7. lms c语言,LMS算法实现自适应滤波器(C语言版)

    上次只是发表了MATLAB版本的LMS算法,这次将C语言版的LMS算法一并发表,其中涉及到雅克比公式求矩阵最大特征值的部分我将后续发表到博客中,此C语言版本是本人自己研究MATLAB语言,然后独自翻译 ...

  8. cic matlab,Matlab中CIC滤波器的应用

    CIC滤波器基本原理 CIC(积分梳状级联)滤波器是工程上经常用的滤波器,因为CIC滤波器不需要乘法,CIC滤波器往往在级联抽取滤波器的第一级和级联插值滤波器的最后一级.这一节我们以CIC抽取滤波器为 ...

  9. 全国大学生电子设计竞赛2017年E题 自适应滤波器

    本题拟采用实时采样的方式来进行自适应滤波. 学过数字信号处理都知道,频率分辨率是采样率除以采样点数,而这道题提高部分要求10Hz的分辨率,经过前期的分析,我们采用采样率为4MHz,那么就是说我们需要采 ...

最新文章

  1. Bad owner or permissions on xx/.ssh/config
  2. 【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 )
  3. socket编程 及select poll epoll示例
  4. Java里的容器存放的元素必须是1个对象.
  5. [转]总结使用Unity 3D优化游戏运行性能的经验
  6. vue require css html,requirejs vue vue.router简单框架
  7. css 绘制三角形_解释CSS形状:如何使用纯CSS绘制圆,三角形等
  8. 【渝粤教育】国家开放大学2018年春季 0579-21T电路及磁路(2)(一) 参考试题
  9. 计算机中缺失freeimage.dll,FreeImage.dll
  10. 美容院店务管理系统帮助门店管理哪些方面 ?
  11. Visual Assist X破解版安装(vs2010助手)
  12. QT 跨平台 代码框架
  13. uniapp-手写三级地区选择实现
  14. 04-MPI几个基本函数
  15. 复杂网络分析 08网络节点重要性
  16. Scrapy笔记-保存到数据库
  17. mysql数据库学习之sql调优思路
  18. ChatGPT发明「史莱姆语」,词汇语法规则全都有,还配了「史翻英」Python代码
  19. word嵌入对象依损坏_word模板损坏修复
  20. 【经典漏洞回顾】Microsoft Windows Win32k本地提权漏洞分析(CVE-2015-0057)

热门文章

  1. 论文阅读:智能机器故障诊断方法综述Applications of machine learning to machine fault diagnosis: A review and roadmap
  2. 【老保姆教程】:Tesseract-OCR图片文字识别
  3. emacs org初学者指南
  4. 零知识证明系列之二——Schnorr协议
  5. 什么叫组网_组网是什么意思
  6. 【Ryo】不定期更新的藏宝阁——发现GitHub上的宝贝
  7. HDU 3518 HDU 4416【后缀自动机len的使用】
  8. Python-Dataframe使用已知数据填补空值
  9. 网络变压器、网络通讯用磁性器件的要求和发展趋势
  10. win10电脑的时间怎样设置