Вейвлет-разложение и реконструкция в Matlab

С помощью набора инструментов вейвлета становится возможным разложить и реконструировать временной ряд, например

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 ответ

Вам нужно будет изменить векторыc а также l что вы получаете от wavedec, Если вы хотите удалить определенные частоты, найдите данные, соответствующие этим частотам, и обнулите их. Тогда позвони позвони waverec реконструировать измененный временной ряд.

Другие вопросы по тегам