exponenta event banner

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 Хаар преобразовывает, обрабатывает данные с целочисленным знаком, используя любой из предыдущих синтаксисов.

Примеры

свернуть все

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

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

 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.

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

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

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

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 функция.

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

Типы данных: 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' сохраняет его. '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++ с помощью MATLAB ® Coder™

.

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

Представлен в R2016b