Цитата
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра
Толково! Это как это? Соотношение С/Ш фильтр(FIR) способен уменьшить, либо на 0...1LSB, при усечении МАС, либо на 0...0,5LSB, при округлении. Во всей полосе. До Fs/2. И разрядность коэффициентов здесь ни при чём. Потренируйтесь на ФИР с коэффициентами 0х40,0х40,0х40,0х40. Или 1,1,1,1.
Может быть, конечно, вы имели в виду что-то из: "подавление в полосе заграждения", "неравномерность в полосе пропускания/заграждения", или ещё какой параметер АЧХ? ;О) Тут да, есть о чём поговорить.
Цитата
В то же время, 16-разрядное представление к-тов может существенно ухудшить этот показатель, т.к. фильтр "нагребет" помех и шумов вне полосы пропускания, из-за того, что его внеполосное подавление будет недостаточным по причине усеченной точности представления к-тов
Мил человек, нчего он не нагребёт свыше того, что там уже есть(см выше). ;О) Если мне нужно от фильтра "не хуже -10ДБ в полосе заграждения", и 8р коэффициенты(!) этому условию удовлетворяют, то на размерность данных можно и нужно забить. И точность с шумом не пострадают, поверьте, проверено электроникой. ;О) С/Ш, конечно упадёт. На 1/2LSB в полосе до..., бо я обычно округляю.
Цитата
У Вас же имеет место быть противоположная ситуация - разрядность к-тов явно избыточна, что приводит к лишним вычислениям.
Да нет. ;О) тут, как раз, вы не правы. Тоже проверено электроникой. Бо это были узкие BPF с максимально-возможной узкостью и подавлением, где не надо. И разницца с 20р коэффициентами была видна совершенно невооружённым взглядом. Тем более, что всё равно, умножение 16Х24, какая разница? На 16р коэффициентах там ваще смотреть было не на что, так что множить приходилось на 24.
Цитата
Ваша методика расчета кол-ва операций способна меня удивить, ей-богу (если Вы ее, конечно, обнародуете).
Лехко. Возьмём за основу мой текст FIR с беньчьчморков Сахары
http://www.caxapa.ru/benchmarks/source?23Что мы там видим? Накладные на циклический буфер и загрузку коэфф./данных. Считаем. 18 тактов. Для 24Х24 поимеем, соотвецтвенно, 23. Остаёцца МАС. 45 на умножение, 7 на суммирование. 75 тактов. Ошибся, ошибся, с кем не бывает. Простите, люди. ;О) Итого на м48@20MHZ имеем меньше 4мкС на тап(со знаковыми величинами будет на копеечку больше). Пусть их 100, итого 400мкС на фильтер. Пусть их 200. Итого 800мкс на фильтер. Оставшиеся с 1мС 600 или 200мкс - курим. А это ни много-ни мало 12000 и 4000 тактов соответственно. Если-же подойти к коэффициентам и тапам творчески, то размерность того и другого вполне может упасть. А если задацца симметричной ИХ, то размер фильтера упадёт вдвое. Курим больше.
Замечу, мы говорим о МК ценой меньше бакса. В розницу. Жрущего 10-15мА на этой задаче. И занимающено 1см^2 на плате.