我对 SMA 感到困惑。我正在阅读一篇论文,其中指出“SMA 是滤波后加速度信号之和的平方根”。所以我知道它是
我查看了参考论文,上面写着“SMA是在将加速度曲线下的面积除以时间间隔后计算出来的”。所以,这是某种平均值,看起来就像这个StackOverflow问题上的内容。
维基百科的文章太新了,我不确定它是否可靠。
最后,究竟什么是SMA,因为我在网上找不到合适的定义?
我对 SMA 感到困惑。我正在阅读一篇论文,其中指出“SMA 是滤波后加速度信号之和的平方根”。所以我知道它是
我查看了参考论文,上面写着“SMA是在将加速度曲线下的面积除以时间间隔后计算出来的”。所以,这是某种平均值,看起来就像这个StackOverflow问题上的内容。
维基百科的文章太新了,我不确定它是否可靠。
最后,究竟什么是SMA,因为我在网上找不到合适的定义?
由于以下文章,我找到了正确的定义: http ://www.rehab.research.va.gov/jour/2013/509/jrrd-2012-12-0233.html
这就是我编辑维基百科的内容:
(不是因为文本搜索,而是图像搜索。算法有时令人惊讶)
对于三维离散信号(可能是采样的三轴加速度计),计算 SMA 的算法是:
//Signal magnitude area
public double sma(double[] x, double[] y, double[] z){
double sum = 0;
for(int i=0; i<x.length; i++)
sum += (Math.abs(x[i]) + Math.abs(y[i]) + Math.abs(z[i]));
return sum /x.length;
}
wheremean()是一个计算数组平均值的函数,我们假设数组具有相同的长度。
编辑:我从这里的定义开始创建了这个函数https://en.wikipedia.org/wiki/Signal_magnitude_area