des00 25 11 декабря, 2009 Опубликовано 11 декабря, 2009 · Жалоба параметры почти такие же, как и у автора топика т.е. нарезка АЦП на 80МГц, интерполяция в 40 раз. Если я правильно понял вашу фразу Неужели нельзя подкопить данные в буфере и переставлять указатель в буфере не на 1, а на M (где M коэффициент прореживания). вы непрерывно пишете в фильтр на 80МГц, потом берете каждый M ый записанный отсчет и считаете выход фильтра так ? На выходе фильтра у вас уже тактовая 1МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 11 декабря, 2009 Опубликовано 11 декабря, 2009 · Жалоба т.е. нарезка АЦП на 80МГц, интерполяция в 40 раз. Если я правильно понял вашу фразу вы непрерывно пишете в фильтр на 80МГц, потом берете каждый M ый записанный отсчет и считаете выход фильтра так ? На выходе фильтра у вас уже тактовая 1МГц. Примерно так, только не интерполяция, а децимация. Фильтр работает не так. Предположим в фильтре 36 коэффициентов и он симметричный, то есть порядок 72. Считаем свёртку на 36 коэффициентов с суммами двух отсчётов, согласно принципу работы симметричного фильтра (см. userguide на dsp48 virtex-4). Затем переставляем указатель на M входных отсчётов и считаем следующую свертку. В обычном fir считаются все отсчёты (указатель переставляется на 1), а затем M-1 выкидываются (то есть работаем зря, о чём и пишет автор Вашей статьи о полифазных фильтрах в первых строках статьи). Полифазный хорош был бы, если частота входных отсчётов очень большая, а коэффциент прореживания маленький, тогда пришлось бы использовать много умножителей и использовать особую структуру фильтра. Здесь же достаточно одного умножителя и обычного MACC фильтра (на каскад, один каскаж в данном случае хоть и обеспечит 70 дБ, но даст очень большую неравномерность в полосе пропуская, порядка 1 дБ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 11 декабря, 2009 Опубликовано 11 декабря, 2009 · Жалоба Примерно так, только не интерполяция, а децимация. Фильтр работает не так. Предположим в фильтре 36 коэффициентов и он симметричный, то есть порядок 72. Считаем свёртку на 36 коэффициентов с суммами двух отсчётов, согласно принципу работы симметричного фильтра (см. userguide на dsp48 virtex-4). Затем переставляем указатель на M входных отсчётов и считаем следующую свертку. понятно, спасибо. PS. а как вы его перестраиваете по полосе ? ну коэффициенты пересчитать это понятно, но ведь при сужении полосы должна изменятся длинна импульсной характеристики. Или фильтр считается на самую узкую полосу, а ИХ на более широких полосах добивается нулями? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться