ihaart

Обратный 1D Вейвлет - преобразование Хаара

Синтаксис

xrec = ihaart(a,d)
xrec = ihaart(a,d,level)
xrec = ihaart(___,integerflag)

Описание

пример

xrec = ihaart(a,d) возвращает обратное 1D Преобразование Хаара, xrec, для коэффициентов приближения, a, и коэффициентов вейвлета, d. И a и d получены из haart.

пример

xrec = ihaart(a,d,level) возвращает обратное 1D Преобразование Хаара на заданном уровне.

пример

xrec = ihaart(___,integerflag) задает, как обратное 1D Преобразование Хаара обрабатывает данные с целочисленным знаком, с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Получите Хаар и обратные Преобразования Хаара шумных данных.

Загрузите шумный сигнал данных

 load noisdopp;

Получите Преобразование Хаара сигнала с шумом.

 [a,d] = haart(noisdopp);

Восстановите данные путем инвертирования Преобразования Хаара.

 xrec = ihaart(a,d);

Сравните исходные и восстановленные данные путем определения максимальной разницы между ними. Различием является по существу нуль, который указывает на почти совершенную реконструкцию.

 max(abs(xrec-noisdopp'))
ans = 4.4409e-15

Получите Преобразование Хаара и обратное Преобразование Хаара данных о сердечном ритме ECG.

Загрузите и отобразите данные о ECG на графике.

load BabyECGData;
plot(times,HR)
xlabel('Hours')
ylabel('Heart Rate')
title('ECG Data')

Получите Преобразование Хаара и обратное Преобразование Хаара. Сравните восстановленные данные на уровне 4 к исходным данным.

[a,d] = haart(HR);
HaarHR = ihaart(a,d,4);
figure
plot(times,HaarHR)
xlabel('Hours')
ylabel('Heart Rate')
title('Haar Approximation of Heart Rate')

Получите Хаар и обратные Преобразования Хаара для серии случайных целых чисел.

Создайте ряд.

x = randi(10,100,1);

Получите Хаар и обратные Преобразования Хаара.

[a,d] = haart(x,'integer');
xrec = ihaart(a,d,'integer');

Постройте и сравните исходные и восстановленные данные.

subplot(2,1,1)
stem(x); title('Original Data')
subplot(2,1,2)
stem(xrec)
title('Reconstructed Integer-to-Integer Data')

Определите максимальную разницу между исходными значениями данных и восстановленными значениями. Различием является нуль, который указывает на совершенную реконструкцию.

max(abs(x(:)-xrec(:)))
ans = 0

Входные параметры

свернуть все

Коэффициенты приближения, заданные как скаляр, вектор или матрица коэффициентов, в зависимости от уровня, к которому было вычислено Преобразование Хаара. a является вывод от функции haart.

Приближение или масштабирование, коэффициенты являются lowpass представлением входа. На каждом уровне коэффициенты приближения разделены на более грубое приближение и детализируют коэффициенты.

Типы данных: double

Детализируйте коэффициенты, заданные как скаляр, вектор, матрица или массив ячеек коэффициентов вейвлета, которые являются highpass представлением входа. d является вывод от функции haart. Количество коэффициентов детали зависит на выбранном уровне и длине входа. Порядок элементов d от прекрасного до крупных уровней разрешения.

Если d является массивом ячеек, он может содержать скаляры, векторы или матрицы. Уровень Преобразования Хаара равняется числу элементов в d. Самый грубый элемент уровня разрешения массива ячеек d является скалярным значением.

Если d является вектором или матрицей, Преобразование Хаара было вычислено только вниз к одному уровню, более грубому в разрешении. Если вы задаете только два уровня, коэффициент детали является скаляром.

Если a и элементы d являются векторами, xrec является вектором. Если a и элементы d являются матрицами, xrec является матрицей, где каждым столбцом является обратное Преобразование Хаара соответствующих столбцов в a и d.

Типы данных: double

Максимальный уровень, к которому можно инвертировать Преобразование Хаара, заданное как неотрицательное целое число. Если d является массивом ячеек, level меньше чем или равен length(d)-1. Если d является вектором или матрицей, level должен равняться 0 или не задан. Уровень должен быть меньше, чем уровень раньше получал a и d от haart.

Обработка данных с целочисленным знаком, заданная или как 'noninteger' или как 'integer'. 'noninteger' не сохраняет данные с целочисленным знаком, и 'integer' сохраняет его. Опция 'integer' применяется, только если все элементы a и d с целочисленным знаком. Вы, должно быть, использовали 'integer' с haart, чтобы получить a с целочисленным знаком и входные параметры d. Обратный 1D алгоритм Преобразования Хаара, однако, использует арифметику с плавающей точкой.

Выходные аргументы

свернуть все

Обратный 1D Вейвлет - преобразование Хаара, возвращенный как вектор или матрица. Если a и элементы d являются векторами, xrec является вектором. Если a и элементы d являются матрицами, xrec является матрицей, где каждым столбцом является обратное 1D Преобразование Хаара соответствующих столбцов в a и d.

Типы данных: double

Введенный в R2017b