仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

变步长LMS自适应滤波算法的MATLAB程序

hubao609239316 2017-11-24 07:12:42 427  浏览
  •  

参与评论

全部评论(1条)

  • 盼╃字JUN团 2017-11-24 17:50:22
    clear all close all N=10; %滤波器阶数 sample_N=500; %采样点数 A=1; %信号幅度 snr=10; %信噪比 t=1:sample_N; length_t=100; %期望信号序列长度 d=A*sin(2*pi*t/length_t); %期望信号 M=length(d); %M为接收数据长度 x=awgn(d,snr); %经过信道(加噪声) delta=1/(10*N*(A^2)); %计算能够使LMS算法收敛的delta y=zeros(1,M); h=zeros(1,N); %LMS滤波器系数 h_normalized=zeros(1,N); %归一化LMS滤波器系数 y1=zeros(1,N); for n=N:M %系数调整LMS算法 x1=x(n:-1:n-N+1); %LMS算法 y(n)=h*x1'; e(n)=d(n)-y(n); h=h+delta*e(n)*x1; %NLMS算法 y_normalized(n)=h_normalized*x1'; e_normalized(n)=d(n)-y_normalized(n); h_normalized=h_normalized+e_normalized(n)*x1/(x1*x1'); end error=e.^2; %LMS算法每一步迭代的均方误差 error_normalized=e_normalized.^2; %NLMS算法每一步迭代的均方误差 for n=N:M %利用求解得到的h,与输入信号x做卷积,得到滤波后结果 x2=x(n:-1:n-N+1); y1(n)=h*x2'; y2(n)=h_normalized*x2'; end subplot(411) plot(t,d); axis([1,sample_N,-2,2]); subplot(412) plot(t,x); subplot(413) plot(t,y); subplot(414) plot(t,y_normalized); figure(2) plot(t,error,'r',t,error_normalized,'b');

    赞(10)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

变步长LMS自适应滤波算法的MATLAB程序
 
2017-11-24 07:12:42 427 1
基于RLS算法和LMS的自适应滤波器的MATLAB程序
 
2011-02-10 03:36:07 429 2
急求,matlab自适应滤波器的程序
 
2007-06-11 18:54:50 526 1
matlab 低通滤波
我有采集了一组加速度数据,需要对这些数据进行10Hz低通高频滤波,可是我一点思路都没有,请高手指教!
2018-11-25 05:08:26 344 0
用MATLAB设计对信号进行频谱分析和滤波处理的程序
设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
2010-01-03 03:07:03 373 2
Matlab GUI设计高通滤波器时为什么滤波后图像变小了?
程序代码如下: axes(handles.axes2); x=(handles.img); f=double(x); k=fft2(f); g=fftshift(k); [M,N]=size(g); nn=2; d0=25; m=fix(M/2);n=fix(N/2); for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2); if d<=d0 ... 程序代码如下: axes(handles.axes2); x=(handles.img); f=double(x); k=fft2(f); g=fftshift(k); [M,N]=size(g); nn=2; d0=25; m=fix(M/2);n=fix(N/2); for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2); if d<=d0 h=0; else h=1; end result(i,j)=h*g(i,j); end end result=ifftshift(result); y2=ifft2(result); y3=uint8(real(y2)); imshow(y3); 展开
2014-06-09 09:01:13 524 1
自适应滤波法的总权重为什么不是1·
 
2016-04-26 22:22:11 470 1
关于用MATLAB设计对信号进行频谱分析和滤波处理的程序
基本要求: 设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音... 基本要求: 设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 只要有程序就可以了,谢谢各位了,提供点帮助喽!!没学过MATLAB,自学的,要做很难的这个就有点困难啦!!这两个题目随便哪个都可以.先谢谢啦!!好的答案会追加分的,目前我只有这么多了! 展开
2007-01-09 09:21:04 369 2
求助关于matlab滤波功能
现有一组拉索振动的实验数据,每隔0.002s在拉索中间点出测量位移值,得到txt文件,其中一部分数据如下: 0.0000000(时间) 6.0159998(位移值) 0.0020000 5.8280001 0.0040000 5.6399999 0.0060000 5.3920002 ... 现有一组拉索振动的实验数据,每隔0.002s在拉索中间点出测量位移值,得到txt文件,其中一部分数据如下: 0.0000000(时间) 6.0159998(位移值) 0.0020000 5.8280001 0.0040000 5.6399999 0.0060000 5.3920002 0.0080000 5.0939999 0.0100000 4.8660002 0.0120000 4.5679998 0.0140000 4.2519999 0.0160000 3.9200001 0.0180000 3.5139999 0.0200000 3.1500001 0.0220000 2.7460001 0.0240000 2.3239999 0.0260000 1.9040000 0.0280000 1.3900000 0.0300000 0.9140000 0.0320000 0.4040000 0.0340000 0.0000000 0.0360000 -0.4720000 0.0380000 -0.9740000 0.0400000 -1.3099999 为了消除其他频率波或者噪音的影响,现在希望通过滤波将杂质除去,小弟以前没有用过matlab滤波功能,请问高手具体如何操作啊?感激不尽 展开
2009-07-31 15:07:49 496 3
matlab ,已有数据,如何滤波?
我有一组数据:A: 0.000500 0.001000 0.001500 0.002000 0.002500 0.003000 0.003500 0.004000 0.004500 0.005000 B: 1281.242606 1281.241405 1281.240573 1281.239272 1281.239636 1281.242237 1281.242333 1281.242881 1281.241772 1281.241039 这只是一... 我有一组数据:A: 0.000500 0.001000 0.001500 0.002000 0.002500 0.003000 0.003500 0.004000 0.004500 0.005000 B: 1281.242606 1281.241405 1281.240573 1281.239272 1281.239636 1281.242237 1281.242333 1281.242881 1281.241772 1281.241039 这只是一部分,全部数据用plot(A,B)画图为类似方波的形式,它含有大概50Hz以上杂波分量,如何除去杂波,得到方波,具体思路是什么?因为这不是具体函数,本人无从下手。求解,谢谢 展开
2013-05-16 04:56:42 343 4
机器视觉算法和运动控制算法都用matlab开发的吗
 
2018-11-26 15:28:31 320 0
matlab拉曼光谱背景扣除算法有哪些
 
2018-12-04 11:26:03 350 0
AD数字信号(称重传感器)的防抖动滤波用哪种算法稳定?
 
2014-07-10 16:35:59 329 1
matlab怎么用以设计好滤波器进行滤波
 
2014-12-28 15:48:19 388 2
用MATLAB对正弦信号频谱分析和滤波处理
题目:正弦信号的频谱分析与切比雪夫滤波 1.设计内容 a.基本理论知识介绍 b.设计任务 设计一套完整的系统,对信号进行频谱分析和滤波处理。输入信号为一系列频率成分的正弦信号之和,加入噪声信号,对其进行采样和频谱分析,根据分析结果设计出一... 题目:正弦信号的频谱分析与切比雪夫滤波 1.设计内容 a.基本理论知识介绍 b.设计任务 设计一套完整的系统,对信号进行频谱分析和滤波处理。输入信号为一系列频率成分的正弦信号之和,加入噪声信号,对其进行采样和频谱分析,根据分析结果设计出一个合适的滤波器滤除噪音信号。 2.设计要求 完成完整的分析系统,包括完整的程序代码和分析结果 不限于切比雪夫 其他巴特沃斯 圆通都可以 请将程序发到我邮箱owenxiejunrl@163.com 满意的话 我会继续追分的 谢谢 不过要在6月23号以前哦 展开
2013-04-05 15:29:24 355 1
使用matlab中fdatool导出的高通butterworth IIR滤波器系数如何在程序中进行滤波
导出的系数为 const int NL = 10; const real64_T NUM[10] = { 0.8558457777315, -7.702611999584, 30.81044799834, -71.89104532945, 107.8365679942, -107.8365679942, 71.89104532945, -30.81044799834, 7.702611999584, ... 导出的系数为 const int NL = 10; const real64_T NUM[10] = { 0.8558457777315, -7.702611999584, 30.81044799834, -71.89104532945, 107.8365679942, -107.8365679942, 71.89104532945, -30.81044799834, 7.702611999584, -0.8558457777315 }; const int DL = 10; const real64_T DEN[10] = { 1, -8.688722481439, 33.55806880257, -75.61737954546, 109.553642522, -105.8293351142, 68.16455775223, -28.22860996292, 6.820250022448, -0.7324719952609 }; 在程序中进行差分计算得到滤波结果,如下: pWave为输入波形,pFilter的内容也复制为输入波形 for(i=16; i32768) { float_Value = 32768; } if (float_Value<-32768) { float_Value = -32768; } *(pFilter+i) = (float)(float_Value);//滤波 } 得到的结果波形不对。 请教问题在哪里? 展开
2013-07-18 13:57:09 472 2
什么叫自适应网络、自适应交换机,自适应是个什么概念?
 
2016-10-25 12:27:43 568 1
关于用MATLAB设计确定信号的频谱分析和滤波
刚学的MATLAB,自己还不会设计程序,希望懂的大虾帮忙下。(也可QQ联系)具体的步骤要求如下,如果所给程序符合,,还会给予附加分数。 (1)确定信号的频谱分析 用MATLAB生成信号x(t)=e-t并进行FFT分析,显示|X(k)|和Ф(k),并显示信号的离散幅频图和相... 刚学的MATLAB,自己还不会设计程序,希望懂的大虾帮忙下。(也可QQ联系)具体的步骤要求如下,如果所给程序符合,,还会给予附加分数。 (1)确定信号的频谱分析 用MATLAB生成信号x(t)=e-t并进行FFT分析,显示|X(k)|和Ф(k),并显示信号的离散幅频图和相频图。假设频率分辨率要求F<=4Hz,信号的Z高频率fh限制为60Hz。 (2)正弦信号生成与抽样 对任意两个不同频率的正弦信号进行叠加,生成信号取样作出时域波形图并存入文件。 [思考]取样周期如何确定?取多少点? (3)信号叠加 生成方波和三角波信号,叠加两个信号,作出时域波形图及频谱特性图。 (4)设计数字滤波器并画出频率响应 根据方波和三角波信号的频谱特点得到性能指标,由性能指标设计两个数字滤波器。在MATLAB中,可以利用函数fir1设计FIR滤波器,利用函数butte、cheby1和ellip设计IIR滤波器;Z后,利用MATLAB中的函数freqz画出各滤波器的频率响应。 (5)用滤波器对信号进行滤波 用自己设计的滤波器对(3)中叠加的信号进行滤波。在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。 (6)分析得到信号的频谱 对滤波后的信号进行fft快速傅里叶变换,得到信号的频谱特性,与原始信号进行比较,并画出信号的时域波形和频谱。 展开
2009-06-11 09:25:27 418 1
求用MATLAB来做这个电容滤波电路
2018-12-07 02:23:06 333 0
在MATLAB环境下设计带阻滤波器的程序
 
2016-06-01 20:08:32 434 1

5月突出贡献榜

推荐主页

最新话题