Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как узнать частоту сигнала?


Автор: Link90 31.12.2005, 10:13
Люди помогите! Как узнать частоту входящего с микрофона сигнала?

Автор: Гость_Blin 31.12.2005, 20:48
Если речь идет о формате записи сигнала (частота дискретизации, колво бит на отсчет, моно/стерео), то ты ее сам должен задавать. Если речь идет о спектральном представлении сигнала, то надо делать преобразование фурье. О чем речь? smile

Автор: Link90 1.1.2006, 10:44
Я хочу сделать цифровой гитарный тюнер, для этого мне нужно получить частоту сигнала, входящего с микрофона. Вот именно это меня интересует! smile

Автор: Гость_Blin 1.1.2006, 18:52
Если я правильно понял, микрофон воткнут в устройсто типа Sound Blaster(в линейный вход) и происходит запись сигнала (каким образом?) либо в файл( либо в буфер оперативной памяти?). Или нет???
А вообще говоря самый тупой способ узнать частоту чистой синусоиды это подсчитать число перемен знаков значений отсчетов (если звук в формате PCM или WAV) на фиксированном интервале времени.

Автор: DRUID3 1.1.2006, 19:29
БПФ надо делать. Пик будет более-менее (зависит от количества точек) указывать Вам ноту. smile

Автор: Гость_Blin 2.1.2006, 14:04
Не слишко ли много чести использовать БПФ для гитарного тюнера smile . БПФ следит за всеми частотами одновременно, а гитарная струна кроме синусоиды ничего не генерит (то есть генерует только одну частоту). Сколько раз в секунду меняется знак у точки такая и будет частота. smile

Автор: szz 2.1.2006, 22:16
Цитата
гитарная струна кроме синусоиды ничего не генерит (то есть генерует только одну частоту)

Неужели только одну? А обертоны? Если считать изменения знака, то на переходе знака основной частоты будет несколько мелких изменений знака вызваных обертонами. Попробуйте записать гитарную струну и посмотрите на сигнал.
Так что придется делать FFT и выбирать самую нижнюю частоту - она и будет основной.

Автор: Link90 3.1.2006, 09:30
А теперь ламеру (мне) хочется узнать что же такое FFT и как с ним работать! smile

Автор: BreakPointMAN 3.1.2006, 18:40
Link90, по форуму поищи... например, http://forum.vingrad.ru/index.php?showtopic=365

Автор: szz 11.1.2006, 07:56
FFT то же что и БПФ Быстрое преобразование Фурье (Fast Fourier Transform)
Вот, описано в http://ru.wikipedia.org/wiki/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A4%D1%83%D1%80%D1%8C%D0%B5

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)