Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

Implementing Fixed-Point Adaptive Filters (Adaptive Filter Toolkit)

LabVIEW 2013 Adaptive Filter Toolkit Help

Edition Date: June 2013

Part Number: 372357B-01

»View Product Info
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.

Challenges of Converting Floating-Point Adaptive Filters to Fixed-Point Adaptive Filters

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.

Implementation Process of Fixed-Point Adaptive Filters

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.

  1. 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.
  2. 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.
  3. 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.

 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit