scatteringTransform

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

Описание

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

Точность коэффициентов рассеяния зависит от точности, заданной в сети рассеяния 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 объект.

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

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

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

свернуть все

Коэффициенты рассеяния, возвращенные как NO-на-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)th банк фильтров. Вейвлет фильтры упорядочены путем уменьшения центральной частоты.

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

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

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

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

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

Коэффициенты Скалограммы, возвращенные как NO-на-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)th банк фильтров. Вейвлет фильтры упорядочены путем уменьшения центральной частоты.

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

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

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

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

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

Совет

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

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

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

.
Введенный в R2018b