我希望你能帮我确认一些基本的DSP步骤。我正在实现一些智能手机加速度计传感器信号处理软件,但我之前没有从事过DSP。
我的程序以32Hz的实时频率收集加速度计数据。输出应该是信号的主要频率。
我的具体问题是:
我从实时流中收集了一个256个样本的窗口,重叠率为50%,这是我在文献中读到的。也就是说,我每次添加128个样本来填充256个样本的窗口。这种方法正确吗?
下面的第一张图显示了一个256个样本的窗口。第二张图显示了我应用Hann/Hamming 窗口函数后的样本窗口。我读到应用窗口函数是一种典型方法,所以我就这么做了。我应该这么做吗?
第三个窗口显示了FFT库输出的功率谱(?)。我真的在拼凑我读过的东西。我的理解是否正确,即频谱上限为采样率的1/2(在这种情况下为16 Hz,因为我的采样率为32 Hz),每个频谱点的值为spectrum[i] = sqrt(real[i]^2 + imaginary[i]^2)?这是正确的吗?
假设我在问题3中所做的是正确的,那么我的理解正确吗,第三个图显示了大约3.25 Hz和8.25 Hz的主要频率?我知道从收集数据中,我运行的频率约为3 Hz,因此在3.25 Hz处的尖峰似乎是正确的。因此,必须有一些噪声或其他因素导致(错误的)8.25 Hz处的尖峰。是否有任何过滤器或其他方法可用于平滑掉此类尖峰和其他尖峰?如果没有,是否有办法确定真正的尖峰和错误的尖峰?