идеальная реконструкция вейвлет-преобразования с использованием CWT

Если я выполню стандартное вейвлет-преобразование, а затем выполню обратное, я ожидал получить исходный сигнал обратно:

% dummy series:
Fs = 1e3;
t = 0:1/Fs:1;
x = exp(cos(2*pi*32*t).*(t>=0.1 & t<0.3) + sin(2*pi*64*t).*(t>0.7));

% perform default transform and inverse
wt=cwt(x)
rx=icwt(wt)

% plot
plot(t,x,t,rx)

Помимо смещения, сигналы плоского периода искажаются.
исходная серия и реконструкция из cwt и icwt Кажется, можно выполнить преобразование/инверсию и получить что-то близкое к функции тождества , как здесь вейвлетная реконструкция временного ряда R , но чтение руководств/справки для cwt я не вижу, как этого добиться.


person Adrian Tompkins    schedule 30.01.2018    source источник
comment
Это зависит от вейвлета, возможно это или нет. Большинство вейвлетов не являются ортогональными и не обеспечивают полной декомпозиции.   -  person Cris Luengo    schedule 30.01.2018
comment
Есть ли причина, почему бы не использовать DWT?   -  person DaBler    schedule 31.01.2018
comment
Что ж, DWT работает (т.е. инвариантная инверсия), но я хотел использовать перекрестную мощность между двумя рядами, чтобы построить вейвлет-фильтр для сохранения общих сигналов между двумя похожими временными рядами, и я не видел для этого никакой возможности в DWT, только в пакете непрерывных вейвлетов CWT.   -  person Adrian Tompkins    schedule 02.02.2018


Ответы (1)


Документация Matlab объясняет, что CWT — не лучший выбор для идеальной реконструкции. Однако, если вы хотите сравнить разные полосы как сигналы того же размера, что и исходный, вы можете использовать MODWT (или инвариантный к сдвигу DWT от циклическое вращение, иногда называемое à trous).

person alle_meije    schedule 19.02.2018