This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在使用 FFT 算法。 以实现雷达信号处理的2D-FFT。
使用了单独的 int (16位)格式、但我无法从给定的文档中找到 Q 格式。
我需要一些帮助。
非常感谢。
您好奔驰、
输入数据为16位有符号整数。 您 可以分别使用 FFT_TI_InArgs->windowingScaleFactor 和 FFT_TI_InArgs->scaleFactors 来控制窗口系数和 Twiddle 因子的 Q 格式。[] 这些参数分别在窗口化之后和 FFT 的每个阶段应用舍入操作((x +(1<<(n-1)>> n))。 就像一个示例、如果您的 Twiddle 因子采用 Q15格式、那么您可以提供 FFT_TI_InArgs->scaleFactor[]= 15以获得正确的结果。 需要注意的是、我们应该确保 FFT 的每个级的输出在15位以内。 这是必需的、因此、由于 FFT 每个阶段的位增长、"除数因子"的乘法不会溢出。 您必须选择这些换算系数来处理 Q 格式和缩放、从而将每个级的输出限制在15位以内。
此致、
安州
您好奔驰、
正如我在实施中的第二个答案中提到的、Twiddle 因子始终以 Q15格式存储。 因此,即使您将 FFT_TI_InArgs->scaleFactors 指定为0,输出仍将向下移动15 (因为 Twiddle 因子的 Q15格式)。 在我们的实现中,将标量因子的默认值选为2 ,该值在内部转换为17 (15+2)的下移。 对于基于基数4的 FFT 实现、每个阶段输出可增加2位、因此如果我们在每个阶段下调2位、我们将确保下一个阶段不会溢出。
此致、
安州