📄 two_signal.m
字号:
tic
% the data of signal
clear;
clc;
format short;
%c=3*10.^8;
c=1;
L=9;
N=128;
f=[0.8,1];
Phia=0;
lamda=c/max(f);
%len=lamda/2;
len=1/2;
P1=15*pi/180;
P2=50*pi/180;
snr=0;
Amp1=sqrt(2*10^(snr/10));
Amp2=sqrt(2*10^(snr/10));
signum=2;
t=1:N;
sig1=Amp1*exp(j*2*pi*(f(1)*0.1*t+Phia));
sig2=Amp2*exp(j*2*pi*(f(2)*0.1*t+Phia));
s=[sig1;sig2];
l=1:L;
x1=exp(j*2*pi*(len*(l-1)*sin(P1)/c));
x2=exp(j*2*pi*(len*(l-1)*sin(P2)/c));
a1=x1.';
a2=x2.';
a=[a1,a2];
%a=a2;
SSS=a*s;
noise=randn(L,N)+j*randn(L,N);
z=SSS+noise;
%z=SSS;
%----caculate c0,c2----
for hang=1:L,
for lie=1:L,
% --------C0---------------------------
zmat = z(1,:).* conj(z(1,:)).* z(hang,:);
R4 = (zmat * z(lie,:)') /N;
r12= (z(1,:) * z(1,:)') / N;
r34= (z(hang,:)*z(lie,:)')/N;
r13= (z(1,:) * z(hang,:).') / N;
r24= (conj(z(1,:))*z(lie,:)')/N;
r14= (z(1,:) * z(lie,:)') / N;
r23= (conj(z(1,:))*z(hang,:).')/N;
C0(hang,lie) = R4 - r12*r34-r13*r24-r14*r23;
% ------------C2-----------------------
zmat = z(1,:).* conj(z(4,:)).* z(hang,:);
R4 = (zmat * z(lie,:)') /N;
r12= (z(1,:) * z(4,:)') / N;
r34= (z(hang,:)*z(lie,:)')/N;
r13= (z(1,:) * z(hang,:).') / N;
r24= (conj(z(4,:))*z(lie,:)')/N;
r14= (z(1,:) * z(lie,:)') / N;
r23= (conj(z(4,:))*z(hang,:).')/N;
C2(hang,lie) = R4 - r12*r34-r13*r24-r14*r23;
end
end
[u,v,ut]=svd(C0);
us=u(:,1:2);
u1=us(1:L-1,:);
u2=us(2:L,:);
psi=inv(u1'*u1)*u1'*u2;
[x,phi]=eig(psi);
for i=1:2;
fer=phi(i,i);
w=acos(real(fer)/abs(fer));
theta(i)=asin(w/pi)*180/pi
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -