麻烦codegen定制天线模式
8视图(30天)
显示旧的评论
你好,
我试图使用codegen定制天线模式,基本上这个,
模式= phased.CustomAntennaElement (“AzimuthAngles”、x.azim ElevationAngles, x。海拔高度,……
“MagnitudePattern”(x.pat_azEl) PhasePattern, 45 *的(大小(x.pat_azEl)));
但我得到以下错误消息:
”? ? ?表达式不能被简化为一个常数。”,指出CustomAntennaElement的第1014行。m函数时设置阶段。
Matlab编码器不支持定制天线功能吗?万博1manbetx有人能给我一些建议吗?
答案(1)
宏磊陈
2021年5月7日
我不知道x是如何形成的,但这里有一个例子可以看一看,生成代码。主要的思想是推动模式计算到一个单独的功能和使用编码器。外在首先计算然后另存为一个常数。
主要功能是这样的
函数模式= phasedArrayWrapper ()
coder.extrinsic (“getPattern”);
AzimuthAngles = 180:180;
ElevationAngles = 90:90;
MagnitudePattern = coder.const (getPattern (AzimuthAngles ElevationAngles));
phasepattern = 0(大小(MagnitudePattern));
蚂蚁= phased.CustomAntennaElement (“AzimuthAngles”AzimuthAngles,“ElevationAngles”ElevationAngles,…
“MagnitudePattern”MagnitudePattern,“PhasePattern”,phasepattern);
模式= ant (3 e8, (0, 0));
结束
支持函数万博1manbetx,它需要在路径,下面的样子
函数帕特= getPattern (AzimuthAngles ElevationAngles)
帕特= mag2db (repmat (cosd (ElevationAngles)”,…
1,元素个数(AzimuthAngles)));
结束
codegen命令如下所示
> > codegen phasedArrayWrapper
代码生成成功。
HTH