Digital communications course
Digital Communications
This repository provides instructional material for digital communications. The material is used for EL-GY 6013: Digital Communications*, a graduate level class at NYU Tandon.
Anyone is free to use and copy this material (at their own risk!). But, please cite the material if you use the material in your own class.
Pre-requisites
The class assumes graduate probability (stochastic processes) and
undergraduate signals and systems.
Familiarity with MATLAB or equivalent language is preferred.
Using github
All the files in this repository are hosted on github. If you are not familiar with github, follow our instructions for accessing the files.
Feedback
Any feedback is welcome. If you find errors, have ideas for improvements, or want to voice any other thoughts, create an issue and we will try to get to it. Even better, fork the repository, make the changes yourself and create a pull request and we will try to merge it in. See the excellent instructions from the former TA Ish Jain.
SDR Labs
I am starting to add software-defined radio (SDR) labs. The labs are based on the simple, but powerful ADALM-Pluto boards. The labs are being migrated from a separate SDR github repo.
Sequence
We will add to this section as the class progresses.
- Introduction
- Course Admin [pdf] [Powerpoint]
- Matlab and SDR Lab: Getting started and transmitting and receiving complex baseband samples
- Unit 1. Passband modulation
- Lecture notes [pdf] [Powerpoint]
- In-Class exercises: [Matlab] [Soln]
- Problems [pdf] [Latex]
- Matlab and SDR Lab 1.1: Complex exponentials, frequency and carrier offset estimation
- Matlab and SDR Lab 1.2: Up- and down-conversion
- Unit 2. Symbol mapping and transmit filtering
- Lecture notes [pdf] [Powerpoint]
- In-Class exercises: [Matlab] [Soln]
- Problems [pdf] [Latex]
- MATLAB and SDR Lab: Symbol Mapping and TX Filter design
- Unit 3. Receive filtering
- Lecture notes [pdf] [Powerpoint]
- In-Class exercises: [Matlab] [Soln]
- Problems [pdf] [Latex]
- MATLAB and SDR Lab: Simulating and sounding a multi-path channel
- Unit 4. Signal space theory
- Lecture notes [pdf] [Powerpoint]
- Problems [pdf] [Latex]
- Unit 5. Random process review
- Lecture notes [pdf] [Powerpoint]
- Problems [pdf] [Latex]
- MATLAB exercise: Simulating Rayleigh fading
- Unit 6. Symbol demodulation and error analysis
- Lecture notes [pdf] [Powerpoint]
- In-Class exercises: [Matlab] [Soln]
- Problems [pdf] [Latex]
- MATLAB exercise: QAM Demodulation
- Unit 7. Synchronization and match filtering
- Lecture notes [pdf] [Powerpoint]
- In-Class exercises: [Matlab] [Soln]
- Problems [pdf] [Latex]
- SDR Lab: Gain control and building a simple AGC.
- MATLAB and SDR lab: 802.11 packet detection and synchronization
- Unit 8. Equalization
- Lecture notes [pdf] [Powerpoint]
- Problems [pdf] [Latex]
- MATLAB and SDR lab: 802.11 channel estimation and equalization
- Unit 9. Linear codes
- Unit 10. Convolutional codes
- Unit 11. Information theory
- Lecture notes [pdf] [Powerpoint]
- Problems: [pdf] [Latex]
- Unit 12. LDPC codes
- Lecture notes [pdf] [Powerpoint]
Cite As
Sundeep Rangan (2024). Digital communications course (https://github.com/sdrangan/digitalcomm/releases/tag/v1.0.0), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
common
unit01_passband
unit01_passband/lab_freq
unit02_tx_filter
unit02_tx_filter/lab
unit03_rx_filter
unit03_rx_filter/lab
unit05_rand_process
unit07_sync
unit07_sync/labPartial
unit07_sync/labPartial_v1
unit08_ofdm
unit08_ofdm/labPartial
unit01_passband
unit01_passband/lab_freq
unit01_passband/lab_passband
unit02_tx_filter
unit02_tx_filter/lab
unit03_rx_filter
unit03_rx_filter/lab
unit06_demod
unit07_sync
unit07_sync/labPartial
unit07_sync/labPartial_v1
unit08_ofdm/labPartial
unit10_conv
unit11_capacity
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |