Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите формулу фильтра для структуры Lattice Arma
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
MSP430F
Всем доброго времени суток!
Коллеги, помогите!
Рассчитываю в MATLAB в утилите FDATool цифровой полосовой фильтр Чебышева II рода. Сделал разбиение на секции 2-го порядка, получил в хедере коэффициенты в виде двумерных массивов NUM и DEN. Формулы секций простые, все работает. Озадачился получением стабильной версии в виде одной секции (для сокращения вычислений). Порядок фильтра задал 8. Применил Convert Structure... к Lattice Arma, получил стабильный фильтр. Создал сишный хедер и получил два массива.

const int KL = 16;
const real32_T K[16] = {
-0.9990231991, 0.9992837906, -0.9991765022, 0.9989774227, -0.9984907508,
0.9831924438, 0.1230626926, 0.3759146333, -0.7456214428, -0.4113018215,
-0.2647816539, 0.1375903487, 0.199342683, 0.1202145815, 0.0357035771,
0.00457067322
};
const int VL = 17;
const real32_T V[17] = {
3.237323187e-010,8.469006829e-009,-4.508386837e-007,-1.037612128e-005,0.0004177154624,
0.009835269302, 0.04770011082, -0.07836318016, -0.08220990002, 0.04402532056,
0.002590565477, -0.3493199348, -0.3774584234, 0.05220580474, 0.3641556203,
0.2648055255, 0.06757183373
};

Смутило сразу названия массивов. Вместо NUM и DEN какие-то K и V. А потом посмотрел еще структуру этого Lattice Arma и совсем запутался.
Какие формулы расчета надо использовать для этих коэффициентов ???
Поскажите, плиз.
SemperAnte
Попробуйте в FDATool создать Simulink-модель своего фильтра на базовых элементах и из неё выцепить формулу.
fontp


ARMA - это дробно-полиномиальный фильтр общего вида A(z)/B(z)
А Lattice это когда и числитель и знаменатель разложены на простые множители и фильтрация каскадно

(A1(z)/B1(z)) (А2(z)/B2(z)) ... (Аn(z)/Bn(z))

А вот как Матлаб упаковывает коэффициенты нужно действительно в Матлабе смотреть
или в его описании

http://www.weizmann.ac.il/matlab/toolbox/s...sics27.html#960
MSP430F
Спасибо за разъяснения!
Жаль, но экономии вычислений не получится. Коэффициенты K используются дважды, поэтому получается 49 умножений вместо 40, как в Direct Form I. Попробую Transposed Direct Form II. Там хотя бы можно сэкономить на сдвиговых регистрах, так как используется только один массив вместо двух.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.