【发布时间】:2013-01-22 04:35:35
【问题描述】:
我正在使用 Libgdx 库对 Android 应用中的加速度计信号进行 FFT。
我需要对信号进行归一化,因为我找到了两个信号的点积,我想要它的最大值 1。
“标准化”是指信号的欧几里得范数为1。 (欧几里得范数是向量模拟分量乘积之和的平方根。当我找到它的值时,为了归一化信号,我将向量的所有分量除以范数)。
点积在频谱中,所以如果我在时域对信号进行归一化,频谱表示不是欧几里德归一化,那么我将再次进行欧几里得归一化。 (我已经考虑在 FFT 之后按 1/N 比例因子进行归一化,我认为这可能不会影响我的问题)。
如果我在 FFT 之前和之后进行欧几里得归一化,或者我只在 FFT 之后进行,有什么区别?
编辑 1:还要考虑 Libgdx 库中的 FFT 是复杂 DFT,并且我输入的实信号比输出信号对于 0 到 (N/2)-1 和 N/2 到 N 是对称的。 如果我不应用任何窗口(如 Hamming 窗口),我会验证 Parseval 定理是否得到验证。 那么,如果我使用 0 到 N/2-1 个信号分量,我会得到 0 到 1 之间的点积吗?
【问题讨论】:
-
请考虑在dsp.stackexchange.com 中提出这个问题...有很多人在信号处理领域工作
-
1.傅里叶变换是线性的和 2. parseval 定理。
-
请注意,一些 FFT 实现应用了 1/N 的比例因子,一些 1/sqrt(N) 和一些 1.0(在 IFFT 上应用了 1/N)。此信息可能在您的库的文档中。
-
@hotpaw2,哦,对了,1/N 可能已经存在了……
-
我不知道 dsp.stackexchange.com,我会考虑在那里发布我的问题。同时,我验证我的库具有 1/N 标准化因子。
标签: android signal-processing fft normalization libgdx