Floating point 定点MATLAB-DSP算法
我有一个关于在MATLAB中为德克萨斯仪器公司TMS320C64xx DSP编码算法的问题: 我已经在MATLAB中实现了一个粗略的过滤器。我的目标是使用MATLAB嵌入式编码器将该算法转换为C语言,然后将其导入CodeComposer Studio并加载到DSP上 要做到这一点,我知道我需要对我的MATLAB代码做一些事情。例如,我需要为矩阵预先分配空间,以便它知道生成矩阵的大小(除非我想处理大小可变的数据)。所有这些将MATLAB代码转换成C’ish代码的信息,以便MATLAB编码器能够将其转换成我或多或少理解的代码。但是,我不知道如何确保我的数据类型(例如,我的过滤器的系数)是定点而不是浮点,以便MATLAB Embedded Coder将我的代码转换为只涉及定点数据类型的C 所以我想我的总体问题是: 1) 如果C64xx被指定为32位定点DSP,这意味着如果我尝试使用浮点数据类型,它的编译器将抛出错误 2) 有没有办法确保MATLAB嵌入式编码器不会创建浮点数据类型 3) 我需要使用MATLAB定点工具箱吗Floating point 定点MATLAB-DSP算法,floating-point,matlab,fixed-point,ti-dsp,Floating Point,Matlab,Fixed Point,Ti Dsp,我有一个关于在MATLAB中为德克萨斯仪器公司TMS320C64xx DSP编码算法的问题: 我已经在MATLAB中实现了一个粗略的过滤器。我的目标是使用MATLAB嵌入式编码器将该算法转换为C语言,然后将其导入CodeComposer Studio并加载到DSP上 要做到这一点,我知道我需要对我的MATLAB代码做一些事情。例如,我需要为矩阵预先分配空间,以便它知道生成矩阵的大小(除非我想处理大小可变的数据)。所有这些将MATLAB代码转换成C’ish代码的信息,以便MATLAB编码器能够将其
谢谢大家,如果还有其他信息需要回答我的问题,请告诉我。我只能回答第一个问题: C64xx是32位定点DSP,但如果使用浮点,编译器不会抱怨。生成的代码运行正常,但速度会慢很多,因为将模拟浮点操作 C64xx DSP还可以执行16位定点和混合32x16位定点。使用的数据类型越小,生成的代码运行速度就越快
嗯 +1。不过有一点吹毛求疵,从32位到16位的运算速度确实快得多,但从16位到8位并不能使它更快。谢谢Nils和Jim。为什么不是吉姆?另外,我意识到您可能无法回答这个问题,但是如果“速度慢得多”会取消实时处理的功能,您知道吗?正如你所知道的,我对DSP这整件事真的很陌生。以前只做过简单的8位微处理器。C64xx有很多定点指令,但它们都采用32位或16位输入(尽管在特殊情况下也有例外)。降到8位很可能不会给你更多的速度。相反,编译器将选择一条16位定点指令。收获不多,但精度损失。啊,明白了。我一直想看一下指令集,但TI的文档太密集了,我还没拿到。这就是你想到吉姆的原因吗?很好,谢谢!如果您有联系方式,我可以联系您,因为我似乎正在使用您使用的工具?@JGord您可以查看我的个人资料以查看我的全名。名字。mathworks.com上的姓是我的电子邮件。我在MathWorks工作,管理定点工具箱。我当然可以帮你解决你的问题。