A collection of MATLAB implementations and simulations for the Advanced Digital Signal Processing (ADSP) course.
Each script, function, and notebook demonstrates core DSP concepts through practical, hands-on experiments.
This repository gathers a set of MATLAB (“.m”) scripts and simulation notebooks developed during the Advanced Digital Signal Processing course.
It is intended as:
- a learning resource — to study and understand DSP algorithms and techniques;
- a reference library — for reuse of DSP routines or as a starting point for further experimentation;
- a teaching aid — helpful for students of DSP to see working MATLAB implementations for course concepts.
You will find implementations covering topics such as:
- Short-Time Fourier Transform (STFT) and STFT-based filtering / denoising
- Wavelet-based filtering
- Time-frequency analysis, spectral estimation
- Filter design & application
- Course project(s) implementing more advanced or integrated DSP tasks
The main folders / files include:
/STFT_Intro_1 – Introductory STFT examples
/STFT_Intro_2 – Further STFT demonstrations
/ Wavelet_Filter_1 – Wavelet filter basics
/ Wavelet_Filter_2 – Advanced wavelet filtering
/ Denoising_STFT – Denoising using STFT
/ CWT_1, CWT_2 – Continuous Wavelet Transform experiments
/ Final_Project – A larger DSP project combining several techniques
... (others as added)
- MATLAB (any reasonably recent version; ideally release 2015 or newer)
- (Optional) Signal Processing Toolbox, if some functions rely on it
-
Clone the repository
git clone https://github.com/yousefsmt/ADSP-Projects.git cd ADSP-Projects -
Open MATLAB and set the working directory to the cloned repo root.
-
Navigate to the folder of the example you want to run.
-
Run the script / notebook (e.g. open
.mfile and press Run). -
Review results, plots, and comments in the script to understand behavior.
Here are a few example use cases:
- Use the STFT or wavelet filter scripts as a baseline for signal denoising experiments.
- Modify scripts to apply DSP techniques to your own data (e.g. physiological signals, audio, sensor data).
- Use the code as teaching/demo material — present core DSP concepts visually via MATLAB plots.
- Extend or combine modules (e.g. apply STFT + wavelet + custom filtering) for complex DSP pipelines.
ADSP-Projects/
├── STFT_Intro_1/
├── STFT_Intro_2/
├── Wavelet_Filter_1/
├── Wavelet_Filter_2/
├── Denoising_STFT/
├── CWT_1/
├── CWT_2/
├── Final_Project/
├── ... other modules ...
├── LICENSE
└── README.md
Each module/subfolder corresponds to a DSP concept or experiment. This organization allows easier navigation and encourages modular reuse.
This project is licensed under the MIT License — see the LICENSE file for details.
You are free to use, modify and distribute the code, provided that you include the original license notice.
Contributions are welcome! If you want to suggest improvements, add new DSP experiments, or fix bugs:
- Fork the repository
- Create a new branch (e.g.
feature/new-filter) - Add or improve code, include comments and descriptions
- Open a Pull Request with a clear description of your changes
If you find issues with existing scripts (e.g. bugs, mistakes, unclear code), feel free to submit an issue or a PR.
If you have questions, suggestions, or would like help extending the code, you can reach out to me (repository owner).
Enjoy exploring DSP! 🚀