09-22-2020 04:43 AM
I am trying to use Vivado FIR IP to generate a half-band interpolator. The coefficients were provided in .coe file (there are 31 taps). Under filter specification, it shows Inferred Coefficient Structure to be Non-symmetric (I was expecting it be symmetric, since my coefficients are symmetric). Also, though the number of coefficients are 31, in summary tab I see Calculated coefficients to be 32.
Also, I was only able to select Systolic Multiply Accumulate architecture. I am not getting any other option to select.
Can someone let me know as to what I am missing.
09-22-2020 04:54 AM
You aren't missing anything. The FIR compiler is using a polyphase approach for the interpolator. The FIR compiler broke up your set of 31 coefficients into two sets of 16 coefficients. In this way, it only needs to generate a 16 tap filter. The even coefficients (0,2,4...) are used first, the odd coefficients (1,3,5...) are used second. The next sample is clocked into the filter and the process repeats. Since the compiler had to tack on an extra coefficient to make this work, this made the coefficient set non-symmetric. I don't know if the FIR compiler can make use of symmetry in a polyphase filter anyway.
09-22-2020 05:08 AM
Since this is a half-band filter it should still see the first polyphase as symmetric filter right? I see in the documentation that IP has a half-band interpolator variant. How can we specify the tool to pick that architecture.