В численном анализе и функциональном анализе, дискретное вейвлет-преобразование (DWT ) - это любое вейвлет-преобразование, для которого вейвлеты дискретизируются. Как и в случае с другими вейвлет-преобразованиями, ключевым преимуществом, которое он имеет перед преобразованием Фурье, является временное разрешение: оно фиксирует как частоту, так и информацию о местоположении (местоположение во времени).
Первый DWT был изобретен венгерским математиком Альфредом Хааром. Для ввода, представленного списком чисел , преобразование вейвлет Хаара может рассматриваться для объединения входных значений в пары с сохранением разница и переходная сумма. Этот процесс повторяется рекурсивно, объединяя суммы в пары, чтобы доказать следующую шкалу, что приводит к разнице и окончательной сумме.
Наиболее часто используемый набор дискретных вейвлет-преобразований был сформулирован бельгийским математиком Ингрид Добеши в 1988 году. Эта формулировка основана на использовании рекуррентные отношения для генерации все более точных дискретных выборок неявной материнской вейвлет-функции; каждое разрешение вдвое больше предыдущего. В своей основополагающей статье Добеши выводит семейство вейвлетов, первым из которых является вейвлет Хаара. С тех пор интерес к этой области резко возрос, и было разработано множество вариаций оригинальных вейвлетов Добеши.
Комплексное вейвлет-преобразование с двойным деревом ( ℂWT) - это относительно недавнее усовершенствование дискретного вейвлет-преобразования (DWT) с важными дополнительными свойствами: оно почти инвариантно к сдвигу и избирательно по направлению в двух и более высоких измерениях. Это достигается с коэффициентом избыточности всего , что существенно ниже, чем у нерасчетного DWT. Многомерное (MD) двойное дерево ℂWT неразделимо, но основано на вычислительно эффективном, разделяемом банке фильтров (FB).
Другие формы дискретного вейвлет-преобразования включают LeGall-Tabatabai (LGT) 5/3 вейвлет, разработанный Дидье Ле Галлом и Али Дж. Табатабаи в 1988 г. (используется в JPEG 2000 ), биномиальный QMF, разработанный Али Наси Акансу в 1990 г., алгоритм разбиения набора в иерархических деревьях (SPIHT), разработанный Амиром Саидом и Уильямом А. Перлманом в 1996 г., не- или недесиммированное вейвлет-преобразование (где понижающая дискретизация опущено), и преобразование Ньюленда (где ортонормированный базис вейвлетов формируется из соответствующим образом сконструированных фильтров-цилиндров в частотном пространстве ). Преобразования вейвлет-пакетов также связаны с дискретным вейвлет-преобразованием. Комплексное вейвлет-преобразование - другая форма.
DWT Хаара иллюстрирует желательные свойства вейвлетов в целом. Во-первых, его можно выполнить в операциях; во-вторых, он фиксирует не только представление о частотном содержании входных данных, исследуя его в различных масштабах, но также и временное содержание, то есть время, в которое эти частоты встречаются. Вместе эти два свойства делают быстрое вейвлет-преобразование (FWT) альтернативой традиционному быстрому преобразованию Фурье (FFT).
Из-за операторов изменения скорости в банке фильтров дискретный WT не является инвариантным во времени, но фактически очень чувствителен к выравниванию сигнала во времени. Для решения нестационарной проблемы вейвлет-преобразований Маллат и Чжун предложили новый алгоритм для вейвлет-представления сигнала, который инвариантен к временным сдвигам. В соответствии с этим алгоритмом, который называется TI-DWT, только параметр масштаба выбирается вдоль диадической последовательности 2 ^ j (j∈Z), а вейвлет-преобразование рассчитывается для каждого момента времени.
Дискретное вейвлет-преобразование имеет огромное количество приложений в науке, технике, математике и информатике. В частности, он используется для представления дискретного сигнала в более избыточной форме, часто в качестве предварительной обработки для сжатия данных. Практическое применение также можно найти в обработке сигналов ускорений для анализа походки, обработки изображений, в цифровой связи и многих других.
Показано, что дискретное вейвлет-преобразование (дискретное по масштабу и сдвигу и непрерывное во времени) успешно реализован в качестве банка аналоговых фильтров в биомедицинской обработке сигналов для разработки маломощных кардиостимуляторов, а также в сверхширокополосной (UWB) беспроводной связи.
Вейвлеты часто используются для шумоподавления двухмерных сигналов, например изображений. В следующем примере представлены три шага для удаления нежелательного белого гауссовского шума из показанного зашумленного изображения. Matlab использовался для импорта и фильтрации изображения.
Первым шагом является выбор типа вейвлета и уровня разложения N. В этом случае были выбраны биортогональные 3,5 вейвлеты с уровнем N, равным 10. Биортогональные вейвлеты обычно используются при обработке изображений для обнаружения и фильтрации белого гауссовского шума из-за их высокой контрастности значений интенсивности соседних пикселей. Используя эти вейвлеты, на двумерном изображении выполняется вейвлет-преобразование .
После декомпозиции файла изображения следующим шагом является определение пороговых значений для каждого уровня от 1 до N. Стратегия Бирже-Массарта является довольно распространенным методом выбора этих пороговых значений. С помощью этого процесса устанавливаются индивидуальные пороги для N = 10 уровней. Применение этих пороговых значений составляет большую часть фактической фильтрации сигнала.
Последний шаг - восстановить изображение по измененным уровням. Это достигается с помощью обратного вейвлет-преобразования. Полученное изображение без белого гауссовского шума показано под исходным изображением. При фильтрации данных в любой форме важно количественно определить отношение сигнал / шум результата. В этом случае SNR шумного изображения по сравнению с оригиналом составлял 30,4958%, а SNR шумоподавленного изображения - 32,5525%. В результате улучшение вейвлет-фильтрации дает прирост отношения сигнал / шум на 2,0567%.
Важно отметить, что выбор других вейвлетов, уровней и стратегий определения порога может привести к различным типам фильтрации. В этом примере был выбран белый гауссовский шум для удаления. Хотя с другим порогом его можно было бы так же легко усилить.
Чтобы проиллюстрировать различия и сходства между дискретным вейвлет-преобразованием с дискретным преобразованием Фурье, рассмотрим DWT и DFT следующей последовательности: ( 1,0,0,0), единичный импульс.
ДПФ имеет ортогональный базис (матрица ДПФ ):
, в то время как DWT с вейвлетами Хаара для данных длиной 4 имеет ортогональный базис в строках:
(Для упрощения записи используются целые числа, поэтому основания ортогональны, но не ортонормированный.)
Предварительные наблюдения включают:
Разложение последовательности по этим базам дает:
DWT демонстрирует локализацию: член (1,1,1,1) дает среднее значение сигнала, (1,1, –1, –1) помещает сигнал в левую часть домена, а (1, –1,0,0) помещает его в левую часть левой стороны, а усечение g на любом этапе дает субдискретизированную версию сигнала:
ДПФ, напротив, выражает последовательность интерференцией волн различных частот - таким образом, усечение ряда дает фильтр нижних частот версия ряда:
Примечательно, что среднее приближение (2-членное) отличается. С точки зрения частотной области это лучшее приближение, но с точки зрения временной области у него есть недостатки - он показывает недорегулирование - одно из значений отрицательное, хотя исходный ряд везде неотрицательный - и звонок, где правая часть не равна нулю, в отличие от вейвлет-преобразования. С другой стороны, аппроксимация Фурье правильно показывает пик, и все точки находятся в пределах от их правильного значения, хотя все точки имеют ошибку. Вейвлет-приближение, напротив, помещает пик в левой половине, но не имеет пика в первой точке, и, хотя это точно верно для половины значений (отражающих местоположение), оно имеет ошибку для других значений.
Это иллюстрирует виды компромиссов между этими преобразованиями и то, как в некоторых отношениях DWT обеспечивает предпочтительное поведение, особенно для моделирования переходных процессов.
DWT сигнала вычисляется путем его прохождения через серия фильтров. Сначала образцы проходят через фильтр нижних частот с импульсной характеристикой , что приводит к свертке из двух:
Сигнал также разлагается одновременно с использованием фильтра верхних частот . Выходы дают детальные коэффициенты (из фильтра высоких частот) и коэффициенты аппроксимации (из фильтра низких частот). Важно, чтобы два фильтра были связаны друг с другом, и они известны как квадратурный зеркальный фильтр .
Блок-схема анализа фильтраОднако, поскольку половина частот сигнала теперь удалена, половина образцы могут быть отброшены согласно правилу Найквиста. Выходной сигнал фильтра нижних частот на диаграмме выше затем подвергается субдискретизации на 2 и далее обрабатывается путем повторного прохождения его через новый низкий уровень. - пропускающий фильтр и фильтр верхних частот с половиной частоты среза предыдущего, то есть:
Это разложение уменьшилось вдвое временное разрешение, поскольку только половина каждого выходного сигнала фильтра характеризует сигнал. Однако каждый выход имеет половину полосы частот входа, поэтому разрешение по частоте было удвоено.
С помощью оператора подвыборки
вышеприведенное суммирование можно записать более кратко.
Однако вычисление полной свертки с последующим понижением дискретизации будет тратить время вычислений.
Схема подъема - это оптимизация, при которой эти два вычисления чередуются.
Это разложение повторяется для дальнейшего увеличения разрешения по частоте и коэффициентов аппроксимации, разлагаемых с помощью фильтров высоких и низких частот, а затем подвергающихся понижающей дискретизации. Это представлено в виде двоичного дерева с узлами, представляющими подпространство с другой частотно-временной локализацией. Дерево известно как набор фильтров.
. Трехуровневый набор фильтровНа каждом уровне на приведенной выше диаграмме сигнал разлагается на низкие и высокие частоты. Из-за процесса разложения входной сигнал должен быть кратным , где равно количество уровней.
Например, сигнал с 32 отсчетами, диапазон частот от 0 до и 3 уровня разложения, создаются 4 шкалы вывода:
Уровень | Частоты | Образцы |
---|---|---|
3 | до | 4 |
to | 4 | |
2 | to | 8 |
1 | to | 16 |
Реализацию набора фильтров вейвлетов можно интерпретировать как вычисление вейвлет-коэффициентов дискретного набора дочерних вейвлетов для данного материнского вейвлета . В случае дискретного вейвлет-преобразования материнский вейвлет сдвигается и масштабируется степенями двойки
где - параметр масштаба, а - параметр сдвига, оба целые числа.
Напомним, что вейвлет-коэффициент сигнала - это проекция на вейвлет, и пусть быть сигналом длины . В случае дочернего вейвлета в дискретном семействе выше,
Теперь зафиксируйте в определенном масштабе, чтобы является функцией только . В свете приведенного выше уравнения можно рассматривать как свертку из с расширенной, отраженной и нормализованной версией материнского вейвлета, , отобранные в точках . Но именно это дают коэффициенты детализации на уровне дискретного вейвлет-преобразования. Следовательно, при соответствующем выборе и , детальные коэффициенты банка фильтров точно соответствуют вейвлет-коэффициенту дискретного набора дочерних вейвлетов для данного материнского вейвлета .
В качестве примера рассмотрим дискретный вейвлет Хаара, материнский вейвлет которого равен . Тогда расширенная, отраженная и нормализованная версия этого вейвлета имеет вид , который действительно является фильтром разложения верхних частот для дискретного вейвлет-преобразования Хаара.
Реализация набора фильтров дискретного вейвлет-преобразования занимает всего O (N) в некоторых случаях по сравнению с O (N log N) для быстрое преобразование Фурье.
Обратите внимание, что если и имеют постоянную длину (т.е. их длина не зависит от N), тогда и каждый занимает O (N) раз. Набор вейвлет-фильтров выполняет каждую из этих двух сверток O (N), а затем разделяет сигнал на две ветви размером N / 2. Но он рекурсивно разделяет только верхнюю ветвь, свернутую с (в отличие от БПФ, который рекурсивно разделяет как верхнюю, так и нижнюю ветви). Это приводит к следующему рекуррентному соотношению
, что приводит к O (N) времени для всей операции, как может быть показано расширением геометрической серии вышеуказанного отношения.
В качестве примера дискретное преобразование вейвлета Хаара является линейным, поскольку в этом случае и имеют постоянную длину 2.
Расположение вейвлетов, связанных со сложностью O (N) гарантирует, что преобразование может быть вычислено онлайн (на потоковой основе). Это свойство резко контрастирует с БПФ, которое требует доступа ко всему сигналу сразу. Это также относится к многомасштабному преобразованию, а также к многомерному преобразованию (например, 2-D DWT).
Алгоритм Adam7, используется для чересстрочной развертки в формате Portable Network Graphics (PNG), представляет собой многомасштабную модель данных, аналогичную DWT с вейвлетами Хаара.
В отличие от DWT, он имеет конкретный масштаб - он начинается с блока 8 × 8 и уменьшает изображение, а не децимирует (фильтрация нижних частот, затем даунсэмплинг). Таким образом, он предлагает худшее частотное поведение, показывая артефакты (пикселизация ) на ранних этапах в обмен на более простую реализацию.
В своей простейшей форме DWT очень легко вычислить.
вейвлет Хаара в Java :
public static int discteHaarWaveletTransform (int input) {// Эта функция предполагает, что input.length = 2 ^ n, n>1 int output = new int [input.length]; for (int length = input.length / 2;; length = length / 2) {// длина - текущая длина рабочей области выходного массива. // длина начинается с половины размера массива, и каждая итерация уменьшается вдвое, пока не станет 1. for (int i = 0; i < length; ++i) { int sum = input[i * 2] + input[i * 2 + 1]; int difference = input[i * 2] - input[i * 2 + 1]; output[i] = sum; output[length + i] = difference; } if (length == 1) { return output; } //Swap arrays to do next iteration System.arraycopy(output, 0, input, 0, length); } }
Полный код Java для 1-D и 2-D DWT с использованием Haar, Добеши, Coiflet и Legendre вейвлеты доступны из проекта с открытым исходным кодом: JWave. Кроме того, реализация быстрого подъема дискретного биортогонального CDF 9/7 вейвлет-преобразования в C, используемого в стандарте сжатия изображений JPEG 2000, можно найти здесь ( архивировано 5 марта 2012 г.).
На этом рисунке показан пример применения вышеуказанного кода для вычисления Хаар ва коэффициенты велета на форме звуковой волны. В этом примере выделяются два ключевых свойства вейвлет-преобразования: