This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C64x+ DSPLIB DSP_iir Questions

Other Parts Discussed in Thread: TMS320DM6446, CCSTUDIO

A customer at Indesign has some questions regarding the DSP_iir function of the DSPLIB for C64x: 

"I am trying to implement an iir filter using TMS TMS320DM6446. I studied the DSP_iir function from the DSPLIB64x+ library. In the title of DSP_iir it says IIR with 5 Coefficients. That is what I am used to, 5 coefficients per biquad. Later it explains that the number of biquads are given by nh/4, and also it expects that nh being a multiple of 8. Does this mean that the first coefficient(b0) for each biquad is omitted because it is always 1. Therefore we have 4 coefficients per biquads two for b's and 2 for a's. Also if the order of filter is 6 is it possibe to add an all pass biquad to it to make it look like an 8th order, so that we have four second order biquads each with 8 b and 8 a coefficients to satisfy the nh multiple of 8 restrication. I have looked at the example program in C:\CCStudio_v3.3\c64plus\dsplib_v210\src\DSP_iir\DSP_iir_d.c. I don't understand the reason for the zero padding. Could you explain. Do you have another example that is using DSP_iir function? I appriciate your help"

I have not done that much work with the DSPLIB functions, can anyone help with this? Do we have another example?

    • Later it explains that the number of biquads are given by nh/4, and also it expects that nh being a multiple of 8.

    See C:\CCStudio_v3.3\c64plus\dsplib_v210\src\DSP_iir\DSP_iir_cn.c to better understand the algorithm. Also see the note ‘This algorithm is taken from the BDTI99 spec'

    • Does this mean that the first coefficient(b0) for each biquad is omitted because it is always 1.

    The algorithm expects 4 coefficients per stage. It doesn't omit any coefficient.

    • Therefore we have 4 coefficients per biquads two for b's and 2 for a's.

    Correct.

    • Also if the order of filter is 6 is it possibe to add an all pass biquad to it to make it look like an 8th order,

    Yes

    If the kernel is not most efficient for the customer, we can definitely assist in modifying it to meet customer's requirement. Can you request customer to modify the _cn file the way he would like it and we can help tune

    Gagan