Download Help (Windows Only) |

In some adaptive filter applications, such as adaptive echo cancellation and adaptive channel equalization, you must implement adaptive filters on embedded targets. These embedded targets have only a limited amount of computational resources for these applications to use. To address the limitation of these embedded targets, you can implement fixed-point adaptive filters on fixed-point signal processing platforms, such as National Instruments FPGA targets and fixed-point digital signal processing (DSP) devices.

Converting a floating-point adaptive filter to fixed-point implementation can alter the characteristics and performance of the adaptive filter significantly. This conversion process can have the following detrimental effects on the filter performance:

**Range constraints**—After you convert the floating-point adaptive filter to fixed-point implementation, the filter coefficients have only a limited value range.**Filter coefficients overflows**—When you use a fixed-point adaptive filter to filter a signal, LabVIEW performs mathematical operations, such as multiplication and addition, on the filter coefficients. Due to the limited range and precision of the fixed-point data type, the multiplication and addition operations can lead to quantization errors during the process of truncation and saturation. Over time, these quantization errors might accumulate until an overflow in the filter coefficients occurs.**Adaptation stalling**—As a floating-point adaptive filter updates the filter coefficients iteratively, the coefficients values change slightly during each iteration. These slight changes accumulate iteration by iteration so that the error signal converges to an optimal value. However, if you convert the adaptive filter to fixed-point form and the update term is smaller than the least significant bit (LSB) of the fixed-point data type, the coefficients do not change. This phenomenon, known as adaptation stalling, prevents the power of the error signal from converging to an optimal value.

You can eliminate these effects by specifying appropriate fixed-point settings when simulating the fixed-point adaptive filter.

Before implementing a fixed-point adaptive filter, you might need to create a floating-point adaptive filter as the reference filter.

Complete the following steps to implement a fixed-point adaptive filter.

- Simulate the reference filter. You complete this step to determine the appropriate filter length, step size, and coefficients range of the reference filter.
**Note**If you know the filter length, step size, and coefficients range of the reference floating-point adaptive filter, you do not have to simulate this filter. You can start simulating the fixed-point adaptive filter. - Simulate the fixed-point adaptive filter. You complete this step to determine the appropriate word length and integer word length for different parameters of the fixed-point adaptive filter, such as
*x*(*n*),*d*(*n*), and others. - Generate LabVIEW FPGA code for the fixed-point adaptive filter. You then can deploy the resulting LabVIEW FPGA code to National Instruments FPGA targets.

Note You can simulate and generate LabVIEW FPGA code for fixed-point adaptive filters that use only the standard least mean squares (LMS) algorithm. To generate LabVIEW FPGA code for a fixed-point adaptive filter, you must install the LabVIEW FPGA Module on the host computer. |