Top Banner
Yu-Lin Wei 2016.11.10 USRP Lab 3 Wireless Communication Systems @CS.NCTU
22

USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Apr 29, 2018

Download

Documents

nguyenlien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Yu-Lin Wei2016.11.10

USRP Lab 3

Wireless Communication [email protected]

Page 2: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Outline• Intro

• Environment• Tasks

• OFDM signal generator (MATLAB)• Tx / Rx (C++ for USRP)• Decoding (MATLAB)

• Grading Criteria

2

Page 3: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

3

Environment

Page 4: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

4

Offline generate time-domain signal

using Matlab

Run single_tx to control 2 USRP_TXs

Run single_rx to control 2 USRP_RXs

Decode offlineIn Matlab

• USRP Testbed in LAB / office• Access through ssh (test your single_tx / single_rx)• Run Matlab in your own machine

Page 5: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Build MIMO Using USRPs• Connect two USRPs using an external clock

• Configure clock info in tx.cpp and rx.cpp (have implemented in the example files)• usrp1->set_clock_config(uhd::clock_config_t::external());

usrp1->set_time_next_pps(uhd::time_spec_t(0.0));5

Page 6: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

USRP Server• ssh wcs-g#@140.113.203.6

ssh wcs-g#@140.113.207.100• e.g., [email protected] default password:

• Please refer to lab1_info.pptx for compile details

Page 7: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

50 symbols

TODO• Tx repetitively sends 50 symbols • Rx receives at least one batch of 50 symbols• Matlab offline decoding

7

50 symbolsP 50 symbolsP 50 symbolsP

timeTx

P

Tx 1

Tx 2

Legacy preamble for packet detection

MIMO preamble for calculating the channel matrix

Page 8: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Sample Code• WARP (Wireless Open Access Research

Platform)• 2x2 OFDM example:https://warpproject.org/trac/wiki/WARPLab/Examples/MIMO_OFDM• OFDM symbol generation • OFDM Tx/ Rx• Decoding

• Default setting• USE_WARPLAB_TXRX = 0 to see the simulation result• Set MOD_ORDER = 2 to use BPSK modulation

8

Page 9: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Task 1: OFDM Symbol Generator • This time generator code is given as sample

code• gen_signal.m

• signal_gen.m outputs the time-domain signal to be transmitted as tx1_signal.bin, tx2_signal.bin and src_data.mat

• tx1_signal.bin / tx2_signal.bin – will be fed into single_txfor USRP transmission

• src_data.mat – ground truth for decoding / plotting

9

Page 10: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Task 2: USRP Transmitter• Compile the example code and test • Sample code provided by the TA

• Similar to Tx in Lab1• Call “connecting to external clock”• Declare two USRP variables• Add comments to show your ”TODO” tasks

• TODO (2ant_tx.cpp/ 2ant_tx.h)• Modify 2ant_tx.cpp/ 2ant_tx.h to transmit the message

you just generated• Two variables: usrp1 and usrp2, each represents an

antenna• Now 2ant_tx.cpp only implements the code for the

first antenna (usrp1). Do the same thing for usrp2• Search “// TODO: add usrp2”

10

Page 11: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Task 3: USRP Receiver• Sample code provided by the TA

• Receive the upcoming signal• Save the data at wcs_trace/rx1_signal.bin and

wcs_trace/rx2_signal.bin

• Launch 2ant_rx after 2ant_tx

• ./2ant_rx --f=2.49 --i=128

• TODO (2ant_rx.cpp)• Modify 2ant_rx.cpp to add the code for usrp2

11

Page 12: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Task 4: Decoding• Read the WARP code • TODO (decode.m)

• Modify the decoder à originally in line 505: x = inv(H)*y;

• Implement using the ZF decoder shown in slide 8 ofL4_MIMO.pptx

12

Page 13: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Task 5: Check Channel Correlation• TODO (decode.m)

• Check the angle between channel vector 1 (h11,h12) and channel vector 2 (h21,h22)

• Hint: how to calculate the angle of two complex vectors?

13

θ = arccos

!Re(u · v)∥u∥∥v∥

"

u · v =n!

k=1

ukv̄k

Page 14: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Required figures• Figure 1: 2x2 Channel estimation (There should

be four figures)

Page 15: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Required figures• Figure 2: subcarrier SNR of two streams

• For each stream, plot the average SNR of each data subcarrier among all symbols (bar graph)

Page 16: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Required figures• Figure 3: constellation points (WARP figure 6)

Page 17: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Required figures• Figure 4: channel correlation vs. average SNR

of a subcarrier (scatter plots)• Collect 10-20 Rx traces• Randomly pick three data subcarriers. For each

selected subcarrier, plot the following figure.

Inter-channel angle

SNR [dB]

xx

xx

x x

x

Page 18: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Demo• Time/Location

• Dec. 2 (Fri.) 10:00~12:00 in EC-538• Or by appointment• Contact with TX (張威竣) to sign up the time slot

Page 19: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Grading• Tx/Rx: 30% • decode.m: 30%• Figure: 20%• Code readability: 10%

• Peer review: ±15%

90%

Page 20: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Peer Review• 15% group member peer review

• Anonymous• Range from -15 ~ 15• Grade for each peer, excluding yourself• Zero mean

• Total score: up to 105

Alice Bob Chris DavidAlice N/A -10 -5 +15

Page 21: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Code Submission• Deadline: Dec. 2 (Fri.) 23:59 • Email to

[email protected]• Email subject: [WCS] lab3_gX• WCS_lab3_gX.zip

• source code (2ant_tx.cpp/ 2ant_rx.cpp/ decode.m/ signal_gen.m)

• Report (.pdf): include all figures along with captions and short discussion

Page 22: USRP Lab 3 - National Chiao Tung Universitypeople.cs.nctu.edu.tw/~katelin/courses/wcs16/lab/lab3_info.pdf · • WARP (Wireless Open Access Research ... for USRP transmission ...

Q&A