FFT - программерам на засыпку.. Есть задания на курсовую - спектральный анализ звука, преобразования, фильтрация и т.д... Так вот, в формате wav я разобрался, амплитуды считал... куда дальше? Ку это быстрое преобразование делать, в чем суть, куда сувать дальше? Может кто знает? Просто нигде ничего конкретного не нашел
Не с другими форматами... интерисует именно быстрое преобразование Фурье. Алгоритм, исходные данные (судя по всему амплитуда, но как разбивать на мнимую и действительную часть?), выходные данные, что они из себя представляют? toHardy> Сайт хороший, я там давно почти все облазил, много статей по обработке, но статья по приведению к нужному для обработке виду (само FFT) очень уж "в общем", я не понимаю. Да и сам автор сам по его словам не притендует на достоверность...
А еще почитать вузовские учебники по высшей математике и обработке сигналов. В частности, быстрое преобразование Фурье было у моей жены в курсе по численным методам (она у меня по образованию учитель математики). Яндекс по фразе "быстрое преобразование Фурье" выдал кучу ссылок, в которых я видел даже примеры кода. Но в первую очередь ищи учебники. И почему бы не проконсультироваться с кем-нибудь на кафедре математики?
Исходники у меня уже тоже есть, но хотелось бы лучше разобраться, да и свое сваять... К всеобщему огорчению Численные методы у нас на кафедре читает склеротичный маразматик, который половину не помнит и потому сам придумывает с потолка, а вторую половину путает. А с математик про БЫСТРОЕ преобразование фурье врядли скажет - не его профиль... А может у жены спросишь, и под диктовочку запостишь?
Спасибо, нашел пару тредов, но там больше по самой реализации (в смесле небольшие аспекты) а сама суть не описывается..
Так ведь учебники есть! А ты его спрашивал? Один и тот же преподаватель может на одном потоке вести один предмет, а на другом - другой. К примеру, у моей жены тот же преподаватель кроме численных методов вел курс дифференциальных уравнений (у них это были два разных предмета). У нас же в институте, насколько я помню, все это шло в общем курсе матанализа. Издеваешься? Она институт уже год, как закончила, причем после этого не работала, а сидела дома с ребенком. Думаешь, она что-нибудь без учебников вспомнит? А учебников-то нет...
Сам себе ответил... Спасибо за ответы, я более менее начинаю понимать... Только все равно свой модуль FFT не могу написать
Амплитуды отсчетов получил из wav? Надо сделать БПФ? Потом спектр мощности получить для анализа сигнала амплитудо-частотного распределения. Предварительно надо форму окна выбрать , что бы уменьшить краевые эффекты.. Кроме того его длина будет определять с одной стороны точность распределения (спектр то не сплошной), либо временную реакцию. Так что если из спектра сигнала отфильтровать какой нибудь свист постоянной частоты то окошко поболее можно взять, что бы фильтр поточнее сделать, а если шум фильтровать , тут надо о самом сигнале позаботиться, что бы взрывные резко начинающиеся звуки не загубить. Я когда то писал программу фильтрации еще под ДОС, правда я там кодером просто работал, а идеологом был напарник, он физик и сейчас в универе на кафедере оптики трудится. Он собственно к нам оттуда переходил и туда же и вернулся. Поскольку я не физик и не математик то соврать легко смогу, но сырцы еще остались и что-то простое вспомнить-посмотреть смогу.
Стоп.. Тебе фильтровать, используя готовую библу, или FFT модуль писать, для последующего использования ?
Модуль fft и последуйщее использование. Ну fft не столь принципиален от нас пока много-го не требуют, но я должен хотя бы используемой библиотеке разобраться. Может кто знает неплохой fft на Delphi (Pascal), и подробненько попробует разжевать? (Кто сказал что я нахал? ). На худой конец на C. (но я в нем не гу-гу)
Что ты, что ты! Я берегу наше здоровье - беру wav, считываю данные, fft, спектральный анализ, применение всяческих эффектов, fft, снова в wav и красивый бантик сверху.
Помнится у 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 И ко всему сырцы есть Думай..
Да ему наверняка не сигналы обрабатывать надо! Ему надо показать в курсовой что он понял что такое FFT и как с ним работать. Для этого ему нужно написать в курсовой пару примеров с использованием FFT (че там было в начале... показать спектр, отфильтровать частоты...) Revik: или я не прав?
Ну так что бы показать , что он с FFT умеет работать , что бы что-то со звуковым файлом сделать, как он пишет, ему не только FFT понадобится. Окно Хэнинга, Хэминга , косинусквадратное или что выберет надо или самому пиать или готовое, действия с массивами комплексных надо.. Ну и помнится не только это.. Еще совет. Не сядь в лужу при попытке сделать FFT например от прямоугольного импульса, как в учебнике может не получиться Результаты могут не совпасть с классикой Если результаты будут вызывать недомение, обращайся к допущениям, которые делаются при реализации быстрого фурье А то в универе у одного доцента вместе с научным руководителем несколько лет назад были проблемы , он был в полном тупике, на консультацию вызывали моего напарника, я тоже присутствовал
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 и т.д. и т.п.