FFT - программерам на засыпку..

Discussion in 'Off Topic' started by Revik, May 2, 2003.

  1. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    FFT - программерам на засыпку..

    Есть задания на курсовую - спектральный анализ звука, преобразования, фильтрация и т.д... Так вот, в формате wav я разобрался, амплитуды считал... куда дальше? Ку это быстрое преобразование делать, в чем суть, куда сувать дальше? Может кто знает? Просто нигде ничего конкретного не нашел :confused: :dunno: :help: :help:
     
  2. badboy

    badboy Well-Known Member

    Joined:
    Mar 11, 2002
    Messages:
    5,902
    Location:
    Melb., VIC
    В смысле куда дальше? "Куда дальше" с wav или "куда дальше" с какими форматами еще?
     
  3. hardy

    hardy Well-Known Member

    Joined:
    Sep 25, 2002
    Messages:
    16,608
    Location:
    Saratov, Russia
  4. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Не с другими форматами... интерисует именно быстрое преобразование Фурье. Алгоритм, исходные данные (судя по всему амплитуда, но как разбивать на мнимую и действительную часть?), выходные данные, что они из себя представляют?

    toHardy> Сайт хороший, я там давно почти все облазил, много статей по обработке, но статья по приведению к нужному для обработке виду (само FFT) очень уж "в общем", я не понимаю. Да и сам автор сам по его словам не притендует на достоверность...
     
  5. Rudolf

    Rudolf Well-Known Member

    Joined:
    Sep 8, 2001
    Messages:
    2,116
    Location:
    Санкт-Петербург
    Осмелюсь предложить, зайти сюда : http://forum.ixbt.com/?id=26 и сделать поиск по слову "Фурье".
     
  6. schuss

    schuss Well-Known Member

    Joined:
    May 29, 2001
    Messages:
    3,767
    Location:
    Moscow
    А еще почитать вузовские учебники по высшей математике и обработке сигналов. В частности, быстрое преобразование Фурье было у моей жены в курсе по численным методам (она у меня по образованию учитель математики).
    Яндекс по фразе "быстрое преобразование Фурье" выдал кучу ссылок, в которых я видел даже примеры кода. Но в первую очередь ищи учебники. И почему бы не проконсультироваться с кем-нибудь на кафедре математики?
     
  7. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Исходники у меня уже тоже есть, но хотелось бы лучше разобраться, да и свое сваять...

    К всеобщему огорчению Численные методы у нас на кафедре читает склеротичный маразматик, который половину не помнит и потому сам придумывает с потолка, а вторую половину путает. А с математик про БЫСТРОЕ преобразование фурье врядли скажет - не его профиль...

    А может у жены спросишь, и под диктовочку запостишь? :)
     
  8. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Спасибо, нашел пару тредов, но там больше по самой реализации (в смесле небольшие аспекты) а сама суть не описывается.. :(
     
  9. schuss

    schuss Well-Known Member

    Joined:
    May 29, 2001
    Messages:
    3,767
    Location:
    Moscow
    Так ведь учебники есть!

    А ты его спрашивал? :) Один и тот же преподаватель может на одном потоке вести один предмет, а на другом - другой. К примеру, у моей жены тот же преподаватель кроме численных методов вел курс дифференциальных уравнений (у них это были два разных предмета). У нас же в институте, насколько я помню, все это шло в общем курсе матанализа.

    Издеваешься? :mafia: Она институт уже год, как закончила, причем после этого не работала, а сидела дома с ребенком. Думаешь, она что-нибудь без учебников вспомнит? А учебников-то нет...
     
  10. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Сам себе ответил... :D

    Спасибо за ответы, я более менее начинаю понимать... Только все равно свой модуль FFT не могу написать :(
     
  11. SilverFox

    SilverFox Well-Known Member

    Joined:
    Jul 7, 2001
    Messages:
    638
    Location:
    Moscow
    Амплитуды отсчетов получил из wav? Надо сделать БПФ? Потом спектр мощности получить для анализа сигнала амплитудо-частотного распределения. Предварительно надо форму окна выбрать , что бы уменьшить краевые эффекты.. Кроме того его длина будет определять с одной стороны точность распределения (спектр то не сплошной), либо временную реакцию. Так что если из спектра сигнала отфильтровать какой нибудь свист постоянной частоты то окошко поболее можно взять, что бы фильтр поточнее сделать, а если шум фильтровать , тут надо о самом сигнале позаботиться, что бы взрывные резко начинающиеся звуки не загубить.
    Я когда то писал программу фильтрации еще под ДОС, правда я там кодером просто работал, а идеологом был напарник, он физик и сейчас в универе на кафедере оптики трудится. Он собственно к нам оттуда переходил и туда же и вернулся.
    Поскольку я не физик и не математик то соврать легко смогу, но сырцы еще остались и что-то простое вспомнить-посмотреть смогу.
     
  12. SilverFox

    SilverFox Well-Known Member

    Joined:
    Jul 7, 2001
    Messages:
    638
    Location:
    Moscow
    Стоп.. Тебе фильтровать, используя готовую библу, или FFT модуль писать, для последующего использования ?
     
    Last edited: May 5, 2003
  13. Stefan

    Stefan FH Beta Tester

    Joined:
    Feb 14, 2001
    Messages:
    22,276
    Location:
    Пивбар
  14. -mart-

    -mart- Well-Known Member

    Joined:
    Dec 20, 2000
    Messages:
    16,508
    Location:
    Russia
    послушайте товарищь, хотелось бы так сказать в общих чертах ;)
     
  15. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Модуль fft и последуйщее использование. Ну fft не столь принципиален от нас пока много-го не требуют, но я должен хотя бы используемой библиотеке разобраться. Может кто знает неплохой fft на Delphi (Pascal), и подробненько попробует разжевать? :@prayer: (Кто сказал что я нахал? :D).

    На худой конец на C. (но я в нем не гу-гу)
     
  16. Revik

    Revik Well-Known Member

    Joined:
    Apr 27, 2002
    Messages:
    528
    Location:
    Ukraine, Kiev
    Что ты, что ты! Я берегу наше здоровье - беру wav, считываю данные, fft, спектральный анализ, применение всяческих эффектов, fft, снова в wav и красивый бантик сверху.
     
  17. SilverFox

    SilverFox Well-Known Member

    Joined:
    Jul 7, 2001
    Messages:
    638
    Location:
    Moscow
    Помнится у Intel есть библиотека обработки сигналов , я ее даже скачивал как то и доки читал, планируя под винду переделывать обработку всю свою, но как то планы развалились. Но я то на С писал.. ;) А если с Линуксом знаком , так там точно библиотека есть с сырцами.. и программы ее использующие но С конечно... Ну вот прям сейчас поиск по слову FFT дает
    [root@sfox RPMS.classic]# apt-cache search FFT
    alsaplayer-plugins - AlsaPlayer plugins
    glame - A sound editor and synthesis tool
    gsl - The GNU Scientific Library for numerical analysis
    hvirtual - Complete production environment for audio and video.
    libfftw - Dynamic libraries for FFTW fast fourier transform library
    libfftw-devel - Headers, libraries, & docs for FFTW fast fourier transform library
    libfftw-devel-static - Static libraries for FFTW fast fourier transform library
    libgsl - Shared librairies for Scientific Library
    libgsl-devel - Development environment for Scientific Library
    libgsl-devel-static - Development environment for Scientific Library
    octave - GNU Octave -- a high-level language for numerical computations
    perl-PDL - PerlDL, an efficient numerical language for scientific computing
    python-Numeric - Python numerical facilities
    И ко всему сырцы есть ;) Думай..;)
     
  18. Sea

    Sea Well-Known Member

    Joined:
    Feb 9, 2001
    Messages:
    27,672
    Location:
    Ukraine, Kiev
    Да ему наверняка не сигналы обрабатывать надо! Ему надо показать в курсовой что он понял что такое FFT и как с ним работать. ;) Для этого ему нужно написать в курсовой пару примеров с использованием FFT (че там было в начале... показать спектр, отфильтровать частоты...) :)

    Revik: или я не прав? :shuffle:
     
  19. SilverFox

    SilverFox Well-Known Member

    Joined:
    Jul 7, 2001
    Messages:
    638
    Location:
    Moscow
    Ну так что бы показать , что он с FFT умеет работать , что бы что-то со звуковым файлом сделать, как он пишет, ему не только FFT понадобится. Окно Хэнинга, Хэминга , косинусквадратное или что выберет надо или самому пиать или готовое, действия с массивами комплексных надо.. Ну и помнится не только это..

    Еще совет. Не сядь в лужу при попытке сделать FFT например от прямоугольного импульса, как в учебнике может не получиться ;) Результаты могут не совпасть с классикой ;) Если результаты будут вызывать недомение, обращайся к допущениям, которые делаются при реализации быстрого фурье ;)
    А то в универе у одного доцента вместе с научным руководителем несколько лет назад были проблемы , он был в полном тупике, на консультацию вызывали моего напарника, я тоже присутствовал ;)
     
  20. dankes

    dankes Well-Known Member

    Joined:
    Dec 13, 2001
    Messages:
    1,245
    Location:
    Moskau

    http://www.lohninger.com/download_sdlsuite.html
    http://www.lohninger.com/fourier.html

    http://www.programmersheaven.com/zone2/cat424/14645.htm



    http://www.google.com.ru/search?q=Delphi+Component+FFT&ie=UTF-8&oe=UTF-8&hl=en&btnG=Google+Search


    и т.д. и т.п.