haart

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

Описание

пример

[a,d] = haart(x) выполняет 1-D дискретное вейвлет Хаара вектора четной длины, x. Область входа x могут быть одномерными или многомерными данными. Если x является матрицей, haart действует на каждом столбце x. Если длина x является степенью 2, преобразование Хаара получено до уровня log2(length(x)). В противном случае преобразование Хаара получается до уровня floor(log2(length(x)/2)).

пример

[a,d] = haart(x,level) получает преобразование Хаара до заданного уровня.

пример

[a,d] = haart(___,integerflag) задает, как преобразование Хаара обрабатывает целочисленные данные, используя любой из предыдущих синтаксисов.

Примеры

свернуть все

Получите преобразование Хаара до максимального уровня по умолчанию.

load wecg;
[a,d] = haart(wecg);

Получите преобразование Хаара многомерного набора данных временных рядов данных о потреблении электроэнергии до уровня 4. The signals данные транспонируются так, чтобы каждые временные ряды находились в столбце, а не в строке.

load elec35_nor;
signals = signals';
[a,d] = haart(signals,4);

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

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

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.

Получите преобразование Хаара. Затем получите обратное преобразование Хаара, аппроксимированное на уровне 5. Шкала для этого уровня составляет 512 секунд, что является 25 умножение интервала дискретизации (16 секунд).

[a,d] = haart(HR,'integer');
HaarHR = ihaart(a,d,5,'integer');

Сравните восстановленные данные с исходными данными.

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 является вектором, это должна быть четная длина. Если x является матрицей, каждый столбец должен быть четной длиной, и haart действует на каждом столбце x.

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

Максимальный уровень, до которого необходимо выполнить преобразование Хаара, заданный как положительное целое число.

  • Если длина x является степенью двойки level - положительное целое число, меньше или равное log2(length(x)).

  • Если длина x является четным, но не степенью двойки level - положительное целое число, меньше или равное floor(log2(length(x)/2)).

Если level равен 1, коэффициенты детализации, d, возвращаются как вектор или матрица, в зависимости от того, является ли вход вектором или матрицей, соответственно.

Обработка целочисленных данных, заданная как 'noninteger' или 'integer'. 'noninteger' не сохраняет целочисленные данные в преобразовании Хаара, и 'integer' сохраняет его. The 'integer' опция применяется только в том случае, если все элементы входа, x, являются целыми числами. Для целочисленного входа, haart возвращает целочисленные коэффициенты вейвлета. Для обоих 'noninteger' и 'integer'однако алгоритм преобразования Хаара использует арифметику с плавающей точкой. Если x является одинарной точностью, коэффициенты преобразования Хаара являются одинарной точностью. Для всех других числовых типов численный тип коэффициентов является двойной точностью.

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

свернуть все

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

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

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

Примечание: Сгенерированные C и Коды С++ всегда возвращают коэффициенты вейвлета d в массиве ячеек.

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

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

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

.

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

Введенный в R2016b