• No results found

Downlink baseband decoder implementation

N/A
N/A
Protected

Academic year: 2021

Share "Downlink baseband decoder implementation"

Copied!
92
0
0

Loading.... (view fulltext now)

Full text

(1)2008:010 CIV. MASTER'S THESIS. Downlink Baseband Decoder Implementation. Ulf Andersson Magnus Isaksson. Luleå University of Technology MSc Programmes in Engineering Electrical Engineering Department of Computer Science and Electrical Engineering Division of Signal Processing 2008:010 CIV - ISSN: 1402-1617 - ISRN: LTU-EX--08/010--SE.

(2) Downlink Baseband Decoder Implementation. Ulf Andersson Magnus Isaksson. Ericsson Lindholmen. November, 2007.

(3)

(4) A BSTRACT Previous generations of cellular networks was built for telephone calls and slow data transmission. Due to the rapid changes in information technology, these factors do not meet the requirements of today’s wireless revolution. The first specifications for The 3rd generation system (3G) was released 2000 from the 3GPP collaboration group. WCDMA is one of the air interfaces in the specifications. In 2001 the first phase of HSDPA, High Speed Downlink Packet Access, was introduced to the specifications. Instead of sending the data on a dedicated channel to each user the radio resources are used more efficiently in HSDPA by using shared channels in the downlink. A control channel signals which users that is to receive data in each time instance. This master thesis has been carried out at DBP IoV (Downlink Baseband Processing Integration and Verification) at Ericsson, Lindholmen in Gothenburg. This department is responsible for realtime target integration and verification of the baseband processing system in WCDMA, including testenvironment development and testcase design. Currently tests are in most cases executed and recorded for offline analysis. The memory available for recording on the test hardware limits the maximum run-time of the tests. To be able to run long tests data has to be decoded and analyzed in real-time. The purpose of this thesis was to design and implement a realtime decoder for a subset of WCDMA, namely the downlink HSDPA channels. It should be investigated how much that can be done in software on a DSP and how much, if at all, that needs to be done in hardware on an FPGA. This was then to be implemented on and integrated into existing test environments. A comprehensive study of WCDMA in general and HSDPA in particular has been carried out. The specifications define in detail how encoding is done, so the core part of the thesis was to design a decoder based on these. During the project there was a need to verify parts of the implementation so an encoder was programmed in Matlab, enabling control of all parameters. It was concluded that decoding could be done entirely on the DSP, and a working decoder software was made. This does however have limitations in the number of users (mobiles) in the system and only supports one cell. If some of the processing is emigrated to hardware (FPGA) these limitations could easily be overcome. Keywords: 3G, WCDMA, HSDPA, DSP, Real-Time Decoder. iii.

(5)

(6) P REFACE This master thesis is the final part of the MSc programme in Electrical Engineering. It has been carried out at Ericsson AB Lindholmen, Gothenburg 2007. We would like to thank our supervisor Stefan Davidsson at Ericsson and our examiner Per Lindgren at LTU. We would also like to thank everyone at Ericsson who has supported us and helped us with this project. We would especially like to mention Henrik H¨ aggebrandt who provided us with FPGA code, Johan Fredriksson who introduced us to the test environment, Ulf Pettersson who helped us with the DSP, Joakim Eriksson who helped us integrate our software into the existing environment and Anders Andersson & Jan Lindskog for HSDPA related questions and ideas.. Ulf Andersson and Magnus Isaksson Gothenburg, November 2007. v.

(7)

(8) C ONTENTS Chapter 1: Introduction 1.1 Background . . . . . 1.2 Purpose . . . . . . . 1.3 Limitations . . . . . 1.4 Abbrevations . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. Chapter 2: Theory 2.1 Basics . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Cellular networks . . . . . . . . . . . . . 2.1.2 History . . . . . . . . . . . . . . . . . . 2.2 3G . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 3GPP . . . . . . . . . . . . . . . . . . . 2.2.2 UTRAN . . . . . . . . . . . . . . . . . . 2.3 WCDMA . . . . . . . . . . . . . . . . . . . . . 2.3.1 General Properties . . . . . . . . . . . . 2.3.2 Spreading . . . . . . . . . . . . . . . . . 2.3.3 Scrambling . . . . . . . . . . . . . . . . 2.3.4 Multipath Diversity and Rake Receivers 2.3.5 Near/Far Problem and Power Control . 2.3.6 Handovers . . . . . . . . . . . . . . . . . 2.3.7 Protocol architecture . . . . . . . . . . . 2.3.8 Medium Access Control Protocol . . . . 2.3.9 Channels . . . . . . . . . . . . . . . . . 2.3.10 Logical Channels . . . . . . . . . . . . . 2.3.11 Transport Channels . . . . . . . . . . . 2.3.12 Physical Channels . . . . . . . . . . . . 2.3.13 Transport blocks . . . . . . . . . . . . . 2.3.14 Channel coding and multiplexing . . . . 2.3.15 Spreading and modulation . . . . . . . . 2.4 HSDPA . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Time units . . . . . . . . . . . . . . . . 2.4.2 Overview . . . . . . . . . . . . . . . . . 2.4.3 Power control . . . . . . . . . . . . . . . 2.4.4 Rate adaptation . . . . . . . . . . . . . 2.4.5 Fast packet scheduling . . . . . . . . . . 2.4.6 MAC-hs . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. 1 1 1 1 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3 3 3 3 4 4 4 5 5 5 8 9 9 10 10 11 11 11 12 13 13 14 18 20 21 21 22 23 23 24.

(9) 2.4.7 2.4.8 2.4.9 2.4.10 2.4.11 2.4.12 2.4.13. Hybrid ARQ with soft HARQ in HSDPA . . HS-DSCH . . . . . . . Coding of HS-DSCH . HS-SCCH . . . . . . . Coding of HS-SCCH . HS-DPCCH . . . . . .. Chapter 3: Test environment 3.1 TXAD . . . . . . . . . . . 3.1.1 General overview . 3.1.2 DSP . . . . . . . . 3.2 Test execution . . . . . .. . . . .. Chapter 4: Method 4.1 Decoding . . . . . . . . . . 4.1.1 Descrambling . . . . 4.1.2 HS-SCCH . . . . . . 4.1.3 HS-DSCH . . . . . . 4.2 Matlab Encoder . . . . . . . 4.3 Development tools . . . . . 4.4 Other tools . . . . . . . . . 4.5 Software . . . . . . . . . . . 4.5.1 Flowchart . . . . . . 4.5.2 Setup . . . . . . . . 4.5.3 User handling . . . . 4.5.4 HS-SCCH decoding 4.5.5 HS-DSCH decoding 4.5.6 User checks . . . . . 4.5.7 Cell checks . . . . . 4.6 Specification . . . . . . . . . 4.6.1 Signals . . . . . . . . 4.6.2 TXADCLI . . . . . 4.6.3 Traces . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. combining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . .. 26 27 29 30 37 39 44. . . . .. 45 45 45 45 45. . . . . . . . . . . . . . . . . . . .. 47 47 47 48 49 50 51 51 51 51 52 52 53 54 54 54 54 54 56 57. Chapter 5: Result 59 5.1 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Chapter 6: Discussion 61 6.1 Design choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 viii.

(10) 6.2. Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61. Appendix A:Modulation and FEC coding A.1 Modulation . . . . . . . . . . . . . . . . . A.1.1 QPSK . . . . . . . . . . . . . . . . A.1.2 16QAM . . . . . . . . . . . . . . . A.2 Error coding . . . . . . . . . . . . . . . . A.2.1 Convolutional coding . . . . . . . . A.2.2 Turbo Coding . . . . . . . . . . . . A.3 Rate matching . . . . . . . . . . . . . . . A.3.1 Repetition . . . . . . . . . . . . . . A.3.2 Puncturing . . . . . . . . . . . . . A.3.3 WCDMA Rate matching algorithm A.3.4 Viterbi decoder . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. 63 63 63 63 65 66 67 69 69 69 70 70. Appendix B:Charts. 73. Appendix C:Abbreviations. 77. ix.

(11)

(12) C HAPTER 1 Introduction. 1.1. Background. The “Baseband Processing” department at Ericsson Lindholmen, is responsible for the design, development, and maintenance of the Downlink and Uplink Baseband Processing subsystem (DBP and UBP) for Ericsson’s 3G base-stations. The IoV subdepartment is responsible for realtime target integration and verification of the baseband processing system, including testenvironment development, testcase design and to execute integration and verification. Currently tests are in most cases executed and recorded for offline analysis. The memory available for recording on the test hardware limits the maximum run-time of the tests. Longer tests are necessary to detect errors that might only appear after running for a relatively long time, possibly hours or days. To be able to run long tests data has to be decoded and analyzed in real-time.. 1.2. Purpose. The purpose of this project was to investigate the real-time requirements of decoding a subset of the channels in WCDMA, more specifically HSDPA downlink channels. How much can be done in software (on a DSP, Digital Signal Processor) and how much needs to be done in hardware (on a FPGA, programmable )? This should then be implemented and integrated into existing test environments.. 1.3. Limitations. The decoding should be limited to one cell only, using the primary scrambling code. Transmit diversity and MIMO (Multiple Input Multiple Output) should not be considered, and are not covered. 1.

(13) 2. Introduction. 1.4 Abbrevations There are a lot of abbreviations used in these report, a collection of these can be found in appendix C..

(14) C HAPTER 2 Theory. 2.1. Basics. 2.1.1 Cellular networks A cellular network is a radio network made up of a number of radio cells (or just cells) each served by a fixed transmitter, known as a cell site or base station. These cells are used to cover different areas in order to provide radio coverage over a wider area than the area of one cell. [12] The primary requirement of a cellular system is to have a method to distinguish the transmitters in the different cells from each other. There are two ways to do this: Frequency Division Multiple Access (FDMA) and Code Division Multiple Access (CDMA). Time Division Multiple Access (TDMA) allows the same frequency to be used by different users in different time slots but cannot be used alone to separate cells. The increased capacity of a cellular network compared to a network with a single transmitter comes from the fact that the same radio frequency can be reused in different geographical areas. The frequency reuse factor is the rate at which the same frequency can be used in the network. In case of FDMA the same frequencies cannot be used in neighbouring cells because of cell overlapping and inter-cell disturbance, the frequency reuse factor is lower than 1. In CDMA cells are distinguished by codes rather than frequencies which means that the frequency reuse factor can be 1. The use of multiple cells for mobile transceivers means that there has to be some mechanism for the transceivers to change cells as they move around. This is usually called handover.. 2.1.2 History The 1st generation mobile phone systems (1G) were analog systems launched in the 1980s. One such example is NMT (Nordic Mobile Telephone). The 2nd generation systems (2G) were digital systems using either CDMA or TDMA multi3.

(15) 4. Theory. plexing techniques, launched in the 1990s. The most common one is GSM, using TDMA. The second generation of networks were built mainly for telephone calls and slow data transmission. Due to the rapid changes in information technology, these factors do not meet the requirements of today’s wireless revolution. The 3rd generation system (3G) is defined in the IMT-2000 standard created by ITU in 1999. It defines five possible radio interfaces for 3G. One of these is WCDMA, which is the one used in the European 3G standard UMTS.. 2.2 3G 2.2.1 3GPP The 3rd Generation Partnership Project (3GPP) is a collaboration agreement that was established in December 1998. The scope of 3GPP is to make technical specifications for a globally applicable third generation (3G) mobile phone system following the IMT-2000 standard. The current partners are ARIB (Japan), CCSA (China), ETSI (Europe), ATIS (North America), TTA (Korea) and TTC (Japan). 3GPP standards are referred to as releases, each one introducing new features. In 2000 the first standard, Release ’99, was released, defining the UMTS network. Following this Release 4 came in 2001 and Release 5 in 2002, introducing HSDPA. The latest release is Release 6 from 2004, and Release 7 and 8 are in progress.. 2.2.2 UTRAN The radio access network in UMTS is called UTRAN (UMTS Terrestrial Radio Access Network), see figure 2.1 for an overview of the architecture.. Figure 2.1: UMTS architecture. The UTRAN consists of one or more Radio Network Subsystems (RNS). Each RNS consists of one Radio Network Controller (RNC) and one or more Node Bs, also called base stations or RBS (Radio Base Station) in Ericsson terms. The RNCs are responsible for the control of all radio resources of the Node Bs connected to it. The function of the Node B is air interface.

(16) 2.3. WCDMA. 5. processing and some radio resource management. There are a lot of open interfaces connecting every part of the network to allow parts from different manufacturers to be used. The interface between RNCs is called Iur and between RNCs and Node Bs Iub. The radio access network is connected to a core network with the Iu interface. There are two types of Iu interfaces; IuCS to accommodate circuit switched (CS) data and IuPS to accommodate packet switched (PS) data. The Core Network (CN) is responsible for switching and routing calls and data connections to external networks. Mobile phones are called UE (User Equipment) and connects to the Node Bs with Uu interface. The Uu interface is the WCDMA radio interface which will be described in the next section.. 2.3. WCDMA. 2.3.1 General Properties WCDMA, also referred to as UTRA (UMTS terrestrial radio access), is the air interface used for UMTS (Universal Mobile Telecommunications System). WCDMA is a Wideband Direct Sequence Code Division Multiple Access (DS-CDMA) spread spectrum system. User information bits are spread over a wide bandwidth by a spreading code and multiplied with a pseudorandom scrambling code. The spread bits are called chips. WCDMA has a flexible multirate transmission scheme to support transmission of different types of services with different data rates and QoS (Quality of Service) parameters. In a spread spectrum system the processing gain is the ratio of the spread bandwidth to the unspread bandwidth. A higher processing gain gives a lower signal to interference ratio, or C/I (carrier-to-interference), but lower bit rates. As an example a ratio of 256 gives a processing gain of 24 dB. The required power density over interference density is typically 5 dB for speech service, which gives a C/I = 5 − 24 = −19dB [7]. This means that the signal can be 19 dB under the interference or thermal noise power and still be detected. This is the reason why spread spectrum systems have found its use in military applications for several decades. There are two possible duplex modes, FDD (frequency division duplex) and TDD (time division duplex). In FDD separate carrier frequencies are used for uplink and one for downlink, while in TDD one carrier is time shared between downlink and uplink. FDD is the primary mode used in UMTS and the one described from here on. The chip rate in WCDMA is 3.84 Mcps (Megachips per second) and the carrier bandwidth approximately 5 MHz. The carrier spacing has a raster of 200 kHz and can vary from 4.2 to 5.4 MHz depending on interference scenarios. The frame length is 10 ms and each frame is divided into 15 slots. From here on the uplink will only be described briefly and the downlink in more detail.. 2.3.2 Spreading The spreading process is also known as channelization. Spreading is basically done by assigning the data bits 0 and 1 the values 1 and -1, repeating them by the spreading factor (SF) and multiplying with the channelization code. The channelization codes are orthogonal variable-length Walsh codes, also known as OVSF.

(17) 6. Theory. (Orthogonal Variable Spreading Factor). The data bits 0 and 1 are assigned the values 1 and -1. The creation of the codes can be recursively defined as in equation 2.1..  . Cch,2,0 Cch,2,1. Cch,2n+1 ,0 Cch,2n+1 ,1 Cch,2n+1 ,2 Cch,2n+1 ,3 .. ..            Cch,2n+1 ,2n+1 −2 Cch,2n+1 ,2n+1 −1. Cch,1,0 = 1,   Cch,1,0 Cch,1,0 = , Cch,1,0 −Cch,1,0   Cch,2n ,0 Cch,2n ,0   C n −Cch,2n,0 ch,2 ,0     Cch,2n ,1   Cch,2n ,1    =  Cch,2n ,1 −Cch,2n,1   .. ..   . .       Cch,2n ,2n −1 Cch,2n,2n −1 Cch,2n ,2n −1 −Cch,2n ,2n −1 .            . (2.1). See figure 2.2 for the beginning of the code tree.. Figure 2.2: Walsh Tree. A given code can only be used if there are no other codes used on the path from that given code to the root of the tree, or any code belonging to the sub-tree generated from that specific code. Otherwise the code would not be orthogonal with every other code. The channelization code is used in the uplink to separate channels from each UE, and in the downlink to separate channels from each cell. The codes are denoted Cch,SF,k where k is the code number and SF the spreading factor. In WCDMA the SF may vary from 4 to 256 chips on uplink channels and 4 to 512 chips on downlink channels[4]. An example with a spreading factor 4 can be seen in figure 2.3. In a correlation receiver the signal is despread and integrated (summed) over one bit. On row 5 it can be seen that the sum.

(18) 2.3. WCDMA. 7. will be 4 or -4 respectively for data 1 or -1. On the last row the signal has been coded with another spreading code, the result when despreading is integration values lingering around zero. To get the original data, the integrated values are divided by the code length. In the example this results in dividing 4 and -4 with 4, yielding 1 and -1.. Figure 2.3: Example of spreading and despreading, SF = 4. With perfect timing different codes are completely uncorrelated. Unfortunately the nature of radio transmission with multipath propagation, small timing errors and motion-related effects makes this impossible. Furthermore there is a limited codes space, so in order to separate users and cells and solve the orthogonality problem scrambling codes are used..

(19) 8. Theory. 2.3.3 Scrambling Scrambling is used to separate UE’s in the uplink and cells in the downlink from each other. The scrambling codes are pseudo-random, or pseudo-noise (PN), codes. If two transmitters use different codes there is a “low” noise-like correlation at any time offset, where the average correlation level is proportional to 1/codelength. The self-correlation is also low if the offset is larger than one chip. There are two types of codes, long and short codes. The long codes are Gold codes truncated to the 10 ms frame length, thus resulting in 38400 chips with 3.84 Mcps. The short code length is 256 chips and the codes are chosen from the extended S(2) code family. The uplink scrambling may use both long and short codes whilst downlink uses only long codes. 2.3.3.1 Downlink scrambling code generation. Figure 2.4: Scrambling code generator. A total of 218 scrambling codes (0 - 262142) can be generated[4]. Primarily 8192 of these are used (another 2 · 8192 are used for compressed mode), divided into 512 sets of primary scrambling codes each with 15 secondary scrambling codes. The primary scrambling codes are p = 16 · i where i = 0..511. The i:th set of secondary scrambling codes consist of code numbers s = 16 · i + k where k = 1..15. The set of primary scrambling codes is further divided into 64 scrambling code groups, each consisting of 8 primary scrambling codes. The j:th scrambling code group consists of primary scrambling codes 16 · 8 · j + 16 · k where j = 0..63 and k = 0..7. Each cell is associated with one primary scrambling code. The reason for the code groups is to facilitate the cell search procedure. The code group is signaled on one of the synchronization channels. The UE receives this and correlates all codes in the group with the pilot channel, scrambled with the primary scrambling code of the cell. When a peak is found the UE has found the scrambling code of the cell..

(20) 2.3. WCDMA. 9. The scrambling code sequences are constructed by combining two real sequences into a complex one. The basis for the real sequences are so-called m-sequences, or maximum length sequences (MLS). An m-sequence cycles through all possible 2m − 1 states within the shift register. A further description is outside the scope of this report. The real sequences are constructed by position-wise modulo-2 sum of 38400 chip segments from two m-sequences x and y with generator polynomials of degree 18. The polynomials are Gx = 1 + X 7 + X 18 Gy = 1 + X 5 + X 7 + X 10 + X 18. (2.2). In hardware this is implemented by using maximal linear feedback shift registers (MLFS), figure 2.4 is taken from the 3GPP specifications[4].. 2.3.4 Multipath Diversity and Rake Receivers When transmitting radio signals over land one will experience multiple reflections, diffraction and attenuation of the signal energy. This is called multipath propagation and is caused by buildings, mountains and so on. If these paths are nearly equal in length this will result in signal cancellation, called fast fading. If the distance is large (> 78m in UMTS = speed of light/chip rate) the signal energy will arrive at the receiver across clearly distinguishable time instants, giving a certain multipath delay profile. The receiver can then separate the multipath components and combine them to obtain multipath diversity. Such a receiver is called a Rake receiver and can have a different number of so called fingers allocated to the delay positions with significant energy, and then combine these to get the correct signal.. 2.3.5 Near/Far Problem and Power Control Tight and fast power control is very important in WCDMA, without it a single overpowered UE could block a whole cell. A mobile at the edge of a cell may suffer a path loss from one that is closer to the base station. The mobile close to the base station could easily over shout the other and give rise to the near-far problem. Open-loop power control is used by the UE to make a rough estimate of path loss by measuring the downlink beacon channel CPICH as an initial power setting when entering a cell. Fast closed-loop power control is used on the dedicated channels. The base station measures the Signal-to-Interference Ratio (SIR) from each mobile and compares it to a reference level. Based on this it will command the mobile to raise or lower its power. This is executed at a rate of 1500 Hz. If no control where to be used, there would be impossible for the Node B to decode all signals received, due to the nature of CDMA. That is, the orthogonal coding requires all signals to be of equal amplitude when despreading. The same method is used on the downlink to provide more power to UEs at the cell edge and for power/radiation reduction purposes. There is also an outer loop power control where the target SIR setpoint for each mobile can be adjusted from Bit Error Ratio (BER) or Block Error Ratio (BLER) estimates by the Radio Network Controller (RNC)..

(21) 10. Theory. 2.3.6 Handovers When a user moves from one cell to another a handover has to occur. In a traditional hard handover the current connection is broken before a connection to the new cell is established. In a soft handover on the other hand the connection to the new cell is established before leaving the current cell. This is the main type of handovers in WCDMA, and a special case of this is softer handover where the links added or removed belong to the same base station. Hard handovers are used in WCDMA to change to another frequency carrier or another system, like GSM. To support hard handover something called compressed mode is used. This basically means that either the spreading factor is decreased or bits are punctured to allow empty timeslots for inter-frequency measurements. Compressed mode will not be covered further.. 2.3.7 Protocol architecture An overview of the protocol architecture can be seen in figure 2.5.. Figure 2.5: Overview of the protocol architecture. The three protocol layers are the physical layer (layer 1), data link layer (layer 2) and network layer (layer 3). Layer 2 contains a number of sublayers, the Medium Access Protocol and Radio Link Control. There are also two service-dependent protocols, the Packet Data Convergence.

(22) 2.3. WCDMA. 11. Protocol (PDCP) and Broadcast/Multicast Control Protocol (BMC). The PDCP is used for packet switched services, mainly IP. One of its main functions is header compression. The BMC is used for cell broadcast services. The RRC encapsulates higher layer control messages (call control, session management etc) for transmission over the radio interface. The control interfaces between the RRC and the lower layer protocols are used to configure parameters for the different channels, measurements and error reporting etc. The RLC provides segmentation and retransmission services, flow control and ciphering etc.. 2.3.8 Medium Access Control Protocol In the Medium Access Control (MAC) the logical channels are mapped to transport channels. The MAC layer consists of three logical entities, MAC-b for the broadcast channel, MAC-c/sh for common and shared channels and MAC-d for the dedicated channels. Other functions performed in the MAC include but are not limited to: • selection of appropriate Transport Format for each Transport Channel depending on instantaneous source rate • priority handling between data flows of one UE and between UE’s • multiplexing/demultiplexing of upper layer PDU’s (Protocol Data Units) into/from transport blocks • traffic volume measurement. 2.3.9 Channels As can be seen in figure 2.5 there are three different channel types: Logical Channels, Transport Channels (TrCH) and Physical Channels (PhCH). The channel mapping from logical to transport to physical channels is shown in figure 2.6. There are also physical channels used only for physical procedures.. 2.3.10. Logical Channels. There are two different types of logical channels, Control Channels and Traffic Channels. Control Channels • Broadcast Control Channel (BCCH) - Downlink channel for broadcasting system control information. • Paging Control Channel (PCCH) - Downlink channel that transfers paging information. • Dedicated Control Channel (DCCH) - A point-to-point bidirectional channel that transmits dedicated control information between the network and a mobile station. • Common Control Channel (CCCH) - A bidirectional channel that transmits control information between the network and an UE..

(23) 12. Theory. Figure 2.6: Channel mapping. Traffic Channels • Dedicated Traffic Channel (DTCH) - A point-to-point channel dedicated to one mobile station for the transfer of user information. Can exist in both uplink and downlink. • Common Traffic Channel (CTCH) - A point-to-multipoint downlink channel for the transfer of dedicated user information to all or a group of UEs.. 2.3.11 Transport Channels Two types of transport channels exist, dedicated channels and common channels. The only dedicated channel is DCH. The common channels are • Broadcast Channel (BCH) - Downlink transport channel used to broadcast system- and cell-specific information. Transmitted over the entire cell with low fixed bit rate. • Forward Access Channel (FACH) - Downlink transport channel that carries information to mobile stations known to be located in the given cell. • Paging Channel (PCH) - Downlink transport channel that carries data relevant to the paging procedure. Associated with the transmission of physical-layer Paging Indicators to support efficient sleep-mode procedures. • Random Access Channel (RACH) - Uplink transport channel intended to carry control information or small amounts of packet data from the mobile station. Characterized by a collision risk and by using only open-loop power control..

(24) 2.3. WCDMA. 2.3.12. 13. Physical Channels. • Physical Random Access Channel (PRACH) - Carries RACH. • Primary Common Control Physical Channel (P-CCPCH) - Carries BCH at a fixed rate of 30 Kbps and channelization code Cch,256,1 . • Secondary Common Control Physical Channel (S-CCPCH) - Carries FACH and PCH at a variable rate. • Dedicated Physical Data Channel (DPDCH) - Carries DCH • Dedicated Physical Control Channel (DPCCH) - Carries control information. • Synchronisation Channel (SCH) - Used for cell search, two sub-channels: primary and secondary SCH. • Common Pilot Channel (CPICH) - Carries a predefined bit sequence with channelization code Cch,256,1 . • Acquisition Indicator Channel (AICH) - Carries acquisition indicators used in random access procedure. • Paging Indication Channel (PICH) - Carries page indicators to indicate a page message on the PCH.. 2.3.13. Transport blocks. Transport block sets with one or more Transport Blocks (TB) arrives from the MAC to the physical layer every TTI. The Transmission Time Interval (TTI) is TrCH specific and can be 10 (one radio frame), 20, 40 or 80 ms. The transport format (TF) defines the data in a transport block set and consists of two parts, semi-static and dynamic. The semi-static parts are common to all transport formats in a transport channel and are: • Transmission time interval (TTI) • Error protection scheme • Size of CRC • Static rate matching parameter The dynamic parts can be different for every transport format, these are: • Transport block size • Transport block set size All transport formats associated with a channel forms a transport format set (TFS), and each format has a unique identifier called the transport format identifier (TFI). Several transport channels can be multiplexed to one coded composite transport channel (CCTrCH), as described in the next section. The collection of transport formats used in a CCTrCH is called the transport format combination (TFC), with the identifiers called TFCI..

(25) 14. Theory. 2.3.14 Channel coding and multiplexing. The general coding and multiplexing of transport channels DCH, RACH, BCH, FACH and PCH is shown in figure 2.7. The inputs to the process are the transport block sets arriving every TTI.. Figure 2.7: Downlink multiplexing and channel coding.

(26) 2.3. WCDMA. 15. Each step will be described briefly in following sections. 2.3.14.1 CRC attachment Cyclic Redundancy Check (CRC) is used for error detection on transport blocks. Higher layers define if there should be CRC of size 24, 16, 12, 8 or no CRC. The generator polynomials used are: • gCRC24 (D) = D24 + D23 + D6 + D5 + D + 1 • gCRC16 (D) = D16 + D12 + D5 + 1 • gCRC12 (D) = D12 + D11 + D3 + D2 + D + 1 • ggCRC8 (D) = D8 + D7 + D4 + D3 + D + 1 Where for example gCRC8 (D) means that the polynomial bit string is 110010111. The information is divided modulo 2 by the generator polynomial and the remainder becomes the checksum. 2.3.14.2 Transport block concatenation and code block segmentation After CRC attachment the transport blocks are concatenated and possibly segmented to different coding blocks. The number of transport blocks on a TrCH i is denoted Mi . Bi is the number of bits in each block, including CRC parity bits. The number of bits after serial concatenation of the Mi blocks is Xi = Mi Bi . Segmentation of the bit sequence is done if Xi > Z, where Z = 504 for convolutional coding and Z = 5114 for turbo coding. The number of code blocks is .  Xi Ci = . Z. (2.3). For Ci > 0 the number of bits in each code block is .  Xi Ki = . Ci. (2.4). For turbo coding if Xi < 40 then Ki = 40. If Xi is not a multiple of Ci , or if turbo coding is used and Xi < 40, filler bits are added to the beginning of the first block. The number of filler bits, Yi is determined by Yi = Ci Ki − Xi .. (2.5). Concatenation is done to avoid the overhead of added tail bits, while segmentation is done to keep down the implementation complexity..

(27) 16. Theory. 2.3.14.3 Channel coding The bits are encoded with one of the Forward Error Correcting algorithms, convolutional or turbo coding, described in appendix A. After encoding the number of bits Yi for each code block depends on the coding scheme according to: • Convolutional coding – Rate 1/2: Yi = 2Ki + 16. – Rate 1/3: Yi = 3Ki + 24. • Turbo coding – Rate 1/3: Yi = 3Ki + 12. The encoded blocks are serially concatenated. The total number of output bits is Ei = Ci Yi . 2.3.14.4 Rate matching WCDMA provides flexible data rates and the number of bits on a transport channel can vary between different TTIs. The rate matching adapts this resulting bit rate to the limited possible bit rates of a physical channel. Bits are repeated or punctured according to the rate matching attribute, which is semistatic and can only be changed through higher layer signaling. The rate matching algorithm is further described in section A.3.3 in appendix A. 2.3.14.5 Insertion of DTX indication, fixed positions Fixed or flexible positions of transport channels in the radio frame can be used, this will not be explained in detail here. If fixed positions are used a fixed number of bits are reserved for each TrCH in the radio frame. If the positions are fixed and the output from the rate matching stage does not fill up the reserved bits, DTX indications are inserted here. DTX indicate when the transmission should be turned off. 2.3.14.6 1st interleaving The 1st interleaving is a block interleaver with inter-column permutations. For 10 ms TTI this stage is transparent. 2.3.14.7 Radio frame segmentation For TTI’s longer than 10 ms the input bit sequence is segmented and mapped onto Fi consecutive radio frames. 2.3.14.8 TrCH Multiplexing Every 10 ms, one radio frame from each TrCH is delivered to the TrCH multiplexing. These radio frames are serially multiplexed into a coded composite transport channel (CCTrCH)..

(28) 2.3. WCDMA. 17. 2.3.14.9 Insertion of DTX, flexible positions If the positions are flexible and there still are bits left in the radio frame these are filled up with DTX indications. 2.3.14.10 Physical channel segmentation When more than one PhCH is used this step divides the bits among the different PhCH’s. Note that the actual mapping is done after interleaving. 2.3.14.11 2nd interleaving The second interleaver performs intra-frame interleaving. It is applied separately for each physical channel segment. It is a block interleaver and consists of bits input to a matrix with padding, the inter-column permutation for the matrix and bits output from the matrix with pruning. Let U be the number of bits in one radio frame, then the output bit sequence from the block interleaver is derived as follows: 1. Assign C2 = 30 to be the number of columns of the matrix. The columns of the matrix are numbered 0, 1, 2, ..., C2 − 1 from left to right. 2. Determine the number of rows of the matrix, R2, by finding minimum integer R2 such that U ≤ R2 · C2. The rows of rectangular matrix are numbered 0, 1, 2, ..., R2 - 1 from top to bottom. 3. Write the input bit sequence into the R2 × C2 matrix row by row starting in column 0 of row 0. If R2 · C2 > U dummy bits are added to the end. 4. Perform the inter-column permutation for the matrix based on the pattern shown in table 2.1, where P2(j) is the original column position of the j-th permuted column. 5. The output of the block interleaver is the bit sequence read out column by column from the inter-column permuted matrix. The output is pruned by deleting dummy bits that were padded to the input of the matrix before the inter-column permutation.. Number of columns C2 30. Inter-column permutation pattern P 2(0), P 2(1)...P 2(C2 − 1) 0, 20, 10, 5, 15, 25, 3, 13, 23, 8, 18, 28, 1, 11, 21, 6, 16, 26, 4, 14, 24, 19, 9, 29, 12, 2, 7, 22, 27, 17. Table 2.1: Inter-column permutation pattern. 2.3.14.12 Physical channel mapping The physical channel mapping is described in section 2.3.9..

(29) 18. Theory. 2.3.15 Spreading and modulation. Sdl,n PhCH#n. Serial to Parallel. I/Q Mapper. I+jQ Cch,SF,m. S. j. Figure 2.8: Downlink spreading and modulation. Figure 2.8 shows the spreading that is done for every physical channel except SCH. SCH instead carries a special predefined synchronization sequence. QPSK is used for all channels (again except for SCH). With HSDPA (which will be described in the next section) another modulation, 16QAM, may be used. 2.3.15.1 IQ mapping QPSK The binary value 0 is mapped to 1, the binary value 1 to -1 and DTX to 0. In the serial-to-parallel converter every even binary symbol is mapped to an I branch and every odd symbol to a Q branch. 16QAM A set of four binary symbols nk , nk+1 , nk+2 , nk+3 are serial-to-parallel converted to two binary symbols on the I branch, i1 = nk , i2 = nk+2 , and two on the Q branch, q1 = nk+1 , q2 = nk+3 . These are then mapped to 16QAM according to table A.1. 2.3.15.2 Channelization and scrambling The I and Q branches are spread to the chip rate by the channelization code Cch,SF,m, described in section 2.3.2. The resulting chip sequence on the Q branch will be multiplied with j and summed with the corresponding chip on the I branch, resulting in a complex sequence. The resulting sequence of complex valued chips will then be scrambled by a complex-valued scrambling code Sdl,n , described in section 2.3.3. Then each channel will be weighted by a weight factor Gi before being combined by complex addition. 2.3.15.3 RF Modulation After the spreading process the complex chip sequence is modulated as shown in figure 2.9 before RF transmission. T in this picture is the final baseband IQ data that will be referenced.

(30) 2.3. WCDMA. 19. later. cos(ωt) Re{T} Pulse shaping T Splitter Im{T} Pulse shaping. sin(ωt) Figure 2.9: Downlink modulation.

(31) 20. Theory. 2.4 HSDPA The High Speed Downlink Packet Access data packet transmission was first defined in the 3GPP Release 4 with a peak rate of 4 Mbps, further developed in Release 5, and then complemented with the downlink equivalent HSUPA (High Speed Uplink Packet Access, also known as EUL, Enhanced Uplink) in Release 6. The current release is the Release 6 referred to in this text. HSDPA is a shared downlink resource, hence one transport channel is shared between multiple users in the cell. This service is packet switched (PS), which means that user data is very bursty, hence the link resource to one user does not need to be reserved through out the connection. In other words, the available radio resources must be dynamically shared between the users that are currently requesting data. Now consider multiple users connected to a Node B. All of these users must be able to get data on request at all times during their connection. This implies that they must have their own channelization code on a dedicated channel to separate them from each other, causing channelization codes to start to run out rapidly when more users are connecting. One solution is to let each user have its own downlink scrambling code, but then the orthogonality from the single source (Node B) would be lost. Category. 1 2 3 4 5 6 7 8 9 10 11 12. Maximum number of codes 5 5 5 5 5 5 10 10 15 15 5 5. Inter-TTI. 3 3 2 2 1 1 1 1 1 1 2 1. Maximum transport block size 7298 7298 7298 7298 7298 7298 14411 14411 20251 27952 3630 3630. Data rate. Modulation schemes. 1.2M b/s 1.2M b/s 1.8M b/s 1.8M b/s 3.6M b/s 3.6M b/s 7.2M b/s 7.2M b/s 10.1M b/s 14.0M b/s 0.9M b/s 1.8M b/s. Both Both Both Both Both Both Both Both Both Both QPSK QPSK. Table 2.2: HSDPA UE categories Instead, HSDPA uses a set of 15 channelization codes shared in time domain and a shared control signaling channel which conveys control informatin to the UE’s, in order to inform the connected UE’s when data is available for a certain UE ID. This resolves the code problem, and does not affect the QoS since PS services does not need to have a guaranteed time delay on data packets. There are 12 different HSDPA categories, with different modulation schemes and number of codes. Different transmission spacings called inter-TTI intervals are also used to effectively limit the bandwidth of certain categories. This is simply done by utilizing every second or every third transmission time interval (TTI). The theoretical data rates ranges from 0.9 to 14 Mbps,.

(32) 2.4. HSDPA. 21. and are all listed in table 2.2.. 2.4.1 Time units There are three important time units used in HSDPA. These are: Radio frame: 10 ms. 38400 chips divided into 15 slots. Slot: 667 µs. 2560 chips. Subframe: TTI for HSDPA consists of three slots i.e. 2 ms. 7680 chips.. 2.4.2 Overview There are three key concepts in HSDPA separating it from R99 services. • Rate adaptation • Hybrid ARQ with soft combining • Fast packet scheduling The rate adaptation adjusts the data rate to a specific user at a frame-by-frame basis, calculated on the current channel quality reported by the UE. Each TTI a new rate is selected for each receiving user by adjusting modulation scheme, forward error-correction coding (FEC) and redundancy version, where the highest rate is assigned to the user with best channel conditions. This user is also getting the highest scheduling priority by the fast packet scheduling process. Hybrid ARQ or HARQ is an in-sequence delivery and redundancy versioning process, making use of erroneous packets by combining them with retransmissions. Modulation schemes used are QPSK and 16QAM for HS-DSCH, and just QPSK for HSSCCH. FEC coding algorithms are Turbo coding for HS-DSCH and convolutional coding for HS-SCCH. These techniques are described in appendix A.. Figure 2.10: HSDPA channel structure overview.

(33) 22. Theory. The channel structure of HSDPA is shown in figure 2.10. The downlink information is carried on the HS-DSCH and HS-SCCH channels, while uplink information is carried on one or more dedicated channels as in R99. There is also a uplink signaling channel called HS-DPCCH, and an extra dedicated downlink channel to carry power control commands to the UE (for uplink power control). The downlink channels are shared between every UE in the cell. Note that HS-DSCH is a transport channel, and figure 2.10 only shows physical channels. HS-PDSCH is the physical HS-DSCH constituent, and there can be up to 15 of these physical channels, also called HSDSCH codes in this text. How these 15 channels are shared among the users is decided by the scheduler.. 2.4.3 Power control Because HSDPA uses a shared channel resource for the receivers, the power cannot be controlled per user since they are not at the same distance from the Node B (nor do they have equal channel conditions). Instead, the power is kept at a fairly constant level, actually the power gap from the R99 channels up to near the maximum output of the power amplifier. In this way, the cell power is always utilized well.. Figure 2.11: Illustrative example of power utilization in HSDPA. If a certain user is located near the Node B, there are two scenarios which may apply. Either this user has sufficient power to get a clear channel and can utilize HSDPA at its peak rate, or the dedicated channels are using to much power so that the user must receive at a lower rate. Now, if this user is located far from the Node B (near the cell edge), two similar scenarios exist. Either this user has sufficient reception to receive at a quite high rate if the cell is not highly populated, or the cell is populated with many other users using dedicated channels, hence this user must receive at a very low rate using basic modulation if at all possible. This rate adaptation is described in the next section. Because the spreading factor is constant.

(34) 2.4. HSDPA. 23. for HSDPA, the processing gain is also constant, and the rate must be lowered in order to receive properly on bad channels. This is the main reason why the scheduling of data is first done in the time domain, so that one user near the Node B with good channel conditions does not get affected by a user with poor channel conditions (and get a lower rate). 2.4.3.1 Uplink power control It is still critical to have a tight power control on the uplink channels to avoid interfering other UE’s. This is implemented by assigning each UE a dedicated channel, carrying power control commands in the TPC field. This may also be used for complementary circuit switched data such as speech. Regarding the issue with downlink channelization codes, it should be mentioned that the dedicated channel can use a SF of up to 512 since data is not carried, so there will be enough DPCH’s for HS UE’s assuming not all HS-DSCH codes are used. If more UE’s need to be connected for instance when using all HS-DSCH codes, fractional DPCH (F-DPCH) may be used, allowing several UE’s to share one DPCH.. 2.4.4 Rate adaptation HSDPA uses the following link adaptation techniques. As mentioned earlier, power control is omitted for the downlink and replaced by means of changing modulation scheme between QPSK/16QAM, and code rate of the FEC code to adjust bit rate. The basic idea behind this is to lower the modulation i.e. increase the processing gain, and also increase the effective coding rate of the FEC in order to allow UE’s with weak or interfered signal to receive properly. The higher modulation of 16QAM provides twice the bit rate compared to QPSK on clear channels, and puncturing of parity bits gives a code rate of almost 1 (0.9715). On the other hand, if the channel is noisy or has a weak signal due to bad coverage or interference, the modulation can be changed to standard QPSK with a coding rate of 1/3, with repetition of both systematic and parity bits to increase redundancy. The UE’s with favorable channel conditions are prioritized by the scheduler, hence given better average throughput. Refer to the next section about scheduling for further details on this. The link adaptation is frame-based, that is, for each TTI a new transport format will be chosen dynamically. When there are favorable link conditions, 16QAM and (close to) 1/1 coding rate is applied. The CQI field of the uplink control channel HS-DPCCH (see section 2.4.13) contains information reflecting the downlink channel conditions which is used by MAC-hs in Node B for selecting transport format.. 2.4.5 Fast packet scheduling Scheduling in HSDPA differs from other WCDMA services, in the sense that the former uses instantaneous measuring of the channel conditions to schedule packets to several users. The user with the best link conditions will get the highest priority, either in time domain or in code domain, but preferably in time domain if the UE’s are experience different channel conditions..

(35) 24. Theory. Otherwise, the one with best channel will be forced to receive at a lower data rate than possible. This is also called channel-dependent scheduling in some literature. If there are, for instance, two users sharing one channel with similar link conditions, then they will share the channel resources equally, utilizing half of the code set each. If one of them suffers from poor signal strength due to bad coverage then the one with best link conditions will get more air time and also be able to use lower coding rate and higher modulation. Therefore, the channel is always utilized well, and the average throughput for the better link will be high. Figure 2.12 shows an example of channel-dependent scheduling between three users, who suffers from dips in channel quality at different times.. Figure 2.12: Example of scheduling three users with variations in channel quality. The scheduling functionality resides in MAC-hs in Node B and not in the RNC as for the other R99 services. The reason for this is to keep the round trip times short, hence enabling high data rates.. 2.4.6 MAC-hs The MAC protocol provides data transport between physical layer (layer 1) and higher sublayers of layer 2 through the RLC protocol, and also scheduling of MAC packet transmissions to different users connected to the Node B (see section 2.3.8 about WCDMA). Both of these protocols are part of the Data Link Layer (layer 2) of the OSI model, but the MAC-hs resides in the Node B whilst the MAC-d/MAC-c/sh and the RLC is in the RNC. The reason for placing MAC-hs in Node B is obvious if the data rates and the possible number of Node B’s connected to each RNC are taken into account; the fast signaling requires fast operation of the MAC-hs, thus its position is close to the physical layer in the Node B to releave the RNC. The drawback is that this adds complexity to the relatively simple Node B. The MAC-hs can be seen as an extension of the MAC-d/MAC-c/sh protocols, dropped down to the physical layer. Its primary tasks are HARQ process management/in-sequence delivery to higher layers, user scheduling, transport format selection and extended flow control. The MAChs receives a flow of MAC-d PDU’s which are priority sorted between a set of priority queues,.

(36) 2.4. HSDPA. 25. each tied to a channel of its own. These are then prioritized and segmented into MAC-hs PDU’s and sent using HARQ. The MAC-hs specific control signaling is mapped directly onto HS-SCCH in the physical layer. The information consists of HARQ parameters, transport format selection and UE ID. Mapping and coding of these parameters is described in section 2.4.11.. Figure 2.13: MAC-hs encapsulation of TCP/IP packets. Now consider each MAC-d PDU as a MAC-hs SDU, that is, MAC-d header and MAC-d payload. Each MAC-hs PDU consists of a MAC-hs header (normally 21 bits when using fixed MAC-d PDU size) and a sequence of N MAC-d PDU’s. If the sum of the MAC-d PDU’s are less than the transport block size, the MAC-hs PDU is padded with dummy bits to fit the transport block. The data encapsulation from IP packets down to MAC-hs PDU’s is shown in figure 2.13. The initial user data has already been encapsulated into the IP packet in layer 3 by the remote serving application (for instance, a web server). The IP header is then compressed by the PDCP protocol in layer 2 (RNC), which maps higher-level protocol characteristics onto the characteristics of the underlying radio-interface protocols, providing protocol transparency for higher-layer protocols. The PDCP header and payload forms the RLC SDU. This is split into 40 bytes long payload segments, each with its own RLC header. These then forms the MAC-d SDU..

(37) 26. Theory. 2.4.6.1 MAC-hs header The MAC-hs header format is shown in figure 2.14. In this case, all MAC-d PDU’s are of equal size, yielding a 21 bit header. If they were of different sizes, they would be grouped in sets according to their size and the SID/N /F fields would be repeated in the header for each set yielding 11 bits extra per additional PDU set. Normally, they are all of equal size though.. Figure 2.14: MAC-hs header. The VF version flag is reserved for future extensions. If this bit is a 1, the header is not valid as of today. QueueID identifies a reordering queue, which buffers received blocks in a receiving window in order to deliver the transport blocks in-sequence. All MAC-d PDU’s of a MAC-hs PDU belong to the same reordering queue. TSN is the transmission sequence number of the transport block, used when reordering. The in-sequence delivery is implemented on top of HARQ, since there is no interaction between the HARQ processes. SID is a size index identifier that specifies the size of the MAC-d PDU’s. N is the number of MAC-d PDU’s in this set (normally only one as mentioned previously). Finally, F indicates the end of the header.. 2.4.7 Hybrid ARQ with soft combining For a perfect transmission channel with no noise and maximum amplitude of the received signal at all times, there is no need for any forward error-correction coding (FEC) or retransmission algorithms. In practice, there are no such things as perfect channels, hence must there be some sort of error handling. Even a short length copper or fiber cable can be interfered by external electro-magnetic sources, and this is often taken care of by either packet acknowledgment/retransmission or FEC. Retransmission schemes is the best choice if the channel conditions are good enough to cope without FEC most of the time (as for cable links), and FEC schemes is the best choice for noisy channels such as air interfaces. For an air interface however, there is no guarantees what so ever that even a highly redundant packet can be received at all times, due to fluctuations in the channel. One better approach is a combination of the retransmission scheme Automatic Repeat Request (ARQ) and FEC, called Hybrid ARQ, or HARQ. In this case, the received packets are first decoded according.

(38) 2.4. HSDPA. 27. to the FEC scheme used, and then checked for errors using CRC. If an erroneous packet was received despite FEC coding, the receiver discards the packet and sends a NACK back to the transmitter. Otherwise, an ACK is sent to indicate that the packet could be salvaged. ARQ is also automatically responsible for in-sequence delivery of the packets, since retransmissions will cause new transmissions inside the receiving window to come out of sequence. This is done by an re-ordering queue in the receiver.. 2.4.8 HARQ in HSDPA HSDPA uses an extension of HARQ, HARQ with soft combining, which keeps erroneous frames in a soft buffer (called virtual IR buffer at the transmitter side) since there is some amount of intact data, and requests a retransmission of the same frame. This retransmission may be either the same data bits as was sent last time including systematic bits, or a new set of parity bits with or without systematic bits. The retransmission is then combined with the soft buffer, until there is enough information for the frame to be decoded successfully. There are two types of retransmission combination; Chase Combining and Incremental Redundancy. 2.4.8.1 Chase Combining In a Chase Combining (CC) algorithm, retransmitted frames are exact copies of the original one, and are combined until the frame can be decoded. This is a simple algorithm, since the bits to keep from each retransmitted frame are simply those who differs from the buffered frame. Eventually, assumed that interference may be regarded as random, i.e. uniformly distributed, the combination of frames will equal the original data sent by the transmitter. However, if the channel suffers from long-term random interference, this is not a very efficient algorithm since there may be several retransmissions for each frame, taking channel bit-rate down severely. 2.4.8.2 Incremental Redundancy Another approach is Incremental Redundancy (IR). In this algorithm the frame is retransmitted with increasing redundancy and perhaps even without systematic bits (or with punctured systematic bits). Like Chase Combining, the retransmissions are combined with the original frame until enough redundancy is accumulated. This results in better error coding/lower code rate, since it is often more efficient to use more dense coding than to retransmit several times if the channel quality is poor. That is, the redundancy is adapted to channel conditions. This is much more robust to static interference than CC, since one retransmission generally contains the redundancy omitted in the initial transmission. As an example, consider a maximum coding i.e. minimum code rate of 1/4. Let’s say that the initial data frame was transmitted with a code rate of 3/4, and a transmission error occurred due to interference on the channel. The next data frame would then be coded using a data rate of 3/8. Suppose this frame was also altered by interference, then the second retransmission would be coded with a data rate of 1/4, hence maximum redundancy is sent..

(39) 28. Theory. 2.4.8.3 Physical layer details All of the HARQ functionality resides in MAC-hs in the physical layer. The principle of the rate matching is depicted in figure 2.15. The specifications in [3] allows the UE to have a smaller soft buffer than required by the largest transport blocks, and than the bits output from the Turbo coder for a certain valid transport block. This limitation is tied to the UE category mentioned previously, and signaled at connection setup. In order to accommodate the coded transport block bits in the buffer, these must first be rate matched (puncturing only) to perfectly fill the buffer. This is done in the first rate matching stage, where systematic bits are always preserved.. Figure 2.15: Principle of the HARQ two-stage rate matching. The second rate matching stage performs the actual redundancy selection for retransmissions, as well as rate matching for physical channels. If for instance one QPSK channel is used, there are 960 available channel bits, and the bits input must be matched to this using either repetition or puncturing. The rate matching pattern is calculated as described in section 2.4.10.5. The redundancy version parameters s and r are defined more detailed in section 2.4.10.5 and the coding of them into HS-SCCH is defined in 2.4.12.1. For s = 1, systematic bits will also be preserved (if possible) in the second rate matching stage, and for s = 0 the number of systematic bits depends solely on the rate matching algorithms. Depending on the amount of available channel bits and the redundancy version parameters, different rate matching scenarios will apply. If systematic bits are prioritized and the amount of channel bits is enough for the systematic bits, only parity bits will be punctured. On the other hand, if systematic bits are not prioritized, this implies that parity bits are prioritized instead. In this case, the systematic bits are primarily punctured. Although, both systematic and parity bits are repeated in both cases. An example of HARQ rate matching for both CC and IR is shown in figure 2.16. The transport block size is 13904 bits (all channels, QPSK), and the soft buffer is 38400 bits..

(40) 2.4. HSDPA. 29. Figure 2.16: Example of rate matching for different redundancy versions, when using 15 QPSK channels. The initial transmission is equal to a CC retransmission. The down-most bits represents an IR transmission, where in this example only complementary (and some copies of) parity bits are sent, i.e. systematic bits are not prioritized and does not fit into the physical channels. The parity bits to send are actually not bit sequences as shown in the figure, but chosen from the entire parity block. Even parity bits that has already been sent (in the end of the last transmission) may be picked out by the redundancy (rate matching) algorithm. The transmissions/retransmissions are handled by several parallel stop-and-wait HARQ processes, one for each receiver at the receiving side and one for each channel and receiver at the transmitting side.. 2.4.9 HS-DSCH The High-Speed Downlink Shared Channel utilizes both time- and code multiplexing. According to the specifications, the first choice is multiplexing in the time domain. HS-DSCH uses a constant SF of 16. 15 of these channelization codes are available for HSDSCH use, because the first code is reserved to preserve higher spreading factors. This enables up to 15 users to share the channel during each time frame (TTI). The TTI is also different from the other services of WCDMA, since it has been reduced to 2 ms (3 time slots) to boost throughput. The main reason for this is the bottle neck problem.

(41) 30. Theory. introduced by TCP/IP, when data packets need to be acknowledged very fast which cannot be done using longer TTI’s. This has also been counteracted with the HARQ functionality described in more detail in sections 2.4.7 and 2.4.10.5. The maximum bit rate is obtained when all 15 codes are assigned to one UE. With 3.84 Mcps and 16QAM modulation scheme, the bit rate becomes 3.84 16 · 4 · 15 = 14.4 Mbps. This is however not the net data transmission rate, since the overhead of the error-correction coding is not taken into account, even though this is only a few percent when using full puncturing of parity bits. Moreover, further overhead is added in the MAC-hs header, reducing net data rate even more.. Figure 2.17: Example of code and time multiplexing using five HS-DSCH codes, shared between four users. An illustration of four UE’s sharing an HS-DSCH with 5 channelization codes is shown in figure 2.17. The sharing is made through both code- and time multiplexing of available TTI slots between the users. Note that the order of the code assignment to the users is of no importance regarding the transmission itself. The scheduler selects which users and how many codes to assign each of them, and the time domain sharing between the time frames. The selection of which user to get the most bandwidth is complex and done by the scheduler in the RNC.. 2.4.10 Coding of HS-DSCH The RNC chooses a suitable transport block size (T BS) for this particular channel, whose size, together with modulation scheme and number of allocated codes, decides the effective data quantity to be transferred. If the TBS is too small for the transmission, repetition of coded bits is performed in the HARQ stage, see figure 2.18 which illustrates the coding chain. If the TBS is too large, coded bits must be punctured (removed) in order to fit. This may include puncturing of systematic bits, if they are not prioritized. Error correction is obtained using 1/3 rate Turbo coding of the transport block concatenated with CRC-24. The CRC provides error check once the data is decoded. Bit scrambling of raw data is performed in order to iron-out any long sequences of ones or zeros. This is important to avoid repeated low-frequency electro-magnetic interference, which was a fundamental problem in 2G GSM UE’s. Interleaving of coded data is also important when using high-speed wireless communication..

(42) 2.4. HSDPA. 31. Figure 2.18: HS-DSCH coding chain. The interleaver re-arranges the input bits, so that systematic bits and parity bits are evenly spread out in the time domain, hence making the error correction more robust to dynamic radio interference. The coding chain illustrated in figure 2.18 is described in more detail in the following sections. It is related to the coding chain described in 2.3.14. The same denotations as used in [3], section 4.5, is used here. Note that there are some dualities, for instance A = T BS.. 2.4.10.1 CRC attachment The 24 CRC bits are calculated from the A (or T BS) transport block bits aim1 , aim2 , .., aimA , according to 2.3.14.1. There is only one transport block. The checksum is appended to the end of the transport block, producing the bit sequence bim1 , bim2 , .., bimB , where B = A + 24..

(43) 32. Theory. 2.4.10.2 Bit scrambling The bits output from the CRC calculation, Bim , are scrambled by XOR’ing them with the scrambling sequence generated by the following algorithm. The resulting B scrambled bits are denoted Dim . The generator polynomial g is given in equation 2.6, and the initial conditions are given in equation 2.7. g = {g1 , g2 , .., g16 } = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1}. y´γ = 0, −15 < γ < 1. (2.6). (2.7). y´γ = 1, γ = 1 Then, the scrambling sequence yγ is calculated according to. y´γ =. 16 X. gx · yγ−x ´. x=1. !. mod 2, 1 < γ ≤ B. (2.8). 2.4.10.3 Code block segmentation This is done according to section 2.3.14.2 for turbo coding. Note that there is only one transport block. 2.4.10.4 Turbo coding Oir bits are encoded using Turbo code at rate 1/3, according to section A.1. Each code block is coded separately, yielding 12 tail bits per code block, 4 for systematic and 2 · 4 = 8 for parity. That is, the extra overhead after Turbo coding is Ci · 12. The resulting E bits are denoted ci1 , ci2 , .., ciE . 2.4.10.5 HARQ rate matching Before rate matching stage one, input bits are separated into three sequences X1 , X2 , X3 with systematic bits in the first, and parity bits in the other two according to x1,i,k = ci,3(k−1)+1 x2,i,k = ci,3(k−1)+2. k = 1..Xi. (2.9). x3,i,k = ci,3(k−1)+3 where Xi =. E . 3. (2.10).

(44) 2.4. HSDPA. 33. First rate matching stage This rate matching stage operates on the three bit sequences defined above. The number of bits input i.e. the number of coded bits is E, and the size of the virtual IR buffer is denoted NIR which is signaled from layer 2 for each HARQ process. Repetition is never performed in this stage, and puncturing of systematic bits is not allowed. The puncturing decision and pattern calculation follows. If NIR ≥ E Coded bits will fit into the buffer and no puncturing needs to be performed. else Coded bits does not fit into the buffer, and puncturing must be performed. end That is, when NIR < E redundancy is punctured according to the general rate matching algorithm described in section A.3. The number of parity bits that needs to be punctured is ∆NilT T I = NIR − E (negative sign equals puncturing), where i and l indicates the transport channel and transport format combination respectively. Both of these indexes are static for HS-DSCH and do not need to be considered. The number of bits out of the first stage is denoted Nsys for systematic bits, Np1 and Np2 for parity 1 and parity 2 bits respectively, and given in equation 2.11. Nsys = Xi Np1 Np2.

(45)

(46)

(47) ∆NilT T I

(48)

(49) = Xi −

(50)

(51)

(52) 2

(53)

(54)

(55) ∆NilT T I

(56)

(57) = Xi −

(58)

(59)

(60) 2. (2.11). Second rate matching stage The following parameters decides the redundancy version of the current transport block, as an effect of number of bits input, available channel bits, and RV (Redundancy Version) parameters. This stage is always operative, and may as mentioned earlier perform both puncturing and repetition of both systematic bits and parity bits. After the redundancy version has been selected, the appropriate rate matching is performed in order to fit the selected bits into the physical channels. Available channel bits are denoted Ndata and given below as a function of modulation scheme M S, where QPSK = 0 and 16QAM = 1, and number of physical channels P . Ndata = (M S + 1) · 960 · P. (2.12). If Ndata ≤ Nsys + Np1 + Np2 then puncturing is performed. The number of systematic bits after puncturing is Nt,sys = min (Nsys , Ndata ). (2.13). for a transmission that prioritizes systematic bits (s = 1), and similarly Nt,sys = max (Ndata − (Np1 + Np2 ) , 0). (2.14).

(61) 34. Theory. for a transmission that prioritizes non systematic bits (s = 0). That is for s = 1, if all systematic bits can fit into the physical channels, all bits are preserved during puncturing. Otherwise, the maximum number of systematic bits are sent and all parity bits are punctured. For s = 0, either no systematic bits are sent if only the parity bits fits into the physical channels, or the amount of bits available after parity bits are fitted. If Ndata > Nsys +Np1 +Np2 then repetition is performed. The number of bits after repetition is Nt,sys.  = Nsys ·. Nt,p1 Nt,p2. Ndata Nsys + 2Np1   Ndata − Nt,sys = 2   Ndata − Nt,sys = 2. . (2.15). (2.16). (2.17). for systematic, parity 1 and parity 2 bits respectively. Of course, s has no effect here. A closer glance at these equations reveals that the bits are evenly repeated to fill the physical channels. Note that Np1 = Np2 , but Nt,p1 does not necessarily has to be equal to Nt,p2 . The general rate matching algorithm described in section A.3 is applied to the three bit sequences, using rate matching parameters defined in table 2.3.. Systematic bits Parity 1 bits Parity 2 bits. Xi Nsys Np1 Np2. eplus Nsys 2 · Np1 Np2. eminus |Nsys − Nt,sys | 2 · |Np1 − Nt,p1 | |Np2 − Nt,p2 |. Table 2.3: Rate matching parameters for second HARQ rate matching stage The final rate matching parameter eini as a function of RV parameter r is then given by equations 2.18 and 2.19, for puncturing and repetition respectively.      r · eplus eini (r) = Xi − −1 mod eplus + 1 (2.18) rmax      (s + 2 · r) · eplus eini (r) = Xi − −1 mod eplus + 1 (2.19) 2 · rmax Where rmax is the maximum number of redundancy versions for the given M S, rmax = (M S + 1) · 2 and r versions are listed in section 2.4.12.1.. (2.20).

(62) 2.4. HSDPA. 35. 2.4.10.6 HARQ bit collection HARQ bit collection stage performs the bit collection algorithm that follows. The bit sequences from rate matching stage 2 are read into a rectangular interleaving matrix column by column. The dimensions of the matrix are Nrow × Ncol , where Nrow = 2, M S = 0Nrow = 4, M S = 1. Ncol =. Ndata Nrow. (2.21). (2.22). Ncol can also be written as Ncol = P · 480. (2.23). since Ndata is proportional against Nrow . The following parameters defined in equations 2.24 and 2.25 specifies where systematic bits and parity bits are to be written into the matrix. Nr is the number of rows where systematic bits are to be written, and Nc is the number of columns where systematic bits are written in Nr + 1 rows. Furthermore, Nc = 0 if there are no parity bits. . Nt,sys Nr = Ncol. . Nc = Nt,sys − Nr · Ncol. (2.24) (2.25). If Nc = 0 and Nr > 0, the systematic bits are written into rows 1..Nr . Otherwise, systematic bits are written into rows 1..Nr + 1 in the first Nc (left-most) columns, and if Nr > 0 the remaining bits are written into the remaining Ncol − Nc columns (using Nr rows). In other words, either all systematic bits will fit on one row using Nc columns, or they will fit on the first Nr + 1 rows using Nc columns plus Nr rows in the column span [Nc + 1, Ncol ]. Note that matrix indexes starts at 1.. Figure 2.19: Illustrative example of the HARQ bit collection matrix. The parity bits are then written into the remaining space, column by column with alternating order of parity 1 and parity 2 bits. See figure 2.19 for an illustrative example for the case Nc 6= 0..

References

Related documents

The main contribution of this paper is a code design based on joint (source-channel) coding and modulation that uses the correlation between the observations at the relay and

The estimated channel loss probability is calculated based on the number of lost packets and total number of packets per block information, this information is sent by the

The FACH (Forward Link Access Channel) and URA (UTRAN (UMTS Terrestrial Radio Access Network) Registration Area) reselection parameters are used in combination with traffic

However, column F.E.C can correct up to L consecutive packets beeing lost (burst loss), while row F.E.C will always fail if two or more consecutive packets are lost.. 3.9.3 2D

Till detta syfte knöt vi tre delambitioner: att försöka svara på varför man engagerar sig i politiska partier över huvud taget, att föra en diskussion om huruvida avhopp

In estimation of multiple motions, there is a number of diculties that are not present in estimation of single motion. In the general case, estimation of multiple motions is a

This proves that the process of standardisation is not over yet, and that the two dictionaries attempt to affect and in some way or another lead this standardisation process --

But concerning our actors (science, companies, society, and consumers) in the GMO context, we could argue that there are different areas and degrees of responsibilities in relation