2008年2月28日 星期四

Wimax frame structure and multiplexing

Wimax uses TDMA and OFDMA to divide the channel resource for multiple users.

Glossary

Symbol: A time slice of OFDM. It covers all subcarriers.
Slot: The atomic structure of communication. Each slot has 48 carriers. According to the modulation type, each slot has 48 subcarriers. Depending on modulation, a slot has 48* k bits. k = 2, 4, 6 for QPSK, 16 QAM, 64 QAM.
Burst: Data region, OFDMA divides temporal-frequency space into user regions. Each user is allocated a burst. A burst (block) includes multiple slots. A zone has multiple bursts.
A burst has slots ranging in temporal and frequency domains. In simulation, the slot count in T (symbol axis) is 18 and slot count in F (subchannel axis) is 5. The total slots in a burst is 5*18 = 90.

PUSC: Partial usage of subchannels.

2008年2月18日 星期一

Channel Simulation

My target is to maintain ConvTurboDecoder(). They want to implement an adaptive decoder.
The function is invoked by RX, and by main().
They measure two things:
  • BER
  • BLER: block error rate (block is a frame?)
  • HARQ: hybrid Automatic Repeat REquest
Convolution code is 1/2 rate. Convolution Turbo Code (CTC) is 1/3 rate.
The interleaver adds new priori to the estimator.
When there are two evidence, without further information, they are equally likely.
The extrnsic information is the difference of the prior.

Data block size 54, rate = 3/4. The encoded block size is 54 *4/3 = 72. The bit count is 54 * 8 = 432. N = 432/2 = 216.

We do subblock interleaving after CTC encoding. Another interleaving is inside Turbo code.
Subblock interleaver: Remap the address (of a block)by 2 segments.
  • Block size = 216, N = 108.
Turbo Code uses a different prior called extrinsic information to feed into MAP.

Example:

64-QAM, data block size = 60 bytes/block.
45 blocks Before CTC: 21600 in = 45 (block) * 60 bytes/block * 8
45 blocks After CTC: 25920 = 45 * Ncpbs = 45 * 576
The code rate is 5/6 = 480/576.
Each subblock has size 240. That is encoded into (m, j) = (7, 2). The maximum index is 2^7 * 2 - 1= 255. The index over 240 will be discarded. In the interacitve process, the original index may go over 240 until all destination index are filled.
Only a fractional of parity bits are selected to transmit. Those parity bits are permuted by (m, j) and reselected.

+ Wimax CTC uses a single convolutional encoder. It is switched over to calculate (Y1, W1) and (Y2, W2).
+ Circulation state: There is a reinitialization of CTC. The final state is taken as the initial state.
+ SPID is the subpacket ID. It is used for incremental redundancy (in CTC) HARQ. This value will shift the packet index.