Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 85
Текст из файла (страница 85)
Как показывают приведенссьсе примеры, вейвлтп-счссктрогрсслл1сьс наиболее пригодны для анализа тонной структуры сигналов, содврзксиисгг реяли' скачки, переходы производных чере) нуль и т. д. К тикки сигнала.и гвй слс оптпсятся звуковые сигналы речи и музыки и сигналы изпбрансении. 8.2. Дискретное одномерное вейвлет-преобразование 8.2.з. Нахождение вейвлет-коэффициентов одномерного преобразования — аррсоег Как уже отмечалось, наряду с непрерывным вейвлет-преобр;повю)исм сушествует дискретное вейвлет-преобразование.
Его главным достоинством яилястся наличие эффективных алгоритмов быстрого вейвлет-преобразо)и(пия, которос спчасти напоминает быстрое преобразование Фурье. В частности, для бьппро(о псивлет-преобразования (БВП) мозсет эффективно использоваться ппрпчс)дсш(ипяп алгоритм с прореживанием по частоте, хорошо знакомый спел(иьтисш(л( в обласп( БПФ. Благодаря этому появляется возможность анализа больших выборок за вполне приемлемое для практических целей время.
Правда, надо помнить, что этп возлюжности реализуются далеко не для всех типов вейвлетов. Функция для нахождения одномерных коэффициентов аппроксимации аррсоет имеет ряд форм. Рассмотрим варианты данной функш)и. А = аррсоег (с,)., 'чпагпе',м) возвращает коэффициенты аппроксичсщип на уровне (л), используя структуру вейвлет-разложения (С,Ц, 'лчпагпс' — строки, СОдЕржащая ИМя КОНКрЕтНОГО ВсйВЛЕта, урОВЕНЬ )ч дОЛжЕН бЫтЬ цЕЛЫЧ П(СЛОЛЬ таким, что О < (л) < !еп)((Ь(1) — 2. А = аррсоет (с, 1., 'ипате') — возвращает коэффициенты аппрокспчапнп на последнем уровне: 1епя(Ь($ ) — 2. Вместо указанного имени вейвлета в качестве входного аргумента могут быть заданы фильтры: А = аррсоаг (с, ь, ьо н, нл а) или А = аррс яег (с, ь, ьп в, нл н, ы), где 1о  — узкополосный фильт восстановления, Н)  — широкополосный фильтр восстановления.
Следующий пример задает построение временной зависилгостн звукового сигнала из файла пц!Ь и графиков первого и третьего коэффициентов всиялега Лобеши с)Ь! — рис. З.б: 1сас( лля1Ьс я = вг1Ь (1с 900); (с, 1) = начес)ес(я, 3, 'аЬ1 ' ); саз = аррсоет(с,1, 'аЬ1',3); япьр1ог(311), р1пг(1: 1епягп (я),я)' япЬр1ог(312), р1ся(1: 1епдгь (с),с): ЯпЬР1сс (913), Р1сс (1 с 1епясп (саз), саз); Глава 8. Применение вейвлегнов 4бб а 0 ) в) ха зю аа) вю вю аи аю кю 5 -0 0 100 аю э)0 400 ЕОО Бог 700 аю ООО 1Ою -а а 100 )20 га аа . Ог ВО Рис. 8.6. График звукового силина а()) и его выбраипых веивлст-хоэффиииситоа 8.2.2. Функция нахождения одномерных детализирующих коэффициентов — е(етооет Функция с)егсоее служит для вычисления детализируюших коэффициентов лля одномерных сигналов.
Расса)отрим ес основные формы. о = с)егссее)с,ь,н) — возврашает деталнзируюшие коэффициенты на уровне )ч из структуры вейвлет-разложения !Е,Ц, Уровень )х) должен быть целым числом, ~аким, по 1 < )ч < )чМАХ, где )х)МАХ = )еп8!!1(Е) — 2, о -- с)егссее)с,ь) — возврашает детализируюшие коэффициенты на послелнем уровне )х МАХ.
Если Н является вектором целых чисел, таким что 1 <()) < 1чМАХ, то функш)я осе' ' .= оессоее)с, 1„н, 'се)1а') возврашает массив ячеек, где ОСЕДЛ.Я содержит детализируюшие коэффициенты )ч(1). Если )еп8111()~) > 1, то функция осеьь = с)ессоее )С, Ь, И) эквивалентна з еь' = оесссе ш,ь,ьь ' е110') А функция оСЕ).ь = г)ессоеь)с, ь, 'сс11а' ) эквивалентна ВСЕЬ' ВеГсос )С,)., )1;НИАХ)) Наконец, функция 1В1..., ОР) = г)ассов г )С, Ь, 1И )1) ° ° Р ,и) ))) возвращает детализируюшис коэффициенты на ур ы на овне!)х)(!), ", )М(р)! 4б7 8.2. Дискретное Одномерное вейвлет-преобразование В приведенном ниже примере из файла чоп)(ос)( загружается сложный сигнал (отрезок фрактальной кривой, состоящей из множества ступенек — в том числе мелких), после чего строится его график и две спектрограммы — дискретного и непрерывного вейвлет-преобразований (используются вейвлеты типа вуп)2): 1оас( чопкось) чопкось=чопкосп (1: 510) ) 1ч = егчгь (чогукось) у яоЬр1ог(31)), р1ог(чопкось))ггг1е('лпа угас( яучпа1.')) вес(сзса, Х11п' 1'0 5 ) ) (с,11 = нече(уес(чопкосп,5, 'яууп2') ) сгг) = сгоя (5, 1ч) ( Тог Х = 1у5 г( = г)евсоеу (с, ', Х) ) с( = г) (опся (1,2 К),: ) ) сто((К,:) = нксер(о(:) ',14) ) епо сГ<( = с:Гс((:) г 1 = Еы <((аЬ (сус() <впг (сря) ) у сус((1) =пегов (я яе (.) ) ) се<( = геяьаре (суг(, 5, 1ч) у япьр1ог (312), со1огыар (р'.пк (64) ) ) гпч = гпасзе (г" грос((нсос(сппас(сти, 64, 'гоы' ) ) ) ) яев(чег("пус),'рвгепг'),'уггск аье'', ,')); Гопзс(пЗГЯСГСГЕ тпаояГОГП, аьяс1ОТЕ СООЕГГСоЕПГО.')! у1аЬЕ1('1ЕЧС1')( япЬрзоп(313); ссуя = оно(попиось,1:32,'яуп2','рзо'')г Ьосзе('Соп51гюоев тгапвтогы, аЬяо1псе соеГГгсгепая.') созе!пар (ргпя (64) ) ( у1ОЬе1 ( ' вса1с ' ) Полученные при исполнении этого примера графические представления даны на рис.
8.7. Нетрудно заметить, чго все, даже мельчайшие, детали сложной временной зависимости фрактальной кривой отчетливо выделяются на спектрограмме как непрерывного, так и дискретно(о преобразования. Последнее выполняется заметно быстрее, но все же по детальности представления сип(ала уступает непрерывному вейвлет-преобразованию. Лпа)уаее яма! ОО(5 оа! иг О Ю (ГО (Ю 2ОО 2Ю ЗОО ЗЮ 400 4Ю 5ОО Овсов!в тнпио й. аевамв соевсип(е Ю (ГО (50 2Ю 2Ю ЗОО Зап 400 4Ю Юп сапа оаов тсэпеьсе, эевыоуе соево~ее(е. и 50 (ОО (50 200 250 КО 550 400 4Ю ЯЮ (впв (ос овесе) Е Рис. 8.7. ГраФики фрактального сигнала и ого всйвпгг-спгктрограчыы, попупгпныс при аискрг(ном и непрерывном преобразованиях 460 Глава о'.
Прилденение вейвлетов 8.2.3. Одноуровневое дискретное одномерное вейвпет-преобразование — г[В)г[ Для проведения одноуровневого дискретного одномерного вейвлет-преобразования служит функция с[ис. Рассмотрим формы ее применения: [сА,со] = с[но(х, 'нпавсе') — возвращает вектор коэффициентов аппроксимации сА и вектор детализирующих коэффицис|стов с0, полученных в результате разложения исходного вектора Х. Строка с нпавсе ' задает имя используемого вейвлета.
[сА,сг)] = с[ис(х,[.о п,н1 [)) — возвращает векторы вейвлет-разложения, используя в качестве входных аргументов низкочастотный Ео 0 и высокочастотный Н| 0 фильтры разложения равной длины. Пусть [х — длина вектора Х и 1[ = длина векторов фильтров Ео 0 и Н) 0; тогда [еп8[Ь(сА) = [еп8[Ь(с0) = [а, где !а = сей(]х/2), если 0%Т метод расширения ех[епяоп гпос[е 18 Бе[ [о рог[ос[[ха[[оп. Для других ме|одов расш|лрения [а = Ноог(!х + 11 — 1)/2), Функция [сл,сп) = с)ио(..., Чвос)а',Иопе) возвращает вейвлет-разложение задаваемого пользователем метода расширения МОРЕ. М00Š— строка, содержащая желаемый метод расширения.
В следующем примере с помощью генератора случайных чисел создается сигнал 8 и выполняется дискретное вейвлет-преобразование с вычислением коэффициентов аппроксимации и детализирующих коэффициентов для двух типов вейвлетов (Хаара и Дебоши с]Ь4): гапс(п('аеас)', 1234867889) | а = 2 + Хлоп (опав (1, 8),...
[1 — 1] ) 1- ((1:16) . "2) 216 -'; О. 3*таас)п (1, 16) | [са1, сс(1] = с(ие (в, 'Пааг') 1 ВОЬр1ов(311)| р1ое(а); есс)а('От|я|па) атяпа)')| Опдссс) адсс| 10 Т !810 1 '.100 0.5 .12 . ' 14 1В ОС'| ссн Ь Ьсс -'а046РВЧПИ'2 '""" 0)/4 ссс ' -' Б -, **- аа В, сс.,*'- ° 0 2 4 6 В [аьи(48(втлй.сгларссст[сссг.,ьс сь4,(, - '„:: .",,*,,:, Л .:":,:..... Овса) сев|. |сс сь4 )41 С .' ':.'": Л О |2 [*: ОО ..
., ,, , . . ..::..' -4 вовс( 2,*'..; 4"",: ба' . В ', с10 (,."12 О, 2 4 6 В 1О 12 Рис. 8.8. График сигнала и его вейвлет-коэффипиентов ллл лвук типов вейвлетов 4бу 8.2. Дискретное одно,иерное вейвлет-ареобразова)гие япЬр1о« (323) ! Р1о« (ся1); Сг«1е ( 'Арргох. соей. йог Ьааг' ); яиЬр1оС(324) ) р1о«(сдй) ) «г«1е('Ое«а«1 соей. йог Ьааг'); о О, Нг О) = ий«1«егя ('Ьаяг', 'о'); ('са1, сг(1) = г(и (я, .о О, Нг О) 'са2, сг(2) =- !)и« (я, 'г(Ь4 '); япЬр1о« (325); р1о« (са2) ! Сг«1е (' Арргох .
сос . йог !(Ь4 ' ) ! япЬр1о« (326) ) р1о« (сг(2) ) Сг «1е (' Ое«а1 1 соей. йог ОЬ4 ') ) Графики сип(ала и полученных коэффициентов лля этого примера представ лены на рис. 8.8. Эти графики при их внимательном изучении позволяют понять, какие именно части сигнала представляются теми или иными коэффициентами. 8.2.4. Метод расширения вейвлет-преобразования — с(и)Тгпое)е Функция дисгпос(е устанавливает метод расширения (экстраполяции) сипшлз или изображения для дискретного или дискретного пакетного вейвлет-преобразования. Методы расширения предоставляют разли'(ные возможности решения проблемы граничных искажений при обработке сигналов и изображений.
Функции яТ = 4)и«ног(е и яТ = г(и«ног(е ('я«а«пя' ) возвращают в выходной параметр БТ текущий метод. В виде ят = си«мо()е('яса«ия', 'пог(1яр') функция возвращает в Я текущий метод без текста а командном окне МАТЮКАВ, а в виле г(ис!поде ('и!ог(е ') устанавливает метод расширения прямого вейвлет-преобразования (ВФТ) соответственно строке 'моде': ° 'яуп!' — метод симметричного дополнения, т.
е. граничные значеш(я симметрично дублированы (используется по умолчанию); ° ' ярд' — метод дополнения нулями; ° 'яро(' или 'яр1' — метод гладкого дополнения первого порядка; ° ' ярО' — метод гладкого дополнения нулевого порядка; ° ' ррс(' — метод периодического дополнения. Метод, используемый по умолчанию, загружается из файла В!й!ТМОВЕ.ВЕг. Функция сиееопе (' яане ', МООЕ) сохраняет метод МОВЕ как новый используемый по умолчанию метод в фпилс В)А(ТМОВЕ.ВЕЕ. Для примера оценим текущий метод: » с1еаг Ч1оЬа1) г(и«ио!)е ОХТ Ех«епягоп Мосе! яуеее«гггя«гоп Изменим метод: » г(исп!ог(е ('рея ' ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! нлангно! Оьяпче Онт ах«ее,яйоп мосе ! ОНТ Ех«епягоп Мосе! Регйо4(гга«йоп 470 Глава 8, Применение вейвлетов Нетрудно заметить, что после этой команды выдается два сообщения — предупреждение о замене текущего метода на заданный новый и сообщение об установке заданного метода.
Вернемся к исходному методу: » с1еат ЧйоЬай«Ш«сноде "ит Ехгет,г«оп Иоде: Буниеггт«ат«оп 8.2.5. Одноуровневое обратное вейвлет-преобразование — )4)(н( Для выполнения одноуровневого одномерного обратного вейвлет-преобразования с заданным типом вейвлета ('»«папсе') или с парой фильтров восстановления (! о К и Н! К) служит функция 1д»«ь. Рассмотрил( ее варианты; х — — 1диг (сА, сп, 'мпап«е') — возвращает вектор восстановления одноуровневых коэффициентов аппроксимации Х для входных векторов сА и с0, используя тнп венвлета, заданный строкои 'ипап«е'', х = гонь (сА, сп, 1.о н, нт н) — возвращает вектор восстановления, как описано выше, используя заданные фильтры. (.о К вЂ” низкочастотный фильтр восстановления, Н( К вЂ” высокочасто(ный фильтр восстановления; х = «дне (сА, св, 'ипате', о) и х = 1д»«ь (сА, сп, оо н, н1 н, о) — возвращают центр(иьный блок результирующего вектора Х функции .днй (сА, сд, ' ипате' ); х — 1аиь (..., 'поде', моьн) — возвращает вектор восстановления, использу» метод расширения МО«)Е; х —.