【问题标题】:implementation butterworth filter in matlabmatlab中实现巴特沃斯滤波器
【发布时间】:2014-06-18 08:53:12
【问题描述】:

我有一个加速度计 3 轴。

据我们所知,加速度是静态加速度(重力)和动态加速度的总和。

我的目标是提取重力加速度,它会告诉我设备的方向。

我将应用一个巴特沃斯滤波器来提取重力加速度。但我在选择截止频率和滤波器阶数时遇到问题。

T = 0.16 秒; %采样率时间所以 Fs = 1/0.16 ; % 采样率?这是正确的吗?

看了几篇文章,发现cut-off在 0.1 到 0.5 之间变化,这里我选择一个 0.5 (因为我不知道他们是基于他们的选择。

这是我将在 Matlab 中执行以从 3 轴提取重力加速度的程序。

Fc = 0.5 ; %cut-off frequency

 Fs = 6.26 hz (1/0.16) ; % sampling rate order = 4;

[b,a] = butter(order,fc(fs/2),'low');

x = filter (b,a,x0);
y = filter(b,a,y0);

z = filter(b,a,z0);

【问题讨论】:

  • 那么,你没有得到很好的结果吗?你期待什么,你得到什么?扔给我们一块骨头。
  • 感谢您的回复。我坚持选择截止频率,在这里我选择任意截止= 0.5。另一方面,当我规范一个截止频率( fc*(fc/2))时,它在 matlab 中给我一个错误,因为截止频率应该在区间 [0,1]
  • fc*(fc/2) 未标准化。您需要将Fs/2 的任何频率,显然它不能大于Fs/2 是您的奈奎斯特频率,它代表您信号的总带宽。 0.5 的截止频率是归一化频率。实际上,这实际上等于Fs/4。尝试标准化范围内[0.5,1] 之间的值或实际范围内[Fs/4, Fs/2] 之间的值。
  • 非常感谢您的回复。正如我们所说,我在这两个链接中发现 Fc = FS/4(cwc-ae.com/product/kadadc132),and 在其他链接中我发现:如果截止频率小于 Fs/2L(见下文),则滤波器将为低通;否则这将是一个高通。此外,截止频率不能完全是 Fs/2L,并且不能大于 Fs/L,L=2;在我的情况下,计算归一化截止频率 = (Fs/4)/( Fs/2) = 0.5,因为我将使用低通滤波器,我应该像我们所说的那样在 [0.5,1] 之间改变截止值?

标签: matlab filter


【解决方案1】:

您正在做的是,您使用巴特沃斯过滤器“减慢”测量速度。因此,在实践中,您试图摆脱“快速”部分。这在频域中的含义是:您想要一个低通(低频 = 慢信号通过,而高频 = 快信号被过滤掉)。所以我想根据你已经知道的,你应该能够找到一个合理的值。

通常用于估计手头陀螺仪的角度。那你宁愿去卡尔曼滤波,因为这不会给你的测量增加太多的延迟(如果它是时间相关的)。

如前所述,请记住,您正在处理采样数据(奈奎斯特频率是一个自然限制)。

【讨论】:

  • 非常感谢您的回复。这里的问题是我应该只使用加速度计 3D,我知道如果我使用融合传感器并使用互补滤波器会更好,但这是我教授的建议。如果我应用低通巴特沃斯滤波器,它不能给我一个好的结果吗?提前致谢
  • 真的取决于什么是好的。例如,它不能很快。如果您不能相信您的加速度计的快速测量结果会怎样?对过滤器进行补充是一种非常基本的方法,不需要更多的思考:这可以相乘和相加。例如,卡尔曼滤波在某些情况下是最优的!您需要知道的一切都取决于您的应用程序,......所以也许提供更多信息以获得更好的答案。
  • 感谢您的回复。就我而言,我第一次尝试收集加速度数据并对其进行分析以了解我们设备的方向(包含加速度计的传感器标签),我正在从加速度数据中寻找过滤重力。我知道如果我使用加速度计+陀螺仪会更好,但正如我在上一篇文章中所说,这是我教授的建议。
【解决方案2】:

截止频率取决于您想要从噪声信号中提取的感兴趣的信号范围。假设:您在裤兜里使用手机并在活动期间收集原始数据。那么您的截止频率与人类活动的速率直接相关(例如:跑步、步行、慢跑等)。 注意:随着滤波器阶数 N 的增加,实际频率响应接近理想值。 过滤器顺序也将是您要提取分析的信号的一个因素。 有关更多信息,请参阅此出版物: Jayalath.S 基于陀螺仪数据的计步器算法 关联: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6553971&queryText%3DA+gyroscopic+data+based+pedometer+algorithm

【讨论】:

  • 感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 2012-05-09
  • 2017-12-22
  • 2017-04-26
  • 2019-10-09
  • 2020-08-24
相关资源
最近更新 更多