首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matlab中对数据进行滤波以消除噪声?

如何在matlab中对数据进行滤波以消除噪声?
EN

Stack Overflow用户
提问于 2013-03-22 18:17:17
回答 2查看 2.2K关注 0票数 0

我有2个数组,每个数组包含800000个输入和输出数据样本。该系统在一种工作在0到10伏之间的烤箱中。采样时间为0.001s。

我必须识别这个系统的模型,但首先,考虑到数据显然是脏的,我想要过滤噪声。

如何使用Matlab的系统识别工具箱执行此操作?此外,我如何估计去除噪声的截止频率?

提前谢谢你。

PS:考虑到这有点离题,请把你的答案张贴到here谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-03-22 18:25:04

截止频率由采样时间或采样频率直接给出。您的采样频率是1/(采样时间),并且必须至少是感兴趣的最高频率的2倍:http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem

f_s = 1/T_s >= 2*f_cutOff

然后,在采样频率确实足够高的情况下,可以简单地进行相同的频域处理。最简单的方法是查看频域(使用fft()函数)。并首先检查您有高噪声组件的地方。然后过滤掉这些分量(调零),然后将其转换回时域(使用ifft()函数)。

票数 0
EN

Stack Overflow用户

发布于 2013-03-22 19:16:07

在最简单的情况下,噪声被建模为白高斯分布。如果估计噪声能量,可以通过调用

代码语言:javascript
复制
noise = A*randn(1,N); 

这里,A是振幅,N是样本计数。然后,只需将该信号的fft从输入信号的fft中减去,并进行逆fft (ifft)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15567849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档