Wireless Communication Systems
Lab 1: 1x1 OFDM transmission
Introduction
In this lab, you will learn how to impelement a simple OFDM
layer chain. You don't need to implement everything from scratch.
Instead, there is a very easy-to-follow example code provided by
WARPLab (https://warpproject.org/trac/wiki/WARPLab/Examples/OFDM).
You only need to read and understand this example code, and then
port it to the USRP platform. Through code review and porting, you
will know how to generate time-domain signals, transmit signals over
the air using USRP, record the received signals, and offline decode
the signals and analyze the performance.
You can download the example code for USRP here: lab1_example.zip (10/05 17:05 updated)
Default parameters: the same with WARPLab example code.
Files to submit
- signal_gen.m
- single_tx.c
- single_rx.c
- decode.m
- report.pdf (including all figures along with captions)
Figures to show
- Figure 1: estimated channel state information of data
sub-carriers (real and image parts)
- Figure 2: average SNR of each subcarrier with/without phase
tracking
- Figure 3: symbol SNR over time with/without phase
tracking
- Figure 4: phase of data subcarriers in the first symbol
with/without phase tracking
- Figure 5: constellation points of decoded signals
See details in lab1_info.pdf.
Demo
- Time: Oct. 21, 10:30 - 12:00 or by appointment
- Location: EC-538
- Contact with TA to sign up the slot
File Submission
- Due: Oct. 18 (Tue.) 11:59pm
- Email to msn.nctu@gmail.com
- Email subject: [WCS] lab1_gX
- Filename: WCS_lab1_gX.zip
Grading
- signal_gen.m: 10%
- Tx/Rx: 20%
- decode.m: 40% (each figure 8%)
- Code readability: 10%
- Q&A: 10%
- Peer review: +- 15%
Lab 2: 1x1 OFDM Tx in UHD
Introduction
In this lab, you will learn how to generate time-domain samples in
UHD. The main task is similar to Lab1. The only difference is that now
you need to read the frequency-domain samples into your UHD
single_tx_f.cpp file, convert them to time-domain samples, and
transmit them to the receiver. The receiver still receives and record
time-domain samples for Matlab offline decoding.
Gnuradio does not support FFT/IFFT library by default. Hence, you will
need to install FFT library (FFTW3) before implementing this lab.
Please see the slide to check how to install the FFT library. Here is
an example code teaching you how to call the fft library: fft_sample.cpp. You
might need to do some small modification since what you need is
IFFT, instead of FFT.
Default parameters: the same with Lab1.
Files to submit
- signal_f_gen.m
- single_tx_f.cpp (.h)
- single_rx.cpp (.h)
- decode.m
Figures to show in demo
- Figure 1: estimated channel state information of data
sub-carriers (real and image parts)
- Figure 2: average SNR of each subcarrier with/without phase
tracking
- Figure 3: symbol SNR over time with/without phase
tracking
- Figure 4: constellation points of decoded signals
See details in lab2_info.pdf.
Demo
- Time: Nov. 4, 10:00 - 12:00 or by appointment
- Location: EC-538
- Contact with TA to sign up the slot
File Submission
- Due: Nov. 4 (Fri.) 11:59pm
- Email to msn.nctu@gmail.com
- Email subject: [WCS] lab2_gX
- Filename: WCS_lab2_gX.zip
Grading
- signal_f_gen.m: 10%
- single_tx_f.cpp: 60%
- decode.m: 10%
- Code readability: 10%
- Peer review: +- 15%
Lab 3: 2x2 MIMO OFDM Transmission
Introduction
In this lab, you will learn how to build a MIMO node using USRPs
and perform MIMO transmissions. This lab extends the OFDM chain
implemented in Lab 1 to a 2x2 system. The 2-antenna transmitter sends
two data streams simultaneously. The 2-antenna receiver dumps the raw
received signals, which are then decoded using the zero-forcing
equalizer offline in Matlab. Similar to Lab 1, you can read the 2x2
example code provided by WARPLab (https://warpproject.org/trac/wiki/WARPLab/Examples/MIMO_OFDM),
and port it to the USRP platform.
You can download the example code for USRP here: lab3_example.zip lab3_cpp.zip
Default parameters: the same with Lab1.
Files to submit
- 2ant_tx.cpp (.h)
- 2ant_rx.cpp (.h)
- signal_gen.m
- decode.m
Figures to show in demo
- Figure 1: 2x2 channel estimation of data
sub-carriers (real and image parts)
- Figure 2: average SNR of each subcarrier of the two streams
- Figure 3: constellation points of the decoded signals
- Figure 4: relation between channel correlation and the
achievable SNR in different traces
See details in lab3_info.pdf.
Demo
- Time: Dec. 2, 10:00 - 12:00 or by appointment
- Location: EC-538
- Contact with TA to sign up the slot
File Submission
- Due: Dec. 9 (Fri.) 11:59pm
- Email to msn.nctu@gmail.com
- Email subject: [WCS] lab3_gX
- Filename: WCS_lab3_gX.zip
Grading
- Tx/Rx: 30%
- decode.m: 30%
- figures: 20%
- Code readability: 10%
- Peer review: +- 15%