DSP_firlms2

4.1 Adaptive Filtering

DSP_firlms2

LMS FIR

 

 

Function

 

long DSP_firlms2(short * restrict h, const short * restrict x, short b, int nh)

 

Arguments

 

h[nh]

Coefficient Array

 

 

x[nh+1]

Input Array

 

 

b

Error from previous FIR

 

 

nh

Number of coefficients. Must be multiple of 4.

 

 

return long

Return value

Description

 

The Least Mean Square Adaptive Filter computes an update of all nh

 

 

coefficients by adding the weighted error times the inputs to the original

 

 

coefficients. The input array includes the last nh inputs followed by a new

 

 

single sample input. The coefficient array includes nh coefficients.

Algorithm

 

This is the C equivalent of the assembly code without restrictions. Note that

 

 

the assembly code is hand optimized and restrictions may apply.

 

 

long DSP_firlms2(short h[ ],short x[ ], short b,

 

 

int nh)

 

 

 

{

 

 

 

 

int

i;

 

 

long

r = 0;

for (i = 0; i < nh; i++) { h[i] += (x[i] * b) >> 15; r += x[i + 1] * h[i];

}

return r;

}

Special Requirements

-This routine assumes 16-bit input and output.

-The number of coefficients nh must be a multiple of 4.

4-2

Page 30
Image 30
Texas Instruments TMS320C64X manual Adaptive Filtering, DSPfirlms2