Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вейвлет анализ - сам процесс фильтрации
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
lennen
Я много смотрел форум и лазил в поисковиках, но в основном я вижу хорошую теорию по прямому и обратному вейвлет-преобразованиям, либо статьи обзорного характера. И я уже начинаю отчаиваться - помогите найти хороший материал по самой фильтрации в вейвлет-базисе.

Я понимаю это так - вейвлет-фильтрацию можно сравнивать с фильтрацией на основе БПФ. Тогда я не использую импульсную характеристику для цифровой фильтрации, но просто перевожу сигнал в частотную область, где получается двумерный спектр. Так? Тогда я удаляю ненужные компоненты и перевожу сигнал обратно во временную область. Скажите, правильно ли я понимаю?

Тогда нужно как-то подбирать эти составляющие, которые удаляю. Как это делать?

Например, есть ли преимущества при вейвлет-фильтрации гармонического сигнала по сравнению с фурье-фильтрацией? Просто уже отчаялся, в интернете такие мощные источники, а вот такие простые моменты мне нелегко понять! И подскажите, что мне можно посмотреть, если я уже довольно свободно владею самим вейвлет-преобразованием, хотя слабо понимаю, как можно использовать сам вейвлет-спектр?
_4afc_
Цитата(lennen @ Jan 8 2016, 13:32) *
я уже довольно свободно владею самим вейвлет-преобразованием, хотя слабо понимаю, как можно использовать сам вейвлет-спектр?


Может потому, что лучше не искать вейвлет-спектр, а работать с данными полученными после вейвлет-преобразования? В какой области обработки данных у вас есть опыт работы с вейвлет?

Цитата(lennen @ Jan 8 2016, 13:32) *
Я понимаю это так - вейвлет-фильтрацию можно сравнивать с фильтрацией на основе БПФ. Тогда я не использую импульсную характеристику для цифровой фильтрации, но просто перевожу сигнал в частотную область, где получается двумерный спектр. Так? Тогда я удаляю ненужные компоненты и перевожу сигнал обратно во временную область. Скажите, правильно ли я понимаю?


Давайте посмотрим на распространённом примере вейвлет фильтрации изображения с целью понизить частоту дискретизации: в результате обработки данных НЧ вейвлетом Добеши у нас получаются 2 комплекта продецимированных данных НЧ и ВЧ. Если хочется вернуться к исходной частоте дискретизации - можно конечно заменить ВЧ нулями и сделать обратное преобразование. Но это нужно если вам просто отфильтровать, а если интересны сами данные - то зачем обратное?
Если нужно понизить частоту в 4 раза - можно сделать такое преобразование 2 раза.

Цитата(lennen @ Jan 8 2016, 13:32) *
Тогда нужно как-то подбирать эти составляющие, которые удаляю. Как это делать?


Наверно правильнее будет подбирать те составляющие, которых меньше (удаляю/оставляю). Вероятно стоит подобрать вейвлет, после обработки которым за один или несколько проходов вы разделите сигнал на нужный и ненужный.
lennen
Я рассматривал вейвлет-преобразования как частный случай для OFDM-системы. Вместо БПФ делал вейвлет-преобразование. Конечно, в итоге я делал все-равно одномерный спектр, а не двумерный, и с самим спектром я мало игрался. Понимаю, что вейвлет преобразование дает кучу одномерных спектров, у которых вместо частоты растяжение вейвлет-базиса, а 2 измерение - это машстабирование, смещение вейвлет-базиса.

Правильно подметили насчет зачем обратное, интересное замечание.
Corner
ОФДМ на основе Добеши. Хммм, я по этим граблям уже хаживал...
KPiter
Цитата(Corner @ Jan 10 2016, 09:53) *
ОФДМ на основе Добеши. Хммм, я по этим граблям уже хаживал...

Теперь обходите стороной? В какой-то статье читал, что замена БПФ\ОБПФ на вейвлет преобразование дает некий выйгрыш, но очень затратен по вычеслительным ресурсам.
lennen
АА, ну я то сделал ОФДМ на основе Биортогонального вейвлета. А кто-нибудь рассматривал фильтрацию самого OFDM-сигнала? Огибающая-то по нормальному закону:D Вот я как решил это проштудировать, так понял, что фильтрацию-то сделать я могу, имеются идеи. У Вас, кстати, есть? Но я просто не понимаю, как сделать самую банальную вейвлет-фильтрацию гармонического сигнала, например, осознанно понимая, что именно фильтровать-то надо. Вопрос очень простой, вы можете дать, например, конкретный пример: делаем вейвлет-преобразование, затем ОБНУЛЯЕМ (это вот мне неясно) некоторые спектральные составляющие. Нужен самый банальный вейвлет-фильтр! Идеал - пример вейвлет-фильтрации аддитивной смеси гармонического сигнала и АБГШ.
Santik
Для начала хотелось бы понять, что ТС нужно: непрерывный или дискретный вейвлет?
Фильтровать, как я понимаю, можно и там и там.
lennen
Дискретный. Ведь как я могу использовать непрерывный вейвлет в системе связи с цифровыми дискретными сигналами?
Santik
Да запросто!
Непрерывный вейвлет анализ позволит довольно точно построить характеристику сигнала A(t,f).
Здесь можно посмотреть
lennen
Вау. Разбираюсь в Вашим топиком. А где там конкретно непрерывная вейвлет-фильтрация?

Вообще мне надо с чего-то попроще начать, поэтому классическая дискретная вейвлет-фильтрация дискретным вейвлетом = ?
Santik
Цитата(lennen @ Jan 12 2016, 15:01) *
А где там конкретно непрерывная вейвлет-фильтрация?

Непрерывный вейвлет-анализ (в дискретной области) позволяет рассмотреть функцию A(t) в "двумерном" пространстве A(t,f) (время, частота).
Это почти то же самое, что и оконное преобразование Фурье.
lennen
А все таки, может гуляют в нете самые простые программы по вейвлет-фильтрации? Я зашел в Wavelet Toolbox, увидел, что там как-то странно все - математики 0, на вход надо подавать обязательно WAV и тп. Я понял, что я не могу понять, с чего начать. Подскажите? Только не надо про формулы вейвлет-преобразования и про весовые функции фильтра - это я как раз понимаю. А мне бы просто синусоиду осознанно от шумов очистить...

А можете еще подробнее объяснить, может есть случаи, когда вейвлет-фильтрация гарм сигнала будет лучше, чем фильтрация Фурье? Может при многолучевости или еще чем-нибудь...
Santik
Цитата
А можете еще подробнее объяснить, может есть случаи, когда вейвлет-фильтрация гарм сигнала будет лучше, чем фильтрация Фурье? Может при многолучевости или еще чем-нибудь...

В принципе такой пример придумать можно. Ведь в фильтрации Фурье мы о времени забываем абсолютно...(Если это не оконное Фурье).
Возьми синус 50 Гц 0.5 сек и добавь к нему 0.5 сек синуса 33Гц той же амплитуды. И вот с этим сигналом поиграйся. (Сделай Фурье, вейвлет и т.п.) Потом добавь в исходный сигнал гармоники (штук 10-15), шум (можно белый), реверберацию добавь, для прикола ...
lennen
Делаю. А вот меня как раз и заинтересовало. Я-то хотел делать фильтрацию одной гармоники из полигармонического сигнала. Потом понял, что, оказывается, можно получать точные значения основных частот с помощью вейвлет-преобразования, а шум как бы само собой понятно, где он, и он обрезается. Просто я действительно (но слепо) попробовал очистить многочастотный сигнал с помощью (сингулярного анализа), но фиг шум от сигнала отделишь, когда сигнал сам распределен по нормальному закону. Или как-то это все настраивается? Но тогда интересно, а почему фильтрацию не применяют в системе связи как более совершенный вид, чем фильтрация Фурье? Или применяют оконное преобразование Фурье?

Начнем. Шаг 1. Сам сигнал:
Код
n = 0:5000;
T = 1/10000;        %Период дискретизации

s = sin(2*pi*50*n*T)+sin(2*pi*33*n*T);


Нажмите для просмотра прикрепленного файла

И его спектр Фурье:

Нажмите для просмотра прикрепленного файла

Шаг 2. Сигнал после lwt->ilwt для проверки. bior 5.5. Настройки:
Код
els = {'p',[-0.125 0.125],0};     %Настройки вейвлет-преобразования

Вроде все ок.

Нажмите для просмотра прикрепленного файла

И вот тут если подскажите, что я не понимаю, буду признателен. Я помню, что на выходе вейвлет-преобразования должна получиться матрица в зависимости от растяжения вейвлет функции и ее временного сдвига относительно сигнала. В Matlab же я получаю просто два массива Y1 и Y2.
Код
[Y1,Y2] = lwt(s,'bior5.5');

Причем, интересной размерности: Y1 - 2501 и Y2 - 2500. Это как? Вот графики коэффициентов. Y1 - как будто исходный сигнал, у которого в 2 раза меньше +0,5 выборок:
Нажмите для просмотра прикрепленного файла

Конечно я схитрил и взял готовые функции по вейвлет-преобразованию (lwt, ilwt), но при этом я несколько раз делал полноценные Вейвлет-преобразования (Мекс. шляпа, Хаара), и думаю, что это сейчас не суть важно. Я даже хелп в матлабе прочитал по lwt, где есть некоторый материал по данным коэффициентам, но я не могу понять, почему это вектора?

Заметим, что шум не очищается только при использовании lwt. Но возможно, я ошибаюсь. Можете немного подсказать и по этому поводу? Что тут чистить, если Y1 - это почти исходный сигнал?
Нажмите для просмотра прикрепленного файла

Шаг 3. Попытка оконного преобразования Фурье. Как это можно толковать? Окно Хемминга, просто сдвигал его при выполнении оконного преобразования Фурье.
Нажмите для просмотра прикрепленного файла
Santik
Тестовый сигнал не интересный. wink.gif Желательно, чтобы частота менялась во времени. Хотя бы ЛЧМ взять.
И после оконного Фурье должна получиться 3-D картинка - амплитуда, частота, время.
Нажмите для просмотра прикрепленного файла
Пример ЛЧМ-сигнала. Чтобы, к примеру, отфильтровать гармоники - нужен фильтр с изменяемой во времени частотой среза.
KPiter
Цитата(lennen @ Jan 14 2016, 16:56) *
Начнем. Шаг 1. Сам сигнал:
Код
s = sin(2*pi*50*n*T)+sin(2*pi*33*n*T);

не-е-е такой сигнал не пойдет. Берите
Код
s = [sin(2*pi*50*n*T) sin(2*pi*33*n*T)];
lennen
Немного навели на мысль! А как это может применяться в обработке сигналов? Например, у нас синусоида, у которой один раз изменилась фаза. А в реальных системах такая обработка где может использоваться в системах связи?
lennen
Очень важный вопрос. А как вейвлет оценит такое изменение? Дан сигнал во временной области. Это сумма синусоид. Но у них меняется частота, то есть по сути это ЛЧМ.
И вот смотрите, у нас сразу сумма, заданная на интервале 0-50мс. Гармоник всего 3 - 1000 Гц, 1020 Гц, 1040 Гц при частоте дискретизации, допустим, 18 кГц. Но весь интерес в том, что за 50 мс одна частота меняется с 1000 Гц до 1040 Гц, вторая - с 1020 до 1060, третья - с 1040 до 1080 Гц. Подскажите, пожалуйста, может рисунком проаргументируйте, как я могу четко найти амплитуды и изменения частот за время наблюдения? И самое важное, как я смогу при этом сказать, какое значение фазы с учетом ЛЧМ было у каждой из псевдо-гармоник?
KPiter
Цитата(lennen @ Jan 19 2016, 09:55) *
А в реальных системах такая обработка где может использоваться в системах связи?

ответ на этот вопрос предлагается найти читателю самостоятельно... все используют окно, что по сути дает локализацию по времени, и бпф.
lennen
Ну тут серьезно не все так просто. Иначе мы с Вами имеем уже доказанный на пальцах новый патент. Как при этом оценить постоянную фазу каждого из таких ЛЧМ-сигналов? Именно по интегрированию, так как фаза сигнал искажен шумом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.