ihaart

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

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

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

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

 load noisdopp;

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

 [a,d] = haart(noisdopp);

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

 xrec = ihaart(a,d);

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

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

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

Загрузите и постройте график данных ЭКГ.

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

Figure contains an axes. The axes with title ECG Data contains an object of type line.

Получите преобразование Хаара и обратное преобразование Хаара. Сравните восстановленные данные на уровне 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')

Figure contains an axes. The axes with title Haar Approximation of Heart Rate contains an object of type line.

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

Создайте серию.

x = randi(10,100,1);

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

[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')

Figure contains 2 axes. Axes 1 with title Original Data contains an object of type stem. Axes 2 with title Reconstructed Integer-to-Integer Data contains an object of type stem.

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Массивы графических процессоров
Ускорите код, запустив на графическом процессорном модуле (GPU) с помощью Parallel Computing Toolbox™.

Введенный в R2016b