Course Syllabus
ECE398MA:
Introduction to Modern Communication with Python and SDR
Course Overview
In this course, students will discover the foundational concepts behind modern wireless communication systems and get hands-on experience with cutting-edge software-defined radio (SDR) technology. Students learn how Python can be used to simulate and decode real-world communication protocols such as Bluetooth, WiFi, and FM Radio. This course aims at junior ECE students who are interested in wireless technologies and curious about practical implementations of communication theory.
Students will Learn:
- Basics of analog and digital communication systems
- Introduction to wireless communication protocols (Bluetooth, GPS, WiFi, FM Radio)
- How to use Python to model, analyze, and simulate communication systems
- Hands-on projects with software-defined radios (SDR)
- Industry-driven case studies to apply knowledge in real-world contexts
Instructors: Thomas Moon (tmoon@)
Prerequisites: ECE 210
PlutoSDR Rental: This course requires a PlutoSDR device for lab work. You can rent the device from the ECE shop. Please visit the following link to check out the device.
Course Timing
Lectures: MTW, 9-9:50 am @ECEB 3020
Office Hour (starting 2nd week):
- Wednesday 10am-11am (after lecture) @ECEB-3020
- 2/25 Office hour moves to 1-2pm, 2/26 (Thursday) @Zoom
Course Schedule
The course schedules are subject to change.
Week of |
Area |
Lecture Topic (MW) |
Lab (F) |
Note |
|
1/19 |
Analog Communications |
Course Introduction |
No Quiz |
MLK 1/19 |
|
1/26 |
|
Lab1 due |
||
|
2/2 |
Baseband representation of bandpass signals, Hilbert transform |
|
Lab2 due |
|
|
2/9 |
|
SDR project1 due |
||
|
2/16 |
|
Lab3 due |
||
|
2/23 |
SDR Project 2: FM Stereo Transceiver (due 3/9)
|
Lab4 due |
||
|
3/2 |
Digital Communications |
Intro to Digital comm |
|
SDR project 2 due |
|
3/9 |
Matched-filter, Symbol-timing recovery |
Lab6: Matched-filter, Symbol-timing recovery |
Lab5 due |
|
|
3/16 |
|
|||
|
3/23 |
|
Lab6 due |
||
|
3/30 |
|
Lab7 due |
||
|
4/6 |
|
Lab8 due |
||
|
4/13 |
Quiz11
|
Lab9 due |
||
|
4/20 |
Applications |
SDR Project 3: Text message by OOK and 16QAM Quiz12
|
Lab10 due |
|
|
4/27 |
SDR Project 3 continued 4/29, 5/1: Test run
|
|
||
|
5/4 |
No lecture |
Demo: 5/4: OOK Demo 5/6: 16QAM Demo |
SDR Project 3 Report due |
|
Policy on Use of Generative AI Tools
This course emphasizes individual understanding, hands-on implementation, and direct engagement with communication systems using Python and SDR hardware. To preserve the learning objectives, the use of generative AI tools is limited.
Permitted Use
Students may use generative AI tools only for basic Python syntax assistance or hardware/software setup and installation tasks, such as:
- Understanding Python language syntax or library function usage
- Clarifying error messages (e.g., Python exceptions, error/warning messages)
- Learning general programming constructs (loops, list comprehensions, function definitions)
- Python installation and environment management
- Package installation and dependency issues (e.g., NumPy, SciPy, Matplotlib)
- PlutoSDR driver and firmware installation
This use must be generic and non–course-specific.
Prohibited Use
The following uses of AI tools are NOT allowed and constitute a violation of academic integrity:
- Copying or pasting any part of the lab document, lab instructions, or provided starter code into an AI tool
- Using AI to:
- Generate full or partial lab solutions
- Modify, refactor, or complete provided code templates
- Rename variables, functions, or files from the provided code to produce a “new” solution
- Submitting AI-generated code or text that you cannot fully explain
- Using AI to interpret lab results, generate plots, or write analysis sections of lab reports
Enforcement
- Inability to explain submitted work or inconsistencies between submitted code and demonstrated understanding may trigger an academic integrity review.
- Violations may result in penalties ranging from a letter grade reduction to further disciplinary action, consistent with university policy.
Examples of Permitted vs. Prohibited AI Prompts
Permitted Prompts (Syntax-Level Only)
- “Show me examples of Python array slicing.”
- “What does this Python error mean: ValueError: operands could not be broadcast together?”
- “How do I plot multiple lines using Matplotlib?”
- “What is the difference between a Python list and a NumPy array?”
- “How do I write a for-loop over array indices in Python?”
- “What is the correct syntax for defining a Python function with default arguments?”
- “How do I install NumPy and Matplotlib in a Conda environment?”
- “How do I install the PlutoSDR drivers on Windows?”
- “Why is my PlutoSDR not showing up as a USB device?”
Prohibited Prompts (Course-Specific or Solution-Generating)
These prompts directly or indirectly ask the AI to complete, modify, or interpret course assignments, which is not allowed.
Direct Solution Requests
- “Complete the following code for FM demodulation.”
- “Implement matched filtering for this lab.”
- “Generate the Python code for symbol timing recovery.”
Using Provided Course Materials
- “Modify this provided code so that it performs carrier recovery.”
- “Rename variables and rewrite this code so it looks original.”
Disguised or Indirect Prompts
- “Explain what this lab code is doing and suggest how to complete the assignments.”
- “Analyze the results from the code and compare the two methods.”
If the prompt mentions this course, labs, SDR projects, modulation, demodulation, or includes provided code or instructions, it is NOT allowed.
If the prompt could apply to any generic Python tutorial or installation and configuration, it is allowed.
Grading Breakdown
| Lab Reports | SDR Projects | Lecture Quizzes |
| 45% | 30% | 25% |
1. Lab Reports (45%):
- Weekly lab assignments will be worth 100-150 points each (Lab1 50 points).
- No extensions will be granted for COVID-related or other medical/non-medical circumstances. Instead, the lowest lab score will be dropped.
- Lab assignments will be distributed on Thursdays and are due the following Thursday at 10:00 PM.
- All submissions must be made via Gradescope, where grades will also be published once ready.
- Lab report is required to use this Latex Template.
2. SDR Projects (30%):
There will be 3 SDR projects focusing on hands-on exploration of real-world communication systems:
- SDR Scanner (5%): Scanning real communication signals in an outdoor environment.
- FM Radio Demodulation (10%): Demodulating FM radio signals and playing audio outputs.
- Text messaging (15%): Implementation and analysis of a digital communication system.
3. Lecture Quizzes (25%):
- Paper-based closed-book quizzes will be administered during the first 10 minutes of each Friday lab session.
- Quizzes will test students’ understanding of concepts covered in lectures.
- The lowest two quiz scores will be dropped.
Lectures and Lab Sessions
Lectures (Monday and Wednesday):
Lectures will cover the theory and concepts of communication systems. The course will be divided into three parts:
- Analog Communication and Basics of Signal Processing (5-6 weeks): Introduction to analog communication techniques and foundational signal processing concepts.
- Digital Communication (5-6 weeks): Key principles of digital communication, including modulation schemes, synchronization, channel equalization, etc.
- Applications of Modern Communication (3-4 weeks): Exploration of modern communication technologies and IoT.
Lab Sessions (Friday):
Each lab session will begin with a 10-minute lecture quiz to assess students’ understanding of the week's concepts. Following the quiz, the session will include a discussion of the upcoming lab, along with demonstrations of relevant examples.
Important Course Policies
- Individual Work: All lab reports, lecture quizzes, and SDR projects must be completed individually. Collaboration or sharing of work is strictly prohibited.
- Academic Integrity: Students are expected to adhere to the university’s policies on academic integrity. Any violations will result in disciplinary action.
- Late Work Policy: As the lowest lab score and quiz scores are dropped, no further accommodations for late submissions will be provided. Please plan your time accordingly.
Recommended textbook:
J. G. Proakis and M. Salehi, Fundamentals of Communication Systems, 2nd edition, Prentice-Hall, ISBN: 978-0133354850.