Skip to main content

An interactive Digital Signal Processing explorer for filter design and analysis.

Project description

Digital Signal Processing Explorer

Launch App An interactive tool for exploring Analog and Digital filters, poles, zeros, and stability.

For Students

Click here to launch the app. No account or setup required.

For Developers

If you want to host your own copy or modify the code: Deploy to Render


Key Features

🎛️ Interactive Design

  • Drag-and-Drop: Move Poles and Zeros on the complex plane and watch the Bode and Impulse plots update instantly.
  • Real-Time Feedback: Immediate visualization of Magnitude, Phase, and Time-Domain response.

📈 Advanced Analysis

  • Stability Visualization: Toggle between Causal (standard) and Anti-Causal (stable reconstruction from unstable poles) modes.
  • Two-Sided Impulse Response:
    • Digital: Moving poles outside $|z|=1$ generates left-sided sequences ($n < 0$).
    • Analog: Moving poles to the Right Half Plane generates negative-time decay ($t < 0$).
  • Bode Plot: Logarithmic frequency application for Analog, Linear for Digital (normalized frequency).

🎨 Professional Branding

  • LSC Branding: Features a professional scientific color scheme (LSC Blue) and branding.
  • Publication Ready: Clean, compact layout suitable for demonstrations and teaching.

Local Development

This project uses uv for fast, reliable package management.

Prerequisites

  • Python 3.9+
  • uv installed (curl -LsSf https://astral.sh/uv/install.sh | sh)

Running the App

  1. Clone the repository:

    git clone https://github.com/JWKennington/app-dsp-filter-design.git
    cd app-dsp-filter-design
    
  2. Sync dependencies:

    uv sync
    
  3. Run the application:

    uv run dsp-fd
    

    Open http://127.0.0.1:8050 in your browser.


Deployment

Docker

A Dockerfile is included for containerized deployment.

docker build -t dsp-fd .
docker run -p 8050:8050 dsp-fd

Render

This repository is configured for immediate deployment on Render.

  1. Click the Deploy to Render button above.
  2. Connect your GitHub account.
  3. Render will automatically build using the Dockerfile and deploy the service.

License

MIT License. See LICENSE for details.

© 2026 James Kennington.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsp_filter_design-0.1.0.tar.gz (108.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsp_filter_design-0.1.0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file dsp_filter_design-0.1.0.tar.gz.

File metadata

  • Download URL: dsp_filter_design-0.1.0.tar.gz
  • Upload date:
  • Size: 108.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dsp_filter_design-0.1.0.tar.gz
Algorithm Hash digest
SHA256 76a72ca976d160922d04b58ebb6727086e09bce9b8397975afed62494cf0acd6
MD5 d7d6b684f9d46434f774f3d6c71f05d3
BLAKE2b-256 932392ae8b4ac7b187bbb0a4a5822203911f980f37005d452ce0fe758e3fc22f

See more details on using hashes here.

File details

Details for the file dsp_filter_design-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dsp_filter_design-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dsp_filter_design-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e921a4887ccf2d1c82543e3883d7d06ec5a2cc7040ee7be2c328a87908627944
MD5 d8b002f7deaff4396ea543394d5ccd1d
BLAKE2b-256 39ae84eb1bb5b16f55cf294729ff45c14af4eb49f487a54519c1c0b2b2e7237e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page