А.Н. Яковлев - Введение в вейвлет преобразования (1275343), страница 7
Текст из файла (страница 7)
title('Вейвлет-спектр'); xlabel('Временной сдвиг, b');
ylabel('Временной масштаб,a'); set(gca,'Xlim',[0 1000]);
[c,l] = wavedec(s,6,'db4');
for m = 1:6
d = detcoef(c,l,m); d = d(ones(1,2^m),:);
cfd(m,:) = wkeep(d(:)',1000);
end
cfd = cfd(:); I = find(abs(cfd)<sqrt(eps));
cfd(I) = zeros(size(I)); cfd = reshape(cfd,6,1000);
subplot(313), colormap(pink(16));
img = image(flipud(wcodemat(cfd,64,'row')));
set(get(img,'parent'), 'YtickLabel',[]);
title('Дискретное преобразование');
ylabel('Уровень, m'); xlabel('Временной сдвиг, b'); end
Рис. 2.8
На рис. 2.8 приведены диаграмма сигнала и его спектрограммы. Особенности спектрограммы непрерывного ВП этого сигнала обсуждены в примере 1.6. Очевидно, что детали сигнала просматриваются и на спектрограмме дискретного ВП, но с худшим разрешением.
Пример 2.4. Звуковой сигнал
Загрузим звуковой сигнал из файла mtlb с выборкой в 200 отсчетов (см. пример 1.7) и построим его график и две спектрограммы – непрерывного и дискретного ВП:
function ss_cd
load mtlb; v = mtlb(1:200)', lv = length(v);
subplot(311), plot(v); title('Звуковой сигнал');
set(gca, 'Xlim',[0 200]); [c,l] = wavedec(v,6,'sym2');
cfd = zeros(6,lv); subplot(312), ccfs = cwt(v,4:127,'sym2','plot');
title('Непрерывное преобразование'), colormap(pink(32));
ylabel('Временной масштаб,a'); xlabel('Временной сдвиг, b');
for m = 1:6
d = detcoef(c,l,m); d = d(ones(1,2^m),:);
cfd(m,:) = wkeep(d(:)',lv);
end
cfd=cfd(:); I = find(abs(cfd)<sqrt(eps));
cfd(I) = zeros(size(I)); cfd = reshape(cfd,6,lv);
subplot(313), colormap(pink(32));
img = image(flipud(wcodemat(cfd,64,'row')));
set(get(img,'parent'), 'YtickLabel',[]);
title('Дискретное преобразование');
ylabel('Уровень'); xlabel('Временной сдвиг, b');
end
Полученные в результате выполнения программы графики приведены на рис. 2.9.
Рис. 2.9
Очевидно, что все мельчайшие детали сложной временной зависимости отчетливо просматриваются на спектрограмме как непрерывного, так и дискретного ВП. Однако последнее выполняется значительно быстрее, хотя по детальности представления уступает непрерывному ВП.
Примечание. Обычное дискретное ВП (DWT) осуществляется исходя из предположения нестационарности сигнала. Если сигнал стационарный, то в этом частном случае можно использовать стационарное ВП [8]. Это преобразование, применяемое для очистки сигнала от шума, имеет ряд форм записи (см. прил. 2.6).
2.4. Быстрое вейвлет-преобразование
При исследовании сигналов полезно их представление в виде совокупности последовательных приближений грубой (аппроксимирующей) и уточненной (детализирующей)
составляющих
с последующим их уточнением итерационным методом. Каждый шаг уточнения соответствует определенному масштабу (т.е. уровню
) анализа (декомпозиции) и синтеза (реконструкции) сигнала. Такое представление каждой составляющей сигнала вейвлетами можно рассматривать как во временной, так и в частотной областях. В этом суть кратномасштабного анализа (КМА). В прил. 3 описан КМА для непрерывных сигналов.
Как уже отмечалось в разд. 2.3, в практике ВП в большинстве случаев мы имеем дело с дискретными сигналами. Однако формулы для ВП дискретных сигналов не могут быть получены простой дискретизацией формул диадного ВП для непрерывного сигнала. Найдем их из предпосылок КМА.
Пусть имеется непрерывный сигнал . Дискретный сигнал
интерпретируем как последовательность коэффициентов
, полученную в ходе КМА сигнала
при масштабирующих функциях
:
где
– коэффициенты аппроксимации на уровне .
По концепции КМА сигнал декомпозируется на две составляющие (принадлежащие подпространствам
и
):
Следовательно, получены две новые последовательности и
. Отметим, что последовательности
и
имеют половинную длину по сравнению с
. Далее процесс декомпозиции может быть продолжен по
(подпространства
и
). Сигнал
на уровне декомпозиции
будет представлен совокупностью коэффициентов
и
.
Однако вычисления и
по-прежнему зависят от непрерывных базисных функций
и
. Как показано в прил. 3, эти функции однозначно определяются коэффициентами
:
где ,
– порядок вейвлета. Вейвлеты n-го порядка существуют только на интервале длиной
и имеют
отличающихся от нуля коэффициентов
.
Из (2.10) и (2.11) можно получить следующие соотношения:
(2.14)
(2.15)
Итерационная процедура быстрого вейвлет-анализа получила название анализа от «тонкого» к «грубому» масштабу.
На практике наименьший возможный масштаб (наибольший уровень разрешения ) определяется числом
дискретных значений сигнала (
). На самом «тонком» значении масштаба (
,
) за аппроксимирующие коэффициенты
принимаются сами отсчеты
сигнала
, т.е.
,
,
. При переходе от текущего масштаба
к следующему
число вейвлет-коэффициентов уменьшается в два раза и они определяются по рекуррентным соотношениям:
Процесс останавливается после конечного числа уровней , которое зависит от протяженности сигнала (
) и порядка (
) фильтра
.
При восстановлении (реконструкции) сигнала по его вейвлет-коэффициентам процесс идет от крупных масштабов к мелким и на каждом шаге описывается выражением
которое получается из соотношений (2.10) и (2.11).
Число операций умножения при прямом быстром ВП (БВП) будет , где
[29]. Столько же операций необходимо и для реконструкции сигнала. Таким образом, для анализа-синтеза сигнала в базисе вейвлетов необходимо выполнить
операций, что не превышает ( и даже меньше) числа операций для быстрого преобразования Фурье (
).
Таким образом, в практических приложениях с применением БВП используются только коэффициенты , сами же вейвлеты не вычисляются и в расчетах не используются.
Пакет Wavelet Toolbox позволяет осуществлять КМА с использованием БВП. При этом порядок следования коэффициентов – «дерево» коэффициентов приведено на рис. 2.10: декомпозиция сигнала – сверху-вниз и реконструкция – снизу-вверх.
Рис. 2.10
На рис. 2.11 приведен пример КМА, взятый из раздела демонстрационных примеров «wavedemo ». Слева под сигналом представлены аппроксимирующие коэффициенты , а справа – детализирующие
(
от 1 до 5). Очевидно, что коэффициенты аппроксимации являются грубыми копиями сигнала, а детализирующие коэффициенты выделяют локальные особенности и свойства сигнала. Справа сверху приведен также вейвлет-спектр сигнала – cfs.
Функции для нахождения этих коэффициентов имеют ряд форм и, в частности:
– возвращают аппроксимирующие и детализирующие коэффициенты из структуры вейвлет-разложения ,
– строка, содержащая имя вейвлета, уровень
должен быть
целым числом, таким, что , где
.
Рис. 2.11
Структура вейвлет-разложения
возвращает векторы вейвлет-разложения сигнала X на уровне ; выходная структура разложения содержит векторы
и
.
Реконструкцию (восстановление) сигнала с многоуровневой структурой разложения
осуществляет функция waverec:
2.5. О вейвлетах для БВП
Большинство используемых вейвлетов не имеют, к сожалению, аналитического выражения. Однако из предыдущего рассмотрения следует, что для практических расчетов используются не сами вейвлеты, а их коэффициенты .
Эти коэффициенты, однозначно определяющие отцовский и материнский
вейвлеты, могут быть найдены из решения уравнения (2.11).
Следует отметить, что процесс определения коэффициентов , т.е. конструирования вейвлетов, достаточно сложен для пользователя. Да в этом и нет особой необходимости, так как уже создано большое число вейвлетов, в том числе входящих в пакет расширения Wavelet Toolbox, например, вейвлеты Добеши (dbN), Симплета (sumN), Койфлета (coifN), Хаара (haar) и др.; их подробное описание приведено в [7, 8].
Особо следует отметить вейвлеты Добеши. Это один из самых известных и используемых во многих практических приложениях типов. Вейвлеты порядка N (dbN) отличны от нуля лишь на интервале длиной 2N–1 и имеют 2N отличных от нуля коэффициентов фильтров и
. Исключая случай N = 1 (а это есть базис Хаара, который не регулярен), функции
и
непрерывны и дифференцируемы.
Решение уравнения (2.11) для этих вейвлетов дает [5, 8]:
для (четырехточечный фильтр Добеши):
– 0.135011,
– 0.085441,
0.035227.
– 0.027984,
– 0.187035,
0.030841,
На рис. 2.12 приведены отцовский (сплошной линией) и материнский
вейвлеты второго, третьего и четвертого порядков, которые задаются приведенными выше коэффициентами фильтров.
Рис. 2.12
Очевидно, что вейвлеты высокого порядка ( и
4) более гладкие по сравнению с
; все функции
и
несимметричны. Порядок вейвлета определяет число нулевых моментов. В п.1.3 отмечалось, что чем большее число нулевых моментов содержит вейвлет (т.е. чем выше его порядок), тем более тонкую структуру сигнала он позволяет анализировать.
В вейвлет-преобразованиях, осуществляемых системой Mathcad, используется вейвлет .
2.6. Частотный подход к ВП
До сих пор рассмотрение ВП базировалось на временном подходе. Однако также плодотворна трактовка ВП в частотной области на базе частотной фильтрации. В этом случае КМА сигнала рассматривается как поэтапная процедура фильтрации. При этом частотный образ вейвлета
можно разбить на низкочастотную и высокочастотную составляющие с частотой раздела, равной
, т.е. представить реализацией двух фильтров.
Обратимся к схеме рис. 2.13. Сигнал подается на низкочастотный (нижняя часть схемы) и высокочастотный фильтры декомпозиции
и
. В них вычисляется свертка (цифровая фильтрация) по формуле: