‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

Плохо быть дилетантом.

Есть несложная (наверное) задача: передискретизировать сигнал, оцифрованный на частоте 500 кГц, на частоту 48 кГц.
При этом надо сохранить полосу порядка 4..6 кГц.
Пока придумал такую схему:
1) ФНЧ1 (fc = 6, fstop = 10), децимация в 25 раз. Получам частоту дискретизации 500 / 25 = 20 кГц (и заодно получаем проблему с тем, как сделать такой узколопосный фильтр на частоте 500 кГц)
2) интерполяция в 12 раз, ФНЧ2 (fc = 6, fstop ~= 20..40). Получам частоту 20 * 12 = 240 кГц.
3) ФНЧ3 (fc = 6, fstop = 12), децимация 5 раз. Получаем 240 / 5 = 48 кГц.

Наверняка есть какие-то изящные способы оптимизации - например, теория гласит, что фильтры из шагов 2 и 3 можно объединить в многочастотный фильтр (как - не знаю; знаю только, что можно). Сами фильтры можно реализовать по полифазной схеме, что сократит вычислительные требования, но, опять же, х.з. как это делать.

Плохо быть дилетантом - всё понятно, но ничего не понятно.

Причём это надо сделать не в виде какой-нибудь прикольной matlab-модели с чёрными ящиками, которые рррраз! и посчитали, а в виде VHDL-кода, готового к компиляции и заливке в ПЛИС :(
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 40 comments