Offтопик:
На данный момент задача не соответствует моим возможностям как по знаниям, так и по времени для изучения сабжа. Я только недавно arduino покрутил, а вы сразу fpga предлагаете... Также видел комментарии, что по помехам fpga может оказаться хуже, но наверное 4 цф будут похлеще.
С другой стороны если ориентироваться на акустику, то мой слух отверг короткие FIR фильтры на 2048 отсчетов при 48кГц и предпочёл обычные IIR. Звук на НЧ превращался в мелкий. Пробовал смотреть искажения по акустике. Синус - все ок, но когда запускаешь свип, то искажения растут с уменьшением частоты. Возможно это из-за задержки и не оптимизированности софта, но вряд ли.
Если бы умел, то покопал бы тему в плане реализации ЦФ без FIR, но в математике не силен.
Что-то вроде ресемплер+интерполятор и срез на частоте раза в 2...4 выше звуковой IIR фильтром 4...8 порядка, но нужно перед этим посмотреть каким будет общий результат аналогового фильтра после ЦАП+цифровой IIR фильтр. Где-то 50 мкс добавки на крае ГВЗ можно считать не существенным.
Ещё есть один интересный вариант - фозолинейный многополосный IIR фильтр. Разделяем входной поток на 4...8 кусков, отдельно фильтруем каждый кусочек, затем добавляем цифровую задержку к каждому кусочку и добиваемся линейной суммы на выходе. Такой тип фильтра мне кажется наиболее логичным. Нарастание ГВЗ сверху можно частично скомпенсировать задержкой более низкого диапазона частот, более того можно подходить более комплексно и корректировать таким способом саму АС без FIR. Максимальная задержка будет на величину задержки нижнего куска диапазона.
Что-то вроде этого я проделал на акустике с тремя кусками

.
Социальные закладки