如何将float转换为int而不丢失信息?

时间:2017-04-04 20:24:40

标签: arduino signal-processing

我目前正在研究Arduino上基于音频的项目。接收的输入(通过ADC)是double型,我必须对数据执行一些数学运算。然后我需要输出音频。然而,问题是PWM输出寄存器(基于AVR)接受整数。

因此,有没有办法将此float转换为int而不会丢失数据?

1 个答案:

答案 0 :(得分:0)

泛型到int转换几乎总是会丢失信息,除非输入被量化,输入的最大动态范围和所有后续算术运算的结果被限制为2 ^ n,对于某些n小于你的大小整数。

请注意,量化噪声的噪声整形(滤波抖动)可能有助于减少一些信息丢失,具体取决于信号输入。