有可能实时去相关加速度计数据吗?如果有,是怎么做到的?
背景:我的应用程序是实时接收(X,Y,Z)加速度计数据(采样率为6.75Hz)。传感器以周期性运动移动,但运动不一定只沿着一个轴。因此,3个信号x(t),y(t)和z(t)稍微相关,我想知道我是否能找到一个旋转矩阵(实时),该矩阵可用于将测量到的(x,y,z)旋转成一个新的向量(x*,y*,z*),以便整个运动沿着z轴?
我想在C中实现算法。谢谢。
您尝试执行的操作通常称为“主成分分析”。维基百科的文章非常好:
https://en.wikipedia.org/wiki/Principal_component_analysis
对于静态数据,通常使用协方差矩阵的特征向量作为新的坐标基础。
实时PCA是可行的,但并不容易。例如,见:http://www . bio-conferences . org/articles/bio conf/pdf/2011/01/bio conf _ skills _ 00055 . pdf
我想首先强调的是,马特·蒂默曼斯(Matt Timmermans)的回答准确地反映了人们在对临床研究中的加速计数据进行分类时的实际情况(这是我参与的一个项目)。
然后:您正在观察采样信号。一般来说,如果您有一个传感器以6.75Hz的频率提供采样,那么您可以检测到的信号的最高频率为6.75Hz/2=3.375Hz。任何频率高于该频率的东西都会被固有地锯齿化,看起来像是频率f为0的东西
现在,你的情况稍微简单一点,因为你很清楚你的整个观察将是周期性的,它是沿着三个正交轴测量的。
在这种情况下,只需同时进行三次离散傅里叶变换,提取所有三个通道上的“最强”频谱成分,并在另外两个通道中找到该频谱成分的相位(这只是该DFT频段的复变元),就可以映射到3D空间中围绕特定轴的周期性运动。如果你想,删除这些值(设置箱为0),并再次搜索最强的成分等。
离散余弦变换现在可以以惊人的速度进行。使用6.75Hz,当您在收到更多样本时尝试此功能时,世界上没有任何PC会遇到麻烦。这是一个可笑的低采样率。
另一个更优雅的方法是使用参数估计器(读:你需要更少的样本来计算这个)。在你的例子中,一个来自射频技术世界的带有多个天线的到达方向传感器,据我所知,可以直接映射到旋转轴的检测。这里的经典算法是MUSIC和ESPRIT,对于你的例子(有限的已知数量的振荡部件),ESPRIT可能是更好的选择。