Review for removing periodics我有一个数据集,其中包含7 7的每小时风速数据。我正在尝试对数据实施预测模型,审查文件指出,修剪数据中的昼夜,每周,每月和每年模式可以显着提高估算准确性。然后,他们遵循使用傅立叶级数来移除图像中所示的周期性成分。关于如何在matlab中对此进行建模的任何想法?
答案 0 :(得分:0)
恐怕这个话题没有“紧急”解释。您需要的是各个频率的滤波器和一定数量的谐波。您可以使用fft或直接使用IIR / FIR公式实现此类过滤器。
FFT比IIR / FIR实现更快,但需要关注窗口功能。即使你进行“连续”DFT,你也会有一个窗函数(如指数或高斯)。窗口函数确定带宽。窗口越宽,带宽越小。使用IIR / FIR滤波器,带宽在递归参数中编码。
要抑制单个频率(如24小时天气信号),您需要notch-filter。这也需要您指定带宽,如链接文章中所示。带宽越小,在滤波器演变到抑制它的频率之前所需的时间越长(及时)。如果您希望滤波器能够快速识别24小时信号的幅度,那么您需要更宽的带宽。但是,然而你要抑制更多的频率略低,略高于1 / 24hrs。这是一个权衡。
如果您还想抑制多个谐波(如本文所述),则必须将多个陷波滤波器串联组合。如果你想用FFT做,你必须在频率空间中建模所需的传递函数,因为你可以同时对所有频率做这个,所以效率更高。
一种简单但近似的方法可以获得与包含所有谐波的陷波滤波器相似的方法,并使用Comb-filter。但这是一个近似值,你无法控制传递函数的细节。您可以在Matlab中通过向原始位置添加12小时的信号来实现。这是因为正弦信号将被一个被pi移位的信号抵消。
所以你看,你想要的东西有很多可能性。