A structured collection of signal processing algorithms, simulations, and tutorials implemented in MATLAB and Python. The repository covers spectral analysis, wavelets, filtering, resampling, time-series denoising, and related foundational techniques used in modern communication systems and electronic signal workflows.
-
Spectral Analysis
FFT, windowing, PSD estimation, spectral leakage analysis. -
Wavelet Processing
Discrete wavelet transforms, denoising, multi-resolution decomposition. -
Time-Series Denoising
Reduction of noise using wavelets, filtering, and transform methods. -
Convolution & Filtering
FIR/IIR filter implementation, kernel-based convolution, smoothing. -
Resampling & Interpolation
Downsampling, upsampling, anti-aliasing, interpolation methods. -
Complex Signal Processing
I/Q signals, analytic representations, Hilbert transforms.
Signal-Processing/
├── MATLAB/
│ ├── Spectral/
│ ├── Wavelet/
│ ├── TimeSeriesDenoising/
│ ├── Convolution/
│ └── Resample/
│
├── Python/
│ ├── spectral.ipynb
│ ├── wavelet.ipynb
│ ├── convolution.ipynb
│ ├── denoising.ipynb
│ └── resampling.ipynb
│
├── data/
├── docs/
└── README.md
Each subdirectory contains modular examples illustrating the theory and implementation of each technique.
MATLAB:
- Any recent version (R2020+ recommended)
Python: Install via:
pip install numpy scipy matplotlib pywt jupyterInstallation
git clone https://github.com/AliArabi2022/Signal-Processing.git
cd Signal-ProcessingMATLAB: Open .m files directly.
Python: Run notebooks via:
jupyter notebookExample workflows:
Frequency Domain Analysis Apply window functions → compute FFT → evaluate spectrum.
Wavelet Denoising Perform DWT → thresholding → reconstruct clean signal.
Resampling Downsample/upsample → compare aliasing → apply anti-aliasing filters.
Filtering Design FIR/IIR filters → apply convolution → analyze stability.
Planned additions:
Filter design toolbox (MATLAB + Python)
Adaptive filtering (LMS, NLMS, RLS)
Real-time signal streaming examples
Kalman filtering and state-space signal processing
Machine learning + signal processing examples
Expanded documentation with derivations and problem sets
See CONTRIBUTING.md for guidelines on pull requests, style, and code organization.
This project is released under the MIT License. See the LICENSE file for details.
Ali Arabi Researcher in Communication Systems & Signal Processing GitHub: AliArabi2022