Дискретное вейвлет-преобразование
Материал из Википедии — свободной энциклопедии
В численном анализе и функциональном анализе дискретные вейвлет-преобразования (ДВП) относятся к вейвлет-преобразованиям, в которых вейвлеты представлены дискретными сигналами (выборками).
Первое ДВП было придумано венгерским математиком Альфредом Хааром. Для входного сигнала, представленного массивом 2n чисел, вейвлет-преобразование Хаара просто группирует элементы по 2 и образует от них суммы и разности. Группировка сумм проводится рекурсивно (в случае четной длины последовательности сумм) для образования следующего уровня разложения. В итоге получается 2n - 1 разность и 1 общая сумма.
Это простое ДВП иллюстрирует общие полезные свойства вейвлетов. Во-первых, преобразование (один уровень) можно выполнить за O(n) операций. Во-вторых, оно не только раскладывает сигнал на некоторое подобие частотных полос (путем анализа его в различных масштабах), но и представляет временную область, т.е. моменты возникновения тех или иных частот в сигнале. Вместе, эти свойства характеризуют быстрое вейвлет-преобразование - альтернативу обычному быстрому преобразованию Фурье.
Самый распространенный набор дискретных вейвлет-преобразований был сформулирован бельгийским математиком Ингрид Добеши (Ingrid Daubechies) в 1988 году. Он основан на использовании рекуррентных соотношений для вычисления все более точных выборок неявно заданной функции материнского вейвлета, с удвоением разрешения при переходе к следующему уровню (масштабу). В своей основополагающей работе Добеши выводит семейство вейвлетов, первый из которых является вейвлетом Хаара. С тех пор интерес к этой области быстро возрос, что привело к созданию многочисленных потомков исходного семейства вейвлетов Добеши.
Другие формы дискретного вейвлет-преобразования включают непрореженное вейвлет-преобразование (где не выполняется прореживания сигналов), преобразование Ньюлэнда (где ортонормированный базис вейвлетов выводится из специальным образом построенных фильтров типа "top-hat" в частотной области). Пакетные вейвлет-преобразования также связаны с ДВП. Другая форма ДВП - комплексное вейвлет-преобразование.
У дискретного вейвлет-преобразования много приложений в естественных науках, инженерном деле, математике (включая прикладную). Наиболее широко ДВП используется в кодировании сигналов, где свойства преобразования используются для уменьшения избыточности в представлении дискретных сигналов, часто - как первый этап в компрессии данных.
Содержание |
[править] Определение
[править] Один уровень преобразования
ДВП сигнала x получают применением набора фильтров. Сначала сигнал пропускается через низкочастотный (low-pass) фильтр с импульсным откликом g, и получается свертка:
Одновременно сигнал раскладывается с помощью высокочастотного (high-pass) фильтра h. В результате получаются детализирующие коэффициенты (после ВЧ-фильтра) и коэффициенты аппроксимации (после НЧ-фильтра). Эти два фильтра связаны между собой и называются квадратурными зеркальными фильтрами (QMF).
Так как половина частотного диапазона сигнала была отфильтрована, то, согласно теореме Котельникова, отсчеты сигналов можно проредить в 2 раза:
Такое разложение вдвое уменьшило разрешение по времени в силу прореживания сигнала. Однако каждый из получившихся сигналов представляет половину частотной полосы исходного сигнала, так что частотное разрешение удвоилось. Это согласуется с принципом неопределенности Гейзенберга.
(схемы на русском - тут)
С помощью оператора прореживания
вышеупомянутые суммы можно записать короче:
Вычисление полной свертки x * g с последующим прореживанием - это излишняя трата вычислительных ресурсов.
Схема лифтинга является оптимизацией, основанной на чередовании этих двух вычислений.
[править] Каскадирование и банки фильтров
Это разложение можно повторить несколько раз для дальнейшего увеличения частотного разрешения, с дальнейшим прореживанием коэффициентов после НЧ и ВЧ-фильтрации. Это можно представить в виде двоичного дерева, где листья и узлы соответствуют пространствам с различной частотно-временной локализацией. Это дерево представляет структуру банка (гребенки) фильтров.
На каждом уровне вышеприведенной диаграммы сигнал раскладывается на низкие и высокие частоты. В силу двукратного прореживания, длина сигнала должна быть кратна 2n, где n - число уровней разложения.
Например, для сигнала из 32 отсчетов с частотным диапазоном от 0 до fn трехуровневое разложение даст 4 выходных сигнала в разных масштабах:
Уровень | Частоты | Длина сигнала |
---|---|---|
3 | 0 ... fn / 8 | 4 |
fn / 8 ... fn / 4 | 4 | |
2 | fn / 4 ... fn / 2 | 8 |
1 | fn / 2 ... fn | 16 |
[править] Пример программы
Ниже приведен пример ДВП-разложения (один уровень), показывающий простоту его вычисления.
Это вейвлет Хаара (Haar wavelet), написанный на Java:
public static int[] invoke(int[] input){ //WARNING: This will destroy the contents of the input array //This function assumes input.length=2^n, n>1 int[] output = new int[input.length]; for(int length = input.length >> 1; ; length >>= 1){ //length=2^n, WITH DECREASING n 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<<1); } }
Реализацию быстрого лифтинга дискретного биортогонального CDF 9/7 вейвлета на C, используемого в алгоритме сжатия изображений JPEG-2000, можно найти здесь.
[править] Литература
Stéphane Mallat, A Wavelet Tour of Signal Processing