DSPRelated.com
Matlab Code to Synthesize Multiplierless FIR Filters

Matlab Code to Synthesize Multiplierless FIR Filters

Neil Robertson
Still RelevantIntermediate

This article presents Matlab code to synthesize multiplierless Finite Impulse Response (FIR) lowpass filters. A filter coefficient can be represented as a sum of powers of 2.  For example, if a coefficient = decimal 5 multiplies input x,...


Summary

This blog provides MATLAB code and a methodology for synthesizing multiplierless FIR lowpass filters by expressing coefficients as sums of powers of two and mapping them to shift-and-add structures. Readers will learn how to decompose coefficients (PO2/CSD-style), generate bit-true fixed-point implementations in MATLAB, and evaluate the trade-offs between coefficient sparsity, filter order, and frequency response for real-time or hardware deployment.

Key Takeaways

  • Synthesize multiplierless FIR filters in MATLAB using coefficient decomposition into sums of powers of two (PO2) and related encodings.
  • Represent and quantize coefficients with techniques such as PO2 and CSD to minimize nonzero adders.
  • Convert decomposed coefficients into shift-and-add structures to eliminate hardware multipliers.
  • Evaluate and trade off filter response degradation versus implementation complexity (adder count, shifts, filter order).
  • Adapt and test the generated designs for fixed-point, bit-true simulation and target real-time hardware (DSP/FPGA).

Who Should Read This

DSP engineers, embedded/FPGA designers, and graduate students with experience in filter design who need practical methods to implement low-power, multiplierless FIR filters in MATLAB and for hardware deployment.

Still RelevantIntermediate

Topics

Filter DesignMATLAB/SimulinkReal-Time DSP

Related Documents