exponenta event banner

сердце

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

Примеры

свернуть все

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

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

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

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

свернуть все

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

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

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

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

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

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

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