Может у кого-то здесь есть образец фильтра верхних частот для аудиоданных PCM? - PullRequest
1 голос
/ 15 августа 2011

Добрый день. Я беден DSP. У меня трудности с пониманием алгоритма. У меня есть приложение c #, функция записи, которая будет записывать звуковые волны но этот звук представляет собой смесь всех звуков. в частности, когда я получаю данные, которые я отфильтрую, чтобы сохранить только отфильтрованные аудиоданные с высокой частотой, примерная частота среза 15 кГц. Для этого фильтра даны образцы данных с размером, а частота среза

C / C ++ в порядке

В то время, когда я получил эти образцы данных, примените фильтр высоких частот, затем сохраните результат в формате WAV.

-thong

1 Ответ

7 голосов
/ 15 августа 2011

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

Sample rate: 44.1 kHz
Stop-band: < 12 kHz
Stop-band rejection: > 80 dB
Pass-band: > 15 kHz
Passband ripple: +/- 1 dB

Затем вы можете передать эти параметры в пакет дизайна фильтра, и это даст вам все коэффициенты фильтра и т. Д.

Обратите внимание, что сложность фильтра (т. Е. Порядок фильтра = количество ступеней или «отводов») будет сильно зависеть от спецификации фильтра, поэтому в идеале вы хотите использовать пакет дизайна фильтра, который позволяет вам поиграться со спецификацией. легко, чтобы вы могли соотнести свои требования к дизайну с требуемой вычислительной пропускной способностью.

Вам также нужно будет решить, важна ли фазовая и / или групповая задержка - используйте линейную КИХ-фазу для постоянной групповой задержки (более дорогой) или рекурсивный БИХ, если фаза / задержка не являются критическими (намного дешевле для реализации).

Обратите внимание, что доступны бесплатные онлайн-пакеты дизайна фильтров, например, http://www -users.cs.york.ac.uk / ~ fisher / mkfilter / выглядит довольно хорошо (он может даже создать реализацию фильтра кода C для вас), хотя для этого может потребоваться, по крайней мере, начинающий знание уровня обработки сигналов, когда дело доходит до выбора типов фильтров и т. д.


Чтобы помочь понять основные параметры конструкции фильтра, вот полезная диаграмма из http://dspguru.com. Обратите внимание, что это для фильтра нижних частот, но те же параметры применяются в случае верхних частот.

enter image description here

...