Этот пример демонстрирует различия между функциями 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.