N=500; M=20; n=1; a1=-0.8; h=zeros(M,n+1,3); e=zeros(M,n,3); for d=1:3 if d==1 delta=0.01; else delta=0.05*(d-1); end; for k=1:M b=0.2*randn(1,N); y(1)=1; for i=2:N y(i)=-a1*y(i-1)+b(i); end for i=n+1:N e(k,i,d)=y(i)-h(k,i,d)*y(i-1); h(k,i+1,d)=h(k,i,d)+delta*y(i-1)*e(k,i,d); end end end for d=1:3 for i=1:N em(i,d)=0; hm(i,d)=0; for j=1:M em(i,d)=em(i,d)+e(j,i,d)^2; hm(i,d)=hm(i,d)+h(j,i,d); end end end figure(1) semilogy(1:150,em(1:150,1)),hold on semilogy(1:150,em(1:150,2),'r'),hold on semilogy(1:150,em(1:150,3),'g'),hold off axis([0 150 0.01 1]),grid title('Mean square error ') xlabel('Samples') gtext('\leftarrowd=0.01'); gtext('\leftarrowd=0.05'); gtext('\leftarrowd=0.1'); figure(2),plot(1:N,hm(1:N,1)),hold on plot(1:N,hm(1:N,2),'r'),hold on plot(1:N,hm(1:N,3),'g'),hold off,grid title('Filter coeffcient evalution') xlabel('Samples'), gtext('d=0.01'), gtext('d=0.05'), gtext('d=0.1') (2)从噪声中提取信号的程序如下: N=1000; n=200; k=12; Ts=1e-1 b=0.8*randn(1,N); for i=1:N xr(1,i)=sin(k*2*pi*i/N); x(1,i)=xr(1,i)+b(i); end Cxx=10000*eye(n); g=zeros(N,n); h=zeros(N,n); e=zeros(1,N); y=zeros(1,N); tr=zeros(1,N); for i=n+1:N g(i,:)=(Cxx*x(i-n+1:i)'./(1+x(i-n+1:i)*Cxx*x(i-n+1:i)'))'; e(1,i)=xr(i)-h(i-1,:)*x(i-n+1:i)'; h(i,:)=h(i-1,:)+e(1,i)*g(i,:); Cxx=Cxx-g(i,:)'*x(i-n+1:i)*Cxx; y(1,i)=h(i,:)*x(i-n+1:i)'; tr(1,i)=trace(Cxx); end figure(1) plot(0:N-n,x(1,n:N)),grid title('x(k) input singnal in V') xlabel('Samples') figure(2) plot(0:N-n,xr(1,n:N),'r'),grid axis([0 800 -1.2 1.2]) title('xr(k) reference singnal in V') xlabel('Samples') figure(3) plot(0:N-n,e(1,n:N)),hold on plot(0:N-n,y(1,n:N),'r'),hold on grid title('e(k) error and y(k) output in V') xlabel('Samples') gtext('e(k)'),gtext('y(k)') figure(4) plot(0:N-n,h(n:N,1)),hold on plot(0:N-n,h(n:N,2),'r'),hold off grid title('a(n-1) and a(n-2) coeffcients evolution') xlabel('Samples') figure(5) num1=fliplr(h(N,:)); sys1=tf(num1,1,Ts); bode(sys1),hold off title('Synthesized filter') xlabel('Frequency in rad/s') ylabel('Phase in degree;Module in dB') figure(6) semilogy(0:N-n,tr(n:N)),grid title('Cxx matrix trace') xlabel('Samples')
2022-04-01 16:56:03 1.67MB 自适应滤波器
1
基于labview的一阶系统辨识仪技术 LabVIEW (Laboratory Virtual Instrument Engineering Workbench) 是美国NI公司的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。
1
自适应滤波器Verilog实现
2022-03-24 21:06:20 4KB Verilog
1
本文使用vhdl语言设计一个自适应滤波器的程序,其中的算法使用了nlms,也可以自行修改为lms
2022-03-19 22:48:38 20KB VHDL 自适应 滤波器
1
最小二乘自适应格型滤波器算法原理介绍,很有参考意义。采用递推的方法实现最小二乘,一个递推算法的完成,终止条件是估计的误差或误差信号能否满足某一条件,LSL算法的关键是基于预测误差滤波器的格型结构,即由M 阶(前向、后向)预测误差递推计算M+1 阶(前向、后向)预测误差
2022-03-15 16:03:33 780KB 自适应 滤波器
1
对比传统的归一化最小均方算法(NLMS),系数比例自适应算法(PNLMS)拥有较快的初始收敛速度,但是PNLMS无法很好处理稀疏系统辨识问题。因此基于L0范数的IPNLMS(L0-IPNLMS)算法被提出,本文对L0-IPNLMS算法提出改进以提高对稀疏系统进行辨识的性能。分析了近年来的几种系数比例算法的性能及其局限性,通过建立步长因子μ与误差信号e之间的非线性关系,提出了一种结合Sigmoid函数和L0范数的变步长系数比例NLMS滤波算法,仿真结果表明提出的算法拥有更好的收敛性和稳态误差。
1
LMS算法自适应滤波器的MATLAB仿真与DSP实现.zip
2022-03-07 10:37:49 462KB lms 算法 自适应滤波器 matlab
1
随机信号处理大作业,基于LMS和RLS算法更新自适应滤波器的权值向量,画出两种算法的e2(n)曲线作比较,用matlab写的,效果还可以
2022-03-02 19:19:47 1KB LMS RLS 平方误差 自适应滤波器
1
在没有任何关于信号和噪声的先验知识的条件下,自适应滤波器利用前一时刻已获得的滤波器参数来自动调节现时刻的滤波器参数, 以适应信号和噪声未知或随机变化的统计特性, 从而实现最优滤波。
2022-02-22 13:40:49 376KB 自适应 滤波器 算法 DSP
1
LMS自适应滤波器FPGA实现的新方法,是用硬件的方式实现LMS算法,速度比在DSP上实现快的多,不错的论文
2022-02-16 22:48:25 300KB LMS FPGA 自适应滤波
1