Skip to content

Hazem-Raafat/Sampling-Theory-Studio

 
 

Repository files navigation

Sampling-Theory Studio

Overview

This desktop application is designed to illustrate the importance of the Nyquist-Shannon sampling theorem in digital signal processing. It allows users to load, sample, and recover analog signals, showing how different sampling frequencies affect signal recovery. our application offers the ability to mix, add noise, and perform real-time sampling and recovery.

Features

1. Sample & Recover

  • Sample Signal: Load a signal and visualize it. Users can sample it at various frequencies.
  • Recover Signal: The application uses the Whittaker-Shannon interpolation formula to recover the original signal based on the sampled points.
  • Visualization: Three graphs display the original signal with markers for sampled points, the reconstructed signal, and the difference between the original and reconstructed signals.

2. Load & Compose

  • Load Signal: Users can load a signal from a file or create a custom signal by mixing multiple sinusoidal components with different frequencies and magnitudes.
  • Signal Mixer: The signal mixer allows users to add and remove single sinusoidal components to prepare a mixed signal.

3. Additive Noise

  • Noise Addition: Users can introduce custom noise with a controllable Signal-to-Noise Ratio (SNR) level.

4. Responsive UI

  • The application is designed to be easily resizable without affecting the UI.

Information for the user

To use the application, follow these steps:

  1. Load a signal or create a custom signal using the Signal Mixer.
  2. Adjust the sampling frequency in real-time and observe the effects on signal recovery.
  3. add noise to the signal and control the SNR level.

Run-App

  1. install project dependencies
pip install -r requirements.txt
  1. Run the application
python main.py

Contributors

We would like to acknowledge the following individuals for their contributions:

Omar Atef
Omar Atef
Omar Atef
Ibrahim Emad
Omar Atef
Hazem Rafaat
Omar Atef
Ahmed Khaled

About

Sampling-Theory Studio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%