https://github.com/algoscienceacademy/dsp
A comprehensive suite of interactive DSP applications designed for different skill levels. This project provides hands-on experience with digital signal processing concepts through visual and interactive tools.
https://github.com/algoscienceacademy/dsp
dsp matplotlib pyside6 python scipy signal-processing simulation
Last synced: 3 months ago
JSON representation
A comprehensive suite of interactive DSP applications designed for different skill levels. This project provides hands-on experience with digital signal processing concepts through visual and interactive tools.
- Host: GitHub
- URL: https://github.com/algoscienceacademy/dsp
- Owner: algoscienceacademy
- Created: 2025-02-17T12:23:03.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-02-17T14:05:33.000Z (3 months ago)
- Last Synced: 2025-02-17T15:22:52.325Z (3 months ago)
- Topics: dsp, matplotlib, pyside6, python, scipy, signal-processing, simulation
- Language: Python
- Homepage:
- Size: 599 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Digital Signal Processing (DSP) Learning Suite
A comprehensive suite of interactive DSP applications designed for different skill levels. This project provides hands-on experience with digital signal processing concepts through visual and interactive tools.
## Project Structure
```
aliasF/
├── Beginner/
│ ├── signalgui1.py
│ └── README.md
├── Intermediate/
│ ├── signalgui2.py
│ └── README.md
├── Expert/
│ ├── main.py
│ └── README.md
└── README.md
```## Overview
This project offers three levels of DSP applications:
- **Beginner**: Basic signal sampling and quantization
- **Intermediate**: Advanced signal processing with FFT analysis
- **Expert**: Comprehensive DSP workbench with real-time analysis## Requirements
- Python 3.8+
- PySide6
- NumPy
- Matplotlib
- SciPy
- Pandas (Expert level only)## Installation
```bash
pip install PySide6 numpy matplotlib scipy pandas
```## Quick Start
1. Clone the repository
2. Navigate to desired difficulty level
3. Run the corresponding Python file:
```bash
python signalgui1.py # For beginner
python signalgui2.py # For intermediate
python main.py # For expert
```# Project Setup Guide
## Virtual Environment Setup
1. Install Python 3.8 or higher if not already installed
2. Create a virtual environment:
```bash
python -m venv venv
```
3. Activate the virtual environment:
- On Windows:
```bash
venv\Scripts\activate
```
- On macOS/Linux:
```bash
source venv/bin/activate
```## Required Packages
Install the following packages after activating your virtual environment:
```bash
pip install -r requirements.txt
```Essential packages include:
- pip>=21.0.0
- setuptools>=45.0.0
- wheel>=0.37.0
- pytest>=6.0.0
- black>=22.0.0 # for code formatting
- flake8>=3.9.0 # for linting
- mypy>=0.910 # for type checking
- python-dotenv>=0.19.0 # for environment variables## Features
### Common Features
- Interactive signal generation
- Real-time visualization
- Sampling and quantization
- Aliasing demonstration### Level-specific Features
- **Beginner**: Basic DSP concepts
- **Intermediate**: FFT analysis, noise simulation
- **Expert**: Advanced filtering, PCM encoding, eye diagrams## Contributing
Feel free to submit issues and enhancement requests.
## License
MIT License