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

📄 tayloro.txt

📁 一个非线性调频信号的优化程序.所用窗函数是泰勒窗
💻 TXT
字号:
动态优化窗函数。
程序中,fit数组为综合指标。停止准则是设定的叠带次数。程序结束时,如仍不满足指标,则将最佳结果代替初始参数,重新执行程序。以下是程序清单:
 function tayloro
 % 优化组合参数 ,用动态优选法优化 
clear
disp('输入参数');
B=input( '带宽 (MHZ):');T=input('时宽(us):');fc=input('抽样率(*B):');
delt=1/fc;N=T/delt;M=5;
for z=1:50   % 设定总的叠代次数为50
g1(z)=1+(rand(1)-1)/10;g2(z)=1+(rand(1)-1)/10;g3(z)=1+(rand(1)-1)/10;g4(z)=1+(rand(1)-1)/10;g5(z)=1+(rand(1)-1)/10;
   a=[0.42825,0.0002,0.00427,-0.00193,0.00074];
a(1)=a(1)*g1(z);a(2)=a(2)*g2(z);a(3)=a(3)*g3(z);a(4)=a(4)*g4(z);a(5)=a(5)*g5(z); % 在窗函数附近选定一组初始值
N1=1;
 %以下求频率调制函数f(t)
f(1)=-B/2;t1(1)=0;ff=-B/2; t(1)=0;tt=0;
for i1=-N/2:(N/2-1)
   m=i1+N/2+1;
   t1(m+1)=t1(m)+delt;
   while (t1(m+1)-tt)>=0.0001,
      ff=ff+0.0001; 
      tt0=0;
   for j1=1:5
         tt0=tt0+a(j1)*T/(pi*j1)*sin(2*pi*j1*ff/B);
   end
      tt=T/2+ff*T/B+tt0;
   end
   f(m+1)=ff;
   t(m+1)=tt;
end
t(N+1)=T;
f(N+1)=B/2;
plot(t,f)
 %求频率调制函数f(t)完毕,以下求I、W支路信号及脉压输出
w(1)=0;
for m=1:N
   w(m+1)=w(m)+2*pi*f(m+1)*delt;
end
for m=1:N+1
    F1(m)=cos(w(m));
    F2(m)=sin(w(m));
    F(m)=exp(j*w(m));
 end
xout=abs(xcorr(F,'coeff'));%pulse compress output and unitary
 peak0=max(xout);
 %求脉压输出完毕,以下求峰值点及主副比
 for n=1:2*N+1 %求峰值点
 if peak0==xout(n)
   peakpoint0=n;
    else 
    end
 end  
 n=peakpoint0;
     while 20*log10(xout(n))+3>=0.00001
         n=n+1;
    end
    peakwide3=2*(n-peakpoint0)*delt
    x1=xout(n);
     x2=xout(n+1);
  while x1>=x2 
     n=n+1;   
     x1=xout(n);
     x2=xout(n+1);
  end
  for i=n:2*N+1
     x3(i-n+1)=xout(i);
  end
  peak1(z)=max(x3);
  if peak1(z)<=0.015 & peakwide3<0.85
     fit(z)=100/(100*peak1(z)+peakwide3);%fit为综合指标
  else
     fit(z)=0;
  end
end
for i=1:50
   if fit(i)==max(fit)
      z=i   %寻找最好的指标,确定最佳参数
   else
      end
end
c1=g1(z) 
c2=g2(z) 
c3=g3(z) 
max(fit)  

⌨️ 快捷键说明

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