waveletScattering

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

Описание

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

Создание

Описание

пример

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' Двойная точность

  • 'single' Одинарная точность

Примечание

  • Все вычисления, включающие среду рассеивания вейвлета, выполняются в 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)
title('Third Filter Bank')
xlabel('Hertz')
ylabel('Magnitude')
grid on

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

[lpsum,f] = littlewoodPaleySum(sf);
figure
plot(f,lpsum)
xlabel('Hertz')
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