Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.15;
Скачать: CL | DM;

Вниз

Как программно выделить определённую частоту?   Найти похожие ветки 

 
Xdebugger ©   (2007-09-25 19:30) [0]

Как программно выделить определённую частоту(звука)?
И отфильтровать её.


 
Efir ©   (2007-09-26 00:07) [1]

FFT?


 
pavia ©   (2007-09-26 07:36) [2]

Можно и без FFT.


 
Jeer ©   (2007-09-26 10:11) [3]


> pavia ©   (26.09.07 07:36) [2]


Можно и без того, о чем Вы подумали:)


 
Efir ©   (2007-09-26 20:18) [4]


> Jeer ©   (26.09.07 10:11) [3]


А о чём он подумал?


 
Pavia ©   (2007-09-26 20:41) [5]

Делается это так, берем пробразование Фурье. Прогоняем не для всех частот, а только для одной- нужной.
После получив ее амплитуду и фазу. Можно отфильтровывать. Отфильтровывание идет путем вычитания из амплетуды нашу волну.  

Можно, через БПФ. Делаем быстрое преобразование Фурье. В полученном спекторе занижаем нужную нам частоту. И делаем обратное преобразование фурье.

Лучше, через БПФ так-как не всегда получается создать идеальный фильтр. А используя БПФ можно построить более гибкий фильтр.

Есть еще способ. Но его я расказывать не буду, пусть Jeer рассказывает раз он знает о чем я подумал.


 
Jeer ©   (2007-09-27 10:08) [6]


> Xdebugger ©   (25.09.07 19:30)


Для начала вернемся к вопросу автора.
"Программно выделить определенную частоту"

В вопросе неоднозначность, а именно:
1. Определить наличие некоторой частоты в сигнале (например, в системах тонального кодирования, DTFM и пр).
2. В сигнале с широким спектром определить уровень сигнала искомой частоты.
3. Если "частота выделена", то говорить о ее фильтрации уже бессмысленно - она и так синус или косинус, как нравится.

Прежде всего следует уяснить, что в цифровой технике нет непрерывного спектра, спектр сигнала линейчатый, что связано с процессами временного квантования, а значит нужно говорить о разрешающей способности при идентификации составляющих частот.

1.Если вопрос относится к первому типу:
- можно использовать разновидность прямого преобразования Фурье - алгоритм Герцеля (Hoertzel).
Алгоритмически и по затратам намного эффективнее как классического ПФ, так и БПФ.
- вторым подходом может являться нерекурсивная цифровая фильтрация на . основе гребенчатого фильтра.
Целесообразность использования определяется степенью разрешения по частоте.

2. Если вопрос относится ко второму типу:
- уже упомянутое прямое преобразование Фурье (ПФ или БПФ - не суть) + методы устранения явлений Гиббса (windowing - "окнование")
- классические фильтры (рекурсивные или нерекурсивные) полосно-пропускающего типа.
- вейвлет-преобразование, позволяющее выявить "структуру" сигнала, а также ответить на вопрос о спектральной плотности мощности сигнала в заданной тонкой структуре, т.е. полосе частот.

P.S.
Важным фактором, часто определяющим единственно подходящий вариант "детектирования", является необходимость on-line или возможность off-line обработки.
Пока нет ответа на этот вопрос, можно только теоретизировать.


 
DeBUGger13 ©   (2007-10-08 14:44) [7]

Спасибо всем за инфу!
//Hfpldjtybt kbxyjcnb
Вообщем, дело в том, что мне надо сделать:
1.Off-line фильтр частот(Можно задать определённый диапазон частот и отфильтровать их).
2.Возможность частотного среза в своей проге.

Если кто знает, где можно найти подробную инфирмацию, пожалуйста,
Киньте ссылку.


 
Сергей М. ©   (2007-10-08 16:56) [8]


> Вообщем, дело в том, что мне надо сделать


Делай.
Мы не возражаем.

Ты вообще-то в [6] вник ?
Или там буквы для тебя незнакомые сплошь и рядом ?)


 
Jeer ©   (2007-10-08 17:09) [9]


> DeBUGger13 ©   (08.10.07 14:44) [7]



> задать определённый диапазон частот и отфильтровать их


Полосовой фильтр (пропускающий или заграждающий/режекторный).
Способ реализации зависит от требований, но если off-line - можно практически любой.


> Возможность частотного среза в своей проге.


Фильтр верхних или нижних частот. Реализация - аналогично.

P.S.
Берешь книжку по DSP и штудируешь.
http://dsp-book.narod.ru/books.html


 
hahol_64_rus   (2007-10-13 13:00) [10]

мастера я тут прочитал ваше обсуждение
и чет мне тоже захотелось " воткнуть в плеер эквалайзер"
я как то пытался эт сделать но чет асоба не получилось
читал про FFT и (мне кажеца) понял его принцип
но програмно реализовать не смог этот механиз
плз покажите че тм делать
у меня плеер сдэлан в DirectShow
прошу без критики (типа там отвали с такими просьбами) я еще чайник


 
Jeer ©   (2007-10-15 09:35) [11]


> hahol_64_rus   (13.10.07 13:00) [10]


Не поверишь, но поиск, известно где, по ключевым словам "алгоритм FFT" принесет массу полезной информации.


 
Сергей М. ©   (2007-10-15 12:19) [12]


> я еще чайник


http://www.mitov.com/index.html



Страницы: 1 вся ветка

Текущий архив: 2009.03.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
15-1231438102
Городской Шаман
2009-01-08 21:08
2009.03.15
Научная магия


2-1232645435
Tinky
2009-01-22 20:30
2009.03.15
Надо ли обнулять массивы?


15-1231856375
Jeer
2009-01-13 17:19
2009.03.15
Кольцо сайтов "Научная книга" ?


2-1232479466
AkimOS
2009-01-20 22:24
2009.03.15
ListBox


6-1200671377
Somes
2008-01-18 18:49
2009.03.15
Терминальный доступ. Поиск по удалённой машине.