haart

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

Описание

пример

[a,d] = haart(x) выполняет 1D Хаар дискретное преобразование вейвлета вектора ровной длины, 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. 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')

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' консервы это. 'integer' опция применяется только если все элементы входа, x, целые числа. Для входа с целочисленным знаком, haart возвращает коэффициенты вейвлета с целочисленным знаком. Для обоих 'noninteger' и 'integer', однако, алгоритм Преобразования Хаара использует арифметику с плавающей точкой. Если x одинарная точность, коэффициенты Преобразования Хаара являются одинарной точностью. Для всего другого числового типа числовой тип коэффициентов является двойной точностью.

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

свернуть все

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

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

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

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

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

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

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

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

Введенный в R2017b