【发布时间】:2011-05-21 02:00:27
【问题描述】:
我有一个使用双精度的 C 代码。我希望能够在 DSP (TMS320) 上运行代码。但是 DSP 不支持双精度数,只支持定点数。将代码转换为定点的最佳方法是什么?有没有很好的定点数的 C 库(实现为整数)?
【问题讨论】:
-
这是一个相当大的话题。在这个 SO 问题中有一个很好的讨论:stackoverflow.com/questions/79677/…。几乎所有的答案都有一些有用的提示。
-
出于好奇,DSP的编译器是如何表示定点的?作为两个整数?例如,如何将两个定点数相加?
-
它们表示为 32 位值 (
long),并在类型中隐含移位。例如,如果在点 (_iq16) 之后有 16 位,则在基础类型中用整数 65536 表示定点数 1.0。对于相同类型的定点数的加减,您可以使用标准整数运算。乘法需要额外的移位来纠正缩放。
标签: c signal-processing fixed-point texas-instruments beagleboard