[an error occurred while processing this directive]
|
Алгоритм такой.
1) Фильтруем pass 0-8kHz, stop 32-64kHz, простой FIR на 16-32 тапов.
2) Выкидываем каждый второй сампл, частота дискретизации Fдиск становиться 32kHz
3) Фильтруем pass 0-4kHz, stop 8-16kHz, тот же простой FIR
4) Выкидываем каждый второй сампл, Fдиск=16kHz
5) Фильтруем pass 0-2kHzб stop 4-8kHz, опять суперпростой FIR.
6) Децимируем до Fs=8kHz
Сейчас у нас есть Fs=8kHz (реально частоты 0-2kHz, остальные зарезаны при децимации). Фильтруем. Даже если порядок относительно большой - заметте, что частота дискретизации небольшая, поэтому данных довольно немного.
Если надо поднять до Fs=64kHz, то делаем многоступенчатую интерполяцию. Несмотря на кажующуюся сложность, все реализуется очень просто и эффективно.
E-mail: info@telesys.ru