3.2 接口fit_CST
在JSOP中,每进行完一次仿真,仿真结果就会保存到JSOP/interface/rtdata.txt中,接着JSOP根据函数文件JSOP/interface/fit_CST.m从rtdata.txt中提取个体的适应度值,提取完毕后将rtdata.txt清空,以便存放下一次仿真的结果。
fit_CST.m的代码如下
function y=fit_CST(rtdata_route)
end
函数fit_CST有一个参数rtdata_route,用于存放rtdata.txt的路径,该参数由程序自动赋值,无需用户修改。该函数的函数体默认是空的,用户需自行编写函数体的代码,实现从rtdata_route读取仿真结果,再从仿真结果中提取所需的适应度值的功能。
打开JSOP/interface/fit_CST.m,我们看到本例的代码。
function y=fit_CST(rtdata_route)
data=Ku_Extract_Sxx_from_S(rtdata_route,'S1,1');
y=-1*Ku_Cal_bandwidth(data,1,10,-10);
end
在本例中,我们通过一个自定义函数Ku_Extract_Sxx_from_S从rtdata.txt中提取S11,再通过另一个自定义函数Ku_Cal_bandwidth从S11中提取1-10GHz的-10dB带宽。在Ku_Cal_bandwidth前乘以-1是由于JSOP默认寻找适应度函数的最小值,而在本例中我们是寻找带宽的最大值,因此要乘以-1来进行转换。
上文所提到的自定义函数均存放在文件夹custom中(见1.2),其中每个自定义函数的具体用法后续会专门介绍。
总结:在本节中,我们通过编写fit_CST.m,从rtdata.txt读取仿真结果并提取-10dB带宽作为适应度值。