DSPRelated.com
Canonic Signed Digit (CSD) Representation of Integers

Canonic Signed Digit (CSD) Representation of Integers

Neil Robertson
TimelessIntermediate

In my last post I presented Matlab code to synthesize multiplierless FIR filters using Canonic Signed Digit (CSD) coefficients.  I included a function dec2csd1.m (repeated here in Appendix A) to convert decimal integers to binary CSD...


Summary

This blog explains the Canonic Signed Digit (CSD) representation for integers and its use in synthesizing multiplierless FIR filters. Readers will learn the conversion algorithm (including the provided dec2csd1.m MATLAB function) and how CSD coefficients reduce multiplication complexity for filter implementations.

Key Takeaways

  • Convert integers to CSD form using the provided dec2csd1.m MATLAB code and understand the conversion steps.
  • Reduce multiplication complexity by replacing coefficient multiplies with shift-and-add operations using CSD sparsity.
  • Synthesize multiplierless FIR filters in MATLAB and assess coefficient sparsity and implementation trade-offs.
  • Estimate FPGA/ASIC hardware savings (adders, registers) and consider quantization effects when using CSD coefficients.

Who Should Read This

Intermediate DSP engineers, FPGA/ASIC designers, and graduate students who want to implement or optimize multiplierless FIR filters using CSD techniques and MATLAB code.

TimelessIntermediate

Topics

Filter DesignMATLAB/SimulinkReal-Time DSP

Related Documents