WARPLab Demo: 3GPP-LTE Uplink

System description

The Third Generation Partnership Project (3GPP) Long Term Evolution (LTE) standard is becoming the appropriate choice to pave the way for the next generation wireless and cellular standards. While the popular OFDM technique has been adopted and implemented in previous standards and also in the LTE downlink, it suffers from high peak-to-average power ratio (PAPR). High PAPR requires more sophisticated power amplifiers (PAs) in the handsets and would result in lower efficiency PAs. In order to combat such effects, the LTE uplink choice of transmission is the novel Single Carrier Frequency Division Multiple Access (SC-FDMA) scheme which has lower PAPR due to its inherent signal structure.

This is a demo of LTE uplink system. The system consists of 1 or 2 users and 1 base station. The users can send different data to the base station. Each user has 2 antennas. Base station also has 2 antennas. For each user, it is a 2x2 MIMO system. The system uses 72 subcarriers for data transmission. In 1-user situation, the user occupies 1~72 subcarriers for transmission. In 2-user situation, each user occupies different part of the bandwidth. The 1st user occupies 1~36 subcarriers, and the 2nd user occupies 37~72 subcarriers.

[More information can be found here: LTEUplink paper]

LTEDemo link diagram

This demo utilizes two WARP nodes, both of which connect to a router. The router is connected to a computer. The computer is used to control the WARP boards and manage the simulation loops.

System configuration

When starting a simulation in the computer, the simulation script (a MATLAB m-file) will send an image to the transmission node through the Ethernet link. Then the image data will be transmiitted via the wireless link over the air. The receiver node receives the binary sequence and tries to recover the original transmitted image data. Finally, the simulation program in the computer will get the image data via the Ethernet link and then recover the original image.

Simulation parameters

  • 2x2 MIMO
  • Total number of subcarrier: 144
  • Number of occupied subcarriers: 72
  • Modulation scheme: 16-QAM
  • Equalizer: Zero Forcing frequency domain equalizer

System configurations

  • One transmitter (mobile user), one receiver (base station)
  • two transmitters (mobile users), one receiver (base station)

System Requirements

  • 2 WARP SISO or MIMO kits
  • 1 PC with Ethernet interfaces
  • 1 router

Demo Setup

  • Unzip the code to your local drive.
  • One WARP board has 4 radio boards (2 users), and the other one has 2 radio boards (base station). For the one user demo, both of the WARP boards have 2 radio boards.
  • Connect two antennas for each radio board.
  • Connect the computer to router. Connect two warp boards to the router.
  • Setup the WARP board. The board with 4 radio boards is configured to transmission mode, and the other one is under receiving mode.
  • Prepare the codes. And put some images (252 x 252) in the folder where you put your simulation codes. Make sure the name of the image is the same as the one in your code.
  • Run the script ‘LTEDemo.m’ in Matlab.
  • Click ‘Load image’ button to Click “Start transmitting” button on the GUI to start the simulation.

Code [ Download: ]

  • One user:
    • \1user_mimo\LTEDemo.m
    • \1user_mimo\LTEDemo.fig
    • \1user_mimo\demo_transmit_1user_mimo.m
    • \1user_mimo\(other files...)
  • Two users:
    • \2user_mimo\LTEDemo.m
    • \2user_mimo\LTEDemo.fig
    • \2user_mimo\demo_transmit_2user_mimo.m
    • \2user_mimo\(other files...)

User's guide:

  • "demo_transmit_1(/2)user_mimo.m" takes charge in the transmission of the data block; all the signal processing is done here, including modulation, subcarriar mapping, wireless channel, equilization, demodulation and so on.
  • Open LTEDemo.fig using GUIDE tools in MATLAB to adjust the controls in the GUI.
  • Modify LTEDemo.m to change the behavior of the GUI; all the parameters can be changed in this file, such as sub-block size, TxGain for antennas and so on; the name of the pictures to be transmitted can be modified in this file.


  • “TxGain1” and “TxGain2” mean the transmission power for each user.
  • “Load Image” means load another new image to transmit.
  • “Start Transmitting” and “Stop Transmission” control the transmission.

MATLAB Files and FPGA Bitstreams

The MATLAB reference files for this setup is available here. The FPGA bitsreams, which are based on the "2x2 MIMO bitstream for FPGA Version 1", is available here, and the XPS project can be downloaded from here.

Last modified 6 years ago Last modified on Nov 25, 2014, 8:01:45 AM

Attachments (1)

Download all attachments as: .zip