原始内容
Signal Processing with AI
An innovative educational resource demonstrating how AI can revolutionize signal processing education through interactive microsimulations and intelligent content generation.
🌐 Live Website
https://dmccreary.github.io/signal-processing/
📖 Overview
This repository contains an intelligent textbook on signal processing that serves as a proof-of-concept for AI-enhanced education. Rather than being a traditional textbook, this project demonstrates how generative AI can be used by both instructors and students to create, modify, and enhance educational content in signal processing.
Key Features
- 📚 20 Comprehensive Chapters - From basic signal theory to AI applications
- 🎮 Interactive Microsimulations - Built with P5.js for hands-on learning
- 📊 Educational Visualizations - FFT demos, filter designs, and circuit simulations
- 📖 Historical Stories - Visual narratives about Shannon, Hedy Lamarr, and signal processing pioneers
- 🔧 Circuit Diagrams - Generated with Schemadraw for analog circuit education
- 🤖 AI-Generated Content - Lesson plans, assessments, and educational materials
- 📈 Learning Analytics - Concept dependency graphs and learning pathways
🚀 Quick Start
Prerequisites
- Python 3.x
- Git
Local Development
Clone the repository
git clone https://github.com/dmccreary/signal-processing.git cd signal-processingSet up the environment
# Using conda (recommended) conda create -n mkdocs python=3 conda activate mkdocs pip install mkdocs "mkdocs-material[imaging]" # For social cards on macOS (optional) brew install cairo freetype libffi libjpeg libpng zlib export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/libRun the development server
mkdocs serveOpen your browser to
http://localhost:8000
Building and Deployment
# Build the site
mkdocs build
# Deploy to GitHub Pages
mkdocs gh-deploy
📁 Project Structure
signal-processing/
├── docs/ # MkDocs content
│ ├── chapters/ # 20 educational chapters
│ ├── sims/ # Interactive P5.js microsimulations
│ ├── stories/ # Historical narratives with visuals
│ ├── circuits/ # Circuit diagrams and explanations
│ ├── prompts/ # AI prompts for content generation
│ ├── css/ # Custom styling
│ └── js/ # Custom JavaScript
├── src/ # Source utilities
│ ├── csv-to-json/ # Data conversion tools
│ ├── glossary/ # Glossary management
│ └── schemadraw/ # Circuit diagram generation
├── plugins/ # Custom MkDocs plugins
├── mkdocs.yml # Site configuration
└── README.md # This file
🎯 Educational Philosophy
This project demonstrates how AI can transform education by:
- Generating Interactive Content - Using AI to create simulations and visualizations
- Personalizing Learning - Adaptive content based on student needs
- Enhancing Instructor Productivity - AI-assisted lesson planning and assessment creation
- Bridging Theory and Practice - Interactive demos that make abstract concepts tangible
🔧 Technology Stack
- MkDocs - Static site generator
- Material for MkDocs - Modern theme with social cards
- P5.js - Interactive visualizations and simulations
- Schemadraw - Circuit diagram generation
- MathJax - Mathematical equation rendering
- GitHub Pages - Hosting and deployment
🎨 Featured Microsimulations
- Basic FFT Visualization - Interactive Fourier transform demonstrations
- Filter Design Tools - Real-time filter response visualization
- Nyquist-Shannon Sampling - Sampling theorem exploration
- Convolution Simulator - Step-by-step convolution process
- Frequency Detection - Live audio analysis
- Circuit Analysis - RC filters and op-amp configurations
🤝 Contributing
We welcome contributions! Please see our contribution guidelines for details on:
- Adding new microsimulations
- Creating educational content
- Improving documentation
- Reporting bugs and suggesting features
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test locally with
mkdocs serve - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
🙏 Acknowledgments
Institutions
- University of Minnesota - Educational research and development support
- New York University (NYU) - For creating and maintaining the P5.js library
AI Tools and Platforms
- OpenAI ChatGPT - Content generation, lesson planning, and educational material development
- Anthropic Claude Sonnet - Advanced reasoning and educational content refinement
- Claude Code - Code development, documentation, and project enhancement
Open Source Libraries
- P5.js Team - For the incredible creative coding framework that powers our interactive simulations
- MkDocs Community - For the excellent documentation platform
- Material for MkDocs - For the beautiful and functional theme
Special Recognition
We extend our gratitude to the broader signal processing education community, open source contributors, and the researchers advancing AI-enhanced learning methodologies.
📞 Contact
- Author: Dan McCreary
- Website: https://dmccreary.github.io/signal-processing/
- Repository: https://github.com/dmccreary/signal-processing
⭐ Star this repository if you find it useful for AI-enhanced education!
