Signal Sampling Studio

Designing a signal recovery web-application that depicts the Nyquist rate, using streamlit, an open source framework.

Features

  • generating sinusoidal signals at the user-specified frequency and amplitude.
  • Reading of csv signal files and the sampled points are marked on the signal.
  • Adjusting the sample frequency with sample rate slider or slider of maximum frequency scale.
  • Reconstructing the signal from the sampled points.
  • The sum of the generated sinusoidals, and the reconstructed ones are shown on a single graph, where user can choose which to be shown.
  • A button to delete the user-choosen sinusoidal.
  • A slider for adding noise to the signal by a user-specified SNR value.
  • Saving the reconstructed signal to the user's computer using download button.

Deployment

To deploy this project run

  pip install -r requirements.txt 
  streamlit run app.py

Screenshots

  • Default Signal

1

  • Sampling an added signal without noise

2

3

  • Sampling an added signal with noise

4

Demo

SamplingStudio

About Us

  • This project was made for a task in the fifth semester of SBME, for digital signal processing course, and was submitted to the course's doctor in 10/31/2022

Team Number : 21

Team Members

Name Section Bench Number
Habiba Fathallah 1 27
Sohaila Mahmoud 1 45
Ahmed Hassan 1 4
Sara Amgad 1 38