I'm using the 6713 board with ccs4 . Also dsp/bios
Im implementing overlap add frame processing
I need to use the optimised functions in dsplib to fft and ifft my frames between buffering(every 1/32kHz x 256 buffer length seconds)- namely :
DSPF_sp_cfftr2_dit
DSPF_sp_icfftr2_dif
The functions work, but produce some crackling artefacts on the output.
It is definitely not because of the cycle count between each frame. I swapped in the C equivalents of these functions given in the reference guide, and it works perfectly with no noise, but obviously at a higher cycle count.
Using the actual dsplib functions reduce the cycle count as expected since its assembly optimised, however it introduces these artefacts on the output.
I have realised through testing that the artefacts occur only if i call more than one function from the dsplib. It can even be the same function twice, with the result not being used at all.
I have a feeling its a memory or cache issue.
I cant get away with only using the C equivalents since i need headroom for further processing between the FFT's
Has anyone come across this problem and know how to fix it? I appreciate the hardware is outdated but its the limit of my university lab
Help would be very much appreciated asap
Thank you,
Raj