Skip to content

Sampling an analog signal using Nyquist–Shannon sampling theorem

Notifications You must be signed in to change notification settings

AhmedGehad1/Sampling-Theory-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sampling-Theory-

About

Developing a website application for sampling an analog signal using the Nyquist-Shannon sampling theorem.

Features

This web app allows user to

  • Load and plot a CSV Signal or compose and mix their own Sinusoidals.
  • Sample a signal with varying sampling frequency and reconstruct the sampled points.
  • reconstruct a signal with either normalized frequency or another frequency number (in Hz).
  • Visualize Interactive plots (zoom , pan, slice, and download as images). 
  • Can view Reconstructed , Orginal Signal and Their Difference
  • Add or remove sinusoidal signals (sin or cosine) of varying frequencies and magnitudes.
  • Add or remove noise with a variable SNR level.
  • Save signal as csv file extension.

How to run

  1. Clone the repository
Download the repository on your pc
  1. Open visual Studio
open the terminal on visual studio
  1. Run the application
streamlit run App.py

libraries

  • streamlit
  • pandas
  • numpy
  • plotly.express
  • plotly.graph_objs
  • matplotlib.pyplot

Preview

Home Page

image

Load CSV

image

Compose and mix sinusoidals

chrome-capture-2023-5-12 (1)

Orginal + Reconstructed

image

Difference without sampling with 2 fmax

  • Orginal signal minus the Reconstructed image

Difference sampling with 2 fmax

  • Orginal signal minus the Reconstructed image

Add noise

image

About

Sampling an analog signal using Nyquist–Shannon sampling theorem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages