Я знаком со многими математическими основами вейвлетов. Однако при реализации алгоритмов на компьютере с вейвлетами я менее уверен в том, следует ли мне использовать непрерывные или дискретные вейвлеты. Во всей реальности все на компьютере, конечно, дискретно, поэтому очевидно, что дискретные вейвлеты являются правильным выбором для цифровой обработки сигналов. Однако, согласно википедии, именно непрерывное вейвлет-преобразование в основном используется для (цифрового) сжатия изображений, а также для большого числа других операций цифровой обработки данных. Какие плюсы и минусы следует учитывать при принятии решения о том, использовать ли (приблизительное) непрерывное вейвлет-преобразование вместо (точного) дискретного вейвлет-преобразования для цифровой обработки изображений или сигналов?
PS (Проверка предположения здесь) Я предполагаю, что непрерывные вейвлет-преобразования используются в цифровой обработке, просто беря значение непрерывного вейвлета в равномерно расположенных точках и используя результирующую последовательность для вейвлет-вычислений. Это верно?
PPS Обычно википедия довольно точна в математике, поэтому я предполагаю, что приложения в статье о непрерывных вейвлет-преобразованиях на самом деле являются приложениями непрерывного вейвлет-преобразования. Конечно, в нем упоминаются некоторые из них, которые конкретно относятся к CWT, поэтому очевидно, что CWT используется в цифровых приложениях.
источник
Очень распространенное, но прискорбное заблуждение в области вейвлетов связано с плохо сформулированной терминологией «Непрерывные вейвлет-преобразования».
Перво-наперво: непрерывное вейвлет-преобразование (CWT) и дискретное вейвлет-преобразование (DWT) являются точечными цифровыми преобразованиями, которые легко реализуются на компьютере.
Разница между «непрерывным» преобразованием и «дискретным» преобразованием в контексте вейвлета заключается в следующем:
1) Количество пропущенных сэмплов при взаимной корреляции сигнала с вейвлетом.
2) Количество пропущенных образцов при расширении вейвлета.
3) CWT использует только вейвлет, в то время как DWT использует как вейвлет, так и масштабирование. (Не важно для этого обсуждения, но здесь для полноты).
Но не заблуждайтесь - CWT, как и DWT, всегда является дискретной, цифровой операцией.
Пусть этот пример иллюстрирует это: Рассмотрим вейвлет Хаара, [1 -1]. Допустим, мы хотели сделать DWT с помощью вейвлета Хаара. Таким образом, вы сворачиваете свой сигнал с помощью материнского вейвлета Хаара, [1 -1], но только с диадическими задержками. Например, допустим, ваш сигнал - это следующий вектор:
Первый результат свертки DWT с вашим вейвлетом Haar:
Следующий результат:
Следующим является:
И, наконец, последний:
Что-то кажется вам странным? Я сказал: возьмите свертку вашего сигнала с вейвлетом - так почему же я получу только четыре значения? Это потому, что я пропускаю сэмплы, когда делаю свертки в 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.
Это длинный и короткий путь, надеюсь, это помогло.
источник