А.Н. Яковлев - Введение в вейвлет преобразования (1275343), страница 6
Текст из файла (страница 6)
Системы компьютерной математики Mathcad первыми использовали прямое и обратное дискретное ВП. В ядро систем (начиная с версии Mathcad 8) встроен единственный вейвлет – Добеши db4 (или DB4). При этом реализация ВП происходит с большой скоростью (т.е. эффективностью) и можно осуществлять практическое исследование различных сигналов и временных рядов на выявление как их свойств, так и свойств ВП.
Ядро систем Mathcad содержит две следующие функции ВП:
wave(x) – вектор прямого ВП;
iwave(w) – вектор обратного ВП.
Вектор данных и вектор вейвлет-спектра
должны иметь ровно
элементов (
– целое число). Результатом функции wave(x) является вектор, скомпонованный из коэффициентов двухпараметрического вейвлет-спектра
.
Пример 2.1. Прямоугольный импульс с шумом
Исследуемый сигнал представляет собой аддитивную смесь
прямоугольного видеоимпульса и белого нормального шума
(рис. 2.2):
Такая модель может характеризовать в первом приближении сигнал в видеотракте приемника радара (радиолокатора), сонара (гидролокатора) и оптического локатора.
Рис. 2.2
Представление сигнала и шума в дискретном виде:
Вейвлет-анализ, т.е. прямое ДВП:
Семейства коэффициентов вычисленного вейвлет-спектра показаны на рис. 2.3, а весь спектр – на рис. 2.4.
Примечание. У коэффициентов нижний индекс
означает номер текущего отсчета времени и принимает N значений от 0 до N–1, а верхний
имеет тот же смысл, что и у вейвлет-коэффициентов
, определяемых по формуле (2.2). Напомним, что параметры
и
(которым соответствуют индексы вейвлет-коэффициентов) характеризуют дискретные изменения временного масштаба (
) вейвлета и его сдвига
) во времени. Для текущего масштаба
параметр
имеет
значений от 0 до
. В частности, для
(
) вейвлет
смещается N раз (включая нуль), т.е. индекс
в
и индекс
в
совпадают. При
вейвлет
расширяется по сравнению с вейвлетом
в два раза и общее число сдвигов будет в два раза меньше; при этом значение
будет изменяться через два отсчета
. Для наибольшего временного масштаба, когда
(в данном случае 7),
и один вейвлет
«накроет» весь временной интервал; при этом значение
будет постоянным и равным
при всех значениях
от 0 до N – 1.
Рис. 2.3
Рис. 2.4
Рис. 2.5
Вейвлет-синтез, т.е. обратное ДВП. Синтезируемый сигнал:
Осуществим синтезирование сигнала с подавлением коэффициентов при быстрых (высокочастотных) слагаемых обобщенного ряда (2.3):
Результаты представлены на рис. 2.5. Очевидно, что при синтез происходит без подавления составляющих и исследуемый
и синтезируемый
сигналы полностью совпадают.
С увеличением параметра расширяется полоса подавления составляющих в вейвлет-спектре, что эквивалентно пропусканию сигнала через фильтр низких частот с уменьшающейся полосой пропускания фильтра и, следовательно, росту подавления шума и относительно высокочастотных компонентов сигнала; последнее приводит к искажению (затягиванию) фронтов импульса.
Пример 2.2. Вейвлет-фильтрация бигармонического сигнала с шумом
На вход низкочастотного приемного тракта фазового параметрического гидролокатора [38] поступает сигнал
где – помеха в виде белого гауссова шума с математическим ожиданием
и среднеквадратическим отклонением
;
– бигармонический (двухкомпонентный) сигнал
где – амплитуды компонентов эхосигнала на частотах
и
,
– фазовые сдвиги, зависящие от акустической жесткости и структуры подводных объектов,
и
– время задержки и длительность эхоимпульса. Измеритель фазового сдвига приемника дает на своем выходе: во время действия сигнала
напряжение, пропорциональное фазовому сдвигу
, и равномерный шум вне интервала
. Присутствие шума
привносит случайную ошибку в измерения
.
Задача ВП – это осуществление фильтрации из шума
. Отфильтрованный сигнал подается на измеритель фазового сдвига (ИФС на рис. 2.6).
Рис. 2.6
Моделирование сигнала , его ВП, алгоритма измерения фазового сдвига
и оценки параметров входного и выходного сигналов осуществлено в пакете Mathcad (2001).
Дискретное ВП осуществлено на основе встроенной в пакет Mathcad базисной функции Добеши : wave(x) – вектор прямого ВП, iwave(w) – вектор обратного ВП. Сигнал
был подвергнут (как и в примере 2.1) прямому ВП, и по найденному вектору коэффициентов
осуществлено обратное ВП с подавлением коэффициентов при быстрых (высокочастотных) слагаемых ряда (2.3):
,
,
.
На рис. 2.7 представлены входной сигнал и результат его вейвлет-фильтрации
. Здесь
В,
кГц,
,
В,
мс,
мс,
(z = 9),
.
В ходе исследований изменялся параметр m и измерялись: среднеквадратическое значение шума после ВП, фазовый сдвиг
, отклонение
измеренного фазового сдвига
от истинного
и среднеквадратическое отклонение фазового сдвига
. Результаты сведены в табл. 2.1.
При восстановление (синтез) сигнала происходит без подавления шума и синтезируемый
и исследуемый
полностью совпадают. С увеличением
(на рис. 2.7
) расширяется полоса подавления спектра, сужается полоса пропускания низкочастотной части спектра, что уменьшает уровень шума (
).
Рис. 2.7
Т а б л и ц а 2.1
0 | 1 | 2 | 3 | 4 | 5 | 6 | |
0.493 | 0.327 | 0.198 | 0.125 | 0.105 | 0.078 | 0.05 | |
–5.73 | –5.35 | –5.01 | –4.24 | –4 .84 | –6.91 | 120. | |
14.87 | 14.81 | 18.47 | 14.08 | 14.54 | 18.8 | 116 |
Установлено, что существует оптимальное , при котором отклонение
, или среднеквадратическая ошибка
, в измерении фазового сдвига эхосигнала минимально. При
наряду с дальнейшим подавлением шума происходит искажение формы бигармонического импульсного сигнала, что приводит к росту
и
. Отметим, что при отсутствии шума (
) измерение фазового сдвига происходит без ошибок (т.е.
и
).
2.3.2. ДВП в Matlab
Изучение ДВП, как и непрерывного ВП, лучше осуществлять с помощью графического интерфейса GUI (прил.1). Для вызова меню следует исполнить команду wavemenu. В появившемся окне со списком разделов ВП активизировать позицию Wavelet 1-D, а далее установить
и выбрать один из 32 примеров применения вейвлет-технологии.
Пакет расширения систем MATLAB 6.0/6.1 Wavelet Toolbox 2/2.1 содержит несколько функций нахождения вейвлет-коэффициентов (прил. 2, П.2.2), например,
coef = detcoef(C,L,M).
Эта функция возвращает коэффициенты на уровне М из структуры wavelet разложения [C, L]; при этом уровень М должен быть целым числом, таким, что , где
.Функция [С, L] = wavedec(S, M, 'wname') возвращает векторы wavelet разложения сигнала Х на уровне М, используя выбранный вейвлет (с именем ‘wname’).
Пример 2.3. Бигармонический сигнал с шумом
Модель такого сигнала приведена в примере 2.2. Найдем его непрерывный и дискретный вейвлет-спектры:
function binar_rauch_wav_1
t = 0:0.000001:0.001; A1 = 1; A2 = 1; F1 = 10000; F2 = 2*F1; a1 = 0; a2 = 0;
s1(1:200) = 0; t2 = 0.0002:0.000001:0.0008;
s2 = A1*sin(2*pi*F1*t2 + a1) + A2*sin(2*pi*F2*t2+a2);
s3(1:200) = 0; s = [s1 s2 s3]; randn('state',0); g = 0.5; n = g*randn(size(t));
x = s + n; figure (1); subplot(311), plot(t,x,'k'); title('Сигнал x(t)'); grid on;
gtext('F=10кГц, А1=А2=1В, g=0.5 B');
subplot(312), c = cwt(x,1:64,'mexh','absglb',[0 400]);