I'm trying to figure out whether there is a way to exploit a symmetry of a FIR interpolation filter in a polyphase implementation.

I know for a fact that we can exploit the symmetry in a normal FIR filter by reducing the number of required multipliers by half. It's possible because there are always two samples which are multiplied by the same coefficient (symmetry) and thus the complexity can be reduced by using a pre-adder instead of a multiplier.

However, I cannot find a way to exploit that symmetry in a polyphase implementation. I have a FIR interpolation filter which does interpolate by a factor of 16 times and it has 16 polyphases. Polyphases are not symmetrical on their own and we cannot exploit the symmetry since it simply doesn't exist. However, if we combine two polyphase pairs on each end we re-gain the symmetry, but I don't know how to exploit that since we need to calculate two new samples out of two polyphases, so we cannot really add them together in order to exploit the symmetry of the polyphase pair. That kind of symmetry is useful for a normal FIR filter, but not sure how to use it in an interpolator with polyphases.

My goal is to reduce the required multipliers by a factor of two, so I can implement two times longer filter, but with the same amount of required multipliers (pre-adders are not an issue).

The problem is that the design is required to be implemented within a DSP block of an FPGA (DSP48A1), so options are quite limited to pre-adder, multiplier and post-adder / accumulator.

Does anyone know how to achieve that?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.