246.33 Kb.Название Дата08.03.2012Размер246.33 Kb.Тип Содержание Смотрите также: ВЕЙВЛЕТНЫЕ ПРЕОБРАЗОВАНИЯ СИГНАЛОВ Главные: А.В.Давыдов. 02.11.04. Тема 5: Функции вейвлет-преобразований В MATLAB При изучении наук примеры не менее поучительны, нежели правила. Исаак Ньютон (1643-1727). Английский ученый, лорд, XVII-XVII в. В теории вейвлетов есть правило, которое поучительней самой теории - попробуй, посмотри, и делай выводы. Евгений Прокопчук. Иркутский геофизик Уральской школы, казак, XX в. Содержание: Введение. 5.1. Непрерывное одномерное вейвлет-преобразование. Основные функции. Интерфейс GUI. 5.2. Дискретное одномерное вейвлетное преобразование. Многоуровневое вейвлет-разложение. Обратное многоуровневое вейвлетное преобразование. Обратное одноуровневое восстановление сигнала. Функции коэффициентов аппроксимации. Задание граничных условий вейвлет-преобразования. Функции детализирующих коэффициентов вейвлетного преобразования. Вейвлет-преобразование одного уровня. Обратное вейвлет-преобразование одного уровня. Прямое восстановление сигнала из коэффициентов. Интерфейс GUI. 5.3. Дискретное двумерное вейвлет-преобразование. Функции вейвлет-преобразования. Интерфейс GUI. 5.4. Дискретное стационарное вейвлет-преобразование. Одномерное вейвлет-преобразование. Обратное одномерное вейвлет-преобразование. Интерфейс GUI. Двумерное стационарное вейвлет-преобразование. Обратное двумерное стационарное вейвлет-преобразование. Интерфейс GUI. Литература. Введение Пакет расширения Wavelet Toolbox системы Matlab позволяет использовать вейвлетный анализ и преобразование данных в самых различных областях науки и техники. Программное обеспечение пакета позволяет выполнять вейвлет-преобразования как в командном режиме (и готовить специализированные программы), так и в диалоговом режиме по интерфейсу GUI (включение командой ''wavemenu'' или из окна редактора, Wavelet Toolbox Main Menu). Пакет имеет демонстрационные примеры вейвлетных преобразований, окно которых включаются командой 'wavedemo'. Первой кнопкой окна (Command line mode) включается довольно обширное меню примеров работы в командном режиме с одно- и двумерными вейвлетами всех типов в обычном и в пакетном исполнении (непрерывные и дискретные вейвлет-преобразования с декомпозицией и реконструкцией сигналов, сжатие сигналов, очистка от шумов и пр.). Слайды примеров сопровождаются соответствующими листингами программных фрагментов, которые можно переносить в буфер (при нажатии клавиш Shift + Delete) и затем использовать в командной строке Matlab. Аналогично второй и третьей кнопками включается доступ к демонстрационным примерам в интерфейсе GUI. При изучении настоящей темы рекомендуется самостоятельно просматривать соответствующие демонстрационные примеры по ходу изложения материала. ^ 5.1. Непрерывное одномерное преобразование /3/. Основные функции. Непрерывное одномерное вейвлет-преобразование (НВП-1D) уже само по себе, без реконструкции сигналов, используется для анализа формы сигналов и выявления их локальных особенностей. Преобразование выполняется функцией cwt в следующих форматах: C = cwt(S, SCALES, 'wname') возвращает коэффициенты 'c' прямого НВП вещественного или комплексного сигнала S вейвлетом 'wname' в шкале масштабирования SCALES. Стандартное задание SCALES = начало : шаг : конец (по значениям коэффициента масштабирования "a"). C = cwt(S, SCALES, 'wname', 'plot') то же, плюс строит график коэффициентов. C = cwt(S, SCALES, 'wname', plotmode) то же, с заданием для построения графика коэффициентов следующих настроек цвета plotmode: 'lvl' окраска шаг за шагом, 'glb' окраска с учетом всех коэффициентов, 'abslvl' или 'lvlabs' окраска шаг за шагом с использованием абсолютных значений коэффициентов, 'absglb' или 'glbabs' - окраска с масштабированием и с использованием абсолютных значений коэффициентов. C = cwt(S,SCALES,'wname', plotmode, xlim) то же, с дополнительной настройкой цвета xlim = [xmin, xmax], где значениями в квадратных скобках устанавливаются номера точек векторов коэффициентов С (значения сдвига bmin и bmax), по интервалу которых определяются значения Cmin и Cmax интервала изменения цветовой окраски. Пример непрерывного вейвлет-преобразования синусоиды двумя типами вейвлетов и с двумя видами окраски результатов (рис. 5.1.1). t=linspace(-3,3,2048); s=sin(t).^17; subplot(331); plot(t,s); subplot(334); [psi,X] = mexihat(-4,4,100); plot(X,psi); subplot(337); [p1,psi,p2,p3,X] = wavefun('bior1.5',8); plot(X,psi); subplot(335); c1=cwt(s,1:32, 'mexh','lvl',[100 600]); subplot(336); c2=cwt(s,1:32, 'bior1.5','lvl',[100 600]); subplot(338);c1=cwt(s,1:32, 'mexh','abslvl',[100 400]); subplot(339);c2=cwt(s,1:32, 'bior1.5','abslvl',[100 400]); subplot(332); plot(t,c1(10,:)); subplot(333); plot(t,c2(10,:)); Рис.5.1.1. Как видно на рисунке, симметричность или несимметричность (нечетность) функции вейвлета существенно влияет на форму вейвлет-спектра, равно как и тип закраски, что позволяет целенаправленно выявлять особенности локальных сигналов, например точки перегибов сигнальных функций, которые отмечаются вертикальными полосами с вейвлетом 'mtxh' при plotmode=abslvl. Пример НВП гамма-каротажной кривой (рис. 5.1.2). A=dlmread('c:\MATLAB6p1\work\Zag3f.prn',' ',120); xn=1; xk=2000; xd=xk-xn; GK=A([xn:xk],5); da=1; dk=32; subplot(311); plot(GK); grid; axis([0,xd,1,5]); subplot(312); c1=cwt(GK,1:da:dk, 'mexh','abslvl',[100 400]); subplot(313); c1=cwt(GK,1:da:dk, 'sym4','abslvl',[100 400]); Рис.5.1.2. На рис. 5.1.2 приведены вейвлет-спектры гамма-каротажной кривой. В силу природы ядерных излучений диаграммы ГК всегда сильно осложнены статистическими флюктуациями, на фоне которых достаточно трудно выделять границы пластов горных пород с разной гамма-активностью. На вейвлет-спектрах с plotmode=abslvl эти границы фиксируются по перегибам функций ГК вертикальными полосами минимумов (темные цветовые полосы), что позволяет по масштабным сечениям среднего и верхнего уровня детализировать сигнальную функцию на локальные блоки. Рис. 5.1.3. Интерфейс GUI удобен для анализа данных в диалоговом режиме. На рис. 5.1.3 приведено окно, которое включается из 'Wavelet Toolbox Main Menu' кнопкой 'Continuous Wavelet 1-D'. Демонстрационные сигналы загружаются в окно из меню File Example Analysis, устанавливается тип вейвлета, параметры анализа и нажимается кнопка 'Analyze', после чего в графической части окна появляется сигнал и результаты его разложения в трех представлениях (полное, сечение по среднему уровню разложения и линии локальных максимумов). Графическое представление можно изменять ниже расположенными кнопками и переключателями, а также используя типовые возможности оконного меню. Коэффициенты разложения можно записать на диск в виде mat-файла (File Save Coefficients) и считать затем в рабочую область Matlab для детального изучения. При выполнении непрерывного разложения комплексными вейвлетами в 'Wavelet Toolbox Main Menu' используется кнопка 'Complex Continuous Wavelet 1-D'. При обработке данных, записанных в других (не .mat) форматах, следует сначала перевести данные в mat-формат, что можно выполнить из основного окна Matlab (Файл Импорт данных), или из окна команд. При обработке одномерных сигналов второе предпочтительнее, так как одновременно дает возможность подготовить для GUI однострочные векторные массивы. Ниже приведен пример считывания каротажных геофизических данных из файла las-формата, предварительно пе
Комментариев нет:
Отправить комментарий