📄 adaptive filter (in series).m
字号:
% 功能:自适应滤波器(串联) % 作者:liukai% 日期:2008年6月12日% 状态:调试完成%-------------------------------------------------------------------------%% function ad1clear all,close allfs=200;t1=0:1/fs:25;dn1=randn(size(t1));t2=0:1/fs:5;dn2=2*sin(2*pi*40*t2);t3=0:1/fs:5;dn3=2*sin(2*pi*50*t3);dn=zeros(size(t1));dn(1000:(length(t2)+999))=dn2;dn((length(t2)+999+1000):(length(t3)+length(t2)+999+999))=dn3;dn=dn+dn1;t=t1;figuresubplot(3,1,1)plot(t,dn);% D=fft(dn,2048);% wd=(0:1023)*fs/2048;% figure% plot(wd,abs(D(1:1024)));% axis([0 8000 -100 1000]);xn1=sin(2*pi*40*t);xn2=cos(2*pi*40*t);wn1=zeros(size(t));wn2=zeros(size(t));yn=zeros(size(t));en=zeros(size(t));u=1/100;en(1)=dn(1)-yn(1);wn1(1)=2*u*en(1)*xn1(1);wn2(1)=2*u*en(1)*xn2(1);for i=1:length(t)-1 yn(i)=xn1(i)*wn1(i)+xn2(i)*wn2(i); en(i)=dn(i)-yn(i); wn1(i+1)=wn1(i)+2*u*en(i)*xn1(i); wn2(i+1)=wn2(i)+2*u*en(i)*xn2(i);end subplot(3,1,2)plot(t,yn);Y=fft(yn,4096);w=(0:2047)*fs/4096;subplot(3,1,3)plot(w,abs(Y(1:2048)));dnn=en;% figure(4)% plot(t,dnn);% DN=fft(dnn,4096);% w1=(0:2047)*fs/4096;% figure(5)% plot(w1,abs(DN(1:2048)));% ----------------下一级---------------------------------------xn3=sin(2*pi*50*t);xn4=cos(2*pi*50*t);wn3=zeros(size(t));wn4=zeros(size(t));ynn=zeros(size(t));enn=zeros(size(t));for i=1:length(t)-1 ynn(i)=xn3(i)*wn3(i)+xn4(i)*wn4(i); enn(i)=dnn(i)-ynn(i); wn3(i+1)=wn3(i)+2*u*enn(i)*xn3(i); wn4(i+1)=wn4(i)+2*u*enn(i)*xn4(i);end figure(3)subplot(3,1,1)plot(ynn);YN=fft(ynn,4096);wn=(0:2047)*fs/4096;subplot(3,1,2)plot(wn,abs(YN(1:2048)));subplot(3,1,3)plot(t,enn);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -