Многополосный Частотометр
Posted: Fri Sep 21, 2018 12:03 am
Данная программа появилась на свет, когда автору понадобился частотометр, умеющий определять частоту нескольких синусоидальных сигналов одновременно, а под рукой не было ни ПК, ни специальных инструментов.
Казалось бы, это просто - возьмите БПФ и найдите в нём гармоники с максимальными амплитудами. Но проблема в том, что так мы можем получить только набор частот, кратных нижней частоте БПФ. Если интересующий сигнал представляет собой "нецелую" гармонику, то для уточнения её частоты нужно взять два фрейма, перекрывающихся на 75%, вычислить БПФ от каждого и посчитать разность фаз (обычно фазы игнорируются, а здесь, напротив, они важны и позволяют вычислить поправку к частоте). http://www.guitarpitchshifter.com/algorithm.html
Казалось бы, это просто - возьмите БПФ и найдите в нём гармоники с максимальными амплитудами. Но проблема в том, что так мы можем получить только набор частот, кратных нижней частоте БПФ. Если интересующий сигнал представляет собой "нецелую" гармонику, то для уточнения её частоты нужно взять два фрейма, перекрывающихся на 75%, вычислить БПФ от каждого и посчитать разность фаз (обычно фазы игнорируются, а здесь, напротив, они важны и позволяют вычислить поправку к частоте). http://www.guitarpitchshifter.com/algorithm.html