基于遗传算法的Matlab16阵元天线优化

基于遗传算法的Matlab16阵元天线优化
基于遗传算法的Matlab 16阵元天线优化
1. 设计要求
题⽬⼀ :阵列天线综合
利⽤Matlab编制遗传算法或粒⼦算法程序,并实现对间距为半波长均匀直线阵综合,指标如下:
1、阵元数:16元
2、副瓣电平:<-30dB
3、增益:>11dB
4、要求撰写设计报告,内容包括:所采⽤的算法基本原理,⽬标函数的设计,各个参数的设置源代码,仿真结果(增益⽅向图),参
考⽂献。
2. 遗传算法
2.1 遗传算法的⽣物学基础
遗传算法的⽣物学基础⾃然选择学说认为适者⽣存,⽣物要存活下去,就必须进⾏⽣存⽃争。⽣存⽃争包括种内⽃争、种间⽃争以及⽣物跟环境之间的⽃争三个⽅⾯。在⽣存⽃争中,具有有利变异个体容易存活下来,并且有更多的机会将有利变异传给后代,具有不利变异的个体就容易被淘汰,产⽣后代的机会就少得多。因此,凡是在⽣存⽃争中获胜的个体都是对环境适应性⽐较强的个体。
2.2 遗传算法介绍
遗传算法(GA)是模拟⽣物在⾃然环境下的遗传和进化过程⽽形成的⼀种⾃适应全局优化概率搜索⽅法。其采纳了⾃然进化模型,从代表问题可能潜在解集的⼀个种开始,种由经过基因编码的⼀定数⽬的个体组成。每个个体实际上是染⾊体带有特征的实体。初始种产⽣后,按照适者⽣存和优胜劣汰的原理,逐代演化产⽣出越来越好的解。在每⼀代,概据问题域中个体的适应度⼤⼩挑选个体,并借助遗传算⼦进⾏组合交叉和主客观变异,产⽣出代表新的解集的种。这⼀过程循环执⾏,直到满⾜优化准则为⽌。最后,末代个体经解码,⽣成近似最优解。基于种进化机制的遗传算法如同⾃然界进化⼀样,后⽣代种⽐前⽣代更加适应于环境,通过逐代进化,逼近最优解。
2.3 算法流程
通过随机⽅式产⽣若⼲由确定长度(长度与待求解问题的精度有关)编码的初始体。通过适应度函数对每个个体进⾏评价,选择适应度值⾼的个体参与遗传操作,适应度低的个体被淘汰。经遗传操作(复制、交叉、变异)的个体集合形成新⼀代种,直到满⾜停⽌准则(进化代数GEN>=?)。将后代中变现最好的个体作为遗传算法的执⾏结果。其中,GEN是当前代数;M是种规模,i代表种数量。
图2.1 遗传算法流程图
2.4 选择
指个体被选中并遗传到下⼀代体中的概率与该个体的适应度⼤⼩成正⽐。
式中  ——个体i被选中的概率。
——个体i的适应度。——体的累加适应度。
显然,个体适应度愈⾼,被选中的概率愈⼤。但是,适应度⼩的个体也有可能被选中,以便增加下⼀代体的多样性。执⾏概率选择的⼿段是选择。
杜尔凯姆个体被选中的概率取决于个体的相对适应度:从统计意义讲,适应度⼤的个体,其刻度长,被选中的可能性⼤;反之,适应度⼩的个体被选中的可能性⼩,但有时也会被“破格”选中。
2.5 交叉
Ⅰ. 对体中的个体进⾏两两随机配对。
若体⼤⼩为M,则共有M/2 对相互配对的个体组。
Ⅱ. 每⼀对相互配对的个体,随机设置某⼀基因座之后的位置为交叉点。
若染⾊体的长度为l ,则共有l-1个可能的交叉点位置。
Ⅲ. 对每⼀对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个个体的部分染⾊体,从⽽产⽣出两个新的个体。
2.6 变异
pi =(i =f ∑i f i
1,2,…,M)
p i  f i f ∑i
对于基本遗传算法中⽤⼆进制编码符号串所表⽰的个体,若需要进⾏变异操作的某⼀基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有基因值为1,则变异操作将其变为0。
基本位变异因⼦的具体执⾏过程是:
Ⅰ. 对个体的每⼀个基因座,依变异概率pm指定其为变异点。
Ⅱ. 对每⼀个指定的变异点,对其基因值做取反运算或⽤其它等位基因值来代替, 从⽽产⽣出⼀个新的个体。
3. 阵列天线原理
直线阵:由N个相同的单元天线等间距地排列在⼀条直线上构成。
均匀直线阵:若各单元上的馈电电流⼤⼩相同,⽽相位沿线均匀递增或递减,这样的直线阵称为均匀直线阵。
N元直线阵的阵因⼦函数:
以阵列中第⼀个单元天线作为相位基准:
第⼆个单元天线:辐射场的幅值差异不计,相位差为
则第N个单元天线的相位差为:
N个相似元阵元在p处的辐射场叠加,表⽰为
=E
˙1F (θ,φ)e E ˙0−jβr 1Ψ=α+βd cos δ
(N −1)Ψ=(N −1)(α+βd cos δ)
==F (θ,φ)e 1+e +e +⋯+e E ˙Σk =1∑E ˙k E ˙0−jβr 1[j Ψ′j 2Ψ′j (N −1)Ψ′民革党员什么意思
]1+e +e +⋯+e ==e [j Ψj 2Ψj (N −1)Ψ]1−e j Ψ1−e jN Ψj Ψ2N −1sin (2ψ)sin (2N Ψ)
整理可得远区辐射场表达式为:
4. matlab 程序设计
% matlab 程序设计
clear all ;
close all ;
clc ;
NP =50; %个体数
Pc = 0.8; %选择概率
Pm = 0.05; %变异概率
f =30000000;%信号频率
c =30000000;
lamda = c /f ;%波长
d = lamda /2;%间距
beta = 2*pi /lamda ;%波数
seta0 = 0;%波束⽅向
G = 100;  %最⼤遗传代数
L = 72; %编码数
NL = 16; %阵元数
NN = 1800; %划分刻度
E0 = 1; %电压电流
%%%⽣成初始种
当代教育科学
f = randi (NP ,L );  %产⽣⼀个L *NP 的随机矩阵,正态分布
%初始种的分布
maxE = 100;
for  i = 1:NP
for  j = 1:L
if  f (i ,j )==1
plot (i ,j )
hold on
end
end
end
%%%%遗传算法循环
弾孔
for  k = 1:G
k
%解码,个体实际数
% 计算峰值旁瓣⽐,即适应度
for  i = 1:NP
F (i ) = -MSLL3(d ,beta ,NN ,NL ,seta0,f (i ,:),L ,maxE ); % 取成正的,下⾯⽅便取最⼤值并且处理    end % 取得NP 个个体的旁瓣电平
国际天然气价格maxF = max (F )
=F (θ,φ)e E ˙ΣE ˙0sin (2ψ
)−j βr −φ(2N −1i )
Ψ=α+βd cos δ 是相邻阵元⾄场点的辐射场总相位差  由上式得 N 元均匀直线阵列的阵函数F (δ) 为 F (δ)==sin (2ψ)sin (2N Ψ)sin (α+βd cos δ)[21]sin (α+βd cos δ)[2N ]f (δ)===
sin (2ψ)sin [2N Ψ]Nsin (α+βd cos δ)[21]sin (α+βd cos δ)[2N ]Nsin (2ψ)sin (2N Ψ)
maxF =max(F)
minF =min(F)
rr =find(F == maxF);
fBest =f(rr(1),:);
Fin =(F-minF)/(maxF-minF);%归⼀化
%rr(1,1)
%fBest
%maxFit
%%%基于轮赌盘的选择操作
sum_Fin =sum(Fin);
fitvalue = Fin./sum_Fin;
fitvalue =cumsum(fitvalue);%cumsum(A)返回⼀个和A同⾏同列的矩阵,
%矩阵中第m⾏第n列元素是A中第1⾏到第m
%⾏的所有第n列元素的累加和
ms =sort(rand(NP,1));
fiti =1;
newi =1;
while newi <= NP
if(ms(newi)<fitvalue(fiti))
nf(newi,:)=f(fiti,:);
newi = newi+1;
else
fiti = fiti+1;
库存管理系统
end
end
%概率交叉
for i =1:2:NP
P=rand;
if P<Pc
q =randi(1,L);%⽣成1*L随机矩阵,0或1
for j =1:L
if q(j)==1
temp =nf(i+1,j);
nf(i+1,j)=nf(i,j);
nf(i,j)= temp;
end
end
end
end
%%%概率变异
for m =1:NP
for n =1:L
r =rand(1,1);
if r < Pm
nf(m,n)=~nf(m,n);
end
end
end
f = nf;
f(1,:)= fBest;
trace(k)= maxF;
end
figure
plot(trace)
xlabel('迭代次数')
ylabel('⽬标函数值')
title('适应度进化曲线')
save fBestn.mat fBest
save L.mat L
save E.mat E0

本文发布于:2024-09-21 20:51:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/200296.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:个体   适应度   变异
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议