Skip to content

alizayan684/Sampling-Theory-Studio

Repository files navigation

Signal Sampler

Main Picture

Description

  • Desktop Application Designed To Demonstrate The Principles Of Signal Sampling & Recovery Based On The Nyquist–Shannon Sampling Theorem
  • User-Friendly Interface For Easy Visualization Of Different Samping Scenarios
  • Provides Additional Reconstruction Methods

Tech Stack Used

Functionality Python
UI Qt
Styling CSS

Features

1. Signal Browsing

  • Browse A Signal File (Make Sure Its Format & Extension Are The Same As The Files Inside signals Directory)

2. Signal Mixer

  • Sample At Different Frequncies, Showcasing The Difference Between Complete Reconstruction & Aliasing In Real Time

Sampling GIF  

  • Add A Sinusoidal Signal Of Custom Amplitude, Frequency & Phase

Adding Component GIF  

  • Remove A Sinusoidal Signal From The Combined Signal

Removing Component GIF

3. Noise Addition

  • Add Noise To The Combined Signal Using Controllable SNR Slider

Adding Noise GIF

4. Different Reconstruction Methods

  • Reconstruct The Signal Using Different Methods

Rectangular Interpolation GIF

5. Testing Scenarios

  • Generate Premade Test Scenarios Having Different Combined Signals

Scenarios GIF

Installation

  1. Make Sure That Pip & Python Are Installed On Your System

  2. Clone The Repo Onto Your Local System or Download The Zip File & Extract It

     git clone https://github.com/mostafa-aboelmagd/signal-sampling-visualizer.git
  3. Nagivate To The Project's Directory

  4. Install The Required Libraries

    pip install -r requirements.txt
  5. Run MainWindow.py File

    python MainWindow.py

Contributors

Name GitHub LinkedIn
Mostafa Ayman GitHub linkedin
Ali Zayan GitHub linkedin
Zeyad Amr GitHub linkedin
Mostafa Mousa GitHub linkedin
Omar Khaled GitHub linkedin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages