IEEE 802.16-2009 WirelessMAN-OFDMA PHY Downlink PUSC
This model shows a downlink partial usage of subchannels (PUSC) Physical Layer communication from base station (BS) to two mobile stations (MS), according to the IEEE 802.16-2009 standard [ 1 ].
Structure of the Example
This example models the downlink PUSC of the WirelessMAN-OFDMA PHY. It supports all of the mandatory coding and modulation options. The purpose of this example is to showcase the variable-size capability of Simulink®, MATLAB® Function block, DSP System Toolbox™, and Communications Toolbox™. To simplify the implementation, the restriction of two MS (also referred to as users in the model) and 1024 FFT size are applied.
Out of 1024 frequency carriers (also called subcarriers), 720 subcarriers can be used to carry user data (the rest are reserved for pilots and guards). To properly allocate the data carriers to different MS, the standard organizes 720 subcarriers into 30 subchannels (each subchannel contains 24 subcarriers). A subchannel is the smallest unit that can be allocated to an MS.
The standard allows frequency resources (in subchannels) be dynamically allocated to MS. This means while the model is running, BS can dynamically change the subchannel allocation to MS1 and MS2. For example, in one burst, subchannels 0~5 are allocated to MS1 and subchannels 6~25 are allocated to MS2. In another burst, the allocation may become 2~10 and 15~25 respectively. When more subchannels are allocated to one MS, more data can be transmitted to this MS in one burst. This dynamic change introduces variable-size signaling.
The variable-size features of the following tools are shown:
- Simulink blocks
- MATLAB Function block
- DSP System Toolbox blocks
- Communications Toolbox blocks
- Communications Toolbox System objects
OFDMA Symbol Packing Subsystem
This subsystem, organized into five parts, generates data and packs it into OFDMA symbols:
- Generate Headers and User Data
- Channel Coding
- Allocate Subchannels
- Permutation and Renumbering
- Add Pilots and Guards
Variable-size processing happens in this subsystem. Signals output from Data for MS are variable-size because the two MS can be dynamically assigned subchannels for data transmission. The MS1(2) Channel Coding block includes Randomization, Interleaving, and all seven mandatory coding and modulation specified in the standard:
Channel coding is applied block by block. The block size is dependent of the number of subchannels allocated. The example illustrates how data is concatenated into blocks and how variable-size signals are processed by using blocks and System objects. To see more details, go to this block: OFDMA Symbol Packing-->MS1 Channel Coding--> QPSK-1/2.
OFDMA Transmitter/Receiver Subsystem
OFDMA Transmitter includes:
- Transforms signal from frequency domain to time domain (A gain block is used to scale the transmitted signal to unit power)
- Adds Cyclic Prefix
- Sets sample time for the model
In this model, data is driven by the transmitter port. To avoid sample time confusions, we try to set the system sample time at one place, which is at the output port of the OFDMA Transmitter block. Signal before this point is considered as data and data is drawn from the source to fit the sample time specified.
OFDMA Receiver includes:
- Removes cyclic prefix
- Transforms signal from time domain to frequency domain
- Implements the frequency domain equalization
According to the standard, a symbol is divided into 60 basic clusters. Two pilot carriers and 12 data carriers are allocated within each cluster. The receiver can estimate the response of the channel based on the known pilot information. Because the channel response may be different at different frequencies, the actual response for a data subcarrier is interpolated based on measurements of pilot subcarriers.
OFDMA Symbol Unpacking Subsystem
This subsystem unpacks the OFDMA symbols it receives by:
- Removing the DC and left/right guards from the Preamble symbol
- Separating FCH and DL-MAP from the user DATA
- Using FCH to detect DL-MAP message
- Using DL-MAP to separate user data for MS1 and MS2
- Performing channel decoding
Exploring the Example
1. Fixed Settings You cannot change the following default settings of the model:
- 1024 FFT size
- Two users
2. Channel Conditions Channel configuration can be set in the two Channel blocks.
The following channels can be simulated:
- AWGN only
- Flat Fading Channel with AWGN
- Frequency-selective Multipath fading with AWGN
SNR and Fading mode are both tunable at run time.
3. Other Model Parameters You can set all the other changeable parameters from the Model Parameter block.
Among those parameters, the Subchannels allocated to users parameter is tunable at run time. Based on this parameter, DL-MAP message is packed and transmitted. Receivers use the detected DL-MAP message to decode information from the subchannels assigned to them. The subchannel allocation status is shown in Subchannel allocation scope; the subcarrier allocation status is shown in Subcarrier allocation scope.
You can specify the modulation and coding rate or calculate them adaptively based on the channel conditions detected. When you select Adapt modulation and coding to channel conditions, you specify the Adaptive rate control SNR thresholds (dB). When unchecked, you must specify the Modulation and Coding rate parameters.
To ensure the proper memory usage, this example limits the maximum number of OFDMA symbols in one burst to 13 (10 data symbols + 3 header symbols).
We make effort to follow the standard closely and make certain assumptions when needed. The following is a list of assumptions applied:
- The number of OFDMA symbol for both MS1 and MS2 in one burst are the same and not tunable at run time
- IDcell of '0' is used
- The first symbol is always Preamble
- The second and third symbols are FCH+DL-MAP (pad zeros at the end)
- User data starts in the fourth symbol
- Receivers use FCH and DL-MAP message to decode the received signal. If channels are too noisy, these message may corrupt easily. Since there is no resend request mechanism implemented, the model will error out. To avoid FCH and DL-MAP messages corruption, configure channels properly.
- IEEE Standard 802.16-2009, "Part 16: Air Interface for Broadband Wireless Access Systems," May 2009. http://ieee802.org/16/published.html