ECE 4625/5625 Communication Systems 1

Course header graphic showing a frequency modulated carrier waveform as produced by the elements in the FM Modulator block diagram.

Catalog Course Description

Introduction to principles of modern communication theory and signal processing: AM, FM, PAM, PCM, and delta modulation. Noise analysis, filtering, threshold effects, phase-locked loops, and introduction to digital modulation. Prer., ECE 3205. Meets with ECE 4625.
Prerequisite: ECE 3205 or equivalent
Offered: Spring (S)

News for 5-18-2026

Grading status:

  • As of 9 pm grades have been posted.
  • A short time ago I finished the homework paper grading. I have been grading papers during some time of each of the past 12 days!
  • The two missing histograms will allow me to finally fill out the grading form. I will be doing this after I ponder where to properly place the grading decision boundaries. I expect to post late afternoon to early evening frame. It has been a long haul.
  • Histogram of the current status from last Friday, before I started grading the 100+ homework papers.

Getting Tools Setup

Course Materials

Course Syllabus as of January 05, 2026 10:18:00.

Intro Lecture (Chapter 1) as of January 11, 2026 03:48:59.

Lecture Notes

Updates will be coming to the lecture notes as needed.

Other Course Materials

Lecture videos from Spring 2020 are on YouTube via the links below. I have a YouTube channel with playlists for each of the courses posted in this course Web Site. The lecture format is two 75min lectures per week, hence they are denoted as ‘a’ and ‘b’ in the list below. The impact of Covid hit mid semester, when the lecture recording process moved from the classroom to teaching from home over the internet.

In some cases 2019 or 2018 videos are substituted. This is because technical issues may have resulted in recording failure or an exam was given. In Spring 2026 the lecture format changed from twice a week to once a week.

Problem Sets with Hints

All of the below will be updated. Assignment 1 is now placed. Hints pages will follow.

Set Histograms as of March 02, 2026 09:42:37

Set 1 as of January 29, 2026 08:11:06. Hints as of January 29, 2026 08:11:06. Solutions as of February 04, 2026 07:16:58.

Set 2 as of February 04, 2026 08:16:38. Hints as of February 05, 2026 09:30:26. Solutions as of February 14, 2026 08:40:36.

Set 3 as of February 16, 2026 12:36:43. Hints as of February 20, 2026 10:20:30. Solutions as of .

Set 4 as of February 21, 2026 10:56:00. Hints as of February 25, 2026 08:25:25. Solutions as of February 28, 2026 07:21:29.

Set 5 as of March 07, 2026 09:23:10. Hints as of March 10, 2026 06:21:16. Solutions as of March 14, 2026 08:26:21.

Set 6 as of March 15, 2026 01:47:20. Hints as of March 17, 2026 07:57:23. Solutions as of March 21, 2026 07:56:32

Set 7 as of April 04, 2026 03:56:01. Hints as of April 04, 2026 03:55:10. Solutions as of April 13, 2026 07:13:21.

Set 8 as of April 04, 2026 03:55:09. Hints as of April 04, 2026 03:55:09. Solutions as of April 17, 2026 03:47:46.

Set 9 as of April 04, 2026 03:55:09. Hints as of April 04, 2026 03:55:09. Solutions as of May 06, 2026 09:08:12.

Set 10 as of April 04, 2026 05:54:44. Hints as of April 04, 2026 05:54:44. Solutions as of May 09, 2026 12:04:24.

A Collection of Jupyter Notebooks

These notebooks will be updated, and Julia version will be made available as time permits and/or the need arises. As 3/27 the Chapter 4 notebook is about to be updated.

Python Projects Spring 2026

Project 1: Reader as of April 14, 2026 08:54:20. Sample Jupyter notebook as of April 08, 2026 10:03:57.

Project 2: Reader as of May 08, 2026 07:57:19. Sample Jupyter notebook as of April 15, 2026 10:24:58. PDF rendered sample notebook as of April 15, 2026 10:24:57.

Python Projects Spring 2020

Sample Exams with Solutions

Exam 1 Related

Exam 2 Related

  • A typst project zip export ready to load into your Typst account
  • The pdf from the sample project, which includes useful problem solutions for problem similar to Set 1; note this sample project was written for Modern DSP, ECE 4650/5650, so Set 1 problems are of a different type

In the *.typ file of this ZIP package the header imports the Callisto package. Some of the earlier graphics are now abandoned in favor of importing notebook content directly. The three cell types rendered are (1) Python code cells, (2) Markdown cells that include equations, (3) plots created in code cells. The header area at the top of the *.typ file now includes the line:
import "@preview/callisto:0.2.4"
There is also a *.ipynb file in the main directory which is brought into the Typst document using the line:
#let (render, result) = callisto.config(nb: json(“Typst_demo_python.ipynb”))
Individual cells from the notebook are brought into the *.typ file using Typst lines of the form:
#render(1)
where the number is the cell number. You need to load the notebook into your local Jupyter session to get a better sense of the content in the notebook. All of the notebook content is added under the Problem 2.29 part of the example. Overall the results are very nice and you see what the #render() statements are doing via the real-time preview!

Fall Related 2026

Modern DSP, ECE 4650/5650 and hopefully Digital Communications, ECE 4630/5630.

Learning Python and Getting Acquainted with Julia

There are many resources for learning Python. For our purposes we are interested in learning Python with an emphasis on the so-called scipy stack which includes the well-known packages numpy, scipy, and matplotlib.