📄 base_esprit_2_tls.m
字号:
function Fre_Est=Base_Esprit_2_TLS(x,p,num)
N=length(x);
r=xcorr(x,'biased');
R_xx=zeros(p,p);
R_xy=zeros(p,p);
for m=0:p-1
R_xx(m+1,:)=r(N+m:-1:N+m-p+1);
R_xy(m+1,:)=r(N+m-1:-1:N+m-p);
end
[u,s,v]=svd(R_xx);
d=diag(s);
e=0.993;
for rank=1:p
ratio=sqrt(sum(d(1:rank).^2)/sum(d.^2));
if ratio>e
break;
else
continue
end
end
rank=2*rank;
m=mean(diag(s(rank+1:end,rank+1:end)));
s=s-m*eye(p);
s_1=s(1:rank,1:rank);
u_1=u(:,1:rank);
v_1=v(:,1:rank);
U_1=u_1(1:p-1,:);
U_2=u_1(2:p,:);
temp=inv(U_1.'*U_1)*U_1.'*U_2;
v=eig(temp);
frequency=abs(angle(v)/2/pi);
Fre_Est=Find_Numble(frequency,num);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -