signal-processing

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

Signal Processing with AI

ArXiv MkDocs Material for MkDocs GitHub Pages License: CC BY-NC-SA 4.0

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

  1. Clone the repository

    git clone https://github.com/dmccreary/signal-processing.git
    cd signal-processing
    
  2. Set 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/lib
    
  3. Run the development server

    mkdocs serve
    
  4. Open 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

🎨 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test locally with mkdocs serve
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

📄 License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

🙏 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


Star this repository if you find it useful for AI-enhanced education!