wiki:OFDM/MIMO/Docs/PHYDetails

Version 7 (modified by murphpo, 15 years ago) (diff)

--

MIMO OFDM | Documentation? | OFDM Physical Layer Details

The WARP MIMO OFDM core implements a real-time OFDM transceiver in the fabric of a Xilinx FPGA.

Antenna Configurations

The OFDM PHY supports three primary antenna modes: SISO, Alamouti and 2x2 multiplexing. The antenna mode is configurable per-packet from user C code. The transmitter and receiver must agree ahead of time on the antenna mode.

The core has ports for two antennas, referred to as Antenna A and Antenna B. In hardware, these ports can be connected to radio boards in arbitrary slots (hence the A/B label, instead of actual radio slot numbers).

SISO: this is the simplest mode, wherein the transmitter sends and the receiver captures all data from a single antenna. The choice of transmit antenna is set by user code per-packet. The choice of receive antenna is either set per-packet by code or automatically per-packet by selection diversity logic. In selection diversity mode, the receiver checks the AGC gain choices for both antennas and choose the I/Q stream from the antenna with the higher SNR (i.e. lower AGC gains). This selection is made early in the packet preamble.

Alamouti: this mode uses Alamouti's simple transmit diversity scheme. Both transmit antennas are used for every packet, with all data being sent from both antennas, encoded with the Alamouti STBC. The receiver uses a single antenna, selected by user code or by selection diversity.

2x2 multiplexing: this mode uses spatial multiplexing to transmit and receive from both antennas. This scheme doubles the data rate (vs. SISO), as two symbols are transmitted with each channel use. But this mode is less reliable than SISO or Alamouti, since a given data bit is transmitted from only one antenna (diversity = 1).

OFDM Parameters

The OFDM core uses 64 subcarriers, spaced evenly in the transmitted waveform. 4 subcarriers are dedicated to pilot tones. The DC subcarrier (index 0) must always be empty. The remaining subcarriers can be loaded with data modulated as BPSK, QPSK, 16-QAM or 64-QAM symbols. Any combination of modulation schemes can be used across subcarriers, though the subcarrier-modulation assignment must be fixed for a full packet.

The bandwidth of the OFDM signal is 1/4 of the core's master clock. In most implementations, the master clock is sourced by the host PLB46 bus. We have tested the core with 40 and 80MHz bus clocks (corresponding to 10 and 20MHz over-the-air bandwidths).

The 64 subcarriers are numbered ![0, 1, ... 63] throughput the model and supporting code.

Subcarrier Indices

Our example projects load data into 48 subcarriers. The table below lists the utilization of all subcarriers in our designs:

IndexUtilization
0 (DC) Must be empty (zero)
7, 21, 43, 57 BPSK pilot tones
1-6, 8-20, 21-26, 38-42, 44-56, 58-63 Data symbols
27-37 Empty (zero)

This subcarrier utilization is not a requirement of the PHY; the OFDM Tx and Rx logic will support other mappings. We use 48 data-bearing subcarriers to reduce adjacent channel interference (just like 802.11) and to have an integral number of bytes per OFDM symbol.