Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Обработка сигналов на основе вейвлет-преобразования (90

..pdf
Скачиваний:
18
Добавлен:
15.11.2022
Размер:
589.85 Кб
Скачать

2.2. Реализация алгоритма обработки (фильтрации) сигнала на основе дискретного вейвлет-преобразования

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

Основные этапы реализуемого алгоритма должны включать в себя следующие этапы:

1.Вычисление прямого вейвлет-преобразования сигнала (выбор типа вейвлет-функции и числа уровней вейвлет-разложения).

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

3.Вычисление обратного вейвлет-преобразования от множества модифицированных (обработанных) вейвлет-коэффициентов.

Основные пункты исследования работы алгоритма должны включать:

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

 

1

N 1

 

СКО

( f (k) fˆ(k))2 ,

(22)

 

 

N k 0

 

где f (k) – эталонный сигнал,

fˆ(k) – восстановленный сигнал.

 

2. Сравнение использования различных типов вейвлет-функ- ций внутри рассматриваемого алгоритма фильтрации. В качестве

31

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

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

Решение рассматриваемой задачи (рис. 8) можно осуществить с использованием функций и программного кода, рассмотренных ниже.

[SD,CSD,LSD] = wden(S,TPTR,SORH,SCAL,N,'wname')

%Функция для автоматического удаления шума из

%сигнала на основе вейвлет-преобразования в

%одномерном случае

%

%SD – восстановленный сигнал

%CSD -- вектор, содержащий коэффициенты

%вейвлет-разложения сигнала XD

%LSD -- вектор, содержащий длины векторов

%вейвлет-коэффициентов, полученных на различных

%уровнях разложения

%S -- обрабатываемый сигнал

%TPTR -- алгоритм, используемый для выбора

%порога:

%'rigrsure' -- алгоритм Штейна несмещенной

%оценки риска

%'heursure' – эвристический вариант

%предыдущего алгоритма

32

%'sqtwolog' – универсальный порог

%(определяется выражением (20) настоящего

%описания)

%'minimaxi' – минимаксный порог

%SORH – параметр, отвечающий за выбор пороговой

%функции:

%'h' -- жесткая пороговая функция

%'s' -- мягкая пороговая функция

%SCAL – параметр, определяющий характер

%обработки детализирующих коэффициентов

%вейвлет-разложения:

%'one' -- обработка детализирующих

%коэффициентов на всех уровнях вейвлет-

%разложения одинакова. При этом пороговое

%значение выбирается без автоматического

%оценивания дисперсии шума

%'sln' -- обработка детализирующих

%коэффициентов на всех уровнях вейвлет-

%разложения одинакова. При этом пороговое

%значение выбирается с автоматическим

%оцениванием дисперсии шума на первом уровне

%разложения

%'mln' -- обработка детализирующих

%коэффициентов на всех уровнях вейвлет-

%разложения различна. При этом пороговое

%значение выбирается с автоматическим

%оцениванием дисперсии шума на каждом уровне

%разложения и является индивидуальным для

%детализирующих коэффициентов, находящихся на

%этом уровне разложения

%N -- число уровней вейвлет-разложения

%'wname' -- тип вейвлет-функции, применяемый

%для вычисления вейвлет-коэффициентов

function mse = MSE(signal,rsignal)

%Функция для оценки качества восстановленного

%сигнала по критерию среднеквадратической

%ошибки

%

%mse -- среднеквадратическая ошибка

%signal -- эталонный сигнал

%rsignal -- восстановленный сигнал

33

if isequal(signal,rsignal)

disp('Сигналы идентичны; СКО равно нулю')

else

N = length(signal);

mse = sum((double(signal) – double(rsignal)).^ 2)/N;

disp(sprintf('СКО = %5.4f',mse));

end

 

1

Исходный незашумленный сигнал

 

 

 

 

 

 

Значения сигнала

0

 

 

 

 

 

 

 

 

 

 

-10

1

2

3

4

 

 

 

Время, t

x 10

-4

 

 

 

Зашумленный сигнал

 

 

 

 

 

 

 

1

 

 

 

 

Значения сигнала

0

 

 

 

 

-1

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

 

 

 

Время, t

x 10

-4

 

 

 

 

 

 

 

Восстановленный сигнал, СКО=0.0026496

 

 

1

 

 

 

 

Значения сигнала

0

 

 

 

 

 

 

 

 

 

 

-10

1

2

3

4

 

 

 

Время, t

x 10

-4

 

 

 

 

 

Рис. 8. Пример обработки (фильтрации) сигнала с использованием вейвлет-преобразования (незашумленный сигнал)

34

%Программа для обработки (фильтрации) сигнала

%на основе дискретного вейвлет-преобразования

t = 0:0.000001:0.0004;

A = 1; F = 10000; phi = 45; signal = A*sin(2*pi*F*t + phi);

subplot(311); plot(t,signal)

title('Исходный незашумленный сигнал'); grid xlabel('Время, t'); ylabel('Значения сигнала')

signal_noise = signal + ...

random('norm',0,0.2,[1 length(t)]);

subplot(312); plot(t,signal_noise) title('Зашумленный сигнал'); grid

axis([min(t) max(t) min(signal_noise) max(signal_noise)])

xlabel('Время, t'); ylabel('Значения сигнала')

tptr = 'sqtwolog'; sorh = 'h';

scal = 'one'; lev = 4;

wavefunc = 'db8';

rsignal = wden(signal_noise,tptr,sorh,scal,lev,wavefunc); mse = MSE(signal,rsignal);

subplot(313); plot(t,rsignal)

title(['Восстановленный сигнал' ',' ' ' 'СКО' '=' num2str(mse)]); grid

axis([min(t) max(t) min(rsignal) max(rsignal)]) xlabel('Время, t'); ylabel('Значения сигнала')

Выполнение программного кода для обработки (фильтрации) сигнала на основе дискретного вейвлет-преобразования позволяет построить функции, приведенные на рис. 8, и оценить значение СКО при заданных настройках алгоритма.

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

35

(t)

что не для всякой вейвлет-функции ψ(t) можно найти масштабирующую функцию (см. Приложение).

Контрольные вопросы

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

2.Что такое оконное преобразование Фурье?

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

4.Что такое вейвлет?

5.Привести примеры вейвлет-функций.

6.Как осуществляется построение вейвлет-базиса?

7.Что такое непрерывное вейвлет-преобразование?

8.Что такое диадное вейвлет-преобразование?

9.Каковы основные признаки вейвлета?

10.Перечислить основные свойства вейвлет-анализа.

11.Что такое дискретное вейвлет-преобразование и как оно связано с кратномасштабным анализом?

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

13.Что такое масштабирующая функция?

14.Что такое вейвлет-функция?

15.Что такое быстрое вейвлет-преобразование?

16.В чем заключается частотный подход к выполнению вейвлет-преобразования?

17.Что такое белый гауссовский шум?

18.Как построить алгоритм фильтрации сигналов с использованием вейвлет-преобразования?

19.В чем состоит отличие обработки вейвлет-коэффициентов на основе мягкой и жесткой пороговых функций?

20.Как оценить значение порога, используемого при обработке вейвлет-коэффициентов на основе мягкой и жесткой пороговых функций?

36

Список литературы

1.Солонина А. И., Арбузов С. М. Цифровая обработка сигналов. Моделирование в MATLAB. СПб.: БХВ-Петербург, 2008.

2.Дьяконов В. П. MATLAB 6.0/6.1/6.5/6.5+SP1 + Simulink 4/5.

Обработка сигналов и изображений. М.: СОЛОН-Пресс, 2005.

3.Смоленцев Н. К. Основы теории вейвлетов. Вейвлеты в

MATLAB. М.: ДМК, 2005.

4.Малла С. Вейвлеты в обработке сигналов. М.: Мир, 2005.

5.Добеши И. Десять лекций по вейвлетам. М.; Ижевск: НИЦ «Регулярная и хаотичная динамика», 2004.

6.Блатер К. Вейвлет-анализ. Основы теории. М.: Техносфера,

2004.

7.Яковлев А. Н. Введение в вейвлет-преобразования. Новосибирск: НГТУ, 2003.

8.Короновский A., Храмов А. Непрерывный вейвлетный анализ и его приложения. М.: Физматлит, 2003.

9.Нефедов В. И. Основы радиоэлектроники и связи: учебник для вузов. М.: Высшая школа, 2002.

10.Чуи К. Введение в вейвлеты; пер. с англ. М.: Мир, 2001.

11.Баскаков С. И. Радиотехнические цепи и сигналы. М.: Высшая школа, 2000.

37

Приложение

Кратномасштабный анализ

Представление сигнала в виде (8) и создание соответствующих ортогональных вейвлетов могут быть пояснены на основе теории функциональных пространств.

Пусть исходная функция f (t) принадлежит пространству L2 (R) квадратично-интегрируемых функций. Обозначим подпространство функций, аппроксимирующих L2 (R) на уровне j0 , как V j0 , а сами функции как Aj0 (t) (см. выражение (8)).

Кратномасштабный анализ, называемый также многомасш-

табным, базируется на следующих предпосылках теории функциональных пространств.

1. Пространство сигналов V описывается через иерархически вложенные подпространства V j0 , объединение которых дает в

пределе L2 (R) , то есть

V2 V1 V0 V 1 V 2 ,

 

V j0 {0},

 

 

L2 (R) .

(П. 1)

 

V j0

j0 Z

 

j0 Z

 

 

 

2.Для функции A j0 (t) V j0 ее сжатая версия A j0 1(t) принадлежит подпространству V j0 1.

3.Существует такая функция (t) V0 , что ее сдвиги

0k (t) (t k), k Z ,

(П. 2)

образуют ортонормированный базис пространства V0 . Функция(t) удовлетворяет условию:

 

(П. 3)

(t)dt 1

и называется масштабирующей (масштабной), или отцовским

вейвлетом. Рис. П. 1 схематически поясняет вложенные пространства.

38

Так как функции 0k (t) образуют ортонормированный базис подпространства V0 , то функции

j0 k (t) 2 j0 / 2 (2 j0 t k)

(П. 4)

образуют ортонормированный базис подпространства V j0 . Эти

функции создают свои масштабированные версии в пространстве сигнала. Аппроксимация Aj0 (t) является ортогональной проек-

цией f (t) на V j0 :

A j0 (t) j0 k (t), f (t) j0 k (t)

(П. 5)

k

 

Если масштабный коэффициент j0

велик, то компонент

Aj0 (t) есть грубая аппроксимация сигнала

f (t) и детали отсутст-

вуют. Чем меньше значение j0 , тем аппроксимация будет точнее.

{0} V j0 V j0 1 L2 (R)

Рис. П. 1. Вложенные функциональные пространства, порождаемые масштабирующей функцией

Итак, сигнал, описываемый функцией f (t) , в пространстве L2 (R) может быть представлен множеством последовательных его приближений Aj0 (t) в V j0 :

f (t)

lim A j0 (t)

j0

 

Из вложенности пространств V0 V 1 и того, что ортонормированный базис подпространства V 1, следующее масштабирующее выражение:

(П. 6)

1,k (t)

вытекает

39

(t) 00 (t) 2 h(l) 1,l (t) 2 h(l) (2t l) ,

(П. 7)

l

l

 

где

 

 

hl h(l) (t), (2t l) (t) (2t l)dt ,

(П. 8)

– коэффициенты масштабирующей функции (масштабный вектор или масштабный фильтр). Коэффициенты hl полностью характе-

ризуют саму функцию (t) , то есть она может быть получена с

любой точностью.

Из рис. П. 1 видно, что пространство L2 (R) построено из мно-

жества «кольцевых» полос, представляющих разность двух соседних подпространств. Эти «кольцевые» подпространства обозначаются через W j0 и определяются как ортогональные допол-

нения подпространств V j0 и V j0 1:

V j0 1 V j0 W j0 ,

W j0 {0},

 

 

L2 (R) .

(П. 9)

 

W j0

 

 

j0 Z

 

j0 Z

 

Пусть (t) 00 (t) есть базисная функция (материнский вейв-

лет) пространства W0 .

 

 

 

 

 

 

 

Тогда, учитывая, что

W0 V 1 ,

для

функции (t) 00 (t)

получим соотношение, аналогичное (П. 7):

 

(t) 00 (t)

2 g(l) 1,l (t) 2 g(l) (2t l),

(П. 10)

 

 

l

 

 

l

 

где

 

 

 

 

 

 

 

gl g(l) (t), (2t l)

(t) (2t l)dt ,

(П. 11)

– некоторая последовательность, то есть коэффициенты материнского вейвлета.

Базисные функции для подпространств W j0 образуются смещением и масштабированием функции (t) :

j0 k (t) 2 j0 / 2 (2 j0 t k)

(П. 12)

Получим выражения, связывающие последовательности hl и gl . Так как W j0 есть ортогональное дополнение V j0 , то функции

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]