Skip to content

Real-time digital filters creator web app for digital signals processing using KonvaJS & Django

Notifications You must be signed in to change notification settings

1brahimmohamed/Digital-Filters-Design-Suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Filters Design Suite

Table of contents:

Introduction

Digital Filters Design Suite is a web application that allows the user to design their real-time digital filters using zeros and poles placements on Z complex plane and correct the filter's phase response using all-pass filters through desired values of all-pass A-Value or select from multiple examples of pre-designed all pass filters.

Project Features

In this project you can:

  • Add Zeros & Poles to Z-Plane unit circle.
  • Drag the drawn Zeros & Poles on Z-Plane unit circle.
  • Get Magnitude & Phase response of the designed filter.
  • Upload Signal to apply the filter on it realtime.
  • Play/Pause the realtime signal.
  • Create real-time signal to see the filter response with on screen mouse-pad.
  • Add multiple all-pass filters to correct the phase response of the designed filter.
  • Select from pre-designed all-pass filters catalog to apply for your filter.

Project Structure

The Web Application is built using:

  • Frontend:
    • HTML
    • CSS
    • JavaScript
    • Konva.js
    • Ajax
    • BootStrap
    • jQuery
  • Backend framework:
    • Django (Python)

The Frontend main function to set the structure of the page and let the user interact with the page through viewing unit circle, add zeros & poles, and see realtime signals. It also sends the data to the backend to create the filter and then return the phase & Magnitude responses to the frontend to display it to the user. We use Ajax to send asynchronous requests to the server. The Backend main function is to create filters, get all-pass responses and apply them to the filter creating a new filter.

master
├─  filterssuite
│  ├─  nootbooks 
│  ├─  static (js, css & images)
│  ├─  templates (HTML)
│  ├─  apps.py (application configuration)
│  ├─  urls.py (application routing)
│  ├─  views.py (application endpoints)
│  └─  digital_filter.py (filter Class)
├─  server
├─  manage.py (server manager)
├─  README.md
└─  requirements.txt

Quick Preview

Add & Drag Multiple Zeros & Poles to the unit circle.

Add_Drag

Upload Signals, Apply the Filter on it & play/pause it.

Upload

Low Pass Filter

LPF

High Pass Filter

HPF

Band Pass Filter

BPF

Band Stop (Notch) Filter

Notch

Phase Correction & Catalog of All-Pass Filters

Phase_Correction

Run the Project

  1. Install Python3 in your computer
Download it from www.python.org/downloads/
  1. Install the required packages
pip install -r requirments.txt
  1. Run the Backend Server
python manage.py runserver
  1. visit http://localhost/suite/home or open the HTML page directly from the browser (in case the css is not loaded correctly)

Team

First Semester - Biomedical Digital Signal Processing (SBE3110) class project created by:

Team Members' Names Section B.N.
Ibrahim Mohamed 1 2
Mahmoud Yaser 2 30
Maye Khaled 2 40
Mariam Wael 2 36

Submitted to:

  • Dr. Tamer Basha & Eng. Abdallah Darwish All rights reserved © 2022 to Team 12 - Systems & Biomedical Engineering, Cairo University (Class 2024)

About

Real-time digital filters creator web app for digital signals processing using KonvaJS & Django

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •