matlab中的小波分解与重构

时间:2013-02-13 08:23:08

标签: matlab wavelet

通过使用小波工具箱,可以分解和重建时间序列,例如

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'?

1 个答案:

答案 0 :(得分:1)

您需要修改从c获得的向量lwavedec。如果要删除某些频率,请找到与这些频率对应的数据并将其清零。然后拨打电话waverec重建修改后的时间序列。