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.

expnImplementation NotesDelayed version implemented to take advantage of the C55x LMS instruction.Effect of using delayed error signal on convergence minimum:For reference, following is the algorithm for the regular LMS (nondelayed):FIR portionnh1r[j] h[k]* x[i k] 0 i nx 1k0Adaptation using the current error and the current sample:e(i) des(i) r (i)h k (i 1) h k (i) 2*mu * e(i)*x(i k)ExampleBenchmarksSee examples/dlms subdirectory(preliminary)Cycles † Core: nx * (7 + 2*(nh – 1)) = nx * (5 + 2 * nh)Overhead: 26Code size(in bytes)122† 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).expnFunctionExponential Base eushort oflag = expn (DATA *x, DATA *r, ushort nx)(defined in expn.asm)Argumentsx[nx]r[nx]nxoflagPointer to input vector of size nx. x contains the numbersnormalized between (–1,1) in q15 formatPointer to output data vector (Q3.12 format) of size nx. r canbe equal to x.Length of input and output data vectorsOverflow flag. If oflag = 1, a 32-bit overflow has occurred If oflag = 0, a 32-bit overflow has not occurredFunction Descriptions4-33

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

Saved successfully!

Ooh no, something went wrong!