Skip to content

Design and apply custom digital filters effortlessly with this desktop application. Place zeros and poles on the z-plane interactively, visualize real-time frequency responses, and apply filters to lengthy signals with adjustable temporal resolution.

License

Notifications You must be signed in to change notification settings

Youssef-Ashraf71/Real-time-Digital_Filter

Repository files navigation

Realtime Digital Filter Design Application

Overview

This desktop application allows users to design custom digital filters by placing zeros and poles on the z-plane. The interactive interface provides real-time visualization of the filter's frequency response and enables users to apply the designed filter to lengthy signals with customizable temporal resolution.

Live Demo

Image.Mixer.Video.Demo.mp4

Features

Z-Plane Plot

  • Interactive Plotting: Users can place zeros and poles on the z-plane.
  • Dynamic Modifications: Zeros/poles can be modified by dragging them.
  • Deletion: Clicking on a zero or pole allows users to delete it if delete by click mode is activated.
  • Clear Options: Users can clear all zeros, all poles, or clear everything on the Z-plane.
  • Conjugates: Option to add or remove conjugates for complex elements.

Frequency Response Plot

  • Magnitude and Phase Response: Visual representation of the filter's frequency response.
  • Real-time Updates: The plots update as users modify the filter design.

Real-time Filtering

  • Lengthy Signal Processing: Apply the filter to a signal with a minimum of 10,000 points in real-time.
  • Mouse Input: Users can input real-time signals by moving the mouse, with the speed affecting signal frequencies.

Phase Correction with All-Pass Filters

  • All-Pass Filter Library: Visualize and select from a library of all-pass filters.
  • Custom All-Pass: Users can create their own all-pass filters by specifying "a," and the application calculates its phase response.
  • Enable/Disable Controls: Users can toggle the added all-pass elements.

Examples

Explore the functionality with the provided examples:

Getting Started

To get started with the application, follow these steps:

  1. Clone the repository.
  2. Run the following command
pip install -r requirements.txt

  1. Run main.py

Contributors

Youssef Ashraf
Youssef Ashraf
Mourad Magdy
Mourad Magdy
Ziad Meligy
Ziad Meligy
Mariam Ahmed
Mariam Ahmed

Feel free to contribute, report issues, or suggest enhancements. Happy filtering!

About

Design and apply custom digital filters effortlessly with this desktop application. Place zeros and poles on the z-plane interactively, visualize real-time frequency responses, and apply filters to lengthy signals with adjustable temporal resolution.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages