Skip to content

A Python desktop application designed to demonstrate the principles of signal sampling and recovery and the importance of the Nyquist rate. You can explore signal composition, sampling, and noise effects,with signal mixing, Whittaker–Shannon interpolation and noise addition, through interactive visualization as a comprehensive educational resource

Notifications You must be signed in to change notification settings

LunaEyad/Signal-Sampling-and-Reconstruction-Studio

 
 

Repository files navigation

Sampling Theory Studio

Sampling an analog signal is a fundamental aspect of digital signal processing. The Nyquist–Shannon sampling theorem plays a pivotal role in ensuring the accurate recovery of signals during the sampling process. This desktop application aims to illustrate the concepts of signal sampling and recovery, emphasizing the significance and validation of the Nyquist rate.

Features :

1. Load & Compose:

Screenshot 2024-02-20 at 6 03 52 PM
  • Load a signal from a file or compose a signal using the signal mixer.
  • Add multiple sinusoidal signals of different frequencies, magnitudes and phase differences to the signal mixer.
  • Remove any components from the signal mixer. -Remove all components

2. Sample & Recover:

Screenshot 2024-02-20 at 6 05 01 PM
  • Sample the signal at different frequencies (actual frequency or normalized frequency).
  • Use the sampled points to recover the original signal using Whittaker–Shannon interpolation.
  • Display the original signal, the sampled points, the reconstructed signal, and the difference between the original and reconstructed signals in three separate graphs.

3. Additive noise:

Screenshot 2024-02-20 at 6 06 09 PM
  • Add noise to the loaded signal with a custom SNR level.
  • Show the dependency of the noise effect on the signal frequency.

4. Real-time:

  • Perform sampling and recovery in real time upon user changes.

Team members:

Submitted to:

Dr. Tamer Basha & Eng. Abdullah Darwish - Systems & Biomedical Engineering, Cairo University 2025

About

A Python desktop application designed to demonstrate the principles of signal sampling and recovery and the importance of the Nyquist rate. You can explore signal composition, sampling, and noise effects,with signal mixing, Whittaker–Shannon interpolation and noise addition, through interactive visualization as a comprehensive educational resource

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%