【发布时间】:2013-08-17 03:51:56
【问题描述】:
我是 MATLAB 和信号分析的完全初学者,所以我并不真正了解信号滤波背后的傅立叶数学。我带着我的 Ipod Touch 并使用了一个将加速度计数据(以 50Hz 采样率)记录到 CSV 的应用程序,并将该 CSV 数据加载到 matlab 中。我现在正在尝试对信号应用低通滤波器,以消除加速度小变化时产生的噪声(所以我只剩下加速度的大信号)。
我今天在 matlab 中阅读了一堆关于信号过滤的信息,并且我拥有信号处理工具箱,但我仍然对某些变量的含义感到非常困惑。例如函数filter(b,a,data)不断出现,我知道a和b是系数向量,但我不知道这些如何影响滤波器或如何根据我对信号的了解创建这些值/我想用它做什么。
如果我没有很强的傅里叶分析背景,我应该去哪里学习信号处理的基础知识?我应该如何在matlab中创建我的低通滤波器?谢谢!
Here is the sample data I am working with.
我尝试根据 matlab 中有关低通滤波器的其他一些 stackexchange 帖子制作 a=[1 -0.9] b=1 ,它似乎做了一些事情,但它似乎也将我的信号放大了 3 倍。通过应用具有这些值的过滤器,我到底做了什么?
【问题讨论】:
-
你所做的代码示例会有用。
-
就是这样。我现在一直在做 filtfilt(b,a,data) 或 filter(b,a,data) 之类的事情,其中数据是数据的向量。我真的不知道这会如何改变过滤器或者是什么使它低/高通。
-
您可以检查如何创建例如高斯滤波器here。也许这会有所帮助。
标签: matlab filtering signal-processing lowpass-filter