LINUX.ORG.RU

Если речь про быстрые преобразования Фурье, то так и говори. Ответ на твой вопрос "Да".

anonymous
()
Ответ на: комментарий от anonymous

Если вопрос действительно был про быстрое преобразование Фурье, то лол!

soomrack ★★★★★
()
Ответ на: комментарий от anonymous

Народ, ну не все в физтехах учились, объясните по-человечески плиз...

Суть в чём - стало мне интересно как работают индикаторы спектра во всяких плеерах. Ну я догадывался что из формы волны как-то вытаскиваются частоты, но вот как... Захотелось понять и сделать такое же с нуля.

Нашёл что это называется БПФ. Увидел там всем известную формулу. Решил что e в этой формуле это число Эйлера и расписал формулу в виде программы. Прогнал через эту процедуру массив с точками синусоиды. Рассчитывал получить на выходе массив со всеми нулями и не-нулём в одном элементе, получил совсем другое... Что я не так делаю и как надо делать?

pentagon
() автор топика
Ответ на: комментарий от pentagon

Число взяли не то. Разложение по спектру, а в данном случае по синусоидам это и есть преобразование Фурье. Грубо говоря это разложение вектора (т.е. гармоники) в пространстве гладких функций на базисные вектора (синусоиды). Коэффициентами разложения обычно является скалярное произведение. В данном случае скалярное произведение это интеграл (или сумма в дискретном случае). А по-скольку канал дискретный, то и преобразование делается дискретное.

Объяснение несколько грубова-то, но суть отражает.

soomrack ★★★★★
()
Ответ на: комментарий от slav

кончено, блин.

ЗЫ: мдааа, сейчас я задумался, а может лучше пойти поспать и продолжить написание текста диссертации утром? Такие тупые опечатки мне не нужны.

soomrack ★★★★★
()
Ответ на: комментарий от pentagon

Всё правильно. Видимо, период синусоиды не соизмерим с длиной отрезка, на котором она задана, так что функция терпит разрыв на концах отрезка (вместе со своими производными, разумеется). При преобразовании Фурье разрывная функция даёт бяки в спектре вида 1/x^{a+1}, где a - первая производная, терпящая разрыв. ЧТобы с такими явлениями бороться, обычно перемножают сигнал со сглаживающй "шляпой" (типа окна Хамминга), чтобы сигнал и первые его производные обратились в нуль на конце отрезка. Ну, а потом берут FFT. Спектр несколько уширяется (поскольку он свёртывается с фурье-образом "шляпы"), но не существенно. В случае чистой синусоиды спектр размажется где-то на 2-3 точки.

mk
()

по названию топика подумал про Final Fantasy Tactics...

Igorrr ★★★★
()

конечно же преобразование фурье же

anonymous
()
Ответ на: комментарий от mk

Ну, и если вопрос касается, как именно работают индикаторы спектра в плеерах, то именно так и работают. Только отрезки, которые преобразуются по фурье, берутся с половинным перекрытием, так что после перемножения с окном, сумма сигналов двух соседних отрезков в области перекрытия равна в точности исходному сигналу. А потом с полученным набором спектров можно уже делать, что угодно. Например, накладывать их друг на друга с экспоненциальным fading-ом или как-то усреднять.

mk
()
Ответ на: комментарий от mk

хитрО конечно. ладно, всем спасибо, буду разбираться.

pentagon
() автор топика

Кста, гда ты "формулу" увидел?

Неужто с фортрана передираешь?

nicebytes
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.