MATLAB labwork from EECE7398: An Experimental Approach to Wireless Communications (Northeastern University, Fall 2024, Prof. Elena Bernal Mor), completed with lab partner Soniya Kadam. Each lab builds directly on the last, moving from basic single-carrier transmission up to a full OFDM system with channel equalization.
The course used real RF hardware in the loop: a Keysight signal generator (SG), digital storage oscilloscope (DSO), and FieldFox spectrum/network analyzer, controlled either directly or through BenchVue software. MATLAB scripts generate the waveform to transmit, and separate scripts process the signal actually captured off the DSO.
| Folder | Topic | Highlights |
|---|---|---|
single-carrier-transceiver/ |
BPSK transmit/receive pipeline | Full transmitter → channel → receiver chain, symbol timing, BER calculation |
modulation-filtering-analysis/ |
M-PSK / M-QAM sweep | SER/BER comparison across modulation orders 2–32, correlation vs. matched filtering |
channel-equalization/ |
Zero-forcing & MMSE equalization | Least-squares channel estimation, a documented equalizer failure mode and root-cause analysis |
ofdm-multicarrier/ |
OFDM system | FFT size / cyclic prefix sweep, EVM/BER/SER analysis, PSK vs. QAM under multicarrier transmission |
Each folder is self-contained with its own functions/ subfolder — copy-paste runnable in MATLAB, aside from the RF-captured .mat files described below.
These scripts were built and modified over the course of the semester, editing in place rather than versioning each run. Two things follow from that:
- Captured
.matwaveform files are not included. Each receiver script loads a.matfile containingTime_sandTrace_1_VOLTvectors captured from the physical DSO. These files were tied to a specific lab session on specific hardware and weren't saved as durable artifacts. To run a receiver script end-to-end, you'd need your own capture in that format, or you can run the corresponding transmitter script standalone to see the waveform generation and constellation/spectrum plots. - One experimental variant from Assignment 3 (transmitting a custom text message instead of the fixed test sequence) was edited in-place and the modified version wasn't saved separately. The base BPSK version in this repo is what's preserved; the custom-message run and its results are described in that folder's README.
MATLAB, Communications Toolbox (pskmod/qammod/pskdemod/qamdemod, rcosdesign, bandpass), Keysight FieldFox, Signal Generator, and Digital Storage Oscilloscope, BenchVue.