Вам необходимо знать частоту дискретизации, а также иметь разумное представление о спецификации вашего фильтра, прежде чем вы сможете разработать подходящий фильтр. Просто указать ограничение 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. Обратите внимание, что это для фильтра нижних частот, но те же параметры применяются в случае верхних частот.