频域中的归一化互相关

信息处理 傅里叶变换 互相关 频域
2022-01-30 14:56:34

我以前从未使用过信号处理,也从未真正使用过傅立叶变换,但我仍在从事一个项目,该项目包括获取加速度计的输出来检测触摸表面之间的一些运动特征。使用输出帧,我计算 FFT。在分析了多个实验的数据之后,使用高斯函数来隔离频带并使用它来对特征进行分类似乎是有意义的。

但是,如果我更改正在使用的传感器、采样率或帧大小,那效果并不好。因此,我想计算归一化的互相关。问题是:我找不到在频域中计算 NCC 的算法,也没有弄清楚如何将转换后的高斯变换到时域。

例如,我有一个从 - F /2 到F /2 和L个样本的频谱。我将其转换为从 0 到F /2 的L /2+1 频率区间,并使用具有标准偏差s并以c为中心的高斯定义了一个频带 为了获得频谱和高斯之间的互相关,我只需将它们按元素相乘求和。现在,如果我想要标准化,我该怎么办?有没有办法直接从频域对其进行归一化?

1个回答

我在思考它背后的数学并得出结论,在频域中计算 NCC 与在时域中的过程基本相同:

F[k]是我的样本的(离散)傅里叶变换,是频域中的高斯曲线。互相关是 然后,为了得到归一化的互相关,我们首先对向量进行归一化, 就像对任何向量一样: 因此,归一化互相关应该是归一化向量的点积: G[k]

CC=k=0L1F[k]G[k]
FG
v^=v|v|=vk=0L1v2[k]
F^G^
NCC=k=0L1F[k]G[k]k=0L1F2[k]k=0L1G2[k]