Полная версия этой страницы:
Вэйвлет-преобразвание
Zelepuk
Feb 18 2012, 09:50
Существует множество статей, где описывается, что вэйвлет-преобразование я вляется альтернативой фурье преобразованию и применяется как эффективный аппарат спектрального анализа во многих областях.
Как сопоставить спектр Фурье и и вейвлет-спектр, если нужно применить Вейвлет преобразование для тех же целей что и Фурье: выделить гармоники в низкочастотном сигнале.
Спектр сигнала представляется амплитудой гармоник на частотной сетке (две оси), а при вэевлет преобразовании появляется 3-я ось, то есть в результате имеем матрицу.
как быть?
sitafern
Feb 19 2012, 20:57
Оптимальный путь -> статья Н.М. Астафьева "Вейвлет-анализ: основы теории и примеры применения". Журнал "Успехи физических наук", Том 166 №11 ноябрь 1996 года.
Вы пытаетесь сопоставить НЕСОПОСТАВИМОЕ.
Вэйвлет-преобразование никогда не являлось альтернативой фурье преобразованию!!! Вейвлеты отличаются от Фурье тем, что делают привязку спектра различных особенностей форм сигналов к времени. У Фурье либо время либо частота, поскольку преобразование делается из временной в частотную области или наоборот.
у Вэйвлет и время и частота есть сразу. Поэтому и третья ось.
Сопоставить спектр Фурье и и вейвлет-спектр (их много разных) например непрерывное:
http://ru.wikipedia.org/wiki/Непрерывное_в...-преобразование
Zelepuk
Feb 20 2012, 04:49
Я хочу применить Вейвлет преобразование для спектрального анализа переходных процессов тока и напряжения. Например, еслт внутри измерительного окна наблюдается скачёк амплитуды, то Фурье спектр не даст верного результата, а по вейвлет спектру можно, как я полагаю, локализовать время "скачка" и спектральный состав.
Иными словами Фурье-анализ работает на стационарных сигналах, а я хочу путём вейвлет преобразования исследовать нестационарности.
petrov
Feb 20 2012, 08:08
Цитата(Zelepuk @ Feb 18 2012, 13:50)

Как сопоставить спектр Фурье и вейвлет-спектр...
Грубо говоря в случае Фурье имеете набор полосовых фильтров на выходе которых смотрите сигнал, в случае вэйвлетов вы имеете несколько таких наборов с меньшим количеством фильтров и более широкой их полосой, чем меньше фильтров в наборе тем меньше разрешение по частоте и больше по времени.
Zelepuk
Feb 20 2012, 08:36
Во всех статьях результат вэйвлет преоброазования представлен разноцветнрым графиком, характеризующим 3Д результат преобразования, а мне нужно посчитать THD с учётом амплитуд составляющих на определённых частотах.
где нибудь есть программы на С реализующие вэйвоет преобразование?
tmtlib
Feb 21 2012, 03:45
В своё время потратил месяцы на вейвлеты, фурье и прочее. Говоря про одномерный случай, что в фурье, что в вейвлетах эти три оси имеют одинаковый смысл - частота, амплитуда и время. "3D" результат это просто ухищрение - возьмите высоту этого графика и "вдавите" в плоскость частота-время и получите обычную спектрограмму по времени, где вместо высоты - яркость точки.
Посчитать вейвлет можно влоб: берёте синусоиду, перемножаете её на узкое окно и получаете "всплеск" - кусок синусоиды. Либо берёте формулу всплеска из интернета. В любом случае всплеск удовлетворяет условию равенства интеграла нулю, или попросту сумма амплитуд на временном интервале = 0. Теперь осталось взять наш исходный сигнал и перемножать его на всплеск (кусочек синусоиды), смещаться на один отсчёт и опять перемножать и так на протяжении всего сигнала. После каждого умножения записывать сумму в соответствующую ячейку спектра.
Затем немного "растянуть" всплеск с коэффициентом k=... по длине и опять перемножать, шагая по одному отсчёту. Растянули в k=2 раза, значит результаты будем записывать в строчку спектрограммы с частотой в 2 раза меньше (период увеличился в 2 раза). В ваших руках какие диапазоны считать - просто находите соответствие между нужными вами частотами и крайними значениями k. В ваших руках временное разрешение - это шаг по одному сэмплу, по 2, либо по 0.00001 сэмплу (смещаете всплеск на 0.00001 сэмпл путём интерполяции).
Основное отличие от БПФ (FFT) здесь состоит в том, что для построения ВЧ части спектра нам не требуется брать огромное окно. FFT бы интегрально выдал амплитуду на отрезке, к примеру 4096 точек, а с вейвлетом мы попросту определяем похожесть данной ВЧ синусоиды на всплеск длиной в 8-16 точек в каждой из 4096 точек. Как и в случае с FFT, для определения фазы и амплитуды нужно взять комплексное вейвлет преобразование: перемножать не только на синусный всплеск, но и на косинусный, а затем брать корни из сумм квадратов и считать фазы арктангенсами.
Похожие результаты можно получить с STFT (берёте FFT от сигнала, перемноженного на очень узкое окно. Например сигнал 1024 точки на окно, где ненулевой горбик на 16-32 точки посередине сигнала), также шажками по одной точке сигнала.
Особого смысла надеяться на вейвлет не вижу - пересмотрел кучу сигналов от звуковых до хз каких, да -видны мелкие детали. НО их нужно как-то трактовать. Если там какое-то булькание и бурление - оно им и останется. Можно разве что найти похожие спектры и как-то соотнести их, сделать какие-то частные выводы. Вот если заранее известны какие-нибудь особенности сигнала - чириканье птиц и т.п., то всплесковую функцию можно заточить под определённый тип звуков, и тогда спектр может проявить быстро меняющиеся по частоте вещи. Дело всё в том, что сама функция будучи перемноженная на похожую даст максимум - ничего удивительного.
petrov
Feb 21 2012, 08:16
Цитата(tmtlib @ Feb 21 2012, 07:45)

Основное отличие от БПФ (FFT) здесь состоит в том, что для построения ВЧ части спектра нам не требуется брать огромное окно.
Это если не нужен в ВЧ части анализ с узкой полосой.

Но это может быть не так. Например если вы анализируете произвольный кусок радио спектра, в ВЧ части могут содержаться узкополосные сигналы.
Т. е. можно не отсекать дерево банка фильтров на каждом уровне на выходе ВЧ фильтров.

От этого вэйвлеты не перестают быть вэйвлетами? Вроде как и нету основного отличия?
Alexey Lukin
Feb 21 2012, 16:41
Когда не отсекаются ВЧ-ветви, преобразование называется "вейвлет-пакеты". Оно позволяет достичь нужного частотного разрешения, но с оговоркой, что алиасинг рекурсивно распространяется во все частотные полосы.
Вот основные отличия вейвлетов (точнее, ДВП) от Фурье (точнее, STFT):
1. С вейвлетами легче получить произвольное разбиение частотной оси, напр. на октавы. У Фурье все фильтры имеют равную ширину полосы.
2. С Фурье легко получить разбиение с очень большим числом полос. С вейвлетами достичь хорошего частотного разрешения трудно: придётся применить много уровней разложения, вырастут задержка, алиасинг и вычислительная сложность.
3. Большинство вейвлетов обладают пологими АЧХ и плохим разделением частотных полос. У Фурье это регулируется с помощью весового окна.
4. У ДВП нет избыточности — ценное свойство для компрессии. Однако у ДВП плохая инвариантность к сдвигу сигнала. STFT избыточно, но обладает лучшей инвариантностью к сдвигу — ценное свойство для обработки.
tmtlib
Feb 26 2012, 08:00
ну как у вас дела с реализацией? Что-то вдруг вспомнил, что есть неплохой исходничек. Может быть вам и кому другому:
http://koders.com/c/fidC13671EC351EEA259A8...3661.aspx?s=cwtразмер исходника большой, но там просто несколько вариантов реализации, есть даже с перемножением на основе БПФ-а.
Initial version - десяток строк. В основе алгоритма двойной вложенный цикл, в пепвом кольце которого идёт перебор масштабирования, а второй - по смещению вейвлета относительно сигнала.
Как оптимизировать непрерывное вейвлет преобразование не представляю. С ДВП можно что-то придумывать, в том же JPEG2000 коэффициенты всплеска не втупую перемножаются. А может вам вообще хватит дискретного с базисом Хаара, на нём тоже бывает кое-чего можно разглядеть.
Santik
Apr 26 2012, 13:05
Вот пример вейвлет-анализа: ЛЧМ сигнал с АМ, изменяющейся по уровню и по частоте.
Нажмите для просмотра прикрепленного файла
ЛЧМ 10-110 Гц 10 секунд
2-я гармоника 5% 3 <t< 4 сек
3-я гармоника 1% 0,5 <t< 1.5 сек
Нажмите для просмотра прикрепленного файла
Нелинейный свип 10-110 Гц 10сек , АМ 30 Гц Км=1% 1< t < 8 сек
Нажмите для просмотра прикрепленного файла
Избавиться от эффекта "теней" можно. При этом немного падает разрешение.
Так что вейвлет - это
круто (если к месту применять)
Нажмите для просмотра прикрепленного файлаВот пример моего "тупого" применения вейвлета Морле (на той же задаче).
Нажмите для просмотра прикрепленного файла
DRUID3
May 16 2012, 21:43
Цитата(tmtlib @ Feb 26 2012, 11:00)

ну как у вас дела с реализацией? Что-то вдруг вспомнил, что есть неплохой исходничек.
Пейсал Хаара когда-то... Очень просто переделать под другой вейвлет... Есть еще 2D - с легковесным скаллером(потому что 640x480 - не степени 2). Найду старый проект - сброшу.
P.S.: ...не в тему, но про вейвлеты - а какая из сейчас легкодоступных на рынке web-камер не жмет в jpg?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.