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

📄 clutter.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=8;
Ns=8;
R0=10000.;00.;
L0=50.;     %  range gate 距离门 0.25us
;f0=PRF/nt;%doppler gate

m1=round(R0/L0)
R=400.e3;
h=10000.
ksai_center0=asin(h/R);%the number of range
;ksai_center=10.*!pi/180.;   %center dive angle
sita_center=90.*!pi/180.; center azimuth angle;
v=150.;
R=h/sin(ksai_center)
d=0.5*lamd
;seed=50000
f_antena=complex(1);antean patten
rangecell=complex(1)
t=fltarr(180)
;sd=2*!pi*d/lamd*cos(ksai_center)
;st=4*!pi*v/lamd*cos(ksai_center)/PRF
cov=complexarr(Ns*Nt,Ns*Nt)
kk=123.
clutter=complexarr(kk,Ns*Nt)
tmp=complexarr(1,Ns*Nt)
;sensor=fltarr(8)
;for i1=0,7 do sensor(i1)=randomn(seed)
;sensor=sensor-sensor(0)
;kesi=0.1;
z0=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
;f_antena(0:72)=0
;f_antena(108:179)=0
;clutter=complexarr(8)
;for j1=0,7 do clutter(j1)=exp(-0.125*j1*j1/PRF/PRF)
;for i=0,179 do t(i)=randomn(seed)
for i=0,kk-1 do begin
   rcs=10.*i
 for ii=0,Nt-1 do begin
  for jj=0,Ns-1 do begin
             for k=0,180-1 do begin
             sita=0.+(k)*!pi/180.
             sita1=sita;+5.*!pi/180.
             ksai_center=ksai_center0+i/3000.*!pi/180.;
             sd=2*!pi*d/lamd*cos(ksai_center)
             st=4*!pi*v/lamd*cos(ksai_center)/PRF
             ksai=cos(ksai_center)*(cos(sita)-cos(sita_center))

            ; if (abs(sita-sita_center) gt 5.*!pi/180.) then begin
             ;f_antena=0.01*f_antena
             ;endif
             ;f_antena=1
             ;ss=j-ii
             ;tt=i-jj
             p=1.;f_antena(K)*conj(f_antena(k))
            tmp(0,ii*ns+jj)=tmp(0,ii*Ns+jj)+complex(randomn(k+rcs-5),randomn(k+rcs))*p*exp(complex(0,-(ii)*cos(sita)*sd-(jj)*st*cos(sita1)));*exp(complex(!pi*randomn(k+rcs+2),!pi*randomn(k+rcs)))
          endfor
       endfor
 endfor
           clutter(i,*)=tmp(0,*)
          tmp=complexarr(1,Ns*Nt)
endfor
for i=0,kk-1 do begin
  ;for j=0,nt*ns-1 do begin
    cov=cov+clutter(i,*)##transpose(conj(clutter(i,*)));*randomn(seed)
  ;endfor
endfor
 ;endfor
;save,cov,filename='d:\cov.sav'
cov=1./kk*cov
for i=0,63 do begin
cov(i,i)=cov(i,i);+0.001
endfor

;for ii=19,20-1 do begin
    ; angle=!pi/2
    ; ksai=cos(ksai_center)*cos(angle)
    ; fd=200;2*v/lamd*ksai-300*(ii-6)*100;
    ; 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(ii,*)=stevec
;endfor
;cov1=transpose(conj(Trans)) ##cov## (Trans)
incov=invert(cov)

ksai0=1.
ksai1=-1.
delta_ksai=(ksai0-ksai1)/100.
stevec=complexarr(nt*ns)
spectrum=complexarr(100,100)
;spectrum1=complexarr(100,100)

im=complexarr(100,100)
;im1=complexarr(100,100)
fd1=prf/2.
  ;for ii=0,100-1 do begin

       ksai=ksai0-50*delta_ksai
         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
       spectrum(50,jj)=1./(conj(stevec) ##incov## transpose(stevec))
       ;im1(ii,jj)=1./(abs(spectrum1(ii,jj))+0.00001)*trace(cov1)/(transpose(conj(stevec1))##stevec1);
        ;im1(ii,jj)=( transpose(conj(stevec1)) ##incov1## (stevec1))*trace(cov1)/(transpose(conj(stevec1))##stevec1);
       im(50,jj)=(conj(stevec) ##incov## transpose(stevec))*trace(cov)/(conj(stevec)##stevec)
      endfor

end




⌨️ 快捷键说明

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