Functions
DSPF_sp_lms2
Collaboration diagram for DSPF_sp_lms2:

Functions

float DSPF_sp_lms (const float *x, float *restrict h, const float *y_i, float *restrict y_o, const float ar, float error, const int nh, const int nx)
 

Detailed Description

Function Documentation

◆ DSPF_sp_lms()

float DSPF_sp_lms ( const float *  x,
float *restrict  h,
const float *  y_i,
float *restrict  y_o,
const float  ar,
float  error,
const int  nh,
const int  nx 
)
The DSPF_sp_lms implements an LMS adaptive filter. Given an actual input
signal and a desired input signal, the filter produces an output signal,
the final coefficient values, and returns the final output error signal.

  @param x      Pointer to input samples
  @param h      Pointer to the coefficient array
  @param y_i    Pointer to the desired output array
  @param y_o    Pointer to filtered output array
  @param ar     Adaptation rate
  @param error  Initial error
  @param nh     Number of coefficients
  @param nx     Number of output samples
Algorithm:
DSPF_sp_lms2_cn.c is the natural C equivalent of the optimized intrinsic C code without restrictions note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
nh must be a multiple of 2 and >= 2.
The coefficient array is assumed to be in reverse order; i.e., h(nh-1), h(nh-2), ..., h(0) will hold coefficients h0, h1, ..., hnh-1, repectively.
Implementation notes:
Endian Support: The code supports both big and little endian modes.
Interruptibility: The code is interruptible.

Copyright 2022, Texas Instruments Incorporated