exponenta event banner

1-D Вейвлет-анализ пакетов

Теперь обратимся к инструменту Wavelet Packet 1-D для анализа синтетического сигнала, который представляет собой сумму двух линейных чирпов.

Запуск средства 1-D пакета Wavelet

  1. В подсказке MATLAB ® введитеwaveletAnalyzer. Появится вейвлет-анализатор.

    Выберите пункт меню Wavelet Packet 1-D.

Импорт сигнала

  1. В командной строке MATLAB введите

    load sumlichr;

  2. В инструменте 1-D вейвлет-пакетов выберите «Файл» > «Импорт из рабочей области» > «Импорт сигнала». При появлении диалогового окна Импорт из рабочего пространства (Import from Workspace) выберите sumlichr переменная. Нажмите кнопку ОК, чтобы импортировать данные.

    sumlichr загружается в инструментальное средство 1-D вейвлет-пакетов.

Анализ сигнала

  1. Установите соответствующие параметры для анализа. Выберите db2 вейвлет, уровень 4, энтропия thresholdи для типа порогового параметра 1. Нажмите кнопку «Анализ».

Доступные типы энтропии перечислены ниже.

Напечатать

Описание

Шаннон

Ненормализованная энтропия, включающая логарифм возведенного в квадрат значения каждой выборки сигнала - или, более формально,

−  si2log (si2).

Порог

Число отсчетов, для которых абсолютное значение сигнала превышает пороговое,

Норма

Концентрация в лп норма при 1 ≤ п.

Энергия журнала

Логарифм «энергии», определяемый как сумма по всем выборкам:

∑log (si2).

SURE (Объективная оценка риска Штайна)

Основанный на пороговых значениях метод, в котором пороговое значение равно

2loge (nlog2 (n))

где n - число выборок в сигнале.

Пользователь

Критерий типа энтропии, определенный в файле.

Дополнительные сведения о доступных типах энтропии, пользовательской энтропии и пороговых параметрах см. в разделе wentropy справочная страница и выбор оптимальной декомпозиции.

Примечание

Многие возможности доступны с помощью командной области справа от окна 1-D вейвлет-пакетов.

Вычисление лучшего дерева

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

  1. Нажмите кнопку «Лучшее дерево».

    После паузы для вычислений инструмент Wavelet Packet 1-D отображает лучшее дерево. Используйте верхний и нижний ползунки для разнесения узлов друг от друга и панорамирования по определенным областям дерева соответственно.

    Обратите внимание, что для этого анализа лучшее дерево и начальное дерево почти одинаковы. Одна ветка справа от дерева была ликвидирована.

Сжатие сигнала с использованием вейвлет-пакетов

Выбор порога сжатия

  1. Нажмите кнопку «Сжать».

    Появится окно Wavelet Packet 1-D Compression с автоматически выбранным приблизительным пороговым значением.

    Самый левый график показывает, как порог (вертикальная черная пунктирная линия) был выбран автоматически (1.482), чтобы сбалансировать количество нулей в сжатом сигнале (синяя кривая, которая увеличивается по мере увеличения порога) с количеством энергии, удерживаемой в сжатом сигнале (фиолетовая кривая, которая уменьшается по мере увеличения порога).

    Это пороговое значение означает, что любой элемент сигнала, значение которого меньше 1,482, будет установлен в ноль при выполнении сжатия.

    Элементы управления пороговыми значениями расположены справа (см. красную рамку на рисунке выше). Отметим, что автоматический порог 1,482 приводит к сохранению энергии всего 81,49%. Это может вызвать неприемлемые величины искажения, особенно в пиковых значениях колебательного сигнала. В зависимости от критериев проектирования можно выбрать пороговое значение, сохраняющее больше энергии исходного сигнала.

  2. Отрегулируйте пороговое значение путем ввода 0.8938 в текстовом поле напротив ползунка порога и нажмите клавишу Enter.

    Стоимость 0.8938 это число, которое мы обнаружили путем проб и ошибок, дает более удовлетворительные результаты для этого анализа.

    После паузы в окне Wavelet Packet 1-D Compression отображается новая информация.

    Отметим, что, поскольку мы снизили порог с 1,482 до 0,8938,

    • Вертикальная черная пунктирная линия сместилась влево.

    • Сохранившаяся энергия увеличилась с 81,49% до 90,96%.

    • Количество нулей (эквивалентное величине сжатия) уменьшилось с 81,55% до 75,28%.

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

  1. Нажмите кнопку «Сжать».

    Инструмент Wavelet Packet 1-D сжимает сигнал, используя выбранный нами критерий пороговой обработки.

    Исходный (красный) и сжатый () сигналы отображаются наложенными. Визуальный осмотр показывает, что качество сжатия достаточно хорошее.

Более внимательно рассматривая сжатый сигнал, можно видеть, что число нулей в представлении вейвлет-пакетов сжатого сигнала составляет около 75,3%, а сохраняемая энергия - около 91%.

Если попытаться сжать тот же сигнал с помощью вейвлетов с точно такими же параметрами, сохраняется только 89% энергии сигнала, и только 59% вейвлет-коэффициентов установлены на ноль. Это иллюстрирует превосходство вейвлет-пакетов для выполнения сжатия, по меньшей мере, для определенных сигналов.

Вы можете продемонстрировать это самому себе, вернувшись в главное окно Vavelet Packet 1-D, вычисляя вейвлет-дерево, а затем повторяя сжатие.

Снятие шума сигнала с использованием вейвлет-пакетов

Теперь мы используем инструмент Wavelet Packet 1-D для анализа шумного сигнала чирп. Этот анализ иллюстрирует использование необъективной оценки риска (SURE) Штайна в качестве принципа выбора порога, который будет использоваться для снятия шума.

Этот метод вызывает установку порогового значения T в

T = 2loge (nlog2 (n))

где n - длина сигнала.

Более подробное обсуждение критерия SURE появляется в разделе Выбор оптимального разложения. На данный момент достаточно сказать, что этот метод хорошо работает, если ваш сигнал нормализован таким образом, что данные соответствуют модели x (t) = f (t) + e (t), где e (t) - гауссовский белый шум с нулевым средним и единичной дисперсией.

Если инструмент Wavelet Packet 1-D уже запущен и активен на рабочем столе компьютера, перейдите к шагу 3.

Запуск средства 1-D пакета Wavelet

  1. В приглашении MATLAB введите waveletAnalyzer.

    Появится вейвлет-анализатор.

    Выберите пункт меню Wavelet Packet 1-D.

    Инструмент появится на рабочем столе.

    Импорт сигнала

  2. В командной строке MATLAB введите

    load noischir;

    В инструменте 1-D вейвлет-пакетов выберите «Файл» > «Импорт из рабочей области» > «Импорт сигнала». При появлении диалогового окна Импорт из рабочего пространства (Import from Workspace) выберите sumlichr переменная. Нажмите кнопку ОК, чтобы импортировать данные

    Примечание

    Для загрузки сигнала можно использовать меню «Файл» > «Загрузка» > «Сигнал».

  3. Длина сигнала составляет 1024. Это означает, что мы должны установить порог критерия SURE равным sqrt(2.*log(1024.*log2(1024))), или 4.2975.

    Анализ сигнала

  4. Установите соответствующие параметры для анализа. Выберите db2 вейвлет, уровень 4, тип энтропии sureи пороговый параметр 4.2975. Нажмите кнопку «Анализ».

    Во время вычисления вейвлет-пакетного анализа возникает пауза.

    Примечание

    Многие возможности доступны с помощью командной области справа от окна 1-D вейвлет-пакетов. Некоторые из них используются в сиквеле. Более полное описание см. в разделе Функции инструментального средства вейвлет-пакетов (1-D и 2-D).

    Вычисление лучшего дерева и устранение шума

  5. Нажмите кнопку «Лучшее дерево».

    Вычисление наилучшего дерева повышает эффективность расчетов устранения шума.

  6. Нажмите кнопку «Снять шум». Появится окно «Wevelet Packet 1-D De-Noising».

  7. Нажмите кнопку устранения шума, расположенную в центральной правой части окна «Wavelet Packet 1-D De-Noising».

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

Вы также можете использовать wpdencmp функция для выполнения шумоподавления или сжатия вейвлет-пакета из командной строки.