Skip to content

MaryamMegahed/Sampling-Theory-Studio

 
 

Repository files navigation

Sampling-Theory Studio

Introduction

sampling an analog signal is a crucial step for any digital signal processing system The Nyquist–Shannon sampling theorem guarantees a full recovery of the signal when sampling with a frequency larger than or equal to the bandwidth of the signal (or double the maximum frequency in case of real signals).

Description

It is a web application that illustrates the signal sampling and recovery showing the importance and validation of the nyquist rate

  • Our application have the following features:
    • Visualize and sample an uploaded signal and use the sampled points to recover the original signal
    • Adding noise to the loaded signal and reconstructing it.
    • Prepare mixed signal by adding sinusoidal signals with different frequancy and magnitudes.
    • Sampling and reconstructing the mixed signal.
    • Adding noise to the mixed signal and reconstructing it.
    • Remove any component from the mixed signal.
    • Downloading the reconstructed signal.
    • Resize the signals without missing the UI.

Technology used

Python with streamlit

Task Info

Course: Digital signal processing

Department: Systems and Biomedical Engineering at Cairo University

Semester: 7th SEMESTER

Team Members:

Name SEC BN
Saeed Elsayed 1 42
Mazen Tarek 2 13
Maryam Megahed 2 32
Neveen Mohamed 2 49

Screenshots of the web app

Generating sin wave with frequency 4hz and amplitude 2v

Screenshot 2022-11-01 180335

Sampling it with 2 fmax(Nyquist rate)

Screenshot 2022-11-01 181008

Reconstructing the signal

Screenshot 2022-11-01 181215

Adding noise to the generated signal

Screenshot 2022-11-01 181526

Reconstructing the signal with its noise by Nyquist rate

Screenshot 2022-11-01 181718

Upload ECG signal

Screenshot 2022-11-01 182117

Reconstructing the ECG signal

Screenshot 2022-11-01 183534

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%