📄 lim11_rar limftf.txt
字号:
lim11.rar limftf.mwww.pudn.com > lim11.rar > limftf.m
%FTF算法,选用电力系统谐波信号作为输入信号。参考书目:现代数字信号处理,皇甫堪等,电子工业出版社。166页。
clear all;close all;
f1=50;ts=1/1000;n=1:256;N=256;
d=2*sin(2*pi*f1*n*ts)+1.4*sin(2*pi*f1*7*n*ts);
y1=2*sin(2*pi*f1*n*ts);
x=sin(2*pi*f1*n*ts+pi/2);M=4;lamda=0.99;
A=zeros(M,N);
B=zeros(M,N);
W=zeros(M,N);
G=zeros(M,N);
gama=ones(M+1,M);
Ef=ones(1,M);Eb=ones(1,M);x(1)=0;x(1:M)=0;
for n=M+1:N
for m=1:M
if n<=m-1
a(m)=0;
else
a(m)=x(n-m+1);
end
end
X1=a';
for m=2:M+1
if n<=m-1
a1(m-1)=0;
else
a1(m-1)=x(n-m+1);
end
end
X2=a1';
ef(n,n-1)=x(n)-X2'*A(:,n-1);
ef(n,n)=gama(M,n-1)*ef(n,n-1);
Ef(n)=Ef(n-1)+ef(n,n)*ef(n,n-1);
A(:,n)=A(:,n-1)+ef(n,n-1)*G(:,n-1);
gama(M+1,n)=Ef(n-1)*gama(M,n-1)/Ef(n);
k1=[0;G(:,n-1)]+ef(n,n)/Ef(n)*[1;-A(:,n)];
K(:,n)=k1(1:M);
k(n)=k1(end);
eb(n,n-1)=x(n-M)-X1'*B(:,n-1);
gama(M,n)=(1-k(n)*eb(n,n-1))^(-1)*gama(M+1,n);
eb(n,n)=gama(M,n)*eb(n,n-1);
Eb(n)=Eb(n-1)+eb(n,n)*eb(n,n-1);
G(:,n)=(K(:,n)+k(n)*B(:,n-1))*gama(M,n)/gama(M+1,n);
B(:,n)=B(:,n-1)+G(:,n)*eb(n,n-1);
e(n,n-1)=d(n)-X1'*W(:,n-1);
y(n)=X1'*W(:,n-1);
W(:,n)=W(:,n-1)+G(:,n)*e(n,n-1);
end
plot(y);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -