Skip to main content

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.

Metadata

Release files for dsp-filter-design 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dsp-filter-design 0.1.0
File Size Uploaded Provenance Actions
dsp_filter_design-0.1.0.tar.gz 108.7 kB Without provenance Details for dsp_filter_design-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dsp-filter-design 0.1.0
File Interpreter ABI Platform Actions
dsp_filter_design-0.1.0-py3-none-any.whl Python 3 none any Details for dsp_filter_design-0.1.0-py3-none-any.whl

Total release size: 146.7 kB

Release files / dsp_filter_design-0.1.0.tar.gz

Download URL dsp_filter_design-0.1.0.tar.gz
Size 108.7 kB
Tags Source
SHA-256 checksum
How to use checksums
76a72ca976d160922d04b58ebb6727086e09bce9b8397975afed62494cf0acd6
BLAKE2b-256 checksum
How to use checksums
932392ae8b4ac7b187bbb0a4a5822203911f980f37005d452ce0fe758e3fc22f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / dsp_filter_design-0.1.0-py3-none-any.whl

Download URL dsp_filter_design-0.1.0-py3-none-any.whl
Size 38.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e921a4887ccf2d1c82543e3883d7d06ec5a2cc7040ee7be2c328a87908627944
BLAKE2b-256 checksum
How to use checksums
39ae84eb1bb5b16f55cf294729ff45c14af4eb49f487a54519c1c0b2b2e7237e
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for dsp-filter-design 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page