MSD Toolbox

Multi-Stage Decimation Toolbox


Updated 10 Feb 2020

From GitHub

View License on GitHub

The Multi-Stage Decimation (MSD) toolbox consists of four packages, as follow:
1. Design
2. Implementation [not-included yet]
3. Estimation
4. Troubleshooting
The Design package is used to design and tune the overall decimation parameters, such as number of decimation stages (k), decimation factor at each stage (M), and filter length at each stage (N). However, the main advantage of the MSD is in the controllability and observability capabilities. The user can observe the
in-band noise (IBN) as well as the computation effort (RT) at each stage.
Further, the designer can choose between several filter architectures such as cascaded integrator comb (CIC), half-band (HB), and multi-band (MB) either narrow-band or wide-band.
The Implementation package is used to consider fixed point representation for VHDL implementation throughout quantization. The quantization bit-width (Q) is tuned throughout iteration process within acceptable penalty in the IBN. Further, it exports a VHDL top level model for RTL implementation.
The Estimation package is used to estimate power dissipation in decimation filter based on polyphase decimation (PPD) filter architecture only.
The Troubleshooting package is used in correlation with the VHDL models for
troubleshooting simulation problems.
P.S. A follow update is planned for bandpass decimation filters and multi-stage IIR filters.

Cite As

Ahmed Shahein (2023). MSD Toolbox (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Copy from MathWorks to GitHub

Modified the functions_path script to check if the eCoefficients exists or not and create it if needed

Modified the functions_path script to check and print the date based on the OS

Uploaded the zipped file in .ZIP format instead of .ZIPX format

Update the product list by including the Control_Toolbox

Minor modifications for compatibility with Matlab 2012.

remove/modify gnu files

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.