Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 92
Текст из файла (страница 92)
аю: . ию .:(аю Ое-пешее «Епв~ йо :,)О 4;аиЮс,.аЮС,ЗЮ, 4Ю; ВЮ... ав.,птап,:, ВЮ Ьпз(Ю,,П(1)ВЮП Рис. 8.40. Прип(ср очистки сложного сигнала от сильного шума 530 Глава в'. Применение вейвлетов ГЬг = еьвреп(с,1,з10вз,а1рьз)( 'хеерзрр = 1; хн = гх)епсвр('ЧЬ1',с, 1,епзве, 1еч,ГЬг,'з',Хеерзрр); ЗПЬР1ОГ(211), Р1ОГ(Х), ГГГ1Е('ОГ(01ПЗ1 З(ОПЗ1')( зхгз([0,1000, -10, 10]) зоЬр1ог(212), р) ос (хг)), Г111е(' Ое-погзег( з10пз1')( зх1з([0,1000, — 10,10]) Рекомендуется поэкспериментировать с этим примером, меняя уровень декомпозиции 1еч, параметр з1рьа и тип вейвлета. Это поможет оценить возможности вейвлет-технологии очистки сигналов от шума.
8.7.6. Порог одномерного вейепете — вв(зсогп Функция [тня,икввр) = ег)сьв(с,ь,ььрих,м) возвращает порог тнн относительно некоторого уровня и число сохраненных коэффициентов мкккр лля сжатия или удаления шумов. Данная функция использует метод Бирге — Массарта. [с, ь! — структура вейвлет-разложения сигнала на уровне — 1епось (1) -2. )(Ьрнл и м должны быть вещественными числами больше !. тнн — вектор длины ), тнн(!) содержит порог для уровня (. мкккр — вектор длины ), мкккр(!) содержит число коэффициентов, которые должны быть сохранены на данном уровне !.
Параметры ), м и )(ЬрН)( определяют метОЛ. На уровне 5 ь1 все сохраняется. Для уровня ! от ! до ), и, самых больших коэффициентов сохранено с и, = М0+ 2 — !)х~'"~. Типично дьрнл = !.5 для сжатия и )(Ьрн)(= 3 лля удаления шумов. По умолчанию м = (.(!), рекомендуемое значение для м от !.(!) до 2"(.(!). Функция иг(сьв (с, 1, )(Ьрнд) эквивалентна иг[сьв (с, 1,)(ьрнд, ь (1) ) . В следующем примере выполняется загрузка зашумленного сигнала, его очистка от шумов с компрессией и построение графиков исходного и очищенного сигналов (рис. 8.4!): 1оаг) погзв1вз; х = погзв вз) епаве = 'г(ЬЯ'; 1ег = Го [с, 1) = хагег(ес(х, 1ег,епзве)( з1рьз = 2: в = 1(1); [ььг, пхеер) = хссьв(с, 1, а1рЬа,в)," [хг),схг),1хс,рег10,рег112] = хг(епсвр('1зг(',с,1,епаве,1ег,гьг,'Ь')) ЗПЬР101(211), р1ОГ(Х), Г1Г1Е('ОГ101оа1 З10ПЗ1')! Зхзв([0,1000,-10,10]) ЗПЬР1ОГ (212), Р1ОГ (ХО), ГГГ1Е ( 'СОВРГЕЗЗЕО З1ОПа1' ); ахгз([0,1000,-10,10)) х1аЫ = ['2-погв гес.: ',ппв2*гг(рег112))) х1зЬ2 = (' а -- пего стз: ',ппв2зсг(рег10), ' Ь'): х1аЬе1 ( [х1зЫ х1аЬ2] ): С этим примером также рекомендуется поэкспериментировать.
Тем более, что из сравнения его результатов с результатами предшествующего примера (рис. 8.4!), видна разная степень и даже разный характер очистки одного и того же сигнала от шума. 511 8.7. Удаление шумов и сжатие сигналов и изображений М от ~ !)ф йоа Рис.
8.4!. Пример очистки сложного сигнала от шума с компрессией 8.7.8. Порог двумерного вейвлета — ввс)сЬт2 Функция (тня, НКВКР) = ис(оьм2(С, З, АЬРНА,Н) возвращает порог тнн относительно некоторого уровня и число сохраненных коэффициентов нкекр для сжатия или удаления шумов. Данная функция использует метод Бирсе †Массар. [С, ь) — структура вейвлет-разложения сигнала на уровне — высо (Я, 1) -2. Аьрнд и н должны быть вещественными числами больше ), тнн — матрица размера 3 х), тнд(:,!) содержит порог для уровня ! в трех направлениях: вертикальном, п)ризоитальном и диагональном. нккдр — вектор длины ь нкккр(!) содержит число коэффициентов, которые должны быть сохранены на данном уровне (. Типично значение АЪРНА = !.5 для сжатия и Аьрнд = 3 для удаления шумов. По умолчанию м = рсос((з (ь, с ) ), рекомендуемое значение для м от рсос((н(ь, г) ) до б*рсоц(з(т,: ) ).
Функция ис(оьм2 (С, Я, АЬРНА) эквивалентна функции ис(сьм2 (С, Я,АЬРНА, Ртос) (3 (Ь,: ) ) ) 8.7.г. Создание архива отпечатков пальцев Одним из ярких примеров применения техники сжатия изображений, ставшим уже классическим, является создание архивов отпечатков пальцев для криминалистических отделов милиции и полиции. Подобные отделы завалены сотнями тысяч и миллионами отпечатков пальцев. К сожалению, их сканирование ве- 512 Глава 8. Применеиие вейвлетов дет к появлению больших графических файлов, для хранения которых требуется множество дорогих файловых серверов. Таким образом, актуальна разработка методов компрессии подобных изображений.
Тут мы сталкиваемся именно с тем случаем, когда вполне допустима некоторая потеря точности изображения при условии, что она минимальна для линий, по которым производится идентификация отпечатков пальцев. Качество самих отпечатков может сильно разниться в зависимости от применяемых красителей, плотности прижатия пальца к листу бумаги и т. д.
Обработка снимков по вейвлет-технологии сжатия информации дала прекрасные результаты, и это стало одним из первых серьезных применений данной технологии. Приведенный ниже пример иллюстрирует несколько упрощенную программную реализацию данной технологии: 1оао с(еее(пчгз пЬс = а1ге (вар,ь) 1 нпаве = 'зув4'; 1ех = зз (с, а) = на»»ес)ес2 (Х, 1е»т,нпаве) з а1рьа = 1. 5» в = 2.7*ргоо(з(1,".)): (гьг, п)теор) = нс)сьв2 (с, з, а1рьа,в); (хг(,схг),ахг),регге,регг12) = нг)епсвр('1нг)',с,а,нпаве, 1е»»,гьг,'ь')1 со1огвар (ргпя (пЬс) ) 1 апьр1ос (221), зваче (нсог(еваь (Х, пЬс) ), гзг1е('ог101па1 1ваче')) апьр1оь(222), ьваче(нсог)сваг(хс,пьс]), ггг1е('совргеазео гваче'); х1аь1 = ('2-погв тес.: ',ппв2агг(регг12))в х1аЬ2 = (' % — гего сез: ',пов2асг(регГО), ' Ъ О з х1аье1((х1аЬ1 х1аЬ2)) На рис.
8.42 показаны исходный отпечаток пальца (из файла с(е(йпйег), его вид после вейвлет-преобразования и сжатия изображения в десятки раз. Нетрудно заметить, что при такой степени сжатия качество снимка остается хорошим, и он мало отличается от исходного. С ввр»в авва 'ив ха в ):".",."(,060(ав),(аьвав.з ь ': »-»! 'В):,» 100141вв'',82ООГСЗ)0)(н!..'."' гв..' " * я) "ь:1001»100'г200(»260» Рис.
0.42. Пример сжатия изображения — отпечатка пальца Сходная с описанной ситуация наблюдается в медицинских учреждениях, работающих с множеством снимков органов, в службах разведки полезных ископаемых. в картографических отделах и в других организациях. 8.7.8. Автоматическое одномерное удаление — тв(вел Функция (хо,схо,ьхо) = нсеп(х,тетя,эовн,эсхь,н, нпаве ) возвращает очищенный от шума сигнал хо, полученный ограничением вейвлет-коэффициентов преобразования входного сигнала Х.
При этом используется 8.7. Удаление шумов и сжатие сигналов и изображений (схо, ьхо) -структура вейвлет-разложеиия о пгцюипого ог шулюв сигпзла хо. Строка твтд задает правило выбора порога: ° 'г1дгааге ' — использует алгоритм Штсй1п1 иесмсшеппои опенки риска; ° 'Ьее гааге ' — эвристический взриаиз прс и ц1ушс~о могола; ° ' ас(ьио1о з ' — для инверсного порога; ° 'пп'.п1гаах1' — для лзипил~альпого!л1зксимзльиого порога; ° Бопп ('а' или 'и') — для гибкого или жесткого порога. При параметре Бсдь='епе' прсдпюлзгзется, 1то ч(п)=Г(п)+ с(п), где е(п)— белый шум [0,)).
Строка БСАЬ определяет мультипликзтииюе пороговое перемасштабирование (если шум вие пределов [О,) ) или ие белый): ° ' опе ' — отсутствие перемасштабировзиия; ° 'в1п' — перемасштабироваиие с пспользовзииел1 единственной оценки уровня шума, осиованиое иа коэффииисптах первого уроиик ° 'м1п' — для перемасштабироваши с использование оценки уровня шума, зависимой от уровня. 'ипате' — строкз с пмспем ортогонального вейвлета. Функция (ХО, СХО, ЬХЗ) = аеа (С, Ь, тятя, ЗСГШ, ЕСАЬ, И, . а.
~ ' ~ возвращает те же выходные параметры, используя описзшпае выцзс параметры, однако, получая их напрямую из входной структуры [С,Ц из уровне М для ортогоиальиого вейвлета с имеиел~ 'ипате'. Основная модель для зашультсппого сппшла ил~ест вид: а(п) = Г(п) л ое(п) для равномерных промежутков времеви и.
В простейшем случае. предположим, по е(п) — больш шум Гзусса ~4(0,)) и уровень шума предположительио ранец ). Пропелурз )дгсюппя шулш состоит в подавлении составляющей шума в сигизле в и восстаиовлспии составляющси Г и включает в себя три шага: Разложение. Выбор вейвлета и уровня леколцюшции )л). Вейвлсг-разложеиис сигнала а иа уровне Х. Детализация. Для каждого уровня от ( до Гч выбирзезся определенный порог и примсияется гибкий порог для детализирующих коэффициентов. Восстановление. Вейвлез-восс1аповлеш|с, оспоишпое пз псходпых коэффициеитах аппроксимации иа уродце Х, модификация дсззльпых коэффициеитов на уровнях от! до Х. Здесь следует подчеркнуть, что: ° вектор детализирующих коэффициентов представляет собои суперпозицию коэффициентов функций .Г и е, и рззложеппе сос1аш1яюшей е приводит к тому, что детализирующие коэффиписпты являются стипзртиым белым шумом Гаусса: ° минимальный/максимальный и всдв л~етоды выбора порою являются наиболее традиционными и наиболее подлодяшил1и аля случаев, когда малые составляющие функции Г на.'одятся в полосе шума.
Двз другил метода удаляют шум наиболее эффекпипю. Параметр ызе ". з" е' является компромиссиым между описапиыми мсгоззми. На практике базовый мспл1 пе л1ожсз использоипься папрямую. Приведем параметры для отклонений от баювого мета.ш. Для этого используется параметр ЯСАЬ, КОтОрЫй Задает метод персмасш 1ибироишпя порога. ° если ВСАЬ = 'спе', то используется бзловый метод; ° вообще, можно игиорировать оценку уровня шума. При этом детализирующие коэффициеиты СГ)ь по с)чцествуь явлиотся коэффициентами шума со Глава 8. Применение вейвлетов 514' стандартным отклонением, равным а.
Среднее абсолютное отклонение коэффициентов представляет собой устойчивую оценку а. Использование устойчивой оценки является определяющим. Если вса1 = '81п', то пере- масштабирование порога выполняется с использованием единственной оценки уровня шума на основании коэффициентов первого уровня; если предположить, что шум е не является белым, то порог должен быть перемасштабирован с использованием оценки уровня шума, зависимой от уровня [х[.
Такой метод реализован в М-Файле чупе[зев( и использует оценку а(,„, изменяющуюся от уровня к уровню. При Бс))ь = 'п>10' происходит перемасштабирование порога с использованием оценки уровня шума, зависимой от уровня [х[. Приведенный ниже пример показывает применение функции >ч((еп с разными параметрами для очистки сложного импульсного сигнала с шумом, взятым из файла по)БЫос (рис. 8.43): 1оаг) поьввзос( х = по1вЬ1ос>1еч = 8; ВПЬ4З1ОС(411>, Р1ОС(Х» у1аЬе1 ('Но1ву вгопа1') г ахгз([0,1000,— 10,201> хг)Ь = иаеп (х, ' Ьеп ганге ', ' з ', ' опе ', 1еч, ' вум8 ' ) г виЬр1ов (412), р1ос (хеь>( у1аЬе1 ('Ьепгьввьс БОВЕ' ); ахьв([0,1000,-10,201> хг(в = ис)еп (х, 'вчсио1ос', ' в', 'в1п', 1еч, 'зугза ' ) ( впЬр1ов (413), р1ов (хав> г у1аЬе1 (>Егхег( йога Спгевпо1г)')> ахьв([0,1000,-10,201) хс)в = иг)еп(х,'еьпгмах1','з','в1п', 1еч,'вупга')> впвр1ов(414), р1ов(хг>в)г у1аЬе1 ('Мьп1мах'» ахзв([0,1000,-10,201> :".В;гаев „,, ~%) 4%5>-',~йта((>)Ь(~',:: ., Ь''ф~ффу144> Ю трай, Рис.