base_esprit_2_ls.m

来自「ESPRIT方法的两种实现」· M 代码 · 共 21 行

M
21
字号
function Fre_Est=Base_Esprit_2_LS(x,p,array_n,as)
N=length(x);
r=xcorr(x,'biased');
R_xx=zeros(array_n,array_n);
R_xy=zeros(array_n,array_n);
for m=0:array_n-1
    R_xx(m+1,:)=r(N+m:-1:N+m-array_n+1);
	R_xy(m+1,:)=r(N+m-1:-1:N+m-array_n);
end 
[u,s,v]=svd(R_xx);
rank=p;
s_1=s(1:rank,1:rank);
u_1=u(:,1:rank);
v_1=v(:,1:rank);
U_1=u_1(1:array_n-1,:);
U_2=u_1(2:array_n,:);
temp=inv(U_1.'*U_1)*U_1.'*U_2;
v=eig(temp);
frequency=abs(angle(v)/2/pi);
num=as;
Fre_Est=Find_Numble(frequency,num);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?