📄 acp.pro
字号:
c=3.e8;
lamd=0.6;0.246;3.e-2;
T0=100.e-6; %pluse t width 100us 脉冲宽度100us
B=3.e6; %pluse f width
PRF=1000.;1.*2439.02; % PRF 1Khz
Nt=12;
Ns=12;
R0=10000.;00.;
L0=50.; % range gate 距离门 0.25us
;f0=PRF/nt;%doppler gate
m1=round(R0/L0)
R=400.e3;
h=10000.
ksai_center=asin(h/R);%the number of range
sita_center=90.*!pi/180.; center azimuth angle;
v=150.;
R=h/sin(ksai_center)
d=0.5*lamd
clutter=complexarr(m1,ns,nt);
reshapeclutter=complexarr(m1,ns*nt)
seed=5000
sd=2*!pi*d/lamd*cos(ksai_center)
st=4*!pi*v/lamd*cos(ksai_center)/PRF
cov=complexarr(Ns*Nt,Ns*Nt)
z0=1.0313;1.0708;1.0175;cosh(1/Ns*acos(1./kesi));
cheb=fltarr(Ns);
for k=1,Ns/2 do begin
for q=k,Ns/2 do begin
cheb(Ns/2+k-1)=cheb(Ns/2+k-1)+(-1.)^(Ns/2-q)*z0^(2*q-1)*(2*Ns/2-1)*factorial(q+Ns/2-2)/(factorial(q-k)*factorial(q+k-1)*factorial(Ns/2-q));
endfor
endfor
for i=0,Ns/2-1 do begin
cheb(Ns/2-i-1)=cheb(i+Ns/2);
endfor
f_antena=complexarr(180)
for k=0,180-1 do begin
sita=0+k*!pi/180.
ksai=cos(ksai_center)*(cos(sita)-cos(sita_center))
for s=0,Ns-1 do begin
f_antena(k)=f_antena(k)+exp(complex(0,2*s*!pi*d/lamd*ksai))*cheb(s)
endfor
endfor
for ii=0,Ns-1 do begin
for jj=0,Nt-1 do begin
for i=0,Nt-1 do begin
for j=0,Ns-1 do begin
for k=0,180-1 do begin
sita=0+k*!pi/180.
sita1=sita;+5.*!pi/180.
ksai=cos(ksai_center)*cos(sita)
ss=j-ii
tt=i-jj
p=1.;f_antena(k)*conj(f_antena(k))
cov(jj*Ns+ii,i*Ns+j)=cov(jj*Ns+ii,i*Ns+j)+p*exp(complex(0,-(ss)*cos(sita)*sd-(tt)*st*cos(sita1)))
endfor
;Br=4*!pi*v/lamd*cos(ksai_center)/PRF*0.05
;te=exp(-0.125*tt*tt*Br^2)
;se=(1+0.0008*abs(ss))*exp(complex(0,!pi/180.*abs(ss)/8));sensor(abs(ss))
;te=exp(-0.125*tt*tt*Br^2)
;cov(jj*Ns+ii,i*Ns+j)=cov(jj*Ns+ii,i*Ns+j);*te
endfor
endfor
endfor
endfor
for i=0,nt*ns-1 do begin
;for j=0,nt*ns-1 do begin
cov(i,i)=cov(i,i)+0.02;*randomn(seed)
;endfor
endfor
;endfor
;save,cov,filename='d:\cov.sav'
incov=invert(cov)
L=23.
Trans=complexarr(L,Ns*Nt)
ksai0=1;asin(h/R1)
ksai1=-1;asin(h/R2)
delta_ksai=(ksai0-ksai1)/100.
stevec=complexarr(nt*ns)
stevec1=complexarr(1,L)
spectrum=complexarr(100,100)
spectrum1=complexarr(100,100)
im=complexarr(100,100)
im1=complexarr(100,100)
fd1=Prf/2.;2*v/lamd
;azimuth=[-1., -0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.2,-0.1,0,0.1]
ksai=0.;95
for ch=0,L-2 do begin
ksai11=Ksai1+ch*2./(L-1.)
fd=2*v/lamd*ksai11;
for j=0,nt-1 do begin
st=exp(complex(0,-j*2*!pi*fd/PRF))
for i=0,ns-1 do begin
stevec(j*ns+i)=exp(complex(0,-2*!pi*i*d/lamd*ksai11))*st
endfor
endfor
Trans(ch,*)=stevec
endfor
;for ch=Ns-1,L-2 do begin
; ksai11=ksai1+ch*2./(L-2)
; fd=2*v/lamd*ksai11;
; stevec=complexarr(nt*ns)
; for j=0,nt-1 do begin
;st=1;exp(complex(0,-j*2*!pi*fd/PRF))
; for i=0,ns-1 do begin
; stevec(j*ns+i)=exp(complex(0,-2*!pi*i*d/lamd*ksai11))*st
;endfor
; endfor
;Trans(ch,*)=stevec
;endfor
for jj=0,100-1 do begin
fd=fd1-jj* fd1/50.;+20.;*cos(ksai)
for j=0,nt-1 do begin
st=exp(complex(0,-j*2*!pi*fd/PRF))
for i=0,ns-1 do begin
stevec(j*ns+i)=exp(complex(0,-2*!pi*i*d/lamd*ksai))*st
endfor
endfor
Trans(L-1,*)=stevec
cov1=transpose(conj(Trans))##cov## (Trans)
for n=0,L-1 do begin
cov1(n,n)=cov1(n,n)+0.00015;*randomn(seed)
endfor
incov1=invert(cov1)
stevec1=transpose(conj(Trans))##stevec
spectrum(50,jj)=1./(conj(stevec)##incov## transpose(stevec))
;if (spectrum(50,jj) le 1.e-5) then spectrum(50,jj)=1.e-5
spectrum1(50,jj)=1./(transpose(conj(stevec1))##incov1##stevec1)
wt=incov1##stevec1;incov1(L-1,*);
;if (spectrum1(50,jj) le 1.e-3) then spectrum1(50,jj)=1.e-3
;im1(50,jj)=1./spectrum1(50,jj)*trace(cov1)/(transpose(conj(stevec1))## stevec1);im1(50,jj)=transpose(conj(wt))##stevec1## transpose(conj(stevec1))##wt/(transpose(conj(wt))##cov1##wt)*trace(cov)/(conj(stevec)## transpose(stevec))
im1(50,jj)=transpose(conj(wt))##stevec1## transpose(conj(stevec1))##wt/(transpose(conj(wt))##cov1##wt)*trace(cov)/(conj(stevec)## transpose(stevec))
im(50,jj)=(conj(stevec) ##incov## transpose(stevec))*trace(cov)/(conj(stevec)##stevec)
endfor
; save,spectrum,filename='d:\spectrum.sav'
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -