我有2个数组,每个数组包含800000个输入和输出数据样本。该系统在一种工作在0到10伏之间的烤箱中。采样时间为0.001s。
我必须识别这个系统的模型,但首先,考虑到数据显然是脏的,我想要过滤噪声。
如何使用Matlab的系统识别工具箱执行此操作?此外,我如何估计去除噪声的截止频率?
提前谢谢你。
PS:考虑到这有点离题,请把你的答案张贴到here谢谢。
发布于 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()函数)。
发布于 2013-03-22 19:16:07
在最简单的情况下,噪声被建模为白高斯分布。如果估计噪声能量,可以通过调用
noise = A*randn(1,N); 这里,A是振幅,N是样本计数。然后,只需将该信号的fft从输入信号的fft中减去,并进行逆fft (ifft)
https://stackoverflow.com/questions/15567849
复制相似问题