/Sampling-Studio

Sample signals with additional custom utilities

Primary LanguagePython

Signal Studio - Task 1 DSP

About

Sampling Studio is a webapp that depicts signal sampling and recovery while emphasising the significance and validation of the Nyquist rate.

Team Members

Name Section
Aya Sameh Ahmed 1
Mohamed Hashem Abdelwareth 2
Mina Safwat Samy 2
Yehia Said Ahmed 2

How to run

  1. Clone the repository
$ git clone https://github.com/YehiaSAhmed/DSP_Task1_Team28
  1. Navigate to repository directory
$ cd DSP_Task1_Team28
  1. install project dependencies
pip install -r requirements.txt
  1. Run the application
streamlit run app.py

libraries

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

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 (with a range from 1 to 5fmax) or another frequency number (in Hz).
  • Visualize Interactive plots (zoom , pan, slice, and download as images). 
  • View and Hide each curve on the same graph.
  • 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.

Preview

Home Page

home

Load CSV

Screenshot (343)

Compose and mix sinusoidals

Screenshot (344)

View and hide different curves

Screenshot (345)

Zoom and pan

Screenshot (346)

View in fullscreen

Screenshot (349)

Add noise

Screenshot (347)