编码器。当编译TwinCat目标偏心不工作
5视图(30天)
显示旧的评论
你好,
我工作在一个情况下我把仿真软件生成的代码到嵌入式PC。万博1manbetx我的模型在仿真软件工作正常,但是当我试图为我的万博1manbetx嵌入式控制器生成代码,它失败了。下面的错误消息。
_
未能消除调用MATLAB函数“黄油”。non-simulation构建,电话不支持的MATLAB函数消除如果他们不万博1manbetx影响功能。函数“filter1 / MATLAB函数”(# 34.92.133),第6行,列1:“[a, b] =黄油(w (x, y) / (z / 2),“带通”)”
我发现真正的问题是,coder.extrinsic(“黄油”)是不允许外部编译器。但是我真的需要一种方法来创建一个巴特沃斯滤波器在matlab函数块。因为我的系统需要有适应带宽的滤波器。有没有人知道一个可能的解决方案?
函数[a, b] = fcn (w x, y, z)
(11)= 0 (1);
b = 0 (1 (11));
coder.extrinsic (“黄油”);
[a, b] =黄油(w (x, y) / (z / 2),“带通”);
0评论
接受的答案
汤姆·布莱恩
2014年3月17日
如果你离开了coder.extrinsic(黄油)命令,那么它将为嵌入式处理器生成代码。但是,在这种情况下,黄油()命令需要持续的投入。
可以创建一个表可以索引到的常系数值的函数离散w, x, y, z值。这是一个可行的选择吗?
答案(1)
Kaustubha Govind
2014年3月13日
你可以实现的功能在C语言中,或找到一个这样做的第三方库,称之为在MATLAB代码中使用
coder.ceval
。
1评论
Ketan
2014年3月15日
这里有一些其他的选择:
——在MATLAB中实现自己理想的滤波器系数的计算和调用这个代码在您的功能块
——试图利用一些更高级的过滤功能的DSP系统工具箱: