所以我正在为我的DSP设计流程,其中滤波算法首先在MATLAB中建模,然后使用MATLAB编码器转换为实际DSP硬件的C / C ++。我觉得很基本。
所以我的计划是编写自己的C main函数,它从ADC寄存器等获取输入,然后在我的main函数中调用生成的过滤器函数。然后,我将在TI的CodeComposerStudio中的项目的源文件中包含filter.c和filter.h。
我使用简单的MATLAB函数测试了设计流程,该函数只需要两个数字并将它们相乘。现在,在该函数上运行codegen的结果是疯狂的。创建了大约20个文件。所以,当我将源文件添加到我的CCS项目时,实际上我必须添加每个库吗?在我看来,这段代码不可能有效吗?
我是否遗漏了一些允许MATLAB生成简单的一个头一个源实现的东西?生成的代码实际上是否有效?有没有人真正有使用MATLAB Coder实时DSP的经验?
感谢。
编辑:我添加到我的CCS项目的唯一文件是.c和MATLAB生成的相关.h文件。这不应该是一个非常简单的链接过程吗?无论如何我可以通过MATLAB生成一个有助于这个过程的makefile吗?
答案 0 :(得分:3)
MATLAB的代码生成利用了他们广泛,实施良好的库。就开发时间而言,这可以为您创造很多效率。但是,MATLAB的预期用例是用于桌面开发。如果您链接到提供的matlab库,TI CCS构建链可能不会充分利用这些库,如果它甚至可以链接。
我和CCS合作很多,你将用各种暗示编曲和矢量化函数手工重新编码重要的部分。 MATLAB无法帮助你,DSP是一个与MATLAB正常目标截然不同的野兽。它似乎也是一个干净的框架开始的方式。我的建议是从头开始使用CCS,并使用matlab实现进行测试验证。