Использование непрерывного стихотворного дискретного вейвлет-преобразования в цифровых приложениях


14

Я знаком со многими математическими основами вейвлетов. Однако при реализации алгоритмов на компьютере с вейвлетами я менее уверен в том, следует ли мне использовать непрерывные или дискретные вейвлеты. Во всей реальности все на компьютере, конечно, дискретно, поэтому очевидно, что дискретные вейвлеты являются правильным выбором для цифровой обработки сигналов. Однако, согласно википедии, именно непрерывное вейвлет-преобразование в основном используется для (цифрового) сжатия изображений, а также для большого числа других операций цифровой обработки данных. Какие плюсы и минусы следует учитывать при принятии решения о том, использовать ли (приблизительное) непрерывное вейвлет-преобразование вместо (точного) дискретного вейвлет-преобразования для цифровой обработки изображений или сигналов?

PS (Проверка предположения здесь) Я предполагаю, что непрерывные вейвлет-преобразования используются в цифровой обработке, просто беря значение непрерывного вейвлета в равномерно расположенных точках и используя результирующую последовательность для вейвлет-вычислений. Это верно?

PPS Обычно википедия довольно точна в математике, поэтому я предполагаю, что приложения в статье о непрерывных вейвлет-преобразованиях на самом деле являются приложениями непрерывного вейвлет-преобразования. Конечно, в нем упоминаются некоторые из них, которые конкретно относятся к CWT, поэтому очевидно, что CWT используется в цифровых приложениях.

Ответы:


9

Как уже говорил Мухаммед, термины «Непрерывные вейвлет-преобразования» (CWT) и «Дискретные вейвлет-преобразования» (DWT) немного вводят в заблуждение. Они относятся приблизительно как (непрерывное) преобразование Фурье (математическое интегральное преобразование) к DFT (дискретное преобразование Фурье).

Чтобы разобраться в деталях, полезно посмотреть исторический контекст. Вейвлет-преобразование было первоначально введено в геофизике Морлетом и было в основном преобразованием Габора с окном, которое растет и сжимается вместе с выбранным масштабом / частотой. Позже Добкиш (физик-этн из Бельгии) понял, что, выбирая специальные ортогональные базы вейвлетов, бесконечно избыточный CWT может быть критически выбран на диадической сетке. Из полученного DWT соответствующий полный CWT может быть получен путем свертывания DWT с воспроизводящим ядром соответствующего вейвлета. Воспроизводящее ядро ​​- это CWT самого вейвлета.

Выводы Добчиши дали толчок теории вейвлетов в начале 80-х годов. Следующим большим результатом было то, что DWT может быть вычислен очень эффективно (иногда это также называется FWT [быстрый WT]) с использованием методов из теории наборов фильтров, а именно квадратурных зеркальных фильтров (QMF) вместе с набором фильтров понижающей дискретизации. Путем создания специальных QMF соответствующие DWT могут быть вычислены с помощью фильтрации и понижающей дискретизации, что является современным алгоритмом для вычисления DWT сегодня. Вам не нужна функция масштабирования для вычисления DWT, это просто деталь реализации, которую обрабатывает FWT.

Что касается области применения, то CWT является более идеальным кандидатом для анализа сигналов или временных рядов благодаря более тонкому разрешению и обычно выбирается в большинстве задач (например, обнаружение сингулярности). DWT представляет больший интерес в контексте быстрых преобразований без избыточности. DWT имеет очень хорошую компактификацию энергии и, таким образом, является хорошим кандидатом для сжатия с потерями и передачи сигналов.


Надеюсь, что прояснил вещи.


Спасибо Андре за историческую перспективу и разъяснения по поводу именования. Я боролся именно из-за путаницы, вызванной этими именами!
Яншуай Цао

6

Очень распространенное, но прискорбное заблуждение в области вейвлетов связано с плохо сформулированной терминологией «Непрерывные вейвлет-преобразования».

Перво-наперво: непрерывное вейвлет-преобразование (CWT) и дискретное вейвлет-преобразование (DWT) являются точечными цифровыми преобразованиями, которые легко реализуются на компьютере.

Разница между «непрерывным» преобразованием и «дискретным» преобразованием в контексте вейвлета заключается в следующем:

1) Количество пропущенных сэмплов при взаимной корреляции сигнала с вейвлетом.

2) Количество пропущенных образцов при расширении вейвлета.

3) CWT использует только вейвлет, в то время как DWT использует как вейвлет, так и масштабирование. (Не важно для этого обсуждения, но здесь для полноты).

Но не заблуждайтесь - CWT, как и DWT, всегда является дискретной, цифровой операцией.

Пусть этот пример иллюстрирует это: Рассмотрим вейвлет Хаара, [1 -1]. Допустим, мы хотели сделать DWT с помощью вейвлета Хаара. Таким образом, вы сворачиваете свой сигнал с помощью материнского вейвлета Хаара, [1 -1], но только с диадическими задержками. Например, допустим, ваш сигнал - это следующий вектор:

x=[1 2 3 4 5 6 7 8]

Первый результат свертки DWT с вашим вейвлетом Haar:

1(1)+2(1)

Следующий результат:

3(1)+4(1)

Следующим является:

5(1)+6(1)

И, наконец, последний:

7(1)+8(1)

Что-то кажется вам странным? Я сказал: возьмите свертку вашего сигнала с вейвлетом - так почему же я получу только четыре значения? Это потому, что я пропускаю сэмплы, когда делаю свертки в DWT. Сначала я взял [1 2], сделал точечное произведение, а затем взял [3 4]. Что случилось с [2 3]? Я пропустил это.

Когда вы не пропустите это? Когда вы делаете CWT. Если бы вы сделали CWT, это был бы «нормальный» цифровой сверток вашего сигнала с вейвлетом Хаара.


Второе - это то, как вы расширяете свой вейвлет. В верхнем примере вейвлет Хаара равен [1 -1] для разложения первого уровня. На втором уровне DWT Haar Wavelet становится [1 1 -1 -1]. Однако в CWT вейвлет Хаара второго уровня равен [1 0 -1]. Еще раз, в DWT, я не расширяю точку для точки - у меня никогда не бывает вейвлета с тремя длинами. Однако в CWT я пошел от длины 2 к длине 3. В DWT я пошел прямо от длины 2 к длине 4.

Это длинный и короткий путь, надеюсь, это помогло.


1
Хотя верно то, что в реализации DSP любого вейвлет-преобразования (CWT или DWT) реализация, вероятно, будет выполняться как дискретное умножение точки на точку с дискретной вейвлет-функцией (аналогично тому, как формулируется DFT), Математическое определение CWT является непрерывным. Существуют версии DWT, которые были разработаны для дискретных данных, поэтому некоторые реализации DWT являются точными по определению. Любая реализация CWT является приближением, которое было достигнуто путем преобразования операции продолжения (интегрирования) с непрерывной вейвлет-функцией в дискретную операцию.
user2718

@BruceZenone Конечно, и определение, безусловно, берет из контекста. Два математика, говорящие о «CWT», будут означать непрерывную версию с интегралами, в то время как два инженера, размышляющие о реализации, будут говорить «CWT» и означать дискретную версию (не то же самое, что DWT), следовательно, источник Путаница ОП.
Спейси

Правда достаточно. Я хотел бы увидеть хорошо документированную реализацию CWT (скажем, Morlet) для DSP, чтобы увидеть детали того, как непрерывные операции / функции переводятся в мир дискретной обработки. Обратите внимание, что преобразования DFT и Фурье - математически совершенно разные звери.
user2718
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.