Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.106 c
15-1230182983
novai
2008-12-25 08:29
2009.03.15
как очистить таблицу от записей в access?


15-1231430120
Unknown user
2009-01-08 18:55
2009.03.15
Приложение разделенное на процессы


6-1200778609
VoV_I_K
2008-01-20 00:36
2009.03.15
Как передать событие из Jscript в приложение?


15-1231158936
ВованХ
2009-01-05 15:35
2009.03.15
Как установить компоненты DevExpress в VCL


2-1232532054
Evgengold
2009-01-21 13:00
2009.03.15
Как записать в файл посылку из нескольких бит.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский