МАТЛАБ для DSP. Использование GUI WAVEMENU для решения инженерных задач. Часть 2

   

В. Геппенер, А. Ланнэ, Д. Черниченко

МАТЛАБ для DSP. Использование GUI WAVEMENU для решения инженерных задач. Часть 2

Использование разложения по WAVELET-ПАКЕТУ

Часто оказывается, что wavelet-разложение сигнала по классической схеме не всегда оправдано. Это связано с тем, что сигнал раскладывается в сумму сигналов с шириной спектров,равной октаве, но для каждого конкретного сигнала такое разбиение не всегда является наилучшим. Мейер и Койфман предложили схему разложения сигнала по wavelet-пакету.

На каждом уровне последующейфильтрации подвергается не только низкочастотная, но и высокочастотнаясоставляющая. Общая схема фильтрации будет иметь вид двоичного дерева (рис. 1).

Рис. 1. Разложение по "стандартной" схеме (а) и по wavelet-пакету (б)

Wavelet-пакетом является любойподграф G полного графа разложения, удовлетворяющий следующим свойствам:

  • корень дерева принадлежит G;
  • в каждой из вершин граф G либо делится на две части, либо прерывается.

Сигнал, получающийся в каждомузле дерева wavelet-пакета можно интерпретировать как выход некоторого полосового фильтра. Сложность вычисления по полной схеме пропорциональна NlogN, где N является длиной сигнала.

Для экономии вычислений и повышения качества разложения вводится аддитивная функция стоимости E( s), такая что E(0) = 0 и

где si - коэффициенты разложения в i-м узле дерева. 

Далее, на основе введённой функции стоимости определяется наилучший подграф полного дерева.

Если суммарная функция стоимости потомков узла меньше, чем функция стоимости предка, то они включаются в подграф, в противном случае, данный узел становится терминальным, то есть последующее разбиение этого узла не производится.

Таким образом, можно адаптировать разложение к сигналу. Отметим, что такая адаптация не требует обучения или знания статистических свойств сигнала.

Функции стоимости, используемые в GUI Wavemenu для определения наилучшего подграфа:

  • Shannon - , log(0) принимается равным 0;
  • Threshold - число отсчётов, по абсолютному значению больших, чемзаданный порог e;
  • Norm - ;
  • Log Energy - , log(0) принимается равным 0;
  • SURE - , N - количество отсчётов;
  • User - функция стоимости задаётся в MAT-файле.

Для анализа и синтеза сигналов,используя разложение по wavelet-пакету, необходимо выбрать пункт "Wavelet Packet 1-D" в главном меню. Появится панель инструментов разложения одномерного сигнала по wavelet-пакету (рис. 2).

Рис. 2. Панель инструментов разложения одномерного сигнала по wavelet-пакету

Очистка сигнала от шумов

Процедура фильтрации шума выглядит так же, как и при использовании стандартной схемы wavelet-преобразования, только модифицируются коэффициенты, находящиеся в терминальных узлах выбранного в соответствии с заданной функцией стоимости наилучшего подграфа полного дереваразложения.

В качестве примера для демонстрации удаления шума будем использовать всё тот же сигнал

находящийся в тестовом файле "noischir.mat" (его необходимо загрузить так же, как это делалось при использовании одномерного дискретного wavelet-преобразования).

Произведём его разложение с использованием wavelet Добеши с 3-мя нулевыми моментами ('db3') до 5-гоуровня, в качестве функции стоимости для поиска наилучшего подграфа будем использовать энтропию Шеннона (Shannon). Для разложения сигнала по wavelet-пакету нажмём кнопку "Analyze". Затем необходимо выбирать подграф, по которому будет производиться анализ и синтез сигнала.

Подграфы полного дерева wavelet-пакета:

  • Initial tree - полное бинарное дерево разложения;
  • Wavelet tree - стандартная схема wavelet-преобразования;
  • Best tree - выбирается лучшее дерево на основе заданной функциистоимости.

Для вызова инструмента очисткисигнала от шума используется кнопка "De-noise", размещённая справа, подкнопкой "Analyze". Появится окно (рис. 3), в котором можно производитьудаления шума из сигнала при разложении по wavelet-пакету.

Рис. 3. Панель инструментов для очистки сигнала от шума при использовании разложения по wavelet-пакету

Графики в левой части окна показывают гистограмму распределения wavelet-коэффициентов (внизу) и процент сохранённой энергии сигнала (вверху), в зависимости от выбранного порога (вертикальная пунктирная линия).

При удалении шума из сигналанеобходимо задать правило модификации терминальных коэффициентов выбранного подграфа, "hard' или "soft" (Automatic hard thresholding или Automatic soft thresholding, соответственно), и порог.

При нажатии на кнопку "De-noise"происходит очистка сигнала от шума в соответствии с заданными параметрами. Очищенный от шума сигнал накладывается на исходный. Также выводятся графики wavelet-коэффициентов исходного и очищенного (синтезированного) сигнала.

Сжатие сигнала

Схема сжатия сигнала при использовании разложения по wavelet-пакету такая же, как и при использованиистандартной схемы разложения: производится разложение исходного сигнала по wavelet-пакету, после чего запоминаются только те терминальные коэффициенты, которые больше заданного порога. Восстановление сигнала производится при помощи обратного преобразования, при этом пропущенные коэффициенты заменяются нулями.

Как правило, при использованииразложения по wavelet-пакету получаются лучшие результаты сжатия сигнала, чем при использовании разложения по стандартной схеме.

Для вызова инструмента сжатиясигнала при использовании разложения по wavelet-пакету (рис. 3) следуетнажать кнопку "Compress", размещённую слева под кнопкой "Analyze".

Например, при сжатии сигнала

используя разложение по wavelet-базису Добеши с 3-мя нулевыми моментами ('db3') и раскладывая сигнал до5-го уровня с обнулением примерно 90% коэффициентов, мы получим следующие результаты.

Используемые подграфы полного дерева разложения:

  • полное бинарное дерево - 87,16% сохранённой энергии;
  • лучшее дерево (используя в качестве функции стоимости энтропию Шеннона) - 87,54%;
  • разложение по стандартной wavelet-схеме - 59,99%.

Таким образом, при использовании разложения по wavelet-пакету при одинаковой степени сжатия мы получаем больший процент сохранённой энергии исходного сигнала, чем при использовании стандартной схемы; вычислительная сложность при этом увеличивается незначительно.

Использование непрерывного wavelet-преобразования

Любой сигнал, обрабатываемый накомпьютере, должен быть дискретным, то есть сигналом, который представленизмерениями в дискретные моменты времени. Непрерывное wavelet-преобразование (CWT) также работает в дискретном времени. Но, в отличие от дискретного преобразования, CWT оперирует с отсчётами, непрерывными по состоянию. Непрерывное wavelet-преобразование можно использовать как альтернативу кратковременному преобразованию Фурье с целью преодолеть сложности, связанные с разрешением по времени и частоте.

Работу с непрерывным wavelet-преобразованием удобно продемонстрировать на примере. Выбираем пункт"Continuous Wavelet 1-D" в главном меню, после чего появится панель инструментов непрерывного wavelet-анализа для одномерного сигнала (рис. 4).

Рис. 4. Панель инструментов для сжатия сигнала при использовании разложения по wavelet-пакету

В качестве примера будем использовать сигнал, содержащийся в тестовом файле mishmash.mat, который должен находиться в каталоге MATLAB toolbox/wavelet/wavedemo.

Этот сигнал имеет следующий вид:

где N - продолжительность сигнала, внашем случае - 1024 отсчёта; k = 1...N.

Для загрузки сигнала выбираем пункт меню "File->Load signal". Когда появится диалог загрузки сигнала, выбираем тестовый MAT-файл mishmash.mat, который должен находиться в каталоге MATLAB toolbox/wavelet/wavedemo, нажав кнопку "OK".

Наша задача - при помощи непрерывного wavelet-преобразования определить вид сигнала. Для начала произведём его анализ, используя wavelet Хаара в масштабах от 1 до 32. Для этого необходимо:

  • выбрать тип wavelet ("haar") и уровни масштабирования 1-32 в верхнем правом углу утилиты;
  • нажать кнопку "Analyze";
  • после выполнения вычислений утилита отобразит график wavelet-коэффициентов (рис. 4). При этом можно задавать варианты представления вычисленных wavelet-коэффициентов: менять цветовую палитру и интенсивность цветов.

Получившиеся wavelet-коэффициенты мало информативны; по ним нельзя точно сказать ни о виде сигнала, ни тем более получить какие-то численные оценки. Это связано с тем, что wavelet Хаара мало подходит для анализа сигналов подобного типа, так как очень плохо локализован в частотной области и имеет всего два нулевых момента. Для анализа рассматриваемого сигнала предпочтительнее wavelet Мейера, который имеет более подходящие характеристики.

Результаты анализа сигнала с помощью wavelet Мейера представлены на рис. 5. Видно, что сигнал состоит из 3-х компонент. Здесь так же можно проследить, чем отличается разбиениечастотно-временной полуплоскости wavelet-преобразования от кратковременного преобразования Фурье.

Рис. 5. Панель инструментов непрерывного wavelet-анализа одномерного сигнала

Заметим, что если при помощипреобразования Фурье можно твёрдо определить наличие синусоиды только с постоянной частотой, то при помощи непрерывного wavelet-преобразования мы видим и можем оценить все компоненты исходного сигнала. Может показаться странным использование непрерывного wavelet-преобразования для анализа сигналов, где достаточно непросто правильно интерпретировать полученные результаты, если при кратковременном преобразовании Фурье можно получить исчерпывающую информацию. Следующий пример поможет почувствовать оправданность в определённых случаяхприменения wavelet-преобразования.

Рис. 6. Абсолютное значение wavelet-коэффициентов, полученных при анализе сигнала с помощью wavelet Мейера

Допустим в некоторый момент времени на наш исходный сигнал наложился некоторый выброс. То есть сигнал теперь имеет следующий вид:

Теперь наша задача - не толькоопределить вид сигнала, но и локализовать место выброса. Ясно, что с помощью преобразования Фурье подобную задачу решить не удастся.

Рис. 7. Спектрограмма модифицированного сигнала (применяется окно Ханинга шириной 128 отсчетов). На экране уровни спектральных составляющих отображаются цветами

При использовании кратковременного преобразования Фурье мы получим следующую картину.

Смоделируем сигнал s1 :
% загружает тестовый файлmishmash.matload mishmash;% моделируем выбросmishmash(500)=3;mish_delt=mishmash;% создаём на диске файл,содержащий модифицированныйсигналsave mish_delt;% отображаем на экране спектрограмму модифицированногосигналаspecgram(mish_delt,128,1,128) ;

С помощью спектрограммы (рис. 8)можно определить наличие выброса, но не удаётся точно локализовать его.Это связанно с принципом неопределённости, который гласит, что невозможно одновременно получить хорошее разрешение по частоте и по времени. Принцип неопределённости для преобразования Фурье может быть записан в виде
4 p D w * D t > 1.

Рис. 8. Абсолютное значение wavelet-коэффициентов, полученных при анализе модифицированного сигнала с помощью wavelet Мейера

Таким образом, если сигнал локализован во времени, то его спектр, напротив, рассредоточен по всей осичастот, и наоборот.

Именно это свойство обуславливает основные ограничения применимости кратковременного преобразования Фурье. Wavelet-преобразование решает эту и некоторые другие проблемы. На рис. 9 можно не только определить наличие выброса, но и точно оценить его положение.

Рис. 9. Увеличенный участок рисунка 8

В GUI также можно увеличить интересующий участок изображения. Для этого переместите выделяющийпрямоугольник (держа нажатой левую клавишу мыши) в область сигнала, который требуется увеличить. Далее следует щёлкнуть по кнопке "XY+" (расположенной внизу экрана), чтобы увеличить изображение по горизонтали и вертикали.

Программа увеличит отображаемый сигнал и график коэффициентов. На увеличенном участке (рис. 10) можно удостовериться в наличии выброса и более точно определить его местоположение.

Рис. 10. Wavelet-коэффициенты, полученных при анализе модифицированного сигнала с помощью wavelet Мейера

Можно изменить масштаб анализируемого сигнала и повторить анализ. Для этого следует отредактировать необходимые поля и снова нажать кнопку ЭAnalyzeЭ. Утилита позволяет выбирать: выводить самиwavelet-коэффициенты или их абсолютное значение.

Для этого необходимо выбирать режим из меню ЭColoration mode", находящимся прямо над кнопкой "Analyze". При выводе самих wavelet-коэффициентов (рис. 11) цвета "масштабируются" между минимумом и максимумом значений коэффициентов. При выводе их абсолютных значений - цвета "масштабируются" между нулём и максимальным значением коэффициентов.

Заключение

В заключении следует отметить, чтоGUI Wavemenu является удобным инструментом для предварительного анализа сигналов с помощью wavelet-преобразования. Он имеет дружественный интерфейс, и с его помощью можно использовать практически все возможности тулбокса Wavelet.

Инструмент GUI полезен и в учебном процессе. С эго помощью можно демонстрировать многие важные свойства и возможности wavelet-преобразований.

Авторы считают своим долгом выразить благодарность фирме «SoftLine» () за предоставленное программное обеспечение.

Литература

  • Strang G., Nguyen T. Wavelets and Filters Banks. - Wellesley-Cambridge-Press 1996. - 490 p.
  • Daubechies Ingr id, Ten lectures on wavelets, SIAM, Philadelphia, 1992.
  • Петухов А.П. Введение в теорию базисов всплесков. - СПб.: Изд-во СПбГТУ. - 1999. - 132 с.
  • Michel Misiti, Yves Misiti, Georges Oppenheim, Jean-Michel Poggi. WaveletToolbox for use with Matlab (User's Guide, version 1). - 626 p.
  • Потемкин В.Г. MATLAB 5 для студентов /Диалог-МИФИ. - 1999. - 447 с.

    E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






  • Рекомендуемый контент




    Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.