Assignments
Assignments
HW 1 (due 02/12):
Programming Assignment 01: The goal of this assignment is to make you familiar with the frequency domain to develop an understanding of the lowest layer of computer networks, the "physical" layer. The assignment is based on the Jupyter Notebook. The initial part is a tutorial on Euler's formula, Complex Signals, and Discrete Fourier transform (DFT). There are four problems you need to resolve in this assignment.
HW 2 (due 02/28):
Programming Assignment 02: In this assignment, we will build an additive white Gaussian noise (AWGN) wireless system simulator. The initial part is a Binary Phase Shift Keying (BPSK) modulated signal transmission and demodulation, where the raised cosine filter-based pulse shaping is applied to reduce the bandwidth. The second part is Bit Error Rate (BER) analysis across Signal-to-Noise Ratio (SNR); by building an end-to-end wireless system simulator, we'll test 1,000,000-bit communications to get its BER performance, varying SNRs.
HW 3 (due 03/14):
Programming Assignment 03: This assignment aims to explore multi-antenna systems and beams. We'll explore both beamforming- and spatial multiplexing-based multi-antenna systems (e.g., Eigenmode MIMO based on Singular Value Decomposition). Also, on top of the AWGN BPSK wireless simulator built in HW2, we will consider random channels, a channel equalization method, high-order modulations, and gray coding and test their impact on the overall BER performance.
HW 4 (due 04/02):
Programming Assignment 04: This assignment is about Forward Error Correction and multi-user MIMO detection. We'll understand the principles of error correction coding schemes used in wireless networks and then build them. We will also extend our wireless simulator to a wireless MIMO simulator. For this, we will implement different MIMO detectors (Zero-forcing and Maximum Likelihood detectors) and simulate BER performance under various wireless communications scenarios. We will test the impact of (1) the modulations and SNRs, (2) user counts, (3) receiver antenna counts, and (4) MIMO detectors on the BER performance and compute time.
HW 5 (due 04/24):
Programming Assignment 05: This assignment will cover L2 Medium Access Control (MAC), L3 Packet Routing, and L4 TCP Congestion Control. We'll understand how each layer (i.e., L2, L3, and L4) in networks works and simulate their mechanisms. For example, for L3 IP packet routing, we will implement Dijkstra's algorithm to obtain the network nodes' forwarding tables and simulate packet routing and forwarding based on the forwarding tables. In addition to that, we will apply the Time-to-Live (TTL) concept to the packet delivery to consider more realistic IP scenarios.