我有一个关于在MATLAB中为德州仪器TMS320C64xx数字信号处理器编写算法的问题:
我有一个工作草率的实现,我的过滤器在MATLAB。我的目标是使用MATLAB嵌入式编码器将该算法转换为C,然后将其导入并加载到DSP上。
为了做到这一点,我知道我需要对我的MATLAB代码做一些事情。例如,我需要为矩阵预先分配空间,这样它就知道要使它们的大小(除非我想要为可变大小的数据而烦恼)。所有这些把MATLAB代码转换成C‘’ish代码,使MATLAB编码器能够或多或少地将它转换成代码。但是,我不知道如何确保我的数据类型(例如,我的过滤器的系数)是不动点,而不是浮点,这样MATLAB嵌入式编码器将把我的代码转换成C,它只涉及定点数据类型。
所以我想我的主要问题是::
1)如果C64xx被指定为32位定点DSP,这意味着如果我尝试使用浮点数据类型,它的编译器会抛出一个错误?
( 2)是否有办法确保MATLAB嵌入式编码器不创建浮点数据类型?
3)是否需要使用MATLAB不动点工具箱?
谢谢大家,如果还需要更多的信息来回答我的问题,请告诉我。
发布于 2011-06-17 21:00:33
有关此主题的录制的webinar的以下链接应提供关于使用固定点工具箱:http://www.mathworks.com/wbnr38838的过程的良好介绍。
HTH。
发布于 2011-06-13 17:03:51
我只能回答你的第一个问题:
C64xx是32位定点DSP,但如果使用浮点,编译器不会抱怨。生成的代码将运行良好,但速度会慢很多,因为浮点操作将被模拟。
C64xx数字信号处理器还可以实现16位定点和32×16位混合定点。您使用的数据类型越小,结果代码的运行速度就越快。
https://stackoverflow.com/questions/6332292
复制相似问题