Reply by Jeff Brower October 1, 20082008-10-01
Chinmoy-

> We have two FIR Filters, running on same input data, generated for different purposes.
> 1. FIR1 - N Taps (as generated in Matlab)
> 2. FIR2 - N+10 Taps (as generated in Matlab)
>
> Case 1
> =====> Have 2 separate Input Data Arrays of length matching to the taps.
> i.e.
> Array 1 of length N for FIR1.
> Array 2 of length N+10 for FIR2.
> Feed the incoming input sample to both the arrays.
>
> Case 2
> =====> Have a single Input Data Array of length N+10.
> i.e.
> Array of length N+10 for both FIR1 & FIR2.
> Feed the incoming input sample to the array.
> Add 5 zeroes on each side of the filter coefficients for FIR1 to make it length / taps as N+10.
> i.e.
> FIR1 = [0, 0, 0, 0, 0, N Original Generated Coefficients, 0, 0, 0, 0, 0]
> FIR2 = [N+10 Original Generated Coefficients]
>
> "Case 1" brings in complexity in our design and hence we were looking into "Case 2" and have certain queries:

Why added complexity? Normally tap length for an FIR filter is an easy thing to
adjust, even in optimized real-time systems.

> 1. Will adding zeroes degrade the performance of the filter i.e. roll-off/ attenuation etc. ?

No -- but delay will change.

> 2. Will the group delay of the Filter(original generated with added zeroes) differ from the Filter(original generated coefficients) ?

Yes, it will increase by M/2, where M is the number of padding zeros.

-Jeff