waveletScattering

Время вейвлета, рассеиваясь

Описание

Используйте объект waveletScattering создать среду в течение времени вейвлета, рассеивая разложение с помощью Габора (аналитический Morlet) вейвлет. Среда использует вейвлеты и lowpass, масштабирующий функцию, чтобы сгенерировать представления низкого отклонения данных временных рядов с действительным знаком. Время вейвлета, рассеивая представления урожаев, нечувствительные к переводам во входном сигнале, не жертвуя классом discriminability. Можно использовать среду, чтобы извлечь функции, которые могут быть использованы во многих алгоритмах изучения, таких как соседи k-nearest (kNN), машины вектора поддержки (SVM) и повышенные деревья решений. Можно также использовать функции в собственных классификаторах. Можно задать длительность инвариантности перевода и количество фильтров вейвлета на октаву.

Создание

Синтаксис

sf = waveletScattering
sf = waveletScattering(Name,Value)

Описание

пример

sf = waveletScattering создает среду для разложения рассеивания времени вейвлета с двумя наборами фильтров. Первый набор фильтров имеет добротность восьми вейвлетов на октаву. Второй набор фильтров имеет добротность одного вейвлета на октаву. По умолчанию waveletScattering принимает входную продолжительность сигнала 1 024 выборок. Длина масштабной инвариантности является 512 выборками. По умолчанию waveletScattering использует периодические граничные условия.

пример

sf = waveletScattering(Name,Value) создает среду для рассеивания вейвлета, sf, со свойствами, заданными одним или несколькими аргументами пары Name,Value. Свойства могут быть заданы в любом порядке как Name1,Value1,...,NameN,ValueN. Заключите каждое имя свойства в кавычки.

Примечание

За исключением OversamplingFactor, после создания вы не можете изменить значение свойства существующей среды рассеивания. Например, если у вас есть среда sf с SignalLength 2 000, необходимо создать вторую среду sf2 для сигнала с 2 001 выборкой. Вы не можете присвоить различный SignalLength sf.

Свойства

развернуть все

Длина сигнала, заданная как положительное целое число ≥ 16.

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

Частота дискретизации в герц, заданном как положительная скалярная величина. Если незаданный, частоты находятся в циклах/выборке, и частота Найквиста ½.

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

Рассеивание преобразовывает шкалу инвариантности, заданную как положительная скалярная величина. InvarianceScale задает инвариантность перевода рассеивающегося преобразования. Если вы не задаете SamplingFrequency, InvarianceScale измеряется в выборках. Если вы задаете SamplingFrequency, InvarianceScale измеряется в секундах. По умолчанию InvarianceScale является половиной SignalLength в выборках.

InvarianceScale не может превысить SignalLength в выборках.

Пример: sf = waveletScattering('SignalLength',1000,'SamplingFrequency',200,'InvarianceScale',5) имеет самый большой InvarianceScale.

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

Рассеивание набора фильтров Q факторы, заданные как положительное целое число или вектор положительных целых чисел. Набор фильтров Q фактор является количеством фильтров вейвлета на октаву. Добротности не могут превысить 32 и должны быть больше, чем или равными 1.

Если QualityFactors задан как вектор, элементы QualityFactors должны строго уменьшаться.

Пример: sf = waveletScattering('QualityFactors',[8 2 1]) создает среду рассеивания вейвлета с тремя наборами фильтров.

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

Предупредите, чтобы дополнительный метод применялся на контуре:

  • 'periodic' — Расширяйте сигнал периодически к длине 2^ceil(log2(N)), где N является длиной сигнала.

  • 'reflection' — Расширьте сигнал отражением к длине 2^ceil(log2(2 N)), где N является длиной сигнала.

Сигнал расширен, чтобы совпадать с длиной фильтров вейвлета. Длина всегда является степенью двойки.

Дополнительный метод сигнала для внутренних операций. Результаты субдискретизируются назад на шкалу исходного сигнала прежде чем быть возвращенным.

Точность рассеивающегося разложения:

  • 'double' Двойная точность

  • единственный Одинарная точность

Примечание

  • Все вычисления, включающие среду рассеивания вейвлета, выполняются в Precision. Функции рассеивания вейвлета, такие как featureMatrix и filterbank возвращают выходные параметры те, которые просачиваются Precision.

  • Точность вывода функции scatteringTransform не превышает точность sf.

Сверхдискретизация фактора, заданного как неотрицательное целое число или Inf. Фактор задает, насколько рассеивающиеся коэффициенты сверхдискретизированы относительно критически субдискретизируемых значений. Фактор находится в шкале log2. По умолчанию OversamplingFactor установлен в 0, который соответствует очень важной субдискретизации коэффициентов. Можно использовать numCoefficients, чтобы определить количество коэффициентов, полученных для рассеивающейся среды. Чтобы получить полностью неподкошенное рассеивающееся преобразование, установите OversamplingFactor на Inf.

Установка OversamplingFactor к значению, которое привело бы к большему количеству коэффициентов, чем выборки, эквивалентна установке OversmplingFactor к Inf. Увеличение OversamplingFactor значительно увеличивает вычислительную сложность и требования к памяти рассеивающегося преобразования.

Пример: Если sf = waveletScattering('OversamplingFactor',2), рассеивающееся преобразование возвращает времена 22 как многие коэффициенты для каждого пути к рассеиванию относительно критически выбранного номера.

Функции объекта

scatteringTransformВейвлет 1D рассеивание преобразовывает
featureMatrixРассеивание матрицы функции
logНатуральный логарифм рассеивающегося преобразования
filterbankВремя вейвлета, рассеивая наборы фильтров
littlewoodPaleySumСумма Литлвуда-Палей
scattergramВизуализируйте рассеивание или scalogram коэффициенты
centerFrequenciesВейвлет, рассеивающий полосу пропускания, сосредотачивает частоты
numordersКоличество рассеивания порядков
numfilterbanksКоличество рассеивания наборов фильтров
numCoefficientsКоличество коэффициентов рассеивания вейвлета

Примеры

свернуть все

Создайте рассеивающуюся среду со значениями по умолчанию.

sf = waveletScattering
sf = 
  waveletScattering with properties:

          SignalLength: 1024
       InvarianceScale: 512
        QualityFactors: [8 1]
              Boundary: 'periodic'
     SamplingFrequency: 1
             Precision: 'double'
    OversamplingFactor: 0

Постройте фильтры вейвлета, используемые в первых и вторых наборах фильтров.

[filters,f] = filterbank(sf);
plot(f,filters{2}.psift)
title('First Filter Bank')
xlabel('Cycles/Sample')
ylabel('Magnitude')
grid on

figure
plot(f,filters{3}.psift)
title('Second Filter Bank')
xlabel('Cycles/Sample')
ylabel('Magnitude')
grid on

Постройте суммы Литлвуда-Палей наборов фильтров.

[lpsum,f] = littlewoodPaleySum(sf);
figure
plot(f,lpsum)
legend('1st Filter Bank','2nd Filter Bank')
xlabel('Cycles/Sample')
grid on

Этот пример показывает, как создать и применить рассеивающуюся среду с тремя наборами фильтров к данным.

Загрузите в наборе данных. Создайте среду с тремя наборами фильтров, которые могут быть применены к данным.

load handel
disp(['Data Sampling Frequency: ',num2str(Fs),' Hz'])
Data Sampling Frequency: 8192 Hz
sf = waveletScattering('SignalLength',numel(y),...
    'SamplingFrequency',Fs,...
    'QualityFactors',[4 2 1])
sf = 
  waveletScattering with properties:

          SignalLength: 73113
       InvarianceScale: 4.4625
        QualityFactors: [4 2 1]
              Boundary: "periodic"
     SamplingFrequency: 8192
             Precision: "double"
    OversamplingFactor: 0

Осмотрите среду. Постройте фильтры вейвлета, используемые в третьем наборе фильтров.

[filters,f] = filterbank(sf);
plot(f,filters{4}.psift)
grid on
title('Third Filter Bank')
xlabel('Hertz')
ylabel('Magnitude')

Постройте суммы Литлвуда-Палей этих трех наборов фильтров.

lpsum = littlewoodPaleySum(sf);
figure
plot(lpsum)
grid on
legend('1st Filter Bank','2nd Filter Bank','3rd Filter Bank')

Вычислите вейвлет 1D преобразование рассеивания данных для sf. Визуализируйте scattergram scalogram коэффициентов для первого набора фильтров.

[S,U] = scatteringTransform(sf,y);
figure
scattergram(sf,U,'FilterBank',1)

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2019a

Ссылки

[1] Andén, J. и С. Маллэт. "Глубоко Рассеивание Спектра". Транзакции IEEE на Обработке сигналов. Издание 62, Номер 16, 2014, стр 4114–4128.

[2] Mallat, S. "Рассеивание Инварианта группы". Коммуникации в Чистой и Прикладной математике. Издание 65, Номер 10, 2012, стр 1331–1398.

Введенный в R2018b