通信天线原理Matlab实验.docx
第三题、稀疏直线阵(选做)在N=20元均匀直线阵(边射状态,d=O.5)的基础上,随机去掉10个阵元(即稀疏率50%,首尾两端阵元保留以保持与原均匀直线阵相同的最大阵列长度)(1)给出一种随机稀疏情形下的10元稀疏阵阵因子,并将其与原20元均匀直线阵阵因子相比较,总结主瓣宽度和副瓣电平的变化规律。(2)以峰值副瓣电平最小化为优化目标,自己尝试提出方法来优化10元稀疏阵的阵元位置(首尾固定,实际上只需优化8个阵元位置),画出优化后的10元稀疏阵阵因子(给出其对应的峰值旁瓣电平),将其与(1)中的10元随机稀疏阵阵因子进行比较。阵元数N=20时阵因子直角坐标函数图Figl2.阵因子归一化极坐标图Fig13.下阵因子归一化直角坐标图Figl4.阵因子归一化极坐标图Fig15.下阵因子归一化直角坐标图Fig16.下阵因子归一化宜角坐标图O5101520253035404550迭代次数Fig17.下阵因子归一化直角坐标图Fig18.下阵因子归一化直角坐标图cpe然喉 ¥跑102030405060708090100迭代次数Fig19.下阵因子归一化宜角坐标图indivlength=30;popsize=30;globalatennum;atennum=20;eranum=50;pc=0.8;pm=0.05;%3fi00°,6D;%06fiy%×iy6u'u'Ifiy%>>2ae,AAfiindivlength=30;popsize=50;globalatennum;atennum=20;eranum=100;pc=0.8;pm=0.05;%jtaz30%3fi00°z6Dj%06a1fiy%×iz6ii'u't£y%>>2aejAAfi%±aijAAficlearall;clc;N=input(,CefiafieOoOa£y,);lamuda=input(,Qefiafie23«,);dis=0.2*lamuda;k=2*piIamuda;alfa=O;theta=-pi:O.OOl:pi;w=alfa+k*dis.*cos(theta);Fl=sin(N*w./2);F2=sin(w./2);AF=abs(F1.F2)/N;%AF=abs(sin(N*(w./2)./sin(w./2)/N;%U>>i±°edeta=3*piN;detal=acos(deta(k*dis)%EaAaaO÷oeciIingdian=2*pi/N;%Eaj±oefuban=3*piN;SLL=10*logl0(abs(1N)*(sin(N*fuban2)/sin(fuban/2)2)%±0e%0e1!Afiz0ecifigure(1);polar(theta,AF);title('O60afiyN='num2str(N)'fi±Oo×6¼<<×0±e°-fiyt,);figure(2);plot(theta*360/(2*pi),N.*AF);title('0o0afiyN=,num2str(N)'±OoO×6±C×0±e°-fiyt,);%oe2"oe1Afii116%synsx;%bbbb=solve(sin(N*x2)/sin(x2)=sqrt(2)*N2);%banbo=90-acos(real(bbbb(2,1)abs(bbbb(2,1)*360clearall;clc;N=20;%N=input('(efiaEeOoOaRy,);Iamuda=Input(,feEaEe2"3Q');dis=O.5*Iamuda;k=2*pilamuda;alfa=0;a=2:19;K=randperm(1ength(a);count=8;b=a(K(l:count);NSUM=1b20;theta=-pi:0.OOl:piw=alfa+k*dis.*cos(theta);ff=l;fortt=2:10ff=ff+exp(i*NSUM(l,tt).*w);end%AF=abs(sin(N*(w./2).sin(w./2)N;subplot(1,2,1)polar(theta,ff);title(l06afiyN=num2str(N),+O0×6¼<<×0÷eoyt½,);%figure(2);subplot(1,2,2)plot(theta,ff./10);title(l06ayN=num2str(N),fi+6×6±½×0÷eo-yi¼,);initpop.m种群初始化functionpop=initpop(popsize,indivlength,atennum)pop=zeros(popsize,indivlength);fori=l:popsizepop(i,1)=1;pop(i,indivlength)=l;a=randperm(indivlength-2)+1;%产生2indivlength-l之间任意两个不相等的向量forj=l:atcnnum-2pop(i,a(j)=l;%每行对应的位置置1endendcalfitval.m计算适应度值%popsize染色体个数,indivlength染色体长度,PoP种群functionfitvalue=calfitval(popsize,indivlength,pop)%d取lemda/2,k*d等于pim=0;%标志位globalatennum;array=zeros(popsize,3);array(:,l)=atennum;array(:,3)=atennum;fitvalue=ones(popsize,1);fortheta=0:pi/1800:pi/2fori=l:popsizea=0;fork=l:indivlengtha=a+pop(i,k)*exp(j*pi*(k-l)*sin(theta);enda=abs(a);ifa>array(i,3)&&m=0array(i,2)=array(i,3);m=l;endarray(i,3)=a;%ifa<0.5%m=l;%end%存储(TPi之间最大的前两个方向性函数值ifm=l&&a>array(i,2)array(i,2)=a;endendend%disp(array);fori=l:popsizefitvalue(i,1)=array(i,1)/array(i,2);%适应度值等于主瓣最大值除以副瓣最大值;endbest,m%保留每代的最优适应值和最优染色体functionbestindivdual,bestfit=best(pop,fitvalue)Maxvalue,indcx=max(fitvalue)将当前种群中最优解保存在MaxValuebestfit=Maxvalue;bestindivdual=pop(index,:);select,m选择%选择更制functionselection=select(fitvalue,pop)m,n=size(pop);Selection=Zeros(in-1,n);Minvalue,indexl=min(fitvalue);%将当前种群中最次解保存在MinValueMaxvalue,indcx2=max(fitvalue);%将当前种群中最优解保存在MaxValuebestchrom=pop(index2,:);%最佳染色体保存pop(indexl,:)=bestchrom;index=1:m;index(indexl)=O;index=nonzcros(index);%使最优染色体坐在的位置为零,便于清空,使最优的染色体的原来位置不参与本次的选择、交叉、变异ncwpop=pop(indcx,参与选择交叉,变异的种群fitvalue=fitvalue(indcx,参与选择、交叉、变异的适应度函数值%evo_pOPSiZe=mT;%参与选择、交叉、变异的种群大小fitvalue=cumsum(fitvalue)/sum(fitvalue);rndpos=sort(rand(m-l,1);%产生随即概率fori=l:m-lwhilerndpos(i)>fitvalue(j)j=j÷l;endselection(i,:)=pop(j,:);endcross,m交叉%交叉functionnewpop=cross(selection,pc)m,n=size(selection);newpop=ones(m,n);s=rand(l,m);%随机产生与交叉概率相比较的概率yl=find(s<pc);%参与交叉位%yly2=find(s>=pc);%不参与交叉位lenl=length(yl);iflenl>2&&mod(lenl,2)=1%如果用来进行交叉的染色体的条数为奇数,将其调整为偶数y2(length(y2)+l)=yl(Ienl);Ienl=Ienl-I;end%lenliflenl>=2forp=l:lenl/2crosspos=round(n-2)*rand()+1;a=selection(yl(2*p-l),crosspos:n);b=selection(yl(2*p),crosspos:n);while(length(find(a=l)=length(find(b=l)crosspos=round(n-2)*rand()+1;a=selection(yl(2*p-l),crosspos:n);b=selection(yl(2*p),crosspos:n);end%crossposnewpop(yl(2*pl),:)=selection(yl(2*p-l),Iicrosspos-I),selection(yl(2*p),crosspos:n);newpop(yl(2*p),:)=selection(yl(2*p),Iicrosspos-I),selection(yl(2*p-l),crosspos:n);endendnewpop(y2,:)=Selection(y2,:);mutation,m变异%变异functionnewpop=mutation(newpop,pm)m,n=size(newpop);s=rand(l,m);%随机产生与变异概率相比较的概率fori=l:mifs(i)<=pmmutapos=round(n-3)*rand()+2;%随即产