Andrew Gray Keith Harland Justin Hayes Steve Maughan
March 17, 2006 1 Introduction This report summarises the implementation of the physical (PHY) layer for single carrier (WirelessMAN-SCa) Wimax for operation in the 2-11GHz frequency band. The modules re- quired are shown in the block diagram in Figure 1. These modules were implemented in software and the complete system simulated. Addition- ally, a channel model was created to allow sim- ulation of a number of channel eects. These channel eects include additive white gaussian noise, path loss, time variant multipath fading (at fading and frequency selective) and log- normally distributed large scale fading. Each module is discussed separately later but a brief outline of the main reasons for each fol- lows. Firstly, randomization is employed to min- imise the possibility of transmission of an un- modulated carrier[1]. Forward error correction (FEC) coding is used to detect, and correct, symbols which are received in error. Finally, symbol mapping is used in order to allow exi- ble spectrum usage. Throughout this report it is assumed that ideal ltering and ideal Nyquist sampling are used. 2 Implementation 2.1 Randomization Randomization occurs at the start of the trans- mit process. It is used primarily to minimise the possibility of transmission of an unmodu- lated carrier and to average the power output through energy dispersal. It also ensures an ade- quate number of bit transitions to support clock recovery. The randomizer is implemented using modulo-2 addition (2 XOR gates) and a Linear-Feedback Shift Register (LFSR) with characteristic poly- nomial 1 +x14 +x15. For this implementation, the LFSR is reset to value 100101010000000 at the start of any data input[1, pp. 356]. De-randomization is performed at the end of the receive process and can be achieved sim- ply by sending the data through the random- izer again. This is because the process simply involves XORing against the same bit sequence. 2.2 Channel coding The FEC consists of two coding schemes: Reed Solomon and Convolutional Coding. The Reed Solomon coding scheme wraps around the Con- volutional scheme such that there are two sepa- rate layers. The Convolutional coding forms the inner layer. The encoder is a simple rate r = 1/2, k = 7 convolutional encoder and the de- coder is implemented by the Viterbi Algorithm. The decoder also decodes data that contains dummy bits as a result of depuncturing. The specication requires a constraint length k = 7 and requires support for rates r = 1/2, 2/3, 3/4, 5/6 and 7/8. The industry standard poly- nomials 171 O and 133 O are used to generate two output bits from the 7 bit shift register of the encoder. The convolutional encoder emulates a shift register and stores a new bit on each cycle. The polynomials dene which bits are tapped o and those values are added modulo 2. This pro- duces the two output bits which implements a rate r = 1/2 convolutional encoder. Higher code rates are achieved using puncturing which is im- plemented separately. The decoder uses the Viterbi Algorithm. The implementation was developed independently with guidance from [2] on the concepts of the algorithm. The algorithm is based around six main data structures which are: input table - this tells the algorithm what 1 2.3 Puncturing 2 IMPLEMENTATION Figure 1: Block diagram of the downlink PHY. data bit is required to get from state A to state B output table - this tells the algorithm what output bits are produced when leaving state A with data bit I next state table - this tells the algorithm the state number B having left state A with data bit I state history table - this is where the algo- rithm keeps a record of the state A preced- ing state B accumulated error metric table - this is where the algorithm stores the error met- rics that are accumulated as it works its way through the decoding trellis traceback table - this is where the algorithm stores a list of states visited when tracing back through the state history table A major design decision was made to include another table called the valid table, which has two purposes. It stores whether, in the consider- ation of a specic time slice, a target state B has had an accumulated error metric stored for one of the two transitions entering this state. This is called the updated ag. It also stores whether a state is valid. A state is said to be valid if its accumulated error metric is based on the result of a transition and is greater than or equal to 0. Initially all states are set to be invalid and have an error metric of 1. The 0 state (start- ing state) is made valid and initialised with an accumulated error metric of 0. This allows the rst k1 time slices to use the tree-like appear- ance of the beginning of the trellis and prevents possible ambiguity in the decoding process. The implementation considers every valid state, and looks at the possible accumulated error met- ric given each possible transition from this state. If the accumulated error metric calculated is ei- ther the rst for the target state in the following time slice, or is smaller than the alternative for a transition entering the target state, then this value is stored in the accumulated error met- rics table and the state number is recorded in the state history table. Traceback is run at the end of each iteration after the rst 5k time slices have been processed. Traceback simply chooses a winning state with the lowest accumulated er- ror metric and traverses the state history table to nd all the states visited to get to the winning state. The input table is then used to determine which data bit must have been input to the en- coder to get between the rst two states stored in traceback. The convolutional encoder was veried by com- paring results to both a C implementation and also by manual examples on paper. The decoder was veried by decoding a previously encoded data stream and ensuring the results were iden- tical. 2.3 Puncturing Puncturing gives increased exibility of the sys- tem without signicantly increasing complexity. Hence for this implementation the same convo- lutional encoder/ Viterbi decoder with coderate 1/2 can be used whilst increasing coderate for the channel. A puncturer is implemented after the convolu- tional encoder in order to remove certain bits from the data sequence. This has the eect of in- creasing the coderate. Coderates 1/2, 2/3, 3/4, 2 2.5 Channel modelling 2 IMPLEMENTATION Figure 2: BPSK Constellation maps 5/6 and 7/8 are possible using the puncture pat- terns specied in [1, pp. 359]. A depuncturer, implemented after the Viterbi decoder, inserts dummy bits (zeros in this imple- mentation) where bits have been removed by the puncturer, restoring the original data length. 2.4 Downlink Modulation An important property of downlink modulation schemes is their spectral and power eciencies. Spectral eciency is a measure of information transmission rate per Hz of bandwidth used. It is desirable to transmit the maximum possible information rate in the minimum possible band- width. To improve the spectral eciency of the airlink, the system uses a multilevel modulation scheme. Supported modulation types for the SCa PHY are BPSK, QPSK, 16-QAM, 64-QAM and 256-QAM. BPSK changes the carriers phase in accordance with the baseband digital data. This is shown graphically in Figure 2 where MAP0 is used for even-indexed bits, while MAP1 is used for odd- indexed bits. Only one symbol is mapped to each bit so the spectral eciency of BPSK is 1bit/s/Hz. QPSK may be thought of as 4-PSK and has twice the spectral eciency of BPSK[3]. The constellation diagram for QPSK is shown in Figure 3. If the symbol alphabet size is made larger, the spectral eciency is further improved. This is multisymbol mapping and can be thought of as a bit mapping process where n binary bits are mapped to a single symbol. It is also possible to introduce amplitude as well as phase mod- ulation. A 16-QAM signal has two amplitude levels and two distinct phase states in both the real and imaginary channels. Two bits at a time are taken by both the I and Q channels so that Figure 3: QPSK Constellation maps 4 input bits dene each of the 16 symbols giv- ing a spectral eciency of 4bits/s/Hz. 16-QAM, 64-QAM and 256-QAM are supported and these constellation maps are given in [1, pp. 371375] A comparison of the dierent modulation types is given in Table 1. Note that the maximum possible spectral eciency assumes that ideal ltering is employed prior to the I and Q chan- nel multipliers. C/N, the carrier to noise ratio, and E b /N 0 , the ratio of bit energy to noise power spectral density, are used to compare the power eciencies of the dierent schemes. The modu- lation constellation can be selected by the user depending on the quality of the RF channel. If a high throughput is desired, a more complex modulation scheme can be used. However, if the channel degrades excessively over time, data transfer will not be reliable and a simpler con- stellation mapping should be used. 2.5 Channel modelling A statistical baseband channel model has been developed which simulates the eects of a wire- less channel under a variety of conditions. The performance of a communication system is bounded by the noise power at the receiver and this is modelled with an additive white gaussian noise (AWGN) channel. The AWGN channel assumes an ideal, non-dispersive path with con- stant gain between the transmitter and receiver, where the ratio of received signal power to re- ceiver noise is determined by the term E b /N 0 . A number of channel eects have also been im- plemented. For simulation of a mobile receiver in a non line-of-sight environment, path loss, large scale fading/shadowing and multipath fad- ing can be modelled. Fading is the uctuation 3 3 EXPERIMENTS Modulation Max. spectral eciency (bit/s/Hz) C/N ratio (dB) E b /N 0 (dB) BPSK 1 10.6 10.6 QPSK 2 13.6 10.6 16-QAM 4 20.5 14.5 64-QAM 6 26.6 18.8 Table 1: Comparison of various digital modulation schemes (P b = 10 6 , T 0 B = 1.0)[3] in the received signal envelope due to motion of the transmitter, receiver or of scatterers in the propagation path. For stationary environments, a model based on the recommended[4] channel model for a line-of-sight, point-to-multipoint en- vironment is used. Large scale fading is caused by changes in re- ceiver position on the scale of a few tens of meters. It is due to the substantially dierent paths taken by radio signals travelling between a transmitter and receiver, around large physi- cal obstacles such as hills or groups of buildings. A statistical model for large scale fading is given in [5] as a log-normal variation of the received signal power, about the mean received power; this has been implemented here. Small scale fading is mainly due to multipath re- ections from nearby scatterers, arriving at the receiver with random amplitudes and, in partic- ular, phase shifts, which sum constructively or destructively. This results in signicant uctu- ations in received signal power, of up to -40dB. Furthermore, these variations occur at roughly half-wavelength spacings, so receiver movement of only tens of centimeters can have a signicant eect on the received signal power. The statistical properties of the multipath fad- ing envelope can be shown to have a Rayleigh distributed amplitude and a uniformly dis- tributed phase. As such, it is often termed Rayleigh fading. A standard method of imple- menting Rayleigh fading is given in [6] and in- volves ltering complex gaussian variates by the power spectrum of the received signal, then tak- ing the absolute value of the result as the enve- lope amplitude coecients. This has the eect of introducing correlation between the gaussian variates, and thus controls the fade rate. The resulting Symbol Error Rate plot is shown in Figure 4. The basic Rayleigh fading channel was addition- ally augmented with the capability to perform smearing of adjacent symbols; time dispersion 0 2 4 6 8 10 12 14 16 18 20 10 15 10 10 10 5 10 0 Symbol error rate / Probability of error Symbol error rate: Rayleigh fading vs AWGN AWGN channel Rayleigh channel Figure 4: Symbol error rate of Rayleigh fading channel, compared to Probability of error for an ideal AWGN channel (Fd=3ms). or Inter-Symbol Interference. This was imple- mented by modelling the channel as a FIR l- ter whose tap coecients are taken from ltered gaussian sources as above. 3 Experiments 3.1 Eects A number of channel coding performance eects were simulated. First the eect on decoding per- formance was investigated by altering the size of the state history table and comparing the delta of error rate. It was found as a general trend for all coderates that the errors are reduced for a larger state history table. This has the disad- vantage of increased computation time on a per bit basis, but also that the tail bits at the end of the decoding trellis become less accurately de- codable as the block size becomes inecient. The second eect was that of inserting regular bit errors. This was achieved simply by ip- ping the value of a coded bit every n bits and 4 REFERENCES Figure 5: Eect of inserted errors on coderate performance. observing the resulting errors and more signi- cantly, the dropo point at which each particu- lar coderate is able to correct all errors. It was found that lower code rates have a lower dropo point, shown in Figure 5, resulting in better tol- erance to more errors for a given block. The relationship between coderate and absolute safe dropo point was found to exhibit an exponen- tial characteristic; higher coderates resutled in a decrease in the number of correctable errors per block. 3.2 Limitations of methodology The simulations above are limited in applicabil- ity to real-world systems as the error injection process is regular and deterministic. Further- more, no attention is paid as to whether injected errors lie on dummy bits; this can decrease the actual insertion rate. 3.3 Improvements Given time constraints, a Reed-Solomon coder was not implemented; it is expected that per- formance gains could be obtained however this would require further investigation. Further- more, an interleaver would have improved re- liability as it would disperse burst errors giv- ing protection against impulsive noise. Finally, the optimal compromise between the size of the state history table and the processing time could be found. 4 Conclusions This paper has presented the implementation and simulation of a Wimax system. A number of channel eects were investigated and coding performance analysis was carried out. It was found that the Rayleigh channel eects have a signicant impact on the Bit Error Rate. Ad- ditionally, some trends were discovered on the performance of the Viterbi decoder. References [1] IEEE Computer Society and the IEEE Mi- crowave Theory and Techniques Society. IEEE Standard for Local and metropolitan area networks, Part 16 (IEEE Std 802.16- 2004). The Institute of Electrical and Elec- tronics Engineers, Inc., October 2004. [2] Chip Fleming. Tutorial on Convolu- tional Coding with Viterbi Decoding. http://home.netcom.com/ chip.f/viterbi/ algrthms.html. [3] I. A. Glover and P.M. Grant. Digital Com- munications. Pearson Education, 2nd edi- tion. [4] Wei Zhang and Nader Moayeri. Recommen- dation on Channel Propagation Model for Local Multipoint Distribution Service. IEEE 802.16 Broadband Wireless Access Working Group, Febuary 2002. [5] William C.Y. Lee. Mobile Communications Design Fundamentals. Wiley & Sons, 2nd edition, 1993. [6] John I. Smith. A computer generated mul- tipath fading simulation for mobile radio. In IEEE Transactions on Vehicular Technol- ogy, Vol. VT-24, No. 3, pages 3940, August 1975. 5