по-моему, человек далеко от ПЛИС, так что попытаюсь как можно проще.... если вы ориентируетесь на максимальное быстродействие то ваш ких фильтр будет выглядеть как отводы, умноженные на коэффициенты +попарное сложение этих отсчетов, попарное сложение их выходов и т.д. Такой фильтр будет вносит дополнительную задержку на выходе(равную двоичному логарифму числа используемых отводов - если строго, то округленному вверх=) ). остановимся на этом варианте. грубо говоря, один хранящийся бит = один триггер. умножитель работает с различными входными разрядностями (см. документацию на вашу ПЛИС), ну пускай будет 18х18. итого: берем фильтр 3го порядка, для 14ти битных входных отсчетов, коэффициента фильтра 16 бит,для того,чтоб не терять точность округлим лишь конечный результат: 14х3(для линии задержки) + 4 умножителя + 4х(14+16) (для хранения результатов умножения) + 2х(31) - для хранения результатов попарного сложения после первой стадии конвейерного суммирования + 1х(15) - для хранения результатов попарного сложения после 2й стадии конвейерного суммирования(считаем,что мы хотим 14ти битное число на выходе+используем округление) Есть,конечно, и получше реализации КИХ-фильтров, но Вам для начала лучше с этой разобраться;-)
|