ОЧИСТКА СИГНАЛА ОТ ШУМОВ С ИСПОЛЬЗОВАНИЕМ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ
Московский Сергей Борисович
доктор физ.- мат. наук, профессор Ярославского государственного университета им. П.Г. Демидова,
РФ, г. Ярославль E-mail: sergei_moskovskiy@rambler. ru
Сергеев Александр Николаевич
старший преподаватель Ярославского государственного университета им. П.Г. Демидова,
РФ, г. Ярославль E-mail: a.n.sergv@mail.ru
Лалина Нина Алексеевна
магистрант Ярославского государственного университета им. П.Г. Демидова,
РФ, г. Ярославль E-mail: lemurnina@gmail.com
CLEANING OF A SIGNAL FROM NOISE BY USING WAVELET TRANSFORMATION
Moscovskiy Sergey
doctor of Physics and Mathematics sciences, Professor, P.G. Demidov Yaroslavl State University,
Russia, Yaroslavl
Sergeev Alexander
senior lecturer, P.G. Demidov Yaroslavl State University,
Russia, Yaroslavl
Lalina Nina
master of Phisics, P.G. Demidov Yaroslavl State University,
Russia, Yaroslavl
Московский С.Б., Сергеев А.Н., Лалина Н.А. Очистка сигнала от шумов с использованием вейвлет-преобразования // Universum: Технические науки : электрон. научн. журн. 2015. № 2 (15) URL: http://7universum.com/ru/tech/archive/item/1958
АННОТАЦИЯ
Рассмотрен метод очистки сигналов от шумов с помощью вейвлетов: Хаара, Мейера, Добеши и Симлета. Разработаны программы в среде MatLab, реализующие очистку сигнала, полученного на дифрактометре ARL X’TRA .
ABSTRACT
The method of cleaning the signals from the noise by using the following wavelets: Haar, Meyer, Daubechies and Simlet. The programs implement in an environment MatLab, cleaning signal, obtained on the diffractometry ARL X'TRA have been developed.
Ключевые слова: вейвлет-анализ, трешолдинг, шумоочистка, MatLab, Wavelet Toolbox.
Keywords: wavelet analysis, threshold, noise reduction, MatLab, Wavelet Toolbox.
Работа выполнена на оборудовании Центра коллективного пользования научным оборудованием «Диагностика микро- и наноструктур» Ярославского филиала ФТИАН при финансовой поддержке Министерства образования и науки РФ.
В последнее время вейвлеты находят широкое применение для анализа и синтеза различных сигналов. Одним из методов обработки зашумленных сигналов является трешолдинг. Он представляет собой разложение рассматриваемого сигнала в вейвлет-спектр с последующей его обработкой.
Цель данной работы — исследование корректности и эффективности методов подавления шумовой части типового сигнала без ухудшений его качества при помощи вейвлет-преобразований различных типов с последующим восстановлением исходной формы основного сигнала.
При вейвлет-анализе сигнал разлагается на аппроксимирующие коэффициенты, представляющие сглаженный сигнал, и детализирующие
коэффициенты, описывающие колебания [1; 2]. Информация о шумовой компоненте в основном содержится в детализирующих коэффициентах, поэтому обычно именно они обрабатываются при очистке от шумов.
В обычной ситуации предполагается, что сигнал шумовой компоненты по модулю меньше основного. При выполнении этого условия простейший способ очистки от шума заключается в присвоении нулевых значений коэффициентам, не превышающим некоторого порогового значения. Эта процедура называется пороговой обработкой (трешолдингом)
коэффициентов [4].
От выбора порогового уровня фона (оценки дисперсии шума) зависит качество шумоподавления, оцениваемое в виде отношения сигнал/шум.
Процедура очистки сигнала от шума состоит из трех шагов:
1. Декомпозиция. Выбирается вейвлет и уровень разложения N. Вычисляется вейвлет-разложение исходного сигнала до уровня N.
2. Детализация. Для каждого уровня от 1 до N выбирается определенный порог и применяется пороговая обработка детализирующих коэффициентов.
3. Реконструкция. Производится вейвлет-реконструкция, основанная
на первоначальных аппроксимирующих коэффициентах уровня N
и модифицированных детализирующих коэффициентах уровней от 1 до N.
В качестве типового сигнала нами использовалась дифрактограмма «Пыль без волокон» (рис. 1), представляющая собой график угловой зависимости интенсивности излучения, дифрагированного некоторой структурой. Дифрактограмма получена на дифрактометре ARL X’TRA, который является универсальным автоматизированным комплексом для рентгеновского фазового и структурного анализа.
Рисунок 1. Дифрактограмма «Пыль без волокон»
Для очистки сигнала от шума использовались следующие типы вейвлетов: вейвлет Хаара, дискретный вейвлет Мейера, вейвлеты Добеши и Симлета [3].
Выбор этих вейвлетов был сделан по двум причинам: они являются ортогональными и обладают возможностью реконструкции сигнала.
Декомпозиция исходного сигнала возможна до 12 уровня (рис. 2, здесь и далее: по оси абсцисс — переменная, пропорциональная углу, по оси ординат — детализирующие коэффициенты).
Такое детальное разложение требует, однако, значительных вычислительных ресурсов. При этом, как видно из рисунка, большая часть информации сигнала сосредоточена в низших уровнях.
Мы ограничили декомпозицию 5-ым уровнем (рис. 3, параметры, отложенные на осях, те же, что и на рис. 2), исходя из следующих соображений: на первые 5 уровней приходится 95 % информации сигнала, и при этом обеспечивается оптимальное соотношение затрачиваемых ресурсов (временных и вычислительных) и целей работы.
Процесс шумоочистки выполнялся в программе специализированной системы компьютерной математики (СКМ) MatLab с помощью утилиты Wavelet Toolbox [5].
Рисунок 3. Декомпозиция до 5 уровня
В СКМ MatLab предлагается несколько вариантов подбора интервальных шумовых порогов (thresholding method) для каждого уровня декомпозиции: fixed form thresholding, rigorous sure, heuristic shure, minimax; penalize high, medium and low. В каждом из методов интервальные пороги выбираются
автоматически по всем уровням, соответственно, для разных вейвлетов они будут различны. Значения порогов, предлагаемые этими стандартными методами, не дают приемлемого результата.
Нами были разработаны программы в среде MatLab, которые обрабатывают исследуемый сигнал при различных комбинациях пороговых значений шума. На каждом уровне пороговые значения изменяются пошагово в пределах 100 шагов. При этом в случае обработки до 5 уровня получается 1005вариантов обработанного сигнала, для обработки до 12 уровня соответствующее число составляло бы 10012 [6].
Основной скрипт, который в дальнейшем вошёл в единую программу, выглядит таким образом: wname = 'sym8'; level = 5; sorh = 's'; for i=1: 100; for j=1:100; for k=1:100; for e=1:100; for s=1:100 TreshHold = [...
0.417528120410713+0.417528120410713*s ; ... 0.366263401493832+0.366263401493832*e ; ... 2.844298796385814+2.844298796385814*k ; ... 4.321888672278403+4.321888672278403*j ; ... 5.739632701643441+5.739632701643441*i ; ...
];
result{i,j,k,e,s}=cmddenoise(data,wname,level,sorh,TreshHold);
end
Здесь wname — вейвлет, которым на данном этапе идёт обработка; level — уровень декомпозиции; sorh — тип обработки (‘s’ — мягкий, ‘h’ — жесткий);
TreshHold — пороговые значения шума, меняющиеся по ходу работы цикла; result — 5-мерная матрица, в которую записываются результаты обработки; data — исходные данные [7].
После выполнения этой части программы мы имеем 1005 значений, или, иначе, столько же в той или иной степени обесшумленных графиков. Совершенно очевидно, что построить и визуально оценить1005 графиков невозможно. Таким образом, возникает необходимость задания некоего автоматического компьютерного критерия оценки и сравнения качества полученных результатов [8].
В качестве критерия отклонения очищенного сигнала от исходного значения в каждой точке была принята величина
result
д= 100 *
data
Эта величина показывает, сколько процентов составляет разница между исходным и обработанным значениями в точке. График характеризует усредненное по всем точкам значение критерия А.
Очевидно, что при минимальных порогах шума, то есть при i, j, к, e, s в пределах примерно 1—5, отклонения будут минимальны — разница между очищенным и исходным сигналами практически не заметна. При уровнях порога, сравнимых с полезным сигналом, напротив, среднее значение А окажется значительным. Таким образом, условие сохранения полезной части сигнала ограничивает среднее значение А сверху, а условие эффективной очистки от шумов — снизу.
Выборочный визуальный просмотр результатов обработки позволил определить оптимальные значения среднего отклонения в пределах 10—20 %.
С учетом этого код программы был дополнен следующим образом. В тело вложенных циклов введена переменная Wave, которой присваивается значение result. Далее добавлена команда clear result, после чего вычисляется значение отклонения исходного и очищенного сигналов Amean, и выполняется оператор условного перехода, обеспечивающий сохранение в переменной Best значения
Wave, соответствующего величине Amean в пределах указанного оптимального диапазона:
Wave=result{i,j,k,e,s};
clear result;
А= abs(1-(Wave./data))*100;
AMEAN=mean(A);
if Amean<20 & Amean>10;
Best=Wave;
BestThrSet=TreshHold’;
Calc=Calc+1;
else Best=Best;
Это позволяет существенно ускорить процесс обработки за счет того, что при удалении из памяти командой clear result всех 5751 *1005 значений result, кроме Wave, достигается значительная экономия объема памяти.
Таким образом, значение Best после выполнения всей программы будет автоматически оптимизированным результатом. BestThrSet сохраняет пороговые значения, при которых получен оптимальный результат. Всё, что не удовлетворяет критерию 10<Amean<20, никак не фиксируется.
Преобразование на основе вейвлета Хаара показало, что для нашего случая этот базис плохо подходит, так как имеет слабую локализацию и резкие границы, то есть недостаточную гладкость. Для вейвлета Хаара были получены значения порогов по шуму при помощи описанной выше программы, представленные в таблице 1:
Таблица 1.
Шумовые пороги для обработки вейвлетом Хаара
Level Thresh
1 20.105160310373435
2 22.516252427184526
3 22.890000000000001
4 25.875844660194161
5 26.394442560810944
Сигнал после обработки вейвлетом Хаара представлен на рис. 4.
Рисунок 4. Сигнал после обработки вейвлетом Хаара
Дискретный вейвлет Мейера также является ортогональным. Обработка этим вейвлетом для шумовых порогов приводит к следующим результатам (таблица 2):
Таблица 2.
Шумовые пороги для обработки дискретным вейвлетом Мейера
Level Thresh
1 17.598880594361951
2 26.459397176117648
3 23.645579745582268
4 70.208526842138212
5 55.301068771313624
Дискретный вейвлет Мейера относится к коротким вейвлетам, так как имеет достаточно локализованную вейвлет-функцию и является значительно более гладким, чем вейвлет Хаара. Сигнал, обработанный дискретным вейвлетом Мейера (рис. 5), повторяет исходную форму и сглаживает сигнал в целом.
Рисунок 5. Сигнал после обработки дискретным вейвлетом Мейера
Очистка сигнала вейвлетами Добеши для оптимальных шумовых порогов дает результат, представленный в таблице 3. Для второго и третьего вейвлета семейства формы пиков становятся более острыми (рис. 6). Обработка первым вейвлетом для рассматриваемого сигнала дает результат, идентичный действию вейвлета Хаара. Для старших вейвлетов семейства сигнал начинает постепенно сглаживаться.
Таблица 3.
Шумовые пороги для обработки вейвлетами семейства Добеши
Db2 Db3
Level Thresh Level Thresh
1 12.588608524210620 1 14.111613465566727
2 10.675360402654505 2 12.804380186795214
3 21.052784952163165 3 14.975084398420933
4 22.678695920707185 4 30.566819826975916
5 29.141550452041258 5 36.610484827463665
Db4 Db5
Level Thresh Level Thresh
1 11.056090385373643 1 13.288969652593146
2 14.393121598702272 2 9.453608140355968
3 32.114934016180769 3 12.713057063926414
4 16.393206671575058 4 28.409467968846457
5 47.073040746475385 5 24.445328935798102
Db6 Db7
Level Thresh Level Thresh
1 11.199127633359637 1 13.940933352996844
2 9.385795733886155 2 14.267447209712778
3 21.649333993390940 3 20.039816718931831
4 33.827866031648114 4 47.780645677229700
5 34.915695209900377 5 38.838120086724985
D b8
Level Thresh
1 12.034931204999324
2 13.914817034600318
3 18.862968342232591
4 26.983230180817770
5 52.499120038872093
Рисунок 6. Сигнал после обработки вейвлетом Добеши-2
При обработке сигнала семейством близких к симметричным вейвлетов Симлета (шумовые пороги — в таблице 4) наилучший результат был получен при использовании вейвлета 8-го рода (рис. 7). В результате обработки этим вейвлетом пики стали более выраженными, чем после применения вейвлета Хаара.
Таблица 4.
Шумовые пороги для обработки вейвлетами семейства вейвлетов Симлета
Sym2 Sym3
Level Thresh Level Thresh
1 12.588608524210620 1 12.982684388321438
2 12.810432483185409 2 15.365256224154308
3 21.052784952163165 3 11.231313298815650
4 22.678695920707185 4 30.566819826975916
5 29.141550452041258 5 27.457863620597777
Sym4 Sym5
Level Thresh Level Thresh
1 9.694510954185475 1 7.703461125960860
2 8.720876601338375 2 5.705986028503554
3 18.007335098455087 3 12.450967435673929
4 31.032715342116035 4 29.225854611298605
5 34.929945193040567 5 26.996956740746253
Sym6 Sym7
Level Thresh Level Thresh
1 9.472324356385400 1 13.535300864396618
2 11.698128362252469 2 12.648332865197048
3 13.956052515447453 3 21.159565800051752
4 40.983352005774691 4 24.335691143588008
5 41.190777736218820 5 32.298482093384905
Sym8
Level Thresh
1 12.093869018944472
2 9.560793327234386
3 21.360968390737099
4 28.162290966300532
5 24.924355006886639
Рисунок 7. Сигнал после обработки вейвлетом Симлета 8-го рода
Выводы:
1. На основании проведенного анализа существующих подходов к фильтрации нестационарных сигналов в качестве математического аппарата выбран кратномасштабный вейвлет-анализ, применение которого позволяет выделить и сохранить локальные особенности сигнала.
2. Материнский вейвлет для проведения фильтрации должен обладать свойством ортогональности и возможностью реконструкции сигнала. В наших исследованиях использовались: вейвлет Хаара, дискретный вейвлет Мейера, семейства вейвлетов Добеши и Симлета.
3. Разработаны программы в среде MatLab, реализующие очистку сигнала от шума с использованием вейвлет-преобразования.
4. Проведенные исследования показали, что наилучший результат дал вейвлет Симплета 8-го рода.
Список литературы:
1. Астафьева Н.М. Вейвлет-анализ: Основы теории и примеры применения // Успехи физических наук. — 1996. — Т. 166, № 11. — С. 1145—1170.
2. Лазарева А.Г. Математика вейвлет-преобразований // Молодой ученый. — 2009. — № 3. — С. 30—34.
3. Малла С. Вейвлеты в обработке сигналов. — М.: Мир, 2005. — 671 с.
4. Обидин М.В., Серебровский А. П. Вейвлеты и адаптивный трешолдинг // Информационные процессы. — 2013. — Т. 13, № 2. — С. 91—99.
5. Смоленцев Н.К. Вейвлет-анализ в MATLAB. — М. : ДМК Пресс, 2010. — 304 с.
6. Филиппов Т.К. Применение Вейвлет-преобразования информации при техническом анализе // Научно технические ведомости. — 2012. — № 5 (157). — С. 95—98.
7. Яковлев А. Введение в вейвлет-преобразование. Учебное пособие. — Новосибирск : Изд-во НГТУ, 2003. — 104 с.
8. Lu J. Восстановление сигналов и подавление шума при помощи вейвлетов. — Дортмутский колледж, 1993. — 146 с.