主要内容

基于代理的优化设计Six-Element Yagi-Uda天线

这个例子中优化6-element Yagi-Uda天线方向性和50 Ω 输入匹配使用一种称为代理的全局优化技术优化。天线的辐射模式和输入阻抗是敏感的参数定义它们的形状。这种优化的多维表面必须有多个执行当地的最适条件。这使得找到合适的的任务设置的参数满足优化目标特别具有挑战性和需要使用全局优化技术。这Yagi-Uda天线是用于操作作为业余无线电中继站的一部分设置。

设计参数

选择初始设计参数中心的甚高频乐队。

fc = 144.5 e6;wirediameter = 12 e - 3;c = physconst (“光速”);λ= c / fc;Z0 = 50;BW = 0.015 *俱乐部;fmin = fc - 2 * (BW);fmax = fc + 2 * (BW);Nf = 101;频率= linspace (fmin fmax, Nf);

创建Yagi-Uda天线

的驱动元素Yagi-Uda天线是一个偶极子。这是一个标准的励磁机天线。偶极子的长度和宽度参数调整。因为我们模型圆柱结构等价的金属条,宽度计算使用效用函数可以在天线工具箱™。选择长度约 λ / 2 在设计频率。

d =偶极子;d。长度= 0.982 *(λ/ 2);d。宽度= cylinder2strip (wirediameter / 2);d。倾斜= 90;d。TiltAxis =“Y”;

创建一个Yagi-Uda偶极子天线与励磁机。董事的数量设置为4。长度的选择的元素和元素之间的间距是一个最初的猜测和将作为起点的优化过程。显示最初的设计。

Numdirs = 4;refLength = 0.25;dirLength = (0.940 - 0.910 0.850 - 0.830);refSpacing = 0.35;dirSpacing = (0.15 - 0.2 0.3 - 0.3);initialdesign = [refLength refSpacing dirSpacing]。*λ;yagidesign = yagiUda;yagidesign。励磁机= d;yagidesign。NumDirectors = Numdirs; yagidesign.ReflectorLength = refLength; yagidesign.DirectorLength = dirLength; yagidesign.ReflectorSpacing = refSpacing*lambda; yagidesign.DirectorSpacing = dirSpacing*lambda; show(yagidesign)

在设计频率情节辐射模式

执行优化过程之前,情节的辐射模式最初想在3 d。

模式(yagidesign、fc);

这个初始Yagi-Uda天线没有更高的优先方向的方向性,天顶的意义(海拔= 90度),因此设计不良的散热器。

设置优化

使用以下变量作为控制变量的优化:

  • 反射器长度(1变量)

  • 反射器间距(1变量)

  • 导演间距(4变量)

一个向量参数controlVals,设置

  • 反射器长度=controlVals (1)

  • 反射器间距=controlVals (2)

  • 导演间距=controlVals(三6)

而言,controlVals设置一个目标函数,将大的方向性值方向90度,-90度方向的一个较小的值,一个较大的值之间的最大力量海拔波束宽度角范围。除了方向性目标阻抗匹配条件还包括作为一个约束。任何约束违反将会惩罚我们的目标。

类型yagi_objective_function_surrogate.m
函数objectivevalue = yagi_objective_function_surrogate (fc, y, controlVals BW, ang Z0,约束)% YAGI_OBJECTIVE_FUNCTION 6元素返回目标八木% OBJECTIVE_VALUE = % YAGI_OBJECTIVE_FUNCTION (Z0 y, controlVals,频率,ang,约束),分配%合适的寄生维度,controlVals八木天线y, %和使用频率,频率角度,ang、参考阻抗Z0和%计算目标函数值的约束。% YAGI_OBJECTIVE_FUNCTION函数是用于内部的例子。在后续版本%其行为可能会改变,所以它不应该%依靠编程的目的。% 2018年版权MathWorks公司y。ReflectorLength = controlVals (1);y。ReflectorSpacing = controlVals (2);y。DirectorSpacing = controlVals(3:结束);%解压约束Gmin = constraints.Gmin;Gdev = constraints.Gdeviation; FBmin = constraints.FBmin; S11min = constraints.S11min; K = constraints.Penalty; % Calculate antenna port and field parameters output = analyzeAntenna(y,fc,BW,ang,Z0); % Form objective function output1 = output.MaxDirectivity+output.MismatchLoss; % Directivity/Gain at zenith Gain1 = output.MaxDirectivity1+output.MismatchLoss1; % Directivity/Gain at zenith Gain2 = output.MaxDirectivity2+output.MismatchLoss2; % Directivity/Gain at zenith % Gain constraint, e.g. G > 10 c1 = 0; if output1Gdev c1_dev_temp = -Gdev + abs(output1-Gmin); end if abs(Gain1-Gmin)>Gdev c1_dev_temp1 = -Gdev + abs(Gain1-Gmin); end if abs(Gain2-Gmin)>Gdev c1_dev_temp2 = -Gdev + abs(Gain2-Gmin); end c1_dev = (c1_dev_temp+c1_dev_temp1+c1_dev_temp2)/3; % Front to Back Ratio constraint, e.g. F/B > 15 c2 = 0; % if output.FB < FBmin % c2 = FBmin-output.FB; % end c2 = (abs(FBmin-output.FB)+abs(FBmin-output.FB1)+abs(FBmin-output.FB2))/3; % Reflection Coefficient, S11 < -10 c3 = 0; if output.S11 > S11min c3 = -S11min + output.S11; end % Form the objective + constraints objectivevalue = -output1 + max(0,(c1+c1_dev+c2+c3))*K; end function output = analyzeAntenna(ant,fc,BW,ang,Z0) %ANALYZEANTENNA calculate the objective function % OUTPUT = ANALYZEANTENNA(Y,FREQ,BW,ANG,Z0) performs analysis on the % antenna ANT at the frequency, FC, and calculates the directivity at the % angles specified by ANG and the front-to-back ratio. The reflection % coefficient relative to reference impedance Z0, and impedance are % computed over the bandwidth BW around FC. fmin = fc - (BW/2); fmax = fc + (BW/2); Nf = 5; freq = unique([fc,linspace(fmin,fmax,Nf)]); fcIdx = freq==fc; fcIdx1 = freq==fmin; fcIdx2 = freq==fmax; s = sparameters(ant,freq,Z0); Z = impedance(ant,fc); Z1 = impedance(ant,fmin); Z2 = impedance(ant,fmax); az = ang(1,:); el = ang(2,:); Dmax = pattern(ant,fc,az(1),el(1)); Dmax1 = pattern(ant,fmin,az(1),el(1)); Dmax2 = pattern(ant,fmax,az(1),el(1)); Dback = pattern(ant,fc,az(2),el(2)); Dback1 = pattern(ant,fmin,az(2),el(2)); Dback2 = pattern(ant,fmax,az(2),el(2)); % Calculate F/B F_by_B = Dmax-Dback; F_by_B1 = (Dmax1-Dback1); F_by_B2 = (Dmax2-Dback2); % Compute S11 and mismatch loss s11 = rfparam(s,1,1); S11 = max(20*log10(abs(s11))); T = mean(10*log10(1 - (abs(s11)).^2)); T1 = max(10*log10(1 - (abs(s11(fcIdx1))).^2)); T2 = max(10*log10(1 - (abs(s11(fcIdx2))).^2)); % Form the output structure output.MaxDirectivity= Dmax; output.BackLobeLevel = Dback; output.MaxDirectivity1= Dmax1; output.BackLobeLevel1 = Dback1; output.MaxDirectivity2= Dmax2; output.BackLobeLevel2 = Dback2; output.FB = F_by_B; output.FB1 = F_by_B1; output.FB2 = F_by_B2; output.S11 = S11; output.MismatchLoss = T; output.MismatchLoss1 = T1; output.MismatchLoss2 = T2; output.Z = Z; output.Z1 = Z1; output.Z2 = Z2; end

设置界限控制变量。

refLengthBounds = (0.1;%下界在反射器的长度0.6);%上限反射器间距dirLengthBounds = [0.3 0.3 0.3 0.3;%下界导演长度0.7 0.7 0.7 0.7);%上限主任长度refSpacingBounds = (0.25;%下界反射器间距0.65);%上限反射器间距dirSpacingBounds = [0.01 0.1 0.1 0.1;%下界导演间距0.2 0.25 0.3 - 0.30.2 0.25 0.35 0.35);%上限导演间距exciterLengthBounds = (0.45;%下界励磁机的长度0.6);%上限励磁机的长度exciterSpacingBounds = [04;.008];磅= [refLengthBounds (1) refSpacingBounds (1) dirSpacingBounds(: 1)]。*λ;乌兰巴托= [refLengthBounds (2) refSpacingBounds (2) dirSpacingBounds(2:)]。*λ;parameterBounds。磅=磅;parameterBounds。乌兰巴托=乌兰巴托;ang = [0 0; 90 -90];%方位,高度角为主要叶和叶(az; el)

基于代理的优化

全局优化工具箱™提供了一个基于代理的优化函数代理。我们使用这个函数与指定的选项optimoptions函数。在每个迭代中,情节的最佳值目标函数和限制的迭代的数量到300年。通过目标函数替代函数通过使用一个匿名函数的范围和选择结构。在优化过程中目标函数使用代理可用的文件yagi_objective_function

%优化器选择优化器=“代孕”;如果strcmpi(优化器,“PatternSearch”)optimizerparams = optimoptions (@patternsearch);optimizerparams。UseCompletePoll = true;optimizerparams。PlotFcns = @psplotbestf;optimizerparams。UseParallel = true;optimizerparams。缓存=“上”;optimizerparams。MaxFunctionEvaluations = 1200;optimizerparams。FunctionTolerance = 1飞行;elseifstrcmpi(优化器,“代孕”)optimizerparams = optimoptions (@surrogateopt);optimizerparams。UseParallel = true;optimizerparams。MaxFunctionEvaluations = 600;optimizerparams。MinSurrogatePoints = 12;optimizerparams。InitialPoints = initialdesign;其他的错误(优化器不支持的万博1manbetx);结束%天线设计参数designparams。天线= yagidesign;designparams。边界= parameterBounds;%分析参数analysisparams。CenterFrequency = fc;analysisparams。带宽= BW;analysisparams。ReferenceImpedance = Z0;analysisparams。MainLobeDirection = ang (: 1);analysisparams。BackLobeDirection =盎(:,2);%设置限制约束。S11min = -15;约束。Gmin = 10;约束。Gdeviation = 0.1;约束。FBmin = 20;约束。点球= 75;poolobj =质量;
开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。
optimdesign = optimizeAntennaSurrogate (designparams, analysisparams、约束optimizerparams);

surrogateopt停止,因为它超过了设定的评价函数极限“options.MaxFunctionEvaluations”。

情节优化模式

在设计频率优化天线模式。

yagidesign。ReflectorLength = optimdesign (1);yagidesign。ReflectorSpacing = optimdesign (2);yagidesign。DirectorSpacing = optimdesign(三6);模式(yagidesign fc)

E和h面削减的模式

获得更好的洞察行为在两个正交平面,情节规范化的电场E级和H-planes,即方位分别= 0和90度。使天线指标极地模式情节建立方向性在天顶,前后的比率,在E和H-planes波束宽度。

傅= fc + BW / 2;fL = fc-BW / 2;图;patternElevation (yagidesign fc 0,“高度”,0:1:359);pE = polarpattern (“gco”);DE_fL = patternElevation (yagidesign fL 0,“高度”,0:1:359);DE_fU = patternElevation (yagidesign赋0,“高度”,0:1:359);添加(pE、[DE_fL DE_fU])体育。MagnitudeLim = 15 [-20];体育。TitleTop =“E-plane方向性(dBi)”;体育。LegendLabels = {[num2str (fc. / 1 e6),“兆赫”]、[num2str(液体/ 1 e6),“兆赫”]、[num2str (fU. / 1 e6),“兆赫”]};

图;patternElevation (yagidesign fc 90,“高度”,0:1:359);pH = polarpattern (“gco”);90年,佛罗里达州DH_fL = patternElevation (yagidesign的“高度”,0:1:359);90年DH_fU =模式(yagidesign,傅,“高度”,0:1:359);add (pH值[DH_fL DH_fU]) pH.MagnitudeLim = 15 [-20];pH.TitleTop =“h面方向(dBi) ';pH.LegendLabels = {[num2str (fc. / 1 e6),“兆赫”]、[num2str(液体/ 1 e6),“兆赫”]、[num2str (fU. / 1 e6),“兆赫”]};

优化设计显示了显著改善辐射模式。有更高的方向性在所需的方向天顶。叶小,导致一个好的比例这个天线。

输入优化天线的反射系数

的输入反射系数优化Yagi-Uda天线相对于参考阻抗的计算和绘制 5 0 Ω 。值为-10分贝或降低被认为是良好的阻抗匹配。

s = sparameters (yagidesign,频率,Z0);图;rfplot(年代);

制表初始和优化设计

汇总的初始设计的猜测和最终的优化设计值。

yagiparam = {反射器长度的;“反射器间距”;“导演间距- 1”;“导演间距- 2”;“导演间距- 3”;“导演间距- 4”};initialdesign = initialdesign ';optimdesign = optimdesign ';Tgeometry =表(initialdesign optimdesign,“RowNames”yagiparam)
Tgeometry =6×2表initialdesign optimdesign _________________ ___________反射器长度0.51867 - 1.1327反射器间距0.72614 - 0.87689间距0.3112 - 0.20547 - 1导演间距- 2 0.41494 - 0.4871间距0.62241 - 0.66081 - 3导演间距0.62241 - 0.72399 - 4

制作的天线

八木天线优化设计也是伪造的。真正的八木天线需要一个支持元素沿着纵轴传授机万博1manbetx械刚度。这通常支持万博1manbetx元素称为繁荣和制造的非金属材料。在这种情况下pVC管材被用于制造繁荣。注意,这种繁荣的影响没有天线的建模工具箱yagiUda元素。另一种技术分析的输入匹配计算和绘制电压驻波比(电压驻波比)。计算和预测电压驻波比的优化设计的阴谋。制作天线的电压驻波比测量使用SWR计。这个数据是保存在CSV文件。覆盖的测量结果分析。

vswr_measured = csvread (“SWR_Values_Sep_15.csv”1 0);图电压驻波比(yagidesign,频率,Z0)情节(vswr_measured (: 1) vswr_measured (:, 2),“k -”。)传说(“分析”,“测量”)标题(在分析电压驻波比的比较——不同轴电缆的)ylabel (“级”)

同轴电缆的影响模型

同轴电缆连接到的八木天线是一个RG-58 / U特性阻抗为50 Ω 。创建一个模型使用射频同轴电缆的工具箱。

out_radius = 3.51 e - 3;in_radius = 0.91 e - 3;eps_r = 2.95;line_length = 5.05 *λ;coax_cable = rfckt.coaxial;coax_cable。OuterRadius = out_radius;coax_cable。InnerRadius = in_radius;coax_cable。EpsilonR = eps_r; coax_cable.LossTangent = 2e-4; coax_cable.LineLength = line_length;

分析了同轴电缆用于操作的频率范围和使用八木天线的阻抗负载。计算的输入电压驻波比同轴电缆和八木天线。

Zyagi =阻抗(yagidesign、频率);分析(coax_cable频率,Zyagi);图线=情节(coax_cable,“VSWRin”,“没有”);线。线宽= 2;持有情节(vswr_measured (: 1) vswr_measured (:, 2),“k -”。)传说(“分析”,“测量”)标题(“与同轴电缆电压驻波比比较模式”)

分析电压驻波比曲线的诱导和八木天线组合优于测量数据。

优化设计的结果优于捏造的天线。将使用这个天线作为中继站的一部分操作在145 MHz。

图yagidesign。倾斜= 90;yagidesign。TiltAxis =[0 1 0]; show(yagidesign)

% %

另请参阅