Этот пример демонстрирует различия между функциями MODWT и MODWTMRA. Разделы MODWT энергия сигнала через коэффициенты детали и масштабные коэффициенты. Проекты MODWTMRA сигнал на подпространства вейвлета и масштабирующееся подпространство.
Выберите 'sym6' вейвлет. Загрузите и постройте форму волны ECG. Данные о ECG взяты из Базы данных Аритмии MIT-BIH.
load mit200 wv = 'sym6'; plot(ecgsig) grid on title(['Signal Length = ',num2str(length(ecgsig))])
Возьмите MODWT сигнала.
wtecg = modwt(ecgsig,wv);
Входные данные являются выборками функции оцененный в - много моментов времени. Функция может быть выражена как линейная комбинация масштабирующейся функции и вейвлет в различных шкалах и переводах: где и количество уровней разложения вейвлета. Первая сумма является крупным приближением шкалы сигнала, и детали в последовательных шкалах. MODWT возвращается - много коэффициентов и - много коэффициентов детали из расширения. Каждая строка в wtecg
содержит коэффициенты в различной шкале.
При взятии MODWT сигнала длины , существуют - много уровней разложения (по умолчанию). Коэффициенты детали производятся на каждом уровне. Масштабные коэффициенты возвращены только для итогового уровня. В этом примере, с тех пор , и количество строк в wtecg
.
Разделы MODWT энергия через различные шкалы и масштабные коэффициенты: где входные данные, коэффициенты детали в шкале , и масштабные коэффициенты итогового уровня.
Вычислите энергию в каждой шкале и оцените их сумму.
energy_by_scales = sum(wtecg.^2,2); Levels = {'D1';'D2';'D3';'D4';'D5';'D6';'D7';'D8';'D9';'D10';'D11';'D12';'D13';'A13'}; energy_table = table(Levels,energy_by_scales); disp(energy_table)
Levels energy_by_scales _______ ________________ {'D1' } 0.31592 {'D2' } 2.6504 {'D3' } 28.802 {'D4' } 159.37 {'D5' } 300.5 {'D6' } 431.33 {'D7' } 444.93 {'D8' } 182.37 {'D9' } 45.381 {'D10'} 11.578 {'D11'} 19.809 {'D12'} 4.5406 {'D13'} 3.308 {'A13'} 192.46
energy_total = varfun(@sum,energy_table(:,2))
energy_total=1×1 table
sum_energy_by_scales
____________________
1827.3
Подтвердите, что MODWT является сохранением энергии путем вычисления энергии сигнала и сравнения его с суммой энергий по всем шкалам.
energy_ecg = sum(ecgsig.^2); max(abs(energy_total.sum_energy_by_scales-energy_ecg))
ans = 4.0875e-09
Возьмите MODWTMRA сигнала.
mraecg = modwtmra(wtecg,wv);
MODWTMRA возвращает проекции функции на различные подпространства вейвлета и итоговый пробел масштабирования. Таким образом, MODWTMRA возвращается и - многие оцененный в - много моментов времени. Каждая строка в mraecg
проекция на различное подпространство. Это означает, что исходный сигнал может быть восстановлен путем добавления всех проекций. Это не верно в случае MODWT. Добавление коэффициентов в wtecg
не восстановит исходный сигнал.
Выберите момент времени, добавьте проекции оцененный в то время указывают и соответствуют исходному сигналу.
time_point = 1000; abs(sum(mraecg(:,time_point))-ecgsig(time_point))
ans = 3.0942e-13
Подтвердите, что, в отличие от MODWT, MODWTMRA не является сохраняющим энергию преобразованием.
energy_ecg = sum(ecgsig.^2); energy_mra_scales = sum(mraecg.^2,2); energy_mra = sum(energy_mra_scales); max(abs(energy_mra-energy_ecg))
ans = 534.7949
MODWTMRA является фильтрацией нулевой фазы сигнала. Функции будут выровнены временем. Продемонстрируйте это путем графического вывода исходного сигнала и одной из его проекций. Чтобы лучше проиллюстрировать выравнивание, увеличить масштаб.
figure plot(ecgsig) hold on plot(mraecg(4,:),'-') grid on xlim([4000 5000]) legend('Signal','Projection','Location','northwest')
Сделайте подобный график с помощью коэффициентов MODWT в той же шкале. Обратите внимание на то, что функции не будут выровнены временем. MODWT не является фильтрацией нулевой фазы входа.
figure plot(ecgsig) hold on plot(wtecg(4,:),'-') grid on xlim([4000 5000]) legend('Signal','Coefficients','Location','northwest')
Ссылки
Голдбергер А. Л., Л. А. Н. Амарал, L. Стекло, Дж. М. Гаусдорф, P. Ch. Иванов, Р. Г. Марк, Дж. Э. Митус, Г. Б. Муди, C-K Пенг, Х. Э. Стэнли. "PhysioBank, PhysioToolkit и PhysioNet: Компоненты Нового Ресурса Исследования для Комплексных Физиологических Сигналов". Циркуляция 101. Vol.23, e215-e220, 2000. http://circ.ahajournals.org/cgi/content/full/101/23/e215
Капризный, G. B. "Оценивая ECG Анализаторы". http://www.physionet.org/physiotools/wfdb/doc/wag-src/eval0.tex
Муди Г. Б., Р. Г. Марк. "Удар Базы данных Аритмии MIT-BIH". Инженер IEEE в Med и Biol. Издание 20, Номер 3, 2001), стр 45-50.