haart

Хаар 1D вейвлет преобразовывает

Описание

пример

[a,d] = haart(x) возвращает коэффициенты приближения, a, и детализируйте коэффициенты, d, из 1D Хаара дискретный вейвлет преобразовывают. Вход x могут быть одномерные или многомерные данные. level по умолчанию зависит от длины x.

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

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

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

свернуть все

Входной сигнал в виде вектора или матрицы действительных значений. Если x является вектором, это должна быть даже длина. Если x матрица, каждый столбец должен быть даже длиной и haart работает с каждым столбцом x.

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

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

  • Если длина x степень двойки, Преобразование Хаара получено вниз, чтобы выровнять log2(length(x)).

  • Если длина x является четным, но не степень двойки, Преобразование Хаара получено вниз, чтобы выровнять floor(log2(length(x)/2)).

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

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

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

свернуть все

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

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

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

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

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

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

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

Введенный в R2017b