exponenta event banner

scatteringTransform

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

Описание

s = scatteringTransform(sf,x) возвращает вейвлет 1-D преобразование рассеяния x с метаданными для сети вейвлет-временного рассеяния, sf. x - действительный вектор, матрица или 3-D массив.

Точность коэффициентов рассеяния зависит от точности, заданной в сети рассеяния. sf.

пример

[s,u] = scatteringTransform(sf,x) также возвращает коэффициенты скалограммы для каждого из порядков рассеяния.

Точность коэффициентов скалограммы зависит от точности, заданной в сети рассеяния. sf.

Примеры

свернуть все

В этом примере показано, как вернуть вейвлет 1-D преобразование рассеяния действительного сигнала.

Загрузите сигнал ЭКГ, дискретизированный на частоте 180 Гц.

load wecg
Fs = 180;

Создайте сеть вейвлет-временного рассеяния для применения к сигналу. Вычислите преобразование рассеяния сигнала.

sf = waveletScattering('SignalLength',numel(wecg),...
    'SamplingFrequency',Fs)
sf = 
  waveletScattering with properties:

          SignalLength: 2048
       InvarianceScale: 5.6889
        QualityFactors: [8 1]
              Boundary: 'periodic'
     SamplingFrequency: 180
             Precision: 'double'
    OversamplingFactor: 0
          OptimizePath: 0

[S,U] = scatteringTransform(sf,wecg);

Постройте график сигнала и коэффициентов рассеяния нулевого порядка. Заметим, что шкала инвариантности равна половине длительности сигнала.

t = [0:length(wecg)-1]/Fs;
subplot(2,1,1)
plot(t,wecg)
grid on
axis tight
xlabel('Seconds')
title('ECG Signal')
subplot(2,1,2)
plot(S{1}.signals{1},'x-')
grid on
axis tight
title('Zeroth-Order Scattering Coefficients')

Figure contains 2 axes. Axes 1 with title ECG Signal contains an object of type line. Axes 2 with title Zeroth-Order Scattering Coefficients contains an object of type line.

Визуализируйте скатерграмму для коэффициентов скалограммы первого порядка.

figure
scattergram(sf,U,'FilterBank',1)

Figure contains an axes. The axes with title Scattergram -- Scalogram Coefficients Filter Bank 1 contains an object of type surface.

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

свернуть все

Сеть вейвлет-временного рассеяния, заданная как waveletScattering объект.

Входные данные, заданные как действительный вектор, матрица или массив 3-D. Если x - вектор, количество выборок в x должны равняться SignalLength значение sf. Если x - матрица или массив 3-D, количество строк в x должны равняться SignalLength значение sf. Если x 2-D, первое измерение принимается как время и столбцы x считаются отдельными каналами. Если x 3-D, размеры x являются поканальными.

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

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

свернуть все

Коэффициенты рассеяния, возвращаемые в виде массива NO-by-1 ячеек, где NO - количество порядков в sf.

Каждый элемент s - таблица MATLAB ® со следующими переменными:

Коэффициенты рассеяния, возвращаемые в виде массива ячеек. Если x является вектором, каждый элемент signals - вектор Ns-by-1, где Ns - число коэффициентов рассеяния. Если x 2-D, каждый элемент signals - матрица Ns-by-Nc, где Nc - количество каналов в x. Если x 3-D, каждый элемент signals - массив Ns-by-Nc-by-Nb, где Nb - количество пакетов в x.

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

Путь рассеяния, используемый для получения коэффициентов рассеяния, возвращаемых в виде вектора строки. Каждый столбец path соответствует одному элементу пути. Скаляр 0 обозначает исходный сигнал. Положительные целые числа в столбце Lth обозначают соответствующий вейвлет-фильтр в (L-1) -м блоке фильтров. Вейвлет-полосовые фильтры упорядочены путем уменьшения центральной частоты.

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

Полоса пропускания коэффициентов рассеяния, возвращаемая как скаляр. Если указать частоту дискретизации в сети рассеяния, полоса пропускания будет в герцах. В противном случае полоса пропускания находится в циклах/выборках.

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

Base-2 логарифмическое разрешение коэффициентов рассеяния, возвращаемое как скаляр.

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

Коэффициенты скалограммы, возвращаемые в виде массива NO-by-1 ячеек, где NO - количество порядков в sf. i-й элемент u - коэффициенты скалограммы для i-ой строки s.

Каждый элемент u - таблица MATLAB со следующими переменными:

Коэффициенты скалограммы, возвращаемые в виде массива ячеек. Если x является вектором, каждый элемент coefficients - вектор Nu-by-1, где Nu - количество коэффициентов скалограммы. Если x 2-D, каждый элемент coefficients - матрица Nu-by-Nc, где Nc - количество каналов в x. Если x 3-D, каждый элемент coefficients - массив Nu-by-Nc-by-Nb, где Nb - количество пакетов в x.

Обратите внимание, что u{1} содержит исходные данные в переменной коэффициентов.

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

Путь рассеяния, используемый для получения коэффициентов скалограммы, возвращаемых в виде вектора строки. Каждый столбец path соответствует одному элементу пути. Скаляр 0 обозначает исходный сигнал. Положительные целые числа в столбце Lth обозначают соответствующий вейвлет-фильтр в (L-1) -м блоке фильтров. Вейвлет-полосовые фильтры упорядочены путем уменьшения центральной частоты.

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

Полоса пропускания коэффициентов скалограммы, возвращаемая как скаляр. Если указать частоту дискретизации в сети рассеяния, полоса пропускания будет в герцах. В противном случае полоса пропускания находится в циклах/выборках.

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

Base-2 логарифмическое разрешение коэффициентов скалограммы, возвращаемое как скаляр.

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

Совет

  • scatteringTransform вызовы функций featureMatrix для формирования коэффициентов рассеяния и скалограммы. Если требуются только сами коэффициенты, для повышения производительности рекомендуется использовать featureMatrix. Использовать scatteringTransform если вас также интересуют метаданные коэффициентов.

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

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

.
Представлен в R2018b