waveletScattering

Вейвлет рассеяния

Описание

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

Создание

Описание

пример

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

пример

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

Примечание

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

Свойства

расширить все

Длина сигнала в выборках, заданная как положительное целое число ≥ 16. Если вход в сеть рассеяния является вектором-строкой, SignalLength должен совпадать с количеством столбцов в входных данных. Если вход в сеть рассеяния является вектором-столбцом, матрицей или трехмерным массивом SignalLength должно совпадать с количеством строк в данных.

Типы данных: 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.

Примечание

  • Если вы создаете сеть рассеяния с двойными прецизионными фильтрами и применяете сеть к данным с одной точностью, фильтры приводятся внутрь с одной точностью. Последующая фильтрация выполняется с одной точностью до создания новой сети независимо от типа входных данных.

  • Определение Precision как 'single' при конструкции особенно полезно при генерации кода, поскольку это устраняет необходимость создания дополнительной копии блоков фильтров рассеяния.

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

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

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

Оптимизируйте логическое преобразование рассеяния, которое определяет, уменьшает ли преобразование рассеяния количество путей рассеяния для вычисления на основе фактора полосы пропускания, заданного в виде числа или логического 1 (true) или 0 (false).

Если вы задаете OptimizePath как true, преобразование рассеяния исключает пути рассеяния порядка 2 и выше, которые не удовлетворяют следующему критерию: Центральная частота минус ½ 3-dB полоса пропускания вейвлет-фильтра в (i + 1) й группе фильтров должны перекрываться 0 (DC) плюс ½ 3-dB полоса пропускания вейвлет-фильтра в i-й группе фильтров. Если этот критерий не удовлетворяется, путь более высокого порядка исключается. Настройка OptimizePath к true может значительно уменьшить количество путей рассеяния и вычислительную сложность преобразования рассеяния для большинства сетей.

Вы можете использовать paths для определения, какие и сколько путей рассеяния вычисляются.

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

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

Примеры

свернуть все

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

sf = waveletScattering
sf = 
  waveletScattering with properties:

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

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

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

Figure contains an axes. The axes with title First Filter Bank contains 41 objects of type line.

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

Figure contains an axes. The axes with title Second Filter Bank contains 7 objects of type line.

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

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

Figure contains an axes. The axes contains 2 objects of type line. These objects represent 1st Filter Bank, 2nd Filter Bank.

В этом примере показов, как создать и применить вейвлет сеть рассеяния времени с тремя банками фильтров к данным.

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

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
          OptimizePath: 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')

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

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

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

расширить все

Ошибки, начинающиеся в R2021a

Поведение изменено в R2021a

Ссылки

[1] Andén, Joakim, and Stéphane Mallat. «Глубокое рассеяние Спектра». Транзакции IEEE по обработке сигналов 62, № 16 (август 2014): 4114-28. https://doi.org/10.1109/TSP.2014.2326991.

[2] Маллат, Стефан. «Групповое инвариантное рассеяние». Сообщения по чистой и прикладной математике 65, № 10 (октябрь 2012): 1331-98. https://doi.org/10.1002/cpa.21413.

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

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