I wanted to inquire more about this function.
I worked with a TMS320VC33 processor in the past and assembly coded an FIR filter which spit out one point at a time, it was done during an ISR and was basically real time. Is it intended that this function is not a real time type of function, but will take a batch of samples process them at one shot within the algorithm and spit an output array of filtered data to the size you wish?
For example, if I take and store 1000 samples of a waveform and have a 200 Coefficients, I can implement the function and recieve a filtered waveform of 100 output points.
and I would call the function as follows: DSPF_sp_fircirc(*x, *h, *r, 0, 1000, 200, 100)
where *x is the pointer to the input waveform of 1000 samples,
*h is the pointer to COEFs,
*r is the pointer to the filtered output points,
0 is index starting from sample 1(0),
1000 is circular buffer size of x the input
200 is the # of COEFs,
and 100 is how many filtered output samples I want?
Also, must you handle the Circular addressing bits in the AMR or is this done automatically within the routine?