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.

FIR_f32_calc for polyphase (buffer all inputs, generate only N-th output)

Other Parts Discussed in Thread: C2000WARE

Hello,

I would like to use FIR_f32_calc, of the FPU DSP Software Library in C2000Ware (4_00_00_00), but in a polyphase fashion, i.e. where all input samples need to be buffered, but only the N-th output needs to be generated.  As is, FIR_f32_calc generates outputs on a 1 to 1 ratio to inputs, i.e. every input generates an output, which would be a lot of extra overhead in my case, since I only need every 16th output.  Can you recommend a modification to this routine, to allow this logic, i.e. buffer all inputs, but only generate the N-th output.  The routine is in FIR_f32.asm, in the libraries/dsp/FPU/c28/source/fpu32/filter directory.

Regards,

Robert

  • Hi
    Thanks for the query. Allow me to investigate this internally and get back to you. 

    By overhead, do you mean memory overhead or a compute overhead? A memory overhead should be an easy modification. A compute overhead would require an algorithm redesign. 

    -Shantanu

  • Hi.  Computing overhead.  But as it turns out, it wasn't that much.  So even though I did end up splitting the FIR_f32_calc into two separate functions for the polyphase approach - one that buffers but doesn't calc the output, and one that only does the output calc, the time savings wasn't that much - maybe 30 nsec.  So I'm just going with the standard FIR_f32_calc, and take every Nth output!

    Thanks,

    Robert