📄 aepmethod3.m
字号:
%%电子学报(基于杂波协方差矩阵特征向量分析的STAP降维方法)
clc;clear all;close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N= 8; % number of sensors
M= 8; % number of pulse
lamda=0.03; % wavelength
V_p=90; % platform velocity
d=0.015; % spacing of sensors
PRF=12000; % pulse repetition frequency
T=1/PRF; % pulse repetition interval
H=500; % platform height
R=1000; % range
theta=asin(H/R); % depression angle
Bc=0; % clutter bandwidth
mm=0:1:N-1;mm=mm';
nn=0:1:M-1;nn=nn';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%V_d=20;
%fai_darget=pi/2;
%Wd_d=4*pi*V_d*cos(fai_darget)/(lamda*PRF); %目标多普勒角频率
%Ws_d=2*pi*d*cos(fai_darget)/lamda; %目标空间角频率
%bM_d=exp(j*Wd_d*mm); %M×1目标维时间导向矢量
%aN_d=exp(j*Ws_d*nn); %N×1目标维空间导向矢量
%S_d=kron(bM_d,aN_d);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% %Clutter Covariance Matrix% %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for m=1:1:M
for p=1:1:M
for i=1:1:N
for k=1:1:N
l=(m-1)*N+i;
n=(p-1)*N+k;
phi=linspace(0,2*pi,61);
%D=0.5*(1+cos(2*(phi-pi/2)));
%D=D.^2;
D=1;% 有无加权影响很大!
G=1;
t_phase=exp(j*2*pi/lamda*2*V_p*(m-p)*T*cos(phi));
s_phase=exp(j*2*pi/lamda*(i-k) *d*cos(phi));
integral=D.*t_phase.*s_phase.*G;
Q(l,n)=sum(integral)/60;
% Q(l,n)=Q(l,n)*exp(-Bc*Bc*(m-p)^2/8);
end
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CNR=trace(Q)/trace(0.01*eye(N*M,N*M))
Q=Q+0.00001*eye(N*M,N*M);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fd_d=0;
AA=exp(j*2*pi*nn);
BB=exp(j*2*pi*mm*fd_d);
S_d=kron(AA,BB); %search channel
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%特征分解AEP
Q_tr=trace(Q); %
Q_inv=inv(Q); %
Q_d=eig(Q);
Q_d=flipud(Q_d);
%[V,D] = eig(Q,'nobalance')
[V,D]=eig(Q); %对杂波协方差矩阵进行特征分解
for i3=1:M*N
V(:,i3)=V(:,M*N-i3+1);
D(i3,i3)=D(M*N-i3+1,M*N-i3+1);
end
%T_c=V(:,1:15); %auxiliary channel
%TT=[S_d,T_c]; %transform matrix
K=16;
TT=zeros(M*N,K);
for i1=1:K-1
TT(i1,i1)=(1/Q_d(i1,1))*V(:,i1)'*S_d;
end
for i2=K:M*N
TT(i2,K)=(1/Q_d(i2,1))*V(:,i2)'*S_d;
end
TT1=V*TT;
QT=TT'*Q*TT;
QT_inv=inv(QT);
%% IF %%
ii=1;
for fd=-0.5:0.01:0.5
AAi=exp(j*2*pi*nn);
BBi=exp(j*2*pi*mm*fd);
S=kron(BBi,AAi);
IFopt(ii)=S'*Q_inv*S*Q_tr/(S'*S);
ST=TT'*S;
WT=QT_inv*ST;
IFaep(ii)=(WT'*ST*ST'*WT*Q_tr)/((WT'*QT*WT)*(S'*S));
%SINR2(ii)=abs((QT_inv*ST)'*ST);
ii=ii+1;
end
IFopt=20*log10(IFopt/max(IFopt));
IFaep=20*log10(IFaep/max(IFaep));
figure(1);
mesh(abs(Q));title('Modulus');
figure(2);
fd=-0.5:0.01:0.5;
plot(fd,IFopt,'-b');
hold on;
plot(fd,IFaep,'r');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -