通过使用小波工具箱,可以分解和重构时间序列,例如
load leleccum;
s = leleccum(1:3920);
% decomposition
[c,l] = wavedec(s,3,'db5');
% Reconstruction
a0 = waverec(c,l,'db5');
从这里,如何从序列中删除特定的频率?例如,一旦我将序列分解成它的频率分量,我如何在重构之前从它中删除一个频率,如每日周期?
具有24个单位周期的信号示例:
t = 1:365;
raw = 20+(10-2).*rand(1,length(t));
signal_1 = 10*sin(2*pi*t/24);
y = raw + signal_1; % example data series
% decomposition
[c,l] = wavedec(y,3,'db5');
如何从最终序列中删除周期为24的信号,即'signal_1‘?
发布于 2013-02-13 22:36:04
您需要修改从wavedec
获得的向量c
和l
。如果要删除某些频率,请找到与这些频率对应的数据并将其置零。然后调用waverec
来重构修改后的时间序列。
https://stackoverflow.com/questions/14849232
复制相似问题