Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FFT и еще что-нить 
:(
    Опции темы
Alexei
Дата 20.8.2003, 15:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет!
У меня следующая проблема:
Имеется некоторый однотональный сигнал сложной формы (частота+гармоники),как узнать их частоты и амплитуды?
FFT,сами знаете что выдает.Оконные функции помогают мало.Про вейвлет читал, ни черта не понял, но помоему и там надо знать частоту сигнала.
Далеко не математик, поэтому просьба не пугать умными терминами,по возможности.
  Вверх
podval
Дата 20.8.2003, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Как задан этот сигнал? Только отсчетами во времени? Можешь картинку показать или хотя бы схематично изобразить?
PM WWW ICQ   Вверх
Alexei
Дата 20.8.2003, 16:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я упражняюсь просто с суммой 3-5 синус. частот с разными ампл и фазами.А в реальном будет шум и 50,100 гц, какже без них.
  Вверх
podval
Дата 20.8.2003, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Тогда дай какой-нибудь пример, покажу, как на вейвлетах делается.
PM WWW ICQ   Вверх
Alexei
Дата 21.8.2003, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



Придумай сам что-нить, я тебе доверяю...:-)
Главное, чтобы принцип был понятен.
PM MAIL   Вверх
podval
Дата 23.8.2003, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Возьмем такую вот не очень страшную сумму синусоид: x(t) = 5*sin(5t)+3*sin(2t)+2*sin(t).

user posted image

И давайте прикинемся, что нам пока неизвестны количество гармоник и их частоты.

Для того чтобы воспользоваться вейвлет-преобразованием, нам нужны некоторые предварительные сведения, как минимум понятие о том, что такое масштаб. Здесь об этом расписывать слишком накладно. Самый лучший краткий ликбез по вейвлетам можно найти на сайте www.autex.spb.ru в разделе "Литература". А вообще масштаб – это величина, обратно пропорциональная частоте (с точностью до некоторой величины, подробности – в ликбезе smile.gif).
Имеется простая формула, связывающая частоты, соответствующие масштабным коэффициентам, с центральной частотой материнского вейвлета (базиса вейвлет-преобразования):

Fa = Fc/(a*delta),

где a – масштабный коэффициент, Fc – центральная частота материнского вейвлета в Гц, delta – период дискретизации, Fa – псевдочастота, соответствующая масштабу а, в Гц.
Пару слов об Fc. Это доминирующая частота материнского вейвлета. Из рисунка понятно, как она определяется. Здесь показан вейвлет Добеши 7-го порядка (синим цветом) и аппроксимация синусоиды на основе его центральной частоты.

user posted image

Мы для решения задачи возьмем вейвлет Морлета. Он выглядит так:

user posted image

Имеем 500 отсчетов нашей «гремучей смеси». Применим технику непрерывного вейвлет-анализа в диапазоне масшатбных коэффициентов от 1 до 60 (с шагом 1 - строго говворя - дискретизированный вариант непрерывного преобразования). Результат в виде амплитуд полученных вейвлет-коэффициентов – на рисунке.

user posted image

Ниже - вид на тот же результат как бы «сверху».

user posted image

Здесь более светлые участки соответствуют «вершинам» поверхности. Чем светлее, тем больше амплитуда вейвлет-коэффициентов. На рисунке хорошо видно, что максимумы этих «горбов» примерно соответствуют значениям масштабных коэффициентов 8, 20 и 40, что соответствует (см. формулу выше) значениям псевдочастот 0.792, 0.317 и 0.158 Гц (или 5, 2 и 1 рад/с). Это чуть-чуть отличается от истинных значений (подписаны сверху графика), т.к. на этом графике выведены только целочисленные значения масштабных коэффициентов. Если аккуратно посмотреть дробные значения, то и результат будет точнее.
PM WWW ICQ   Вверх
podval
Дата 23.8.2003, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Если есть вопросы - пожалуйста. А мне хотелось бы знать, что с БПФ не так.
PM WWW ICQ   Вверх
Alexei
Дата 30.8.2003, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



Красиво!
FFT не нравиться потому, что он показывает только "свои" частоты, кратные интервалу FFT.
При этом получить приемлимое значение частоты еще можно, увеличив сам интервал , а как быть с амплитудой?
Если интервал 10мс , а сигнал 110гц , то 5 гармоника разделится пополам, а 10 прикинется 11.
Непонятно , где искать настоящее значение на оси частот, слева или справа от ффтшной.
А в вейвлете можно плавно менять масштаб?

PM MAIL   Вверх
podval
Дата 30.8.2003, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Да, в непрерывном вейвлет-анализе можно плавно менять масштаб. При этом базисная вейвлет-функция будет стягиваться-растягиваться, как гармошка. В дискретном вейвлет-анализе масштабный коэффициент может принимать только дискретные значения, обычно кратные степени двойки.
Если у тебя такие заморочки с поиском настоящего значения частоты, то можно использовать такой прием. Т.к. часто бывает невозможно получить более точное значение частоты просто из-за невозможности увеличить частоту дискретной сетки, берут максимум, найденный по имеющейся сетке дискретных данных (максимальное значение в спектре), а затем аппроксимируют интервал слева и справа от этого максимума с помощью сплайна. Точность аппроксимации можно выбрать, какую нужно для решения задачи. Это будет влиять только на количество значений сплайна, которые надо посчитать. После этого уточняют положения максимума уже по аппроксимированным данным. На сегодняшний день более эффективной методики уточнения я не знаю.
PM WWW ICQ   Вверх
Alexei
Дата 31.8.2003, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



Цитата(podval @ 30.8.2003, 20:00)
а затем аппроксимируют интервал слева и справа от этого максимума с помощью сплайна.

сам этот максимум не учитывают?
PM MAIL   Вверх
beif
Дата 31.8.2003, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.8.2003
Где: Россия, Кемерово

Репутация: 1
Всего: 1



Очень интересно. Не знал, что вейвлеты настолько хороши... Кстати, podval, а что это за редактор, из которого у тебя графики?
PM MAIL WWW ICQ   Вверх
podval
Дата 31.8.2003, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(Alexei @ 31.8.2003, 09:11)
Цитата(podval @ 30.8.2003, )
а затем аппроксимируют интервал слева и справа от этого максимума с помощью сплайна.

сам этот максимум не учитывают?

Учитывают не только этот максимум, но и несколько значений вокруг него. Их количество зависит от типа сплайна. Если интересно, я выложу пример в отдельном топике, когда разберусь с делами.
PM WWW ICQ   Вверх
podval
Дата 31.8.2003, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(beif @ 31.8.2003, 12:32)
Очень интересно. Не знал, что вейвлеты настолько хороши... Кстати, podval, а что это за редактор, из которого у тебя графики?

Это не редактор, это система MATLAB 6.5 (http://www.mathworks.com, http://www.matlab.ru)
PM WWW ICQ   Вверх
Alexei
Дата 1.9.2003, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



А нет ли чего- нить кроме FFT, я вот тут нашел, не объяснишь как это?
http://www.dsp-sut.spb.ru/edsw/edsw_det.html
Вычисление основного тона
Для расчета основного тона (ОТ) используется автокорреляционный метод.
Периоды ОТ показываются на сигнале с помощью меток.
Непосредственно под графиком сигнала можно вывести график изменения ОТ.

Если я правильно понял, в вейвлете можно достаточно произвольно выбрать входной интервал, а это повлеяет на масштаб, или нет?
PM MAIL   Вверх
podval
Дата 1.9.2003, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата
Для расчета основного тона (ОТ) используется автокорреляционный метод.
Периоды ОТ показываются на сигнале с помощью меток.
Непосредственно под графиком сигнала можно вывести график изменения ОТ.

Это, конечно, применительно к речевому сигналу. С речью вообще сложно работать, и там автокорреляционный метод в чистом виде работает плоховато. Как это выглядит на практике, можно посмотреть, например, здесь.
Еще о методах определения основного тона здесь.
PM WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0809 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.