为什么我不能生成代码的“重新取样”功能使用MATLAB编码器?

12个视图(30天)
我有一个MATLAB函数,使用“重新取样”功能,我想使用MATLAB编码器生成代码,但是当我试图生成代码,我得到以下错误:
错误:? ? ?upfirdn需要DSP系统工具箱。确保它是安装许可证。错误= = > resamp_func: 7列:9代码生成失败
为什么我不能生成代码在MATLAB编码器重新取样吗?

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年8月13日
“重新取样”功能的信号处理工具箱使用“upfirdn”下罩,这需要DSP系统工具箱为代码生成,如前所述链接。因此,DSP系统工具箱需要“重新取样”功能的代码生成。
当重新取样的MATLAB脚本内部,“signal_toolbox”许可证签出(信号处理工具箱)。如果重新取样的代码生成函数,MATLAB还检查出signal_blocks许可证(DSP系统工具箱)。
还应该指出的是,重新取样不接受可变长度的输入和向上/向下采样率(第二/第三论点),必须是常量值或标记为编码器。const如果变量(他们必须在运行时不会改变)。变长输入需要的情况下,一个解决方法是预先分配一个临时矢量大于或等于最大大小在运行时使用,然后第n个元素替换为实际的信号,然后后处理回收适应可变的输出信号的输出。
如果您的代码需要不同的上/下样本率,您可以使用单独的调用切换实例块内部的重新取样。

答案(1)

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!