21.07.2015 Views

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

"TMS320C55x DSP Library DSPLIB Programmer's Reference"

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

firsBenchmarks(preliminary)Cycles † Core: nx{4 + 4(nh–1)]Overhead: 23Code size(in bytes)53† Assumes all data is in on-chip dual-access RAM and that there is no bus conflict due to twiddletable reads and instruction fetches (provided linker command file reflects those conditions).firsFunctionSymmetric FIR Filterushort oflag = firs (DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx,ushort nh2)Argumentsx[nx]Pointer to input vector of nx real elements.r[nx]Pointer to output vector of nx real elements.In-place computation (r = x) is allowed.h[nh2] Pointer to coefficient vector containing the firsthalf of the symmetric filter coefficients. For example,if the filter coefficients are {h0, h1, h2, h2, h1,h0}, then h[nh2] = {h0, h1, h2} where h0 residesat the lowest memory address in the array.This array must be located in internal memorysince it is accessed by the C55x coefficient bus.dbuffer[2*nh2 + 2] Pointer to delay buffer of length nh = 2*nh2 + 2 In the case of multiple-buffering schemes, thisarray should be initialized to 0 for the first filterblock only. Between consecutive blocks, the delaybuffer preserves the previous r output elementsneeded.nxThe first element in this array is special in that itcontains the array index of the oldest input entryin the delay buffer. This is needed for multiplebufferingschemes, and should be initialized to 0(like all the other array entries) for the first blockonly.Number of input samples4-46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!