jan*_*nce 3 c audio signal-processing jack
我和杰克一起玩,我注意到默认音频类型JACK_DEFAULT_AUDIO_TYPE设置为"32位浮点单声道音频".
我有点困惑:IEEE定义32位C浮点范围大约从3.4E-38到3.4E + 38,我想知道jack_default_audio_sample_t该音频类型可以容纳的最大和最小"未失真"幅度是多少.例如,如果某些DSP算法给出了[0,1]范围内的样本,我怎样才能正确地在它们和Jack的格式之间进行转换?
在浮点进行信号处理操作非常常见,然后在将结果发送到ADC之前将结果缩放并转换为16位或24位整数.例如,在浮点中实现IIR滤波器意味着您可以降低对系数量化的灵敏度.或者,如果您正在进行FFT,则可以通过浮点计算获得更大的动态范围.
通常的转换方式是x_float = x_int * (1.0/SHRT_MAX)在数据从ADC进入y_int = y_float * SHRT_MAX时,以及在发送到DAC时,用于16位编解码器.对于24位编解码器,您需要定义ADC_MAX = (1 << 24) - 1.
在使用JACK的情况下,我想框架会为您处理这种转换,因此您应该看到+/- 1范围内的浮点值,并将其返回到相同范围内的值.
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |