Стоит ли корреляционная мера на основе вейвлетов каких-либо дополнительных вычислительных затрат?

9

Я использовал как корреляцию, так и когерентность в качестве показателей корреляции между сигналами. Я думал, что частотно-временной подход даст мне лучшее из этих миров.

Мой вопрос заключается в том, добавляет ли эти дополнительные данные достаточно к общей картине сигнала, чтобы оправдать увеличение вычислительных затрат, связанных с выполнением вейвлет-преобразований как части вычисления?

Ссылка: статья ArXiv : «Метод взаимной корреляции в вейвлет-области для обнаружения стохастических гравитационных волн» С. Клименко, Г. Мицельмахер, А. Сазонов

jonsca
источник
Сколько стоят дополнительные вычислительные затраты? Можете ли вы сделать это быстрее с FFT или FWT?
эндолит
@endolith Предполагая, что я уже включил бы эти алгоритмы, я думаю.
Jonsca
1
Ну, и когерентность, и корреляция могут использовать FFT, то есть O (N log N), а FWT - O (N), поэтому вейвлет-метод может быть быстрее ? У меня нет четкого понимания этого, хотя, несмотря просить дважды: math.stackexchange.com/questions/28581/... stackoverflow.com/questions/1787536/...
эндолиты
1
В любом случае, вы должны использовать то, что наиболее подходит для того, что вы пытаетесь сделать. Это все равно что спросить: "Что лучше? Отвертки или молотки?"
эндолит
1
@jonsca Ваша интуиция на самом деле права. Очевидно, преобразование DWT является вариантом времени, и это свойство может привести к некоторой эксплуатации. Я фактически делаю то же самое для проекта, над которым я работаю. Цель состоит в том, чтобы оценить TDOA (временную задержку прибытия) между двумя сигналами, поэтому сначала я преобразовал их, используя (рукописный) DWT, а затем я взаимно коррелировал их. Вот ссылка на статью, о которой вы можете прочитать в моем общедоступном дропбоксе. ( dl.dropbox.com/u/4724281/waveletBasedTDOA.pdf )
Спейси

Ответы:

5

Прежде всего, вы должны использовать тот инструмент, который подходит для работы. Корреляция против когерентности против корреляции на основе вейвлетов - это разные вещи, поэтому этот вопрос напоминает вопрос: «Что лучше? Отвертки или молотки?» Это зависит от того, что вы пытаетесь сделать, и заботитесь ли вы о сходстве во времени, частотных спектрах или обоих.

Во-вторых, у меня есть только минимальное понимание вейвлетов, но ваше предположение, что вейвлеты требуют большего количества вычислений, может быть ошибочным. Быстрое преобразование Фурье принимает операций , в то время как быстрого вейвлет - преобразование занимает O ( п ) . Таким образом, вейвлет-метод на самом деле может потребовать меньше вычислений, в зависимости от того, можете ли вы использовать полученную из него информацию.О(NжурналN) О(N)

Эмпирически , производя п выходов из п действительных входов, многоуровневая вейвлет - преобразование в PyWavelets становится быстрее , чем БПФ Numpy, когда п больше , чем примерно 4096.

введите описание изображения здесь

Однако

  1. Это Python, и две реализации могут быть по-разному эффективными. Я даже не знаю, wavedec()будет ли это рассматриваться как быстрое вейвлет-преобразование. Они используют сокращение DWT в своей документации. Haar DWT и FWT - это одно и то же?
  2. Время варьируется в зависимости от используемого вейвлета. Вейвлет Мейера в 6 раз дольше, чем Добеши, производит столько же данных.
  3. Я до сих пор не понимаю, как FWT разбивает мозаику на частотно-временную плоскость , или если достаточно создать n выходных сигналов для того же измерения сходства, что и круговая взаимная корреляция с n точками с использованием FFT. (Технически это плоскость масштаба времени, а не частота-время, но я думаю, что они одинаковы для сложного вейвлета Морле ?) FWT - это «критическая выборка» плоскости, которая выдает тот же объем данных, что и БПФ, так что честно сравнивать их.

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

эндолиты
источник
3

Это очень поздно, но, может быть, оно того стоит ...

Икс(T)Икс(Δs(T-ΔT))ΔsΔTИкс(T)Икс(T-ΔT)еяΔωTΔωИкс(T)

О(N)

Таким образом, использование DWT для исследования шкалы времени не приведет вас слишком далеко. Это особенно верно, потому что шкалы, «посещаемые» DWT, разделены двумя факторами и гораздо менее плотны, чем покрытие, которое вы можете получить в частотно-временной плоскости с помощью БПФ. Вам необходимо использовать вейвлет-преобразование, которое является инвариантным к трансляции, иногда называемым нецимированным вейвлет-преобразованием , среди многих других имен. Даже тогда у вас все еще есть разреженность образцов вычисленного масштаба, с которыми приходится бороться.

Кроме того, часто желательно думать о местах в плоскости шкалы времени как имеющих плотность энергии. Этот подход облегчается использованием аналитического вейвлета, такого как комплексный вейвлет Морле, упомянутый ранее. Одним из методов, который уравновешивает трансляционную инвариантность и аналитичность со временем вычислений, является комплексное вейвлет-преобразование двойного дерева . Проделать то же самое в частотно-временной плоскости, возможно, проще: сначала выполните приблизительное преобразование Гильберта для вашего сигнала, выполнив FFT, обнуляя все отрицательные частоты, а затем IFFT.

Если интуиция, согласно которой корреляция ищет сходство во времени, а когерентность ищет сходство по частоте, верна, то вам лучше придерживаться частотно-временной плоскости. Это, конечно, проще вычислить, и легко уточнить выборку по оси частот. Ни один из упомянутых выше подходов не обеспечивает более плотную выборку оси масштаба. Чтобы сделать это, вам в значительной степени нужно перейти к непрерывному вейвлет-преобразованию , хотя может быть что-то еще, чего я не знаю. Если у вас есть Matlab, перейдите по ссылке выше и получите его.

Родни Прайс
источник