Skip to content

A desktop application illustrating the signal sampling and recovery showing the importance and validation of the Nyquist rate.

Notifications You must be signed in to change notification settings

joyou159/Sampling-Studio

 
 

Repository files navigation

Signal Processing and Sampling Application

Demo of UI

Overview

Welcome to our user-friendly desktop application, designed to vividly illustrate the core concepts of signal sampling and recovery while emphasizing the critical importance of adhering to the Nyquist rate. This application provides an intuitive interface for real-time signal composition using sinusoidals and offers the flexibility of uploading custom signal files for personalized analysis.

Key Features

Real-time Signal Composition

  • Dynamic Signal Composition: Users can experiment with various sinusoidal components in real-time, gaining a hands-on understanding of signal composition.

  • File Upload Capability: Easily upload custom signal files, extending the versatility of the application for personalized analysis.

Signal Sampling and Reconstruction

  • Nyquist Rate Validation: The application demonstrates the significance of the Nyquist rate in maintaining signal fidelity during real-time signal sampling and subsequent reconstruction.

  • Whittaker–Shannon Interpolation: Utilize the Whittaker–Shannon interpolation formula for accurate signal reconstruction, providing a practical insight into signal processing.

Simulation of Real-world Scenarios

  • White Noise Addition: Simulate real-world challenges by adding white noise to signals. Gain insights into the impact of background noise on signal recovery.

Error Analysis

  • Interpolation Error Computation: Quantitatively assess the accuracy of signal reconstruction by comparing the actual signal with the reconstructed one.

Streamlined Exploration

  • User-friendly Interface: Navigate through the application effortlessly, with a streamlined design focused on an effective exploration of signal sampling and recovery concepts.

Demo

  • Top Graph: Original signal
  • Middle Graph: Reconstructed signal
  • Bottom Graph: Difference error between Original signal and Reconstructed signal
Demo.mp4

Getting Started

  1. Installation: To run the application, you need to have the required Python packages installed. You can create a virtual environment and install the necessary dependencies listed in the requirements.txt file.

    pip install -r requirements.txt
    
  2. Running the Application: Run the application using Python. The GUI will open, allowing you to load, process, and analyze signals.

    python main.py
    

Contributors

Mohamed Elsayed Eid
Mohamed Elsayed Eid
mohamed mosilhy
Mohamed Mosilhy
Mahmoud Magdy
Mahmoud Magdy
Youssef Ahmed
Youssef Ahmed

About

A desktop application illustrating the signal sampling and recovery showing the importance and validation of the Nyquist rate.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%