⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acp.pro

📁 联合空时自适应处理算法仿真之辅助通道法程序
💻 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 + -