如何实现一个高/低通滤波器对加速度计数据。

49视图(30天)
你好所有的,
我已经收集的数据从一个加速度计和阅读,试图理解过去的帖子现在几个小时但是我不相信我足够了解信号处理妥善implment我需要的过滤器。对于我的加速度计,我将输出数据率设置为50赫兹的带宽将25 hz和采样10赫兹(10次/秒)占奈奎斯特。
我的数据是非常吵,我想提取频率,基于类似的研究在这个领域应该是0.1 - 1 hz范围之间。还从我读过的研究论文,似乎先前的研究要么使用巴特沃斯高通滤波器和低通滤波器。
我实现了一个FFT首先但是我不太清楚如何辨别和accuratley应用过滤信号在所需的范围内通过获得一个过滤数据集。下面我将提供一个形象和代码(不确定是否正确)。
我会很感激,如果有人将我如何实现过滤数据集所以我可以清楚地辨别的峰值频率数据,过滤数据集前进牌汽车。我很业余的信号处理和Matlab !谢谢你,我真的想理解它。
X = readmatrix (“30 min.csv”);
%的阴谋(X)
Y = fft (X);
L = 133361;%的长度矩阵
Fs = 10;%采样频率(赫兹)
P2 = abs (Y / L);
P1, P2 (1: L / 2 + 1);
P1 (2: end-1) = 2 * P1 (2: end-1);
f = f * (0: (L / 2)) / L;
情节(f, P1)
标题(“单面振幅谱的X (t)”)
包含(“f (Hz)”)
ylabel (“| P1 (f) |”)

答案(1)

明星黾
明星黾 2022年9月28日
对于我的加速度计,我将输出数据率设置为50赫兹的带宽将25 hz和采样10赫兹(10次/秒)占奈奎斯特。
让我解释这是困难的。如果采样频率 50 赫兹,奈奎斯特频率 25 赫兹,所以它应该是相对简单的过滤信号的范围 0.1 赫兹, 1 赫兹。
信号似乎宽带噪声。最简单的方法来消除与Savitzky-Golay过滤器( sgolayfilt 函数)因为一个频率选择过滤器将passd噪声以及信号的通频带。使用 带通 , 高通滤波 低通滤波器 其他过滤功能,并指定 “ImpulseResponse”、“信息检索” ,等待最好的结果。这些功能将设计一个非常有效的椭圆滤波器。
4评论
明星黾
明星黾 2022年9月29日
Savitzky-Golay过滤器似乎减少了噪音,以及信号的能量。
如果你想过滤之间的信号 0.01 赫兹和 2 赫兹,使用 带通 函数来代替。语法几乎是一样的。
我没有数据,所以有一种方法可以确定采样时间间隔一般是:
Tsmean =意味着(diff (t))
Tsstd - std (diff (t))
“Tsmean” 值将被平均采样间隔(采样频率的倒数,所以理想 0.1 在这里), “Tsstd” 采样间隔的标准差。应该的 表明定期采样间隔。如果它的顺序 例如,数据需要重新取样(使用我之前发布的链接)一个常数采样间隔为了让数字过滤器正常工作。
文档没有指定的原因 “framelen” 需要奇数。我 怀疑 所以它是对称的关于一个特定的值,该值对应的输出。我没有探索其背后的理论,或者阅读参考。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!