ihaart

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

Описание

пример

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

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

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

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

свернуть все

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

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

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

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

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

Введенный в R2017b