Нахождение частоты синусоиды в микрофоне - PullRequest
0 голосов
/ 02 января 2012

Я ищу способ получения частоты синусоидального сигнала от магнитофона, подключенного к разъему для микрофона на ПК с Windows. Это небольшой проект, над которым я работаю, чтобы узнать, могу ли я хранить данные на звуковых лентах, поэтому я буду читать и записывать частоты на ленту для хранения данных.

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Если есть только одна синусоида в любой момент времени, вы можете посчитать, сколько раз в секунду сигнал меняет свое значение с положительного на отрицательное (IOW, пересекает 0) или наоборот, и это даст вам частоту.Или вы можете измерить время между последовательными переходами через ноль.Это довольно простое и дешевое решение.

0 голосов
/ 06 января 2012

Простой способ оценить частоту синусоидального сигнала - провести анализ спектра и найти «самую громкую» частоту (примерно):

  1. взять один фрагмент звука (например, 256 выборок).) из аудиофайла или из окна аудиовхода
  2. аудиоблок ^
  3. вычисляет его спектр мощности (используя алгоритм FFT ^^)
  4. ищет доминирующееЧастота, которая должна быть частотой синусоидальной волны
  5. , повторяется, пока у вас нет аудиоданных

Я ожидаю, что она будет хорошо работать с простыми тонами.http://en.wikipedia.org/wiki/Window_function

^^ доступно множество реализаций БПФ, например http://www.fftw.org/

...