• No results found

Implementation of CMMB System using Software Defined Radio (SDR) Platform

N/A
N/A
Protected

Academic year: 2021

Share "Implementation of CMMB System using Software Defined Radio (SDR) Platform"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Implementation of CMMB System using Software

Defined Radio (SDR) Platform

Examensarbete utfört i Datoteknik vid Tekniska högskolan i Linköping

av

He Zhang och Haohao Gu

LiTH-ISY-EX--10/4305--SE

Linköping 2010

Department of Electrical Engineering Linköpings tekniska högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping

(2)
(3)

Implementation of CMMB System using Software

Defined Radio (SDR) Platform

Examensarbete utfört i Datoteknik

vid Tekniska högskolan i Linköping

av

He Zhang och Haohao Gu

LiTH-ISY-EX--10/4305--SE

Handledare: Di Wu

ST-Ericsson AB

Dake Liu

isy, Linköpings universitet

Examinator: Dake Liu

isy, Linköpings universitet

(4)
(5)

Avdelning, Institution

Division, Department

Division of Computer Engineering Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2010-06-01 Språk Language  Svenska/Swedish  Engelska/English  ⊠ Rapporttyp Report category  Licentiatavhandling  Examensarbete  C-uppsats  D-uppsats  Övrig rapport  ⊠

URL för elektronisk version

http://www.da.isy.liu.se http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-ZZZZ ISBNISRN LiTH-ISY-EX--10/4305--SE

Serietitel och serienummer

Title of series, numbering

ISSN

Titel

Title Implementation of CMMB System using Software Defined Radio (SDR) Platform

Författare

Author He Zhang och Haohao Gu

Sammanfattning

Abstract

CMMB (China Multimedia Mobile Broadingcasting) is a wireless broadcasting channel standard for low bandwidth, low cost hand-held digital TV is adopted by all continental Chinese government TV broadcasting companies and some Hong Kong private TV broadcasting companies. The business potential is high, yet the future is hard to predict because it might be replaced by GB200600 or DTMB. The digital modulation is based on OFDM with pilot supporting channel estimation and equalization and CP supporting multi-path induced ISI problems.

This thesis investigates the implement a CMMB system using a SDR platform. Simulation chain was implemented using MATLAB with full data precision includ-ing CMMB transmitter and receiver. The transmitter behavior model includes RS encoder, LDPC encoder, OFDM modulation, etc. The receiver behavior model includes OFDM demodulation, channel estimation, channel equalization, LDPC decoder, RS decoder, etc. Different channel models emulating pathloss, white noise, multi-path, and glitch were modeled. Based on the simulation chain and channel models, T-domain, F-domain channel estimator and equalizer were im-plemented, optimized. Optimized TD-FD models for different mobility scenarios were proposed. The focus of the thesis is on 2D (FD-TD) channel estimation and equalization.

Nyckelord

(6)
(7)

Abstract

CMMB (China Multimedia Mobile Broadingcasting) is a wireless broadcasting channel standard for low bandwidth, low cost hand-held digital TV is adopted by all continental Chinese government TV broadcasting companies and some Hong Kong private TV broadcasting companies. The business potential is high, yet the future is hard to predict because it might be replaced by GB200600 or DTMB. The digital modulation is based on OFDM with pilot supporting channel estimation and equalization and CP supporting multi-path induced ISI problems.

This thesis investigates the implement a CMMB system using a SDR platform. Simulation chain was implemented using MATLAB with full data precision includ-ing CMMB transmitter and receiver. The transmitter behavior model includes RS encoder, LDPC encoder, OFDM modulation, etc. The receiver behavior model includes OFDM demodulation, channel estimation, channel equalization, LDPC decoder, RS decoder, etc. Different channel models emulating pathloss, white noise, multi-path, and glitch were modeled. Based on the simulation chain and channel models, T-domain, F-domain channel estimator and equalizer were im-plemented, optimized. Optimized TD-FD models for different mobility scenarios were proposed. The focus of the thesis is on 2D (FD-TD) channel estimation and equalization.

(8)
(9)

Acknowledgments

This thesis is the result of our work as master students in computer engineering division, Linköping University. We would like to express our sincere appreciation to all the people who were involved in our work during all these weeks for their helps and assistance. Without them, this thesis would not have been completed.

We would like to thank our examiner, Prof. Dake Liu, for providing us the opportunity to work on this thesis. His wide knowledge and experience always give us inspiration.

We would like to express our appresiation to our supervisor, Di Wu for his guideline, suggesition, and helpful discussion with patience.

Thanks also go to: our friends, Guoyou Jiang, Jian Wang for their helps and encouragement; ISY staff, Ylva Jernling, Anders Nilsson for their cheerfully help-ing with support issues. In addition, we would like to thank all the teachhelp-ing staff in ISY and IDA for providing kindly teaching and helping during our master study.

Finally, Thanks to our parents for selfless support and trust.

He Zhang & Haohao Gu Linköping, May 2010

(10)
(11)

Contents

1 Introduction 3

1.1 The project . . . 4

1.2 Broadcasting System Background . . . 4

1.3 Orthogonal Frequency Division Multiplexing . . . 5

1.4 Software-Defined Radio . . . 6

1.5 Low Density Parity Check Codes . . . 7

1.6 CMMB system . . . 7 1.7 Thesis Overview . . . 8 2 System Description 11 2.1 Overview . . . 11 2.2 Transmitter Chain . . . 12 2.3 Receiver Chain . . . 13 3 Transmitter Simulator 15 3.1 Channel Encoder . . . 15

3.1.1 RS coding and byte interleaving . . . 16

3.1.2 LDPC coding . . . 17 3.2 Bit Interleaving . . . 19 3.3 Symbol Mapper . . . 19 3.4 OFDM Multiplexing . . . 20 3.4.1 Frequency-division multiplexing . . . 20 3.4.2 Time-division multiplexing . . . 21 3.4.3 Questions to Discuss . . . 22 4 Channel Model 23 4.1 Overview . . . 23 4.2 Path Loss . . . 24 4.3 Multipath . . . 25 4.4 AWGN . . . 27 4.5 Glitch . . . 28 ix

(12)

5 Receiver Simulator 29

5.1 OFDM Demultiplexer . . . 29

5.2 Channel Estimator . . . 29

5.2.1 Symbol Structure Analysis . . . 30

5.2.2 Time Domain Estimator . . . 31

5.2.3 Frequency Domain Estimator . . . 31

5.2.4 Interpolation . . . 31

5.3 Equalizer . . . 32

5.4 Symbol Demapper . . . 32

5.4.1 Hard Decision Approach . . . 33

5.4.2 LLR Approach . . . 33

5.4.3 MAX Approach . . . 33

5.5 Bit Deinterleaving . . . 34

5.6 Channel Decoder . . . 34

5.6.1 LDPC decoder . . . 34

5.6.2 RS Decoder and Byte Deinterleaving . . . 37

6 Performance Simulation 39 6.1 CMMB System Chain Simulation . . . 39

6.2 Frequency Pilot Time Average . . . 40

6.3 Interpolation Methods . . . 41

7 Conclusion and Future Work 43 7.1 Conclusion . . . 43

7.2 System . . . 43

7.3 Channel . . . 43

7.4 Hardware . . . 44

7.5 LDPC decoder hardware implementation . . . 44

7.5.1 CMMB Parity Check Matrix Analysis . . . 44

Bibliography 45

(13)

Abbreviations

3G Third generation mobile telecommunication ADC Analog-to-digital converter or convert AGC Auto gain control

AWGN Additive white gaussian noise BER Bit error rate

BP Belief propagation algorithm BPSK Binary phase-shift keying CLCH Control logical channel

CMMB China multimedia mobile broadcasting CP Cyclic prefix

CSI Channel state information CTF Channel transfer function CTV Check-to-variable message

DAC Digital-to-analog converter or convert

DBB Digital baseband

DSP Digital signal processor or processing DVB-T Digital video broadcasting - Terrestrial

DVB-T2 Digital video broadcasting - Terrestrial -Second Generation DVB-S2 Digital video broadcasting - Satellite - Second Generation FD Frequency domain

FEC Forward error correction FFT Fast fourier transform FPTA Frequency pilot time average GF Galois field

GI Guard interval

HS-LDPC High structure LDPC

IC Integrated circuit

IFFT Inverse fast fourier transform ISI Intersymbol interference

LDPC Low density parity check LLR Log likelihood ratio LOS Line of sight LS Least square LSB Least significant bit LTE Long term evolution

LU decomposition Lower triangle and Upper triangle matrix decomposition MCM Multi-carrier modulation

MP Message passing algorithm MSA Min-sum algorithm MSB Most significant bit MUX Multiplex

NLOS Non-line of sight

(14)

PDP Power delay profile PHY Physical layer

PLCH Physical logical channel PN Pseudo-random noise sequence QAM Quadrature amplitude modulation QPSK Quadrature phase-shift keying RS Reed-Solomon coding

RF Radio frequency SDR Software define radio SISO Single input single output SLCH Service logical channel SP Sum-product algorithm TC Turbo coding

TD Time domain

TDAC Time domain average coefficient

TxID Transmitter identifier TS Time slot

VTC Variable-to-check message

(15)

Chapter 1

Introduction

Nowadays, people in China could watch TV programs on their mobile handheld. On March 22, 2010, China Broadcasting Corporation(CBC) and China Mobile announced that TD+CMMB mobile service was official commercialize national wide.

CMMB is the abbreviation of China Multimedia Mobile Broadcasting. The standard has been developed and specified by the State Administration of Radio, Film, and Television(SARFT) since October, 2006. AT the same year, SARFT published part 1 of the standard: Framing Structure, Channel Coding, and Mod-ulation for Broadcasting Channel. In the following years, China has standardized its own development for mobile television broadcasting, and in the first month of 2009, the last part, part 10 was released.

During 2008 Beijing Olympic Games, CMMB system terminals were widely adopted in the mobile phone market. People could watch games anytime and anywhere with high quality broadcasting service. Over 230 terminals from 79 companies were launched during that year. Figure 1.1 demonstrates CMMB cov-erage in China.

Figure 1.1. CMMB Coverage include test phase[5]

Mobile broadcasting industry is flourishing. Up to 2010 November, there will be 3

(16)

over 337 prefecture-level cities in China covered with CMMB network. Multimedia mobile broadcasting has been the new hottest topic among people. Combined with 3rd generation mobile telecommunication, people could not only watch TV, listen music with mobile phones, but also surf internet, check the latest information at the same time.

It is excited to study this broadcasting system. Before presenting the trans-mitter and receiver simulator, we first review some key concepts behind it.

1.1

The project

Matlab modeling is usually the first design stage implemented by algorithm engi-neers. Standards and specifications are analyzed and theories behind them will be realized by Matlab codes. Multiple algorithms will be compared and the one with higher performance will be used. Simulation results will be treated as the golden model, which will be compared to the hardware implementation. As the title of this thesis, in one word, we intend to implement the system modeling under SDR platform.

The goal of the thesis is to build the whole baseband communication system by proper algorithms, construct the simulation under certain channel modes and present propose performance results such as bit error ratio, system mobility etc.

The thesis project was mainly accomplished in 5 phases: standard understand-ing, transmitter buildunderstand-ing, receiver buildunderstand-ing, channel model building and simulation results analysis. According to the different parts in the standard, each phase was divided into several parts. Theories and algorithms were first studied and dis-cussed. After that they were realized separately. Each part was verified function-ally and then merged with each other. Channel model supports different scenarios like perfect channel, path loss, addictive white Gaussian noise, block fading. Sim-ulation was conducted to verify the robustness and mobility of the system.

The target readers could be either researchers or hardware engineers. They might have a clear idea about the concept of physical layer and its structure. Deeply they also need to know the purposes of each part, what we could encounter the channel in reality and how to recover the correct information from the received interfered data during the transmittion.

1.2

Broadcasting System Background

It is a complex and big project in between data transmission and receiving. Broad-casting system plays the role to build the communication between source signal and terminals. The complete broadcasting system includes seven layers, which are Application layer, Presentation layer, Session layer, Transport layer, Network layer, Data Link layer, and Physical Layer. Broadcasting system has two branches: wired and wireless communication. For example, Digital Video Broadcasting -Cable(DVB-C) belongs to wired broadcasting system, while Digital Video Broad-casting - Terrestrial(DVB-T) belongs to wireless.

(17)

1.3 Orthogonal Frequency Division Multiplexing 5

In this thesis, the physical layer of a wireless broadcasting system is discussed. The implementation of this layer is often termed PHY. In PHY, raw bits stream with slow bit rate and low frequency are transformed into fast bit rate and high frequency data format. Extra bits are added also, in order to resist noise, fad-ing in the channel and increase the system’s mobility and robustness. A simple broadcasting system usually looks like Figure 1.2

Figure 1.2. A simple broadcasting system

First, original sampled digital data is compressed or packed by source coding. Channel coding adds redundancy to protect information. Modulator converts dig-ital signal into analog waveform. In upper converting, filters are used to adjust signal’s RF properties suitable for transmission. Channel is usually modeled as Additive White Gaussian Noise(AWGN) with fading model. Receiver gets sig-nals which have been distorted by the channel. Channel estimation and equaliza-tion was used in receiver to remove these channel effects before channel decoding. Channel decoder uses the redundant bits to correct errors and source decoder again unpack information and revert them for the applications.

1.3

Orthogonal Frequency Division Multiplexing

OFDM is a special multi-carrier modulation(MCM) technology. The essential part of OFDM is to divide data stream into parallel bit streams during the transmission, and modulate them onto one or several sub-carries.

The concept of multi-carrier was brought out in military in 1950s, but it was first described by R.W. Chang in 1960s, and that is what we called OFDM tech-nology. Under such mechanism, fast-modulated wide band signals could be viewed as several slowly-modulated narrow band signals, in which way also simplified the channel equalization.

In 1971, Weinsten and Ebert first introduced Fast Fourier Transfer(FFT) mod-ulation in OFDM system. Because of the orthogonal characteristic, FFT and inverse FFT(IFFT) as efficient modulation algorithms are implemented on the receiver side and sender side. Nowadays, low-cost digital signal processing(DSP) component for FFT and IFFT could be implemented easily. Figure.1.3 shows the spectrum in frequency and time domain after OFDM.

(18)

Cyclic Prefix(CP), as one key principle of OFDM was introduced by Peled and Ruiz. It is a repetition from the end of the symbol and appended at the head. In this way, as long as CP’s length is longer than the worst-case delay spread of the target multipath environment , system could completely cop the time-spreading and inter-symbol interference(ISI).

−60 −40 −20 0 20 40 60 −20 −15 −10 −5 0 5 10 15 20 −800 −60 −40 −20 0 20 40 60 80 0.05 0.1 0.15 0.2 0.25

Figure 1.3. OFDM spectrum in frequency and time domain

OFDM are widely adopted by modern high speed wireless or cable communi-cating standards. Like IEEE 802.11a,g,n, DVB-T2, DVB-S2, WiMAX, LTE etc.

1.4

Software-Defined Radio

Nowaday, There are too many wireless standard for communication, and even for one standard, as LTE, it is also under the evolution. In order to use them, we need to implement all of them in special-purpose hardware if we just follow the conventional radio system solution. But in reality we only need to active one or two of them at the same time. It gives us the possibility to implement the multi standards on the same piece of hardware.

Software-Defined Radio(SDR) is such a technology which can support different standards by reload software. A more accurate definition of SDR can be achieved from [2]:

“ SDR defines a collection of hardware and software technologies where some or all of the radio¡Çs operating functions (also referred to as phys-ical layer processing) are implemented through modifiable software or firmware operating on programmable processing technologies. These devices include field programmable gate arrays (FPGA), digital signal processors (DSP), general purpose processors (GPP), programmable System on Chip (SoC) or other application specific programmable pro-cessors.”

However, SDR is not all good. Comparing with the convertional way, SDR consume more power and silicon area if based on the implementation of one

(19)

com-1.5 Low Density Parity Check Codes 7

munication’s standard. So right now, SDR solutions is limited in some special areas like basestation, where the communication device vendor can easily update the basestation to support the latest standards.

In theory, everything can be done in software. And this is a trend that the terminals will support multi standards based on one piece of hardware. However, there are still constraints in technology.

1.5

Low Density Parity Check Codes

In information theory, low-density parity-check code(LDPC) is an error correcting code. LDPC coding is a popular method in wireless communication which aimed to correct errors after the information transmit through a noisy and variable channel. Like other error correcting algorithms, LDPC can only correct limited rate of errors, and also need to add some redundent bits, but it is the first code to allow data transmission rates close to the theoretical maximum, the Shannon limit.

LDPC codes are also known as Gallager codes, in honor of Robert G. Gallager. In 1962, he described this algorithm in his doctoral dissertation at MIT. He de-signed the parity check codes which has excellent theoretical properties. But due to the limitation of technology at that period, LDPC was not suitable in imple-mentation and was almost forgotten. Fortunately in 1996, LDPC was rediscovered by MacKay and Neal. People were fascinated with its error correcting ability. In the past several years, the codes were developed and optimized. And right now LDPC decoding can achieve very high performance with relatively low complexity. In 2003, a type of LDPC code beat six turbo codes to become the error cor-recting code in the new DVB-S2 standard. There are still larghly number of wireless standards adopt LDPC code as their forward error correctiong code, such as 10GBase-T Ethernet(IEEE 802.3an), ITU-T G.hn, CMMB and WiMAX(IEEE 802.16e).

1.6

CMMB system

CMMB is not a Chinese national standard. Combined with TD-SCDMA, it is intended for the application in both mobile and fixed scenario. It supports H.264 and MPEG-4 video coding. Since the transmit rate is limited, so it is a suitable solution for handheld devices, but not for big screen TV.

CMMB system uses frequencies in the range 2635 - 2660 MHz (S-band) for satellite with additional terrestrial broadcast in the UHF band 470 - 862 MHz. S-band satellite network broadcast channels are used for direct reception: Ku-S-band uplink, S-band downlink; distribution channels are used for terrestrial enlargement, forward and reception: Ku-band uplink, Ku-band downlink, enlargement network transforms channel to S-band and send to CMMB terminals.

Figure.1.4 shows the basic concept of a CMMB system.

It aims to solve the situation that 100% nationwide overlay and mobility in the cities with high population density. It specifies usage of the 2.6GHz frequency

(20)

Figure 1.4. CMMB system

band and occupies 25MHz bandwidth within which provides 25 video and 30 radio channels. A duplex channel broadcasts additional data service.

1.7

Thesis Overview

This thesis is intended to build the physical layer model of CMMB system in Matlab. Since the algorithms in each process are all quite mature, we do not focus on algorithm level optimization, but try to implement these algorithms in our models. Finally, the performances of the system based on the different algorithms are compared and analysed.

Forward error correction(FEC), modulation are all based on CMMB specifica-tion, incomplete channel models was built to analyse the performance. The outline of this thesis is listed as follows,

In Chapter 1, a brief introduction and backgrounds.

In Chapter 2, an overview of the whole system chain is presented. This part is not intended to repeat the standard, however a general description of trans-mitter chain, receiver chain and the channel model are presented. Details of each component in the chain could be referred to the CMMB standard [8].

In Chapter 3, algorithms and methods which were used in the transmitter chain are described in detail. It mainly includes three parts: FEC, mapping, multiplexing. All the transmitter chain is implemented, except the RF front end, DAC and digital front end.

In Chapter4, different channel models were emulated based on certain circum-stances.

In Chapter 5, algorithms and methods which were used in the receiver chain are described in detail. Data need to be treated carefully because it is not so easy

(21)

1.7 Thesis Overview 9

to extract the correct information after a complex channel. Additionally, channel estimation will be presented.

In Chapter 6, simulation results are proposed in this chapter, and the conclu-sions reach the analysis of the results.

(22)
(23)

Chapter 2

System Description

The whole broadcasting system is a big system, but the lowest and most funda-mental layer is physical layer (PHY), which is also this whole thesis concerned about. For the physical layer transmission or reception system, it provides Phys-ical LogPhys-ical Channels (PLCH) to upper-layer services. PHY performs like the connection between logical data to higher level functions. The CMMB standard of physical layer specifies the framing structure, channel coding, modulation scheme for both channels over 2MHz and 8MHz. The allocation of PLCHs is illustrated in Figure.2.1.

2.1

Overview

In China Mobile Multimedia Broadcasting(CMMB) system, we need both control and service parts. Control part plays a role as a commander. Control channel transfers the commands through control channel, then the service part knows how to handle the data going through the service channel. According to the CMMB standard [8], we call these two channels as Control Logical Channel (CLCH) and Service Logical Channels (SLCH) respectively.

In CLCH, in order to lower the bit error rate(BER) during the control infor-mation’s transmission, we choose the most reliable configuration to protect this crucial information. And that is why we have RS(240, 240), 1/2 LDPC code rate, and BPSK as constellation in CLCH. Meanwhile the requirement of SLCH is not as strict as CLCH, so it is configurable for different cases.

This thesis focuses on 2D(FD-TD) channel estimation and equalization, so the broadcasting system doesn’t have RF components, ADC and DAC adaptations etc. There is no intend to discuss analog part specification of the standard in the project. Consequently, the signal fed into the receiver chain is under some ideal assumptions, for example, there is no folding issue.

Synchronization is another big issue which usually big effort should be spent on. While in our project, we assume that the transmitter chain and the receiver chain are synchronized. They are in same frequency and phase. Analog-to-digital converter (ADC) and digital-to analog converter are perfect matched. So that

(24)

Figure 2.1. CMMB Broadcast Channel PLCH

certain aspects involving synchronization like frequency offset is not even under consideration. Feasible ability of the subsequent components are based on this assumption.

2.2

Transmitter Chain

As we can see from Figure 2.2, this transmitter inludes several parts. Bit stream from layer-2 is the input to the PHY.

In digital communication, in order to control the errors, usually the forward error correction(FEC) is introduced. Adding of FEC makes the receiver has the ability to correct possible errors in the data without asking the transmitter. There are many FEC codes in different communication systems, and their principle are basically adding some redundancy to the transmit information. The redundancy is generated from the transfer information using some fixed algorithm. and CMMB system adopts the Reed-Solomon(RS) code and Low-density parity-check(LDPC) code. The bit stream to PHY first goes into the FEC.

After being coded in FEC, the bit stream will go into the bit-interleaver, which is actually shuffling the bit stream by a fixed rule. The aim of this part is mainly work for LDPC to solve the problem of burst error during the transmission. This kind of errors is contiguous sequence of carriers. For LDPC coding, it has the bound of correction, once the number of error carries reach the limit, the FEC will

(25)

2.3 Receiver Chain 13

out of work. Thanks to the interleaving, the burst error can be spread to several carriers, that can make the FEC works.

Symbol mapping comes following by the bit interleaving. This step works with the shifting of phase or amplitude of the carriers to represent the bits patterns. And that is so called quadrature amplitude modulation(QAM). PSK(Phase-shift keying) can be considered as a special case of QAM, it just changes the phase of the carrier, and the amplitude is keeping constant.

The generated symbols are then assembled. That includes inserting the scatter pilots and continue pilots to the fixed positions. And after that the symbols are scrambled. Scramble utilizes a Pseudo-random(PN) sequence to break long string of ’1’ or ’0’, and make the transfer information more randomized.

Then we need insert ’zero’ into the symbols, that is so called ’zero padding’, and also need to insert DC. Typically, we need spectrum shaping filter before transmitting to eliminate the signal out of the used bandwidth. And for real time system, it’s impossible to make the filter with a rectangular shape, the transition band is not that steep. If we fill the data in all the carriers. It will result in the loss of data.

Then we can do IFFT to transfer the symbols from frequency domain(FD) to time domain(TD). In TD, we add CP(cyclic prefix), GI(Guard Interval) and do windowing. CP is the reason why the OFDM has such good property to against the multipath propagation.

From the Figure.2.2, the next step is symbol shapping filter which we has mentioned before. The aim of this filter is to remove the frequency out of the transmit band.

Now the data is ready to transfer. It will do digital-to-analog convert(DAC), up converting and reach the RF part. This thesis did not involve with this part. since we mostly focus on digital baseband.

Figure 2.2. CMMB Transmitter Chain

2.3

Receiver Chain

(26)

Principally, Receiver’s procedure is like the reverse of the transmitter. Like down converting corresponding the up converting, and FFT corresponding IFFT, etc. So in this part, we briefly discuss the different part about receiver.

One important part in receiver is channel estimation, which was showed on the figure 2.3. In real world, the channel is always changing, which is completely unpredictable, except for some fixed property. Channel estimation is a way to es-timate the real channel by import some pilots which are already known in advance and use their values after they go through the channel to get the approximate real channel. The detail of channel estimation will be discussed on Chapter.5.2.

Another issue need to be concerned is synchronization. For an OFDM system. it has huge advantage in term of resist of fading, spectrum efficiency, etc. but in the meantime, they also give the challenge on the synchronization. First, the receiver need to find the accurate frequencies to ensure the orthogonality. Second, sampling need to do in the correct time. In our simulation model, this problem was not introduced and we just assume the system is already synchronized.

(27)

Chapter 3

Transmitter Simulator

The transmitter simulator constructs the physical layer transmission system of CMMB. The input data stream is processed mainly by channel coding, modula-tion, multiplexing and upper converting to RF transmission. Frequency of system ranges from 30MHz ∼ 3000MHz[8]. There are two bandwidth modes: 8MHz and 2MHz. CMMB transmission system has such characteristics:

CMMB

FEC Reed Solomon + LDPC 1/2, 3/4 Modes BPSK, QPSK, 16QAM Guard Interval 1/192

Cyclic Prefix 1/9 FFT size 1k, 4k Scattered Pilots 6.7% of total Continual Pilots 2.4% of total

Table 3.1. CMMB characteristics

3.1

Channel Encoder

Channel coding is such an important part in a telecommunication system. Channel in reality varies now and then. In order to achieve a robust data transmission or high mobility system, channel codes or forward error correction(FEC), which intro-duce redundant information before transmission, are adopted by modern wireless or wired communication standards.

There are two main FEC categories:block codes and convolutional codes. Block codes treats fixed-size blocks or packets.The most common used ones like Reed-Solomon(RS) coding, Turbo Coding(TC) and Low-Density Parity-Check(LDPC) Coding. Covolutional coding works on bits or symbol streams with arbitrary

(28)

length. There are many algorithms but usually decoded by Viterbi decoder. Some-times, convolutional codes could be converted into block codes[11].

CMMB standard employs RS coding as outer coding and LDPC coding as inner coding. In this thesis, focus is only on LDPC coding, RS coding is also involved, but just implemented by Matlab function. Proper configuration is done to fulfill the requirement of CMMB standard.

3.1.1

RS coding and byte interleaving

In 1960, Reed-Solomon codes(RS) was developed by Irving S. Reed and Gustave Solomon. Right now, it becomes an important technical in many wireless commu-nication system as the outer encoder, such as WiMAX, CMMB, etc.

In CMMB system, RS encoder is used with byte interleaving. The elements of RS codes are from Galois field (GF), which is GF(8), with the field generate polynomial p(x) = x8+ x4+ x3+ x2+ 1. And when do the encoding, it is not the

standard RS(255, M) coding. it is a shorten RS code, RS(240, M). This is just by adding 15 zeros on the front of the 240 information bytes, and do the standard RS(255, M) coding, and remove the first 15 bytes after complete the coding.

There are several modes can be chosen to do the RS encoding in different channel conditions. which is RS(240, M), with M = 240, 224, 192 and 176. when M = 240, that actually means RS encoder is not work. and for the rest of them, the maximal number of errors they can be corrected are 8, 24, 32 in every 240 bytes.

And Byte interleaving is doing after the RS encoding. Different interleaving modes are chosen to match with the LDPC coding and symbol mapper.

The generator polynomial for RS(240, K) is g(x) =

240−K

X

i=0

gixi (3.1)

and input information sequence polynomial is m(x) =

K−1

X

i=0

mixi (3.2)

and the output codeword polynomial is C(x) = 239 X i=0 cixi= x240−Km(x) + r(x) (3.3) wherein, r(x) = x240−Km(x) g(x) .

In our implementation, The building of GF(8) is completed by calling the Matlab function ′gf, with the parameters as m = 8, since we are 8 bits for one

byte, and p = 285, which comes from our primitive generator polynomial. And RS encoding is also implemented by using the function in Communication toolbox in Matlab, which we just give the object of Galois field obtained before, and RS information bits length M = 240, 224, 192or176.

(29)

3.1 Channel Encoder 17

3.1.2

LDPC coding

CMMB standard employs High Structure LDPC(HS-LDPC) and supports two code rates:1/2 and 3/4.[10] [8] Refer to Table 3.2 for LDPC encoder parameters. Considering the special structure of the matrix, LDPC encoding process could be divided into two steps: Generation of generate matrix G according to the parity check matrix H and LDPC encoding.

rate Info length K Codeword N 1/2 4608bit 9216bit 3/4 6912bit 9216bit

Table 3.2. LDPC Parameters

The most common used LDPC codes is QC-LDPC or its evolved version, which both parity check matrix and generate matrix have block-circular structure. While, CMMB standard introduces another LDPC code, called HS-LDPC, also with regular-constructed parity check matrix, which is suitable for low complex hardware implementation in decoding.

LDPC encoder

After investigating the LDPC part in the CMMB standard [8], we knew that the parity check matrix is sparse and highly structured, but in the other hand, the corresponding generate matrix is very dense. We need much more memory to store this matrix, and even this matrix can be obtained, we still need to multiply the information bits to get the parity check bits. That is impossible for such big matrix multiply.

So instead of struggling with the generate matrix, we jump to the parity check matrix. We realized that the goal of LDPC encoding is creating codeword CTfrom

the information bits and generate matrix which fulfills the following equation: H× CT= 0 (3.4) Where H is the parity check matrix, CT is the reordered codeword, 0 is a zero

vector.

For CT which is also the output codeword of LDPC encoder, the generate

method is as following : COL_ORDER(i): CCOL_ORDER(i)T =  Pi 0≤i≤9215-K Si+K−9216 9216-K≤i≤9215

where the information bits S = {s0, s1, ..., sK−1} and parity check bits P =

{p0, p1, ..., p9215−K} are mapped into codeword CT = {c0, c1, ..., c9215}. The recorder

(30)

Obviously, the parity check matrix H and codeword here are not systematic code. This mixed pattern will increase the difficulty in encoding. To solve this problem, a method based on LU decomposition was proposed by [10].

First, we reorder the parity check matrix H into H´ by column, simply following the mapping rule COL_ORDER(i).

H´[ :,i] = H[ :,COL_ORDER(i)] i ∈ [0, 9215] (3.5) So the new parity check matrix H´ is clearly made by two parts, Hp and Hs

corresponding to pbit and sbit. What we know is sbit, Hp and Hs, we do the

following operations and solve the pbit.

[Hp, Hs] ∗ [p_bit, s_bit] = 0 (3.6)

Because H is defined in GF(2), so the Equation 3.6 could be written in:

Hp∗ p_bit = Hs∗ s_bit (3.7)

In order to decrease the complexity of the calculation, do LU decomposition on Hp. In this way, we can also get benefit in hardware implementation, since Hp is a

constant matrix, its lower-triangular and upper-triangular matrix could be saved in memory to accelerate encoding process. Equation 3.7 could be written as:

L ∗ U ∗ p_bit = Hs∗ s_bit (3.8)

So the p_bit vector could be solved by twice left divisions in Matlab.

p_bit = Hs∗ s_bit\L\U (3.9)

The LU decomposition could be expressed as following steps:

1. Mark the rows with 1 nonzero element. For each row, do row elimination with the other two rows which have elements in the same column as the element in the marked row( since column weight is 3).

2. After all the marked rows below finish operation, check the updated matrix, and find the rows with only 1 nonzero element from unmarked rows, and repeat 1.

3. If there are no row that has only 1 nonzero element, continue to find the row(s) with 2 nonzero elements, and repeat 1, 2.

4. Continue to find rows that have nonzero elements with 3,4,5 . . . until all the rows have been marked, then the operation is finished.

This operation works if the matrix is relatively small. But in CMMB system, the Hp is quite big even under 3/4 code rate. The actual simulation in Matlab is

running in very low efficiency. Thanks to the function that Matlab offers, we use

fec.ldpcenc to generate encoding object, and encode function to obtain codeword.

The outputs of these two ways are proved be the same. But the codeword should be mapped back with COL_ORDER(i) so the encoder is compatible with decoder in Chapter 5. Plus, usually for LDPC code, the parity check bits are always appended with the information bits. However, in CMMB, their positions are just switched. When we did our simulation, this bring an extra step to switch them.

(31)

3.2 Bit Interleaving 19

3.2

Bit Interleaving

Bit Interleaving comes after the LDPC encoder. Here in CMMB a Mb∗ Ib matrix

was used, and the matrix is 192 ∗ 144 for 2MHz mode, while in 8MHz mode, the matrix is 384 ∗ 360.

In out implementation, we just need to fill the matrix with the data elements row by row and send the contents of the matrix out column by column.

3.3

Symbol Mapper

In CMMB system, there are three different modulation modes. They are Binary phase-shift keying(BPSK), Quadrature phase-shift keying (QPSK), and 16QAM(16 Quadrature amplitude modulation). During the transmission, the transmitter will send the control information to receiver, and receiver will choose the right demod-ulation modes.

Figure 3.1. Binary Phase-shift Keying Figure 3.2. Quadrature Phase-shift Keying

Both BPSK and QPSK are Phase-shift keying(PSK), they use the different phase stand for an unique patten of bits. And the number of bits for each phase is fixed in different PSK, they are 1 bits in BPSK and 2 bits in QPSK respectively. The scheme of BPSK and QPSK are plotted on Figure.3.1 and Figure.3.2 .

Meanwhile, for 16QAM, it is a little bit different, since QAM is a combination of both PSK and Amplitude-shift keying(ASK). So it uses different phase and amplitude to stand for a unique patten of bits. For 16QAM, the number of fixed bits is 4. The implementations of these three modulations are actually quite same, since PSK can be considered as a QAM with constant amplitude. The scheme of 16QAM is plotted on Figure.3.3.

(32)

Figure 3.3. 16 Quadrature Amplitude Modulation

3.4

OFDM Multiplexing

3.4.1

Frequency-division multiplexing

OFDM symbols are formed by multiplexing data subcarries, scattered pilots and continual pilots in frequency domain.

Figure.3.4 shows signal distribution scheme. X axis stands for frequency do-main, each row is a Nv length OFDM symbol, and Y axis is in time domain, all

53 Nv length OFDM symbols build up one time slot.

Scattered pilots present scatter format both in time domain and in frequency domain. They always carry the value 1 + 0j. The standard gives the index of these scattered pilots in each OFDM symbol. There are 78 and 384 scattered pilots in each OFDM symbol under 2MHz and 8MHz mode respectively. Since their known values and the scatter characteristic in time and frequency domain, scattered pilots are used to estimate the channel.

Continual pilots are continual in time domain and present symmetric in fre-quency domain. They are defined to carry null bits except some of them are used to carry indication information. Each continual pilot carries one bit information

(33)

3.4 OFDM Multiplexing 21

Figure 3.4. Signal Distribution Scheme

modulated by BPSK. In another word, without the pilots used to transmit in-formation, all the contents in other pilots are 1

2+ 1 √

2j. The index of continual

pilots are also fixed in each OFDM symbol and they are usually used to track the frequency and adjust phase. There are 28 continual pilots in one symbol for 2M Hz mode, and 82 for 8M Hz mode.

3.4.2

Time-division multiplexing

After IFFT, OFDM symbols are multiplexed as one after the other in time domain. As defined in the standard, one CMMB physical frame consists of 40 time slots. Each time slot has one beacon plus 53 OFDM symbols connected in serial, Figure 3.5.

Figure 3.5. Frame structure

Guard intervals(GI) and cyclic prefix(CP) are first added to each symbols. The durations of OFDM payload, CP and GI are 409.6us, 51.2us and 2.4us. The whole OFDM symbol lasts for 469.8us. Notice that GI is overlapped with adjacent two symbols, Figure 3.6.

(34)

Figure 3.6. OFDM symbol structure in time domain

3.4.3

Questions to Discuss

Cyclic Prefix(CP) in CMMB standard is 51.2µs as just mentioned. But fairly speaking, is that necessary? And according to the Technical specifications for receiving and decoding terminal [9]. A Rayleigh channel model was specified for testing, and the longest delay for that model is 5.422091µs. Is CP too long for this system?

(35)

Chapter 4

Channel Model

4.1

Overview

In reality, transmission media, so called channel, is not as constant and perfect. It varies now and then. There are many factors would distort the radio signal in the procedure between transmitter and the receiver. So in order to make the communication robust, reliable and immune to the effects from channel, channel coding is adopted. In another word, it would be meaningless if there is no such channel effect emulated in the communication system model.

Figure 4.1. Channel Impulse Response

So how can we model the channel? First we need to know the channel state information (CSI). Figure.4.1 shows how CSI should look like. In the theory, most channels in communication can be represented by the following equations:

(36)

r = h ∗ s + n (in TD) R = HS + N (in FD) wherein, S(s) stands for the data sequence, N(n) represents the additive white Gaussian noise(AWGN) with variance σ2. S(s) is the symbols from transmitter,

and R(r) is the symbols which receiver got from the antenna. and capital letter means the signal is in FD, while lower-case letter means in TD.

Notice, Assuming R is NN × 1 complex-element vector in frequency FD, and then both S and H represent the NN × 1 vectors in FD. Furthermore bold faced Sand H represent the NN × NN diagonal matrices, which contain elements of S and H in their diagonal respectively.

In our simulation, Four different channel models were emulated, Figure 4.2. Although we have several assumptions and RF components missing, these models are still considered to be reasonable. These models are introduced in the following sections. Channel estimation and equalization methods are discussed in Chapter 5. Simulation results are presented in Chapter 6.

Figure 4.2. The channel models used in the project

4.2

Path Loss

In telecommunication, Path loss is the reduction of the attenuation when the signal propagates in the space. That is also the most fundamental effect we need to consider on the channel.

We just assume our signal transmits in the free-space, and no loss in the system and antenna,etc. The path loss in dB is:

Lloss= 20 log10

4πdf

c (4.1)

Where c is the velocity of light, f is the tranmission frequency and d is the distance between the transmitter and receiver.

However in our simulation model, we mainly focus on this effect caused by path loss. According to the CMMB standard, the bandwidth we were used are

(37)

4.3 Multipath 25

Figure 4.3. Path loss effect in frequency bandwidth

2M Hz and 8M Hz. From the Equation 4.1, it obviously that the power loss in the transmit bandwidth is different. We can see that from the Figure 4.3

So for all the subcarriers in one OFDM symbol, the path loss is different. Take fc= 30M Hz as an example, we can find that in 2M Hz mode, the loss for symbol

carrier in highest frequency is around ((30 + 1)MHz/(30 −1)MHz)2= 1.14 times

than the carrier in lowest frequency. And in 8MHz mode, this rate becomes quite large, it can reach around ((30 + 4)MHz/(30 − 4)MHz)2= 1.71.

4.3

Multipath

Multipath is a result from the fact that radio waves can bounce on objects, as seen in Figure 4.4. The received signal is a weighted sum of differently delayed paths due to reflection and refraction, as illustrated in Figure 4.5. This effect may cause the intersymbol interference(ISI) in OFDM.

As we know, the received power is proportional to 1/d2if we model the situation

as free-space attenuation. Multipath also brings the different power combination issue on the received waveform.

The mathematical way is usually described like this, Assume we transmit such signal:

s(t) = ej2πf t (4.2) And the multipath fading channel impulse response in time domain is:

h(τ, t) =X

n

αn(t)δ(τ − τn(t)) (4.3)

where n is the total number of channel paths, αn(t) is the attenuation factor of

(38)

Figure 4.4. The multipath scenario

Figure 4.5. The multipath waveform

The signal we received after mulipath propagation will be like this: r(t) =

+∞

Z

−∞

h(τ, t)s(t − τ) dτ = h(τ, t) ⊗ s(t) (4.4) OFDM system usually employs cyclic prefix(CP) scheme, a copy of the fraction from end of the data symbol is appended to the start of the symbol. The adoption of CP can immunize the effect from multipath. So for OFDM based CMMB system should naturally own the ability to avoid multipath effect as long as the delay is not longer than the length of its CP.

In the project, in order to model such channel effect, we introduced a sequence of discrete taps, illustrated in the Figure 4.1. The different taps stand for the different paths. Their power also change in different taps.

(39)

4.4 AWGN 27

Average Power Loss [dB] 0 -0.9 -4.9 -8 -15 -23.9 Delay [tap(s)] 0 2 7 11 20 25

Table 4.1. Channel Power Delay Profile

Notice that Figure.4.1 is just a general model to indicate the channel. However in our simulation, we use the parameters in Table.4.1 as our channel power delay profile(PDP). And the multipath fading we were used in our model has non-line of sight(NLOS) components. so we can see that at the first tap, its average power and delay time are all zero. Zero power stands for that line of sight(LOS) component reaches the receiver. In another hand, zero delay does not mean this component will really reach the receiver in zero delay. Normally, we just define the shortest ray as the zero delay, since the absolute time is not that importance, but the disparity of time is [7].

According to [8], for 2MHz, a complete symbol contains all the 1024 subcarries will occupy 2.5MHz bandwidth, which means our sampling frequency is 2.5MHz. So the time between tap to tap is 1/2.5MHz. Based on that, in our channel PDP, the longest delay is 25/2.5MHz = 10µs which is shorter than the CP time Tcp= 51.2µs. That effectively avoid the ISI.

4.4

AWGN

White noise exists everywhere during transmission, not even the air but also com-ponents, like integrated circuit(IC) devices. It has flat power spectral density over wideband at any center frequency. Additive White Gaussian Noise(AWGN) is such a channel model to describe that a linear addition of white noise with a constant spectral density and a Gaussian distribution of amplitude.

However, the power of AWGN is relatively small compared with signal itself, as depicted in figure 4.1. As we define the signal-to-noise ratio(SNR), they have such relation as:

SN R =Psignal

Pnoise (4.5)

SNRs are often expressed using the logarithmic decibel scale. In decibels, the SNR is defined as: SN RdB = 10 log10  Psignal Pnoise  (4.6) The corresponding amplitude of noise is:

Anoise= Asignal10−SNR/20 (4.7)

And multiplied with some random signal with power 1 is what we were used as AWGN channel. The AWGN noise could be added to signal after emulated with channel impulse response as see in figure 4.2. Plus, during the simulation, in order to build identical scenario, we use the same noise vector.

(40)

4.5

Glitch

Glitch is another special situation which is caused by electromagnetic interference. Rapidly changing electrical currents bring part of the signal loss. Power switch around the power plant, lightning or other effects may cause this kind of glitch. The communication could be interrupted for a moment.

To model such phenomenon, we simply manually modify part of successive subcarries value to be either one or zero to represent a glitch impact.

According to the [8], for 2MHz and 8MHz modes, the theoretical OFDM signal power spectral bandwidths Bf are 1.536MHz and 7.512MHz respectively,

and we assume there is a glitch from the lightning, which lasts for Tburst = 5µs,

and the number of burst signals are

Nburst= TburstBf; (4.8)

So we can calculate the burst numbers from the Equation.4.8, which are ap-proximately 8 in the 2MHz mode and 38 in 8MHz mode. And in our simulation, we add this glitch for every 25ms.

(41)

Chapter 5

Receiver Simulator

5.1

OFDM Demultiplexer

Demultiplexer is the inverse process as multiplexer described in Chapter 3.4. Recreating original data stream is also accomplished in two steps, time-division multiplexing and frequency-division multiplexing.

Beacon, which lies at the head of each time slot, carries transmitter ID and synchronization signals. Since in this thesis, we don’t intend to discuss synchro-nization issue, the data stream received here is clearly recognized. Before FFT, demultiplexer simply discards those parts like GI, CP and beacon.

After FFT, signals are transformed into frequency domain. Refer to Figure 3.4, OFDM symbols are divided into three parts: continual pilots, scattered pilots and data. Pilots will be reserved for the following channel estimation. However some so called ’continual pilots’ in [8] are actually not real pilots, they carry indication information. These pilots will also be treated in the later processes.

5.2

Channel Estimator

As we described about the whole system, the channel state-information(CSI) is more like the villain in the communication system. All the channel coding we have here is based on the goal to wipe off the influence from the channel and get the reliable information. The most direct way to do this is getting the CSI and roll back the received symbols according to the CSI. That will utmost recover the original symbols from the received symbols. In most OFDM based systems, training sequence or so called pilots is introduced. Pilots are a kind of signal which receiver knows exactly where it is and how large it is. After pilots going through the channel, receiver can compare the values between the original pilots and received pilots, and estimates the channel.

(42)

5.2.1

Symbol Structure Analysis

In this CMMB system, the pilots are multiplexed with data in OFDM symbols. There are two parts of pilots can be employed to do the channel estimation. They are scattered pilots, part of continue pilots. The location of these pilots are illus-trated on the Figure. 5.1. The ratio of the pilots’ number to the total number of subcarriers is 1/K, where K = 8.

Figure 5.1. TD-FD Channel Estimation

Scattered pilots are scattered in the fixed position of every symbol. It is the main force to do the estimation. According to the standard of CMMB, in every time slot, the pthscattered pilot position in the nthsymbol is:

mp= ( 8p + 1, 0 ≤ p ≤ Np 2 − 1, mod(n, 2) == 0, 8p + 3, Np 2 ≤ p ≤ Np, mod(n, 2) == 0. (5.1) mp= ( 8p + 1, 0 ≤ p ≤ Np 2 − 1, mod(n, 2) == 1, 8p + 3, Np 2 ≤ p ≤ Np, mod(n, 2) == 1. (5.2) where Npis the number of scattered pilots in every symbol, Np is 78 in 2MHz

mode and 384 in 8MHz mode.

According to CMMB standard, continual pilots can also be utilized for channel estimation. Since some of them contain the indication information, and others just transfer an fixed bit ’0’(before BPSK).

The following sections will discuss how these pilots can be utilized to do the channel estimation.

(43)

5.2 Channel Estimator 31

5.2.2

Time Domain Estimator

In this section we investigate a time domain(TD) channel estimation approach, named frequency pilot time average (FPTA), which has been proposed in [3]. In FPTA, we choose T symbols which have the same pilot pattern, and make the average for that pilots in the time domain, it can be expressed as follow:

Rp[i] = 1 T T X i=1 Rp[i] (5.3)

where Rpis received the pilots after the channel, T is the time domain average

coefficient(TDAC).

Figure.5.1 shows the approach to do the FPTA when T = 2.

Notice that the pilots pattern are different in odd symbols and even symbols, so when we do the average, we can only choose every T odd symbols and every T even symbols. Another problem comes because the symbol number in one time slot is NS = 53. So when we do the average by T symbols. The last T symbols are

always left, and we just simply make the result equal to the last averaged symbol. From the [3] The variance of noise is largely reduced. it can be seen by calcu-lating the root mean square(RMS) of the noise:

RM Sn= v u u t 1 Ns Ns X i=1 (Rp[i] − Sp[i]) (5.4)

Where Sp is the transmitted pilot tone, Rpis the received pilot tone, Nsis the

total number of symbols in one time slot. The simulation of relationship between the noise RMS and TDAC is shown in the Section.6.2.

5.2.3

Frequency Domain Estimator

For frequency domain estimator, Least Square(LS) estimation is used, it can be computed by the following equations.

The estimated channel from pilot subcarriers can be written as ˆ

Hp= Sp−1Rp (5.5)

where Sp and Rp stand for the sending pilots and received pilots value. And

interpolation is usually needed to get the full estimated channel, which was illus-trated on the Figure. 5.1.

5.2.4

Interpolation

Interpolation can be used based on the assumption that the neighboring subcar-riers are highly correlated, so we can interpolate the channel coefficients between

ˆ

Hp, then we get the estimated channel ˆHs

ˆ

(44)

where A stands for the interpolation filter.

For interpolation, different methods can be used. they are mainly nearest interpolation(NI), linear interpolation(LI) and spline cubic interpolation(SCI).

Nearest Interpolation (NI)

The NI approach is performed simply by interpolate the closest pilot’s value.

Linear Interpolation (LI)

The LI method performs like the following way, the data subcarrier between the two pilots ˆHp[n] and ˆHp[n + 1] is

ˆ

Hs[nK + i] = ˆHp[n] + i

K( ˆHp[n + 1] − ˆHp[n]) (5.7) where 0 6 i 6 K

Spline Cubic Interpolation(SCI)

The SCI will interpolate by using a smooth polynomial, which makes the curve fit to the pilots data points (Use the Matlab ’spline’ function) These three different interpolation methods have different complexity and pre-cision. Obviously, the NI method need least cost, and SCI method cost the most.

5.3

Equalizer

After we get estimated channel ˆHS, we need to equalize the received data, which

can be done by the following equation:

Req= ˆHS−1R (5.8)

Where ˆHS is estimated channel, R is received signal and Req is equalized

received signal.

As we can see that equalization step involves division between complex values in the matrix. That is a huge cost for hardware. so we use the following transform below: Req = a + bi c + di = (a + bi)(c − di) (c + di)(c − di)= ac + bd + (bc − ad)i c2+ d2 (5.9)

A complex division is instead by multiply. That largely reduces the cost of hardware.

5.4

Symbol Demapper

In this part, we implement an efficient soft-decision demapper. From Section.3.3 , we know that in CMMB receiver, the symbol mapping supports four modulation modes : BPSK, QPSK and 16QAM. In a Bit-interleaved coded modulation(BICM) receiver, demapper outputs log likelihood ratios for code bits. Comparing with

(45)

5.4 Symbol Demapper 33

hard-decision, soft-decision contains much more reliable information. The whole system’s Bit Error Rate(BER) performance can also reach a higher level, but the hardware complexity and power consumption is also increased. So we need to find a way which can provide better performance-complexity tradeoff. From [6] and [1], we can get the following approach in Section.5.4.2 and 5.4.3.

5.4.1

Hard Decision Approach

Hard decision is performed by calculation the Euclidean distance between the received signal and constellation dots in different QAM demapping. The dot with shortest Euclidean distance is the value we use as the output. Hard decision is a traditional way, and the performance is not good before FEC. Plus, when we do the LDPC decoding, the result is better if we use the soft input. So the following methods is preferred.

5.4.2

LLR Approach

The Log-likelihood Ratio(LLR) approach need to calculate the probability of every combination of bits. This is achieved by using the distance between the corrected received symbol and coordinate αi in mapping. So the probability can be

calcu-lated as

P ri= √ 1

2πσ2e

−|Req −αi|2

2σ2 (5.10)

wherein Req is the equalized signal and σ2 is the noise variable.

Then the demapping output is: L(bn) = ln

sum(P ri(bn= 1|R))

sum(P ri(bn= 0|R))

(5.11) For LLR approach, we can see, it has square, exponential and logarithm oper-ations. That is too complex to implement in hardware for real time system.

5.4.3

MAX Approach

Instead of LLR approach, MAX approach is introduced to complete demapping. The way to achieve the probability is largely simplified.

L(bn) = M AX(P ri(bn= 1|R)) − MAX(P ri(bn= 0|R)) (5.12)

Where P ri= −|Req−αi|

2

2σ2 , σ2is the noise variable.

As we can see, exponent and logarithm have been taken away, the Euclidean distance is still need to calculate. However, there is an evidently drop off on complexity, that is acceptable for hardware implementation.

In our simulation, the MAX approach is chosen to do the simulation. Compare with the performance and complexity, MAX approach is the best choice.

(46)

5.5

Bit Deinterleaving

As we described in the Section.3.2, bit deinterleaving is an reverse step of bit interleaving, and the way to implement this step is the same. Just need to switch the block matrix from Mb∗ Ib to Ib∗ Mb.

5.6

Channel Decoder

5.6.1

LDPC decoder

There are several main algorithms to decode LDPC codes. For example, the

belief propagation(BP) algorithm, the message passing(MP) algorithm and the sum-product(SP) algorithm [4]. Their individual code treatments are also different

depends on different code structures. The BP algorithm is an efficient and powerful method. Furthermore, as a simplified version of SP algorithm, min-sum algorithm has been widely used to reduce complexity. In this thesis, we implement the algorithm called Log-domain min-sum algorithm, in both Matlab code and C code. It avoids huge calculation in normal log-likelihood ratio, and makes the decoder process data more efficient in hardware.

Before we present the algorithm, We need to analysis the parity check matrix in CMMB system.

Parity Check Matrix Generator

For a parity check matrix H, it is important to have some properties. A regular-reconstructed H could not only simplified the decoding processes but also save a lot of memory resource. So usually, in communication system, this H matrix is well designed. A good one can have the strong error correction ability and easy to implement. Right now, most wireless standard has a H matrix where the locations of ’1’ have some particular rules. This property can make the implementation of decoding in parallel.

And the H matrix in CMMB system, is one of this kind matrix. According to the construct rule, we only need to know the positions of non-zeros of the first 18 rows in 1/2 code rate and 9 rows in 3/4 code rate.The way to build the H matrix is as following:

• for 1/2 code rate, every 18throw, the positions of “1” right cycle shift 36

columns.

• for 3/4 code rate, every 9th row, the positions of “1” right cycle shift 18

columns.

So the parity check matrix H is a huge and sparse matrix. which turns out has the properties with row weight 6 and column weight 3 in 1/2 rate, and row weight 12 and column weight 3 in 3/4 code rate. H matrix pattern of two code rates are showed below in Figure.5.2.

The whole parity check matrix only have elements of ’0’ and ’1’. As showing on the Figure.5.2, the dot stand for ’1’, and the empty space are all ’0’.

(47)

5.6 Channel Decoder 35 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 1000 2000 3000 4000 nz = 27648 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 500 1000 1500 2000 nz = 27648

Figure 5.2. 1/2 code rate and 3/4 code rate H matrix

Hard-decision decoding

A hard-decision decoding algorithm is proposed here as an example to explain the decoding principle. H=     0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0    

The matrix above is not a real sparse matrix, it’s used for illustrating the algorithm easily. The row weight of the matrix is 4 and column weight is 2. Another classic way to describe the matrix called Tanner graph:

Figure 5.3. Tanner Graph

There are two sets of nodes called variable nodes(v-nodes) and check nodes(c-nodes). The number of v-nodes equals to the length of codeword, the number of c-nodes is the length of parity check bits. The arcs connected the two types of nodes stand for the ’1’ in the matrix H. For example, element “1[1,2]” asks c1 and v2 connected.

Suppose the error free received codeword is C=[1,0,0,1,0,1,0,1]. But after dis-torted by channel, it comes out as C´=[1,1,0,1,0,1,0,1]. The hard-decision works

(48)

as these steps:

1. Put C´ on the v-node edges. Every node believes it gets correct value, and send the value to the corresponding c-node by a variable-to-check(VTC) message.

2. Check nodes do the check duty. We know the codeword must satisfy the Equation 3.4, so in the Figure.5.3, every check node is the sum of its corre-sponding variable nodes: c − node = mod (sum(v − nodes), 2) = 0. Check nodes reply on a check-to-variable(CTV) message to every variable node, and that value is under the assumption that the other three are correct. E.g., c1 sends back the message: v2=0, v4=0, v5=1, v8=0.

3. Variable nodes get the feedback from check nodes. A voting will collect the 4 possible values for each v-node, and give a decision. E.g., notice the wrong v-node v2. Its original value is ’1’, its corresponding c1, c2 give messages ’0’ and ’0’, so decision is ’0’. If the updated codeword fulfills the Equation 3.4, decoding stops. In this case, the decoder terminates here.

4. The algorithm jumps to 2, until constraint satisfied. Another way to stop the loop is setting an iteration cycle under certain accuracy.

Soft-decision decoding

Soft-decision decoding basically has the same idea except it treats soft bits which is in log-domain and decision based on probability. It gives a higher performance and thereby preferred in reality.

In our model, upper component has already transferred bits in log-domain, which make the initialization easier. First, we give the notations used in both equations and Matlab codes:

- m, n: parity check bits length; codeword length. It is [4608,9216]@1/2rate, [2304,9216]@3/4rate.

- pn, rmn, qmn: soft bits received; CTV message and VTC message.

- N(m), M(n), N(m)\n, M(n)\m: variable nodes set connected with check node m; check nodes set connected with variable node n. \ n or m means the set without the n or m itself.

The algorithm could also be divided into four steps as same as hard-decision. 1. Initialization:

Since the incoming data stream is already in log-domain, pn is simply

as-signed with the incoming bits. Set rmn to zero. Putting pn on the variable

nodes is done by associating pn with parity check matrix H, and produce the

(49)

5.6 Channel Decoder 37 2. Horizontal step: rmn[k] = Y n′∈N(m)\n sign(qmn′[k]) ×  min n′∈N(m)\n|qmn ′[k]|  (5.13) Operation is done row by row. As same as the steps in hard-decision, VTC messages are collected, separately through signs and absolute values of soft bits. For each check node, its neighbor’s nodes’ signs and values help to gen-erate its CTV message rmn. In theory, “min” operation takes place of LLR

calculation for complexity decrease. This thesis doesn’t aim at algorithm, so proving didn’t present here.

3. Vertical step:

qmn[k] = pn+

X

m′∈M(n)\m

rm′n[k − 1] (5.14)

Column by column, variable nodes receive CTV messages and update the VTC messages. Iteration runs and corrects the wrong bits.

4. Decoded output:

Λn[k] = pn+

X

m′∈M(n)

rm′n[k] (5.15)

This step works concurrently with step 2. The decoder could terminate either by equation validation or a preset maximum number of iterations. Hard bits could be gained by their signs. Alternatively,’0’ comes from positive and ’1’ from negative value, vice versa.

It worth to mention that the parity check matrix is so costly during the simu-lation, so we choose to store the address instead of the matrix. and according to [12], this matrix is highly structured, and there should be simple way to do the decoder.

However, equation validation asks for extra running time and resource which is not recommended in implementation. After several attempts focus on the number of iteration, we discover three iterations is quite enough for the decoder to satisfy the requirement.

5.6.2

RS Decoder and Byte Deinterleaving

RS decoding has not been implemented. But we use the function from Communi-cation Toolbox in Matlab, and configure the coefficients by RS coding in CMMB standard. The function adapt the Berlekamp-Massey Algorithm to complete the decoding step.

In our simulator, ’gf’ function was used to build the Galois field array, which is the same as in RS encoder. For decoding, ’fec.rsdec’ function is used, just by simply feeding the zero-padded data.

(50)
(51)

Chapter 6

Performance Simulation

6.1

CMMB System Chain Simulation

Test Environment

• System : 2MHz, 16QAM, 1/2 rate LDPC, Krs= 192

• Channel: AWGN, Blockfading.

• Others : Time domain average coefficient is 3, LDPC decoder iteration num-ber is 3. 0 2 4 6 8 10 12 14 16 18 20 10−6 10−5 10−4 10−3 10−2 10−1 100 SNR(dB) BER RS decoded LDPC decoded uncoded

Figure 6.1. CMMB System Chain Simulation

Figure.6.1 is the result after the simulation. uncoded is the bit error rate(BER) directly comes from the QAM demapper, LDPC decoded is the BER after LDPC

References

Related documents

Industrial Emissions Directive, supplemented by horizontal legislation (e.g., Framework Directives on Waste and Water, Emissions Trading System, etc) and guidance on operating

• RS-HDR - data encoded using the shortened Reed-Solomon code used for the header. • RS-LC - data encoded using the shortened Reed-Solomon code used for the

Stöden omfattar statliga lån och kreditgarantier; anstånd med skatter och avgifter; tillfälligt sänkta arbetsgivaravgifter under pandemins första fas; ökat statligt ansvar

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

I regleringsbrevet för 2014 uppdrog Regeringen åt Tillväxtanalys att ”föreslå mätmetoder och indikatorer som kan användas vid utvärdering av de samhällsekonomiska effekterna av