Top Banner
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
63

Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Apr 30, 2018

Download

Documents

vudan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Institutionen för systemteknikDepartment of Electrical Engineering

Examensarbete

Implementation of CMMB System using SoftwareDefined Radio (SDR) Platform

Examensarbete utfört i Datoteknikvid 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ögskolaLinköpings universitet Linköpings universitetSE-581 83 Linköping, Sweden 581 83 Linköping

Page 2: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 3: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Implementation of CMMB System using SoftwareDefined Radio (SDR) Platform

Examensarbete utfört i Datoteknik

vid Tekniska högskolan i Linköpingav

He Zhang och Haohao Gu

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

Handledare: Di WuST-Ericsson AB

Dake Liuisy, Linköpings universitet

Examinator: Dake Liuisy, Linköpings universitet

Linköping, 1 June, 2010

Page 4: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 5: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Avdelning, Institution

Division, Department

Division of Computer EngineeringDepartment of Electrical EngineeringLinköpings universitetSE-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

ISBN

ISRN

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

Serietitel och serienummer

Title of series, numberingISSN

Titel

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

Författare

AuthorHe Zhang och Haohao Gu

Sammanfattning

Abstract

CMMB (China Multimedia Mobile Broadingcasting) is a wireless broadcastingchannel standard for low bandwidth, low cost hand-held digital TV is adopted byall continental Chinese government TV broadcasting companies and some HongKong private TV broadcasting companies. The business potential is high, yet thefuture is hard to predict because it might be replaced by GB200600 or DTMB. Thedigital modulation is based on OFDM with pilot supporting channel estimationand 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 RSencoder, LDPC encoder, OFDM modulation, etc. The receiver behavior modelincludes OFDM demodulation, channel estimation, channel equalization, LDPCdecoder, RS decoder, etc. Different channel models emulating pathloss, whitenoise, multi-path, and glitch were modeled. Based on the simulation chain andchannel models, T-domain, F-domain channel estimator and equalizer were im-plemented, optimized. Optimized TD-FD models for different mobility scenarioswere proposed. The focus of the thesis is on 2D (FD-TD) channel estimation andequalization.

Nyckelord

Keywords CMMB, OFDM, SDR, wireless, digital broadcasting

Page 6: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 7: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Abstract

CMMB (China Multimedia Mobile Broadingcasting) is a wireless broadcastingchannel standard for low bandwidth, low cost hand-held digital TV is adopted byall continental Chinese government TV broadcasting companies and some HongKong private TV broadcasting companies. The business potential is high, yet thefuture is hard to predict because it might be replaced by GB200600 or DTMB. Thedigital modulation is based on OFDM with pilot supporting channel estimationand 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 RSencoder, LDPC encoder, OFDM modulation, etc. The receiver behavior modelincludes OFDM demodulation, channel estimation, channel equalization, LDPCdecoder, RS decoder, etc. Different channel models emulating pathloss, whitenoise, multi-path, and glitch were modeled. Based on the simulation chain andchannel models, T-domain, F-domain channel estimator and equalizer were im-plemented, optimized. Optimized TD-FD models for different mobility scenarioswere proposed. The focus of the thesis is on 2D (FD-TD) channel estimation andequalization.

v

Page 8: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 9: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Acknowledgments

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

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

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

Thanks also go to: our friends, Guoyou Jiang, Jian Wang for their helps andencouragement; ISY staff, Ylva Jernling, Anders Nilsson for their cheerfully help-ing with support issues. In addition, we would like to thank all the teaching staffin 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 GuLinköping, May 2010

vii

Page 10: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 11: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Contents

1 Introduction 3

1.1 The project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Broadcasting System Background . . . . . . . . . . . . . . . . . . . 41.3 Orthogonal Frequency Division Multiplexing . . . . . . . . . . . . 51.4 Software-Defined Radio . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Low Density Parity Check Codes . . . . . . . . . . . . . . . . . . . 71.6 CMMB system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.7 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 System Description 11

2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Transmitter Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Receiver Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Transmitter Simulator 15

3.1 Channel Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.1 RS coding and byte interleaving . . . . . . . . . . . . . . . 163.1.2 LDPC coding . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Bit Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.3 Symbol Mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 OFDM Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4.1 Frequency-division multiplexing . . . . . . . . . . . . . . . . 203.4.2 Time-division multiplexing . . . . . . . . . . . . . . . . . . 213.4.3 Questions to Discuss . . . . . . . . . . . . . . . . . . . . . . 22

4 Channel Model 23

4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Path Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3 Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4 AWGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.5 Glitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ix

Page 12: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

x Contents

5 Receiver Simulator 295.1 OFDM Demultiplexer . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 Channel Estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.2.1 Symbol Structure Analysis . . . . . . . . . . . . . . . . . . 305.2.2 Time Domain Estimator . . . . . . . . . . . . . . . . . . . . 315.2.3 Frequency Domain Estimator . . . . . . . . . . . . . . . . . 315.2.4 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.3 Equalizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.4 Symbol Demapper . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.4.1 Hard Decision Approach . . . . . . . . . . . . . . . . . . . . 335.4.2 LLR Approach . . . . . . . . . . . . . . . . . . . . . . . . . 335.4.3 MAX Approach . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.5 Bit Deinterleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.6 Channel Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.6.1 LDPC decoder . . . . . . . . . . . . . . . . . . . . . . . . . 345.6.2 RS Decoder and Byte Deinterleaving . . . . . . . . . . . . . 37

6 Performance Simulation 396.1 CMMB System Chain Simulation . . . . . . . . . . . . . . . . . . . 396.2 Frequency Pilot Time Average . . . . . . . . . . . . . . . . . . . . . 406.3 Interpolation Methods . . . . . . . . . . . . . . . . . . . . . . . . . 41

7 Conclusion and Future Work 437.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.2 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.3 Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447.5 LDPC decoder hardware implementation . . . . . . . . . . . . . . 44

7.5.1 CMMB Parity Check Matrix Analysis . . . . . . . . . . . . 44

Bibliography 45

A LDPC decoder 47

Page 13: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Abbreviations3G Third generation mobile telecommunicationADC Analog-to-digital converter or convertAGC Auto gain controlAWGN Additive white gaussian noiseBER Bit error rateBP Belief propagation algorithmBPSK Binary phase-shift keyingCLCH Control logical channelCMMB China multimedia mobile broadcastingCP Cyclic prefixCSI Channel state informationCTF Channel transfer functionCTV Check-to-variable messageDAC Digital-to-analog converter or convertDBB Digital basebandDSP Digital signal processor or processingDVB-T Digital video broadcasting - TerrestrialDVB-T2 Digital video broadcasting - Terrestrial -Second GenerationDVB-S2 Digital video broadcasting - Satellite - Second GenerationFD Frequency domainFEC Forward error correctionFFT Fast fourier transformFPTA Frequency pilot time averageGF Galois fieldGI Guard intervalHS-LDPC High structure LDPCIC Integrated circuitIFFT Inverse fast fourier transformISI Intersymbol interferenceLDPC Low density parity checkLLR Log likelihood ratioLOS Line of sightLS Least squareLSB Least significant bitLTE Long term evolutionLU decomposition Lower triangle and Upper triangle matrix decompositionMCM Multi-carrier modulationMP Message passing algorithmMSA Min-sum algorithmMSB Most significant bitMUX MultiplexNLOS Non-line of sightOFDM Orthogonal frequency division multiplexing

Page 14: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

2 Contents

PDP Power delay profilePHY Physical layerPLCH Physical logical channelPN Pseudo-random noise sequenceQAM Quadrature amplitude modulationQPSK Quadrature phase-shift keyingRS Reed-Solomon codingRF Radio frequencySDR Software define radioSISO Single input single outputSLCH Service logical channelSP Sum-product algorithmTC Turbo codingTD Time domainTDAC Time domain average coefficientTxID Transmitter identifierTS Time slotVTC Variable-to-check messageWiMAX Worldwide interoperability for microwave access

Page 15: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 Mobileannounced that TD+CMMB mobile service was official commercialize nationalwide.

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

During 2008 Beijing Olympic Games, CMMB system terminals were widelyadopted in the mobile phone market. People could watch games anytime andanywhere with high quality broadcasting service. Over 230 terminals from 79companies 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

Page 16: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

4 Introduction

over 337 prefecture-level cities in China covered with CMMB network. Multimediamobile broadcasting has been the new hottest topic among people. Combined with3rd generation mobile telecommunication, people could not only watch TV, listenmusic with mobile phones, but also surf internet, check the latest information atthe 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 berealized by Matlab codes. Multiple algorithms will be compared and the one withhigher performance will be used. Simulation results will be treated as the goldenmodel, which will be compared to the hardware implementation. As the title ofthis thesis, in one word, we intend to implement the system modeling under SDRplatform.

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

The thesis project was mainly accomplished in 5 phases: standard understand-ing, transmitter building, receiver building, channel model building and simulationresults analysis. According to the different parts in the standard, each phase wasdivided 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 scenarioslike 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. Theymight 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 encounterthe channel in reality and how to recover the correct information from the receivedinterfered 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 signaland terminals. The complete broadcasting system includes seven layers, whichare Application layer, Presentation layer, Session layer, Transport layer, Networklayer, 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.

Page 17: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 streamwith slow bit rate and low frequency are transformed into fast bit rate and highfrequency 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 simplebroadcasting 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 adjustsignal’s RF properties suitable for transmission. Channel is usually modeled asAdditive 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 decoderagain 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 partof 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 wasfirst 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 viewedas several slowly-modulated narrow band signals, in which way also simplified thechannel equalization.

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

Page 18: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

6 Introduction

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

−60 −40 −20 0 20 40 60−20

−15

−10

−5

0

5

10

15

20

−80 −60 −40 −20 0 20 40 60 800

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 forone standard, as LTE, it is also under the evolution. In order to use them, weneed to implement all of them in special-purpose hardware if we just follow theconventional radio system solution. But in reality we only need to active one ortwo of them at the same time. It gives us the possibility to implement the multistandards on the same piece of hardware.

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

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

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

Page 19: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

1.5 Low Density Parity Check Codes 7

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

In theory, everything can be done in software. And this is a trend that theterminals 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 correctingcode. LDPC coding is a popular method in wireless communication which aimed tocorrect errors after the information transmit through a noisy and variable channel.Like other error correcting algorithms, LDPC can only correct limited rate oferrors, and also need to add some redundent bits, but it is the first code to allowdata 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 dueto the limitation of technology at that period, LDPC was not suitable in imple-mentation and was almost forgotten. Fortunately in 1996, LDPC was rediscoveredby MacKay and Neal. People were fascinated with its error correcting ability. Inthe past several years, the codes were developed and optimized. And right nowLDPC 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 ofwireless standards adopt LDPC code as their forward error correctiong code, suchas 10GBase-T Ethernet(IEEE 802.3an), ITU-T G.hn, CMMB and WiMAX(IEEE802.16e).

1.6 CMMB system

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

CMMB system uses frequencies in the range 2635 - 2660 MHz (S-band) forsatellite with additional terrestrial broadcast in the UHF band 470 - 862 MHz. S-band satellite network broadcast channels are used for direct reception: Ku-banduplink, S-band downlink; distribution channels are used for terrestrial enlargement,forward and reception: Ku-band uplink, Ku-band downlink, enlargement networktransforms 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

Page 20: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

8 Introduction

Figure 1.4. CMMB system

band and occupies 25MHz bandwidth within which provides 25 video and 30radio 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 inMatlab. Since the algorithms in each process are all quite mature, we do not focuson algorithm level optimization, but try to implement these algorithms in ourmodels. Finally, the performances of the system based on the different algorithmsare 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 outlineof 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 eachcomponent in the chain could be referred to the CMMB standard [8].

In Chapter 3, algorithms and methods which were used in the transmitterchain 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 chainare described in detail. Data need to be treated carefully because it is not so easy

Page 21: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

1.7 Thesis Overview 9

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

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

In Chapter 7, summary is given and possible future work is discussed.

Page 22: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 23: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 concernedabout. For the physical layer transmission or reception system, it provides Phys-ical Logical Channels (PLCH) to upper-layer services. PHY performs like theconnection between logical data to higher level functions. The CMMB standard ofphysical layer specifies the framing structure, channel coding, modulation schemefor both channels over 2MHz and 8MHz. The allocation of PLCHs is illustratedin Figure.2.1.

2.1 Overview

In China Mobile Multimedia Broadcasting(CMMB) system, we need both controland service parts. Control part plays a role as a commander. Control channeltransfers the commands through control channel, then the service part knows howto handle the data going through the service channel. According to the CMMBstandard [8], we call these two channels as Control Logical Channel (CLCH) andService 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 thiscrucial 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 notas strict as CLCH, so it is configurable for different cases.

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

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

11

Page 24: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

12 System Description

Figure 2.1. CMMB Broadcast Channel PLCH

certain aspects involving synchronization like frequency offset is not even underconsideration. Feasible ability of the subsequent components are based on thisassumption.

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 theability to correct possible errors in the data without asking the transmitter. Thereare many FEC codes in different communication systems, and their principle arebasically adding some redundancy to the transmit information. The redundancy isgenerated from the transfer information using some fixed algorithm. and CMMBsystem 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, whichis actually shuffling the bit stream by a fixed rule. The aim of this part is mainlywork for LDPC to solve the problem of burst error during the transmission. Thiskind of errors is contiguous sequence of carriers. For LDPC coding, it has thebound of correction, once the number of error carries reach the limit, the FEC will

Page 25: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

2.3 Receiver Chain 13

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

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

The generated symbols are then assembled. That includes inserting the scatterpilots and continue pilots to the fixed positions. And after that the symbols arescrambled. Scramble utilizes a Pseudo-random(PN) sequence to break long stringof ’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 beforetransmitting to eliminate the signal out of the used bandwidth. And for real timesystem, it’s impossible to make the filter with a rectangular shape, the transitionband is not that steep. If we fill the data in all the carriers. It will result in theloss of data.

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

From the Figure.2.2, the next step is symbol shapping filter which we hasmentioned before. The aim of this filter is to remove the frequency out of thetransmit 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

The data will go through the channel before it reaches the receiver.

Page 26: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

14 System Description

Principally, Receiver’s procedure is like the reverse of the transmitter. Likedown 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 onthe figure 2.3. In real world, the channel is always changing, which is completelyunpredictable, 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 advanceand use their values after they go through the channel to get the approximate realchannel. 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. butin the meantime, they also give the challenge on the synchronization. First, thereceiver need to find the accurate frequencies to ensure the orthogonality. Second,sampling need to do in the correct time. In our simulation model, this problemwas not introduced and we just assume the system is already synchronized.

Figure 2.3. CMMB Receiver Chain

Page 27: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Chapter 3

Transmitter Simulator

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

CMMBFEC Reed Solomon + LDPC 1/2, 3/4

Modes BPSK, QPSK, 16QAMGuard Interval 1/192Cyclic Prefix 1/9

FFT size 1k, 4kScattered Pilots 6.7% of totalContinual 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. Channelin reality varies now and then. In order to achieve a robust data transmission orhigh mobility system, channel codes or forward error correction(FEC), which intro-duce redundant information before transmission, are adopted by modern wirelessor wired communication standards.

There are two main FEC categories:block codes and convolutional codes. Blockcodes 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

15

Page 28: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

16 Transmitter Simulator

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 innercoding. 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 fulfillthe 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 GustaveSolomon. 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 elementsof RS codes are from Galois field (GF), which is GF(8), with the field generatepolynomial p(x) = x8 + x4 + x3 + x2 + 1. And when do the encoding, it is not thestandard RS(255, M) coding. it is a shorten RS code, RS(240, M). This is justby adding 15 zeros on the front of the 240 information bytes, and do the standardRS(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 differentchannel conditions. which is RS(240, M), with M = 240, 224, 192 and 176. whenM = 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 240bytes.

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

The generator polynomial for RS(240, K) is

g(x) =240−K∑

i=0

gixi (3.1)

and input information sequence polynomial is

m(x) =

K−1∑

i=0

mixi (3.2)

and the output codeword polynomial is

C(x) =

239∑

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 theMatlab function ′gf ′, with the parameters as m = 8, since we are 8 bits for onebyte, and p = 285, which comes from our primitive generator polynomial. AndRS encoding is also implemented by using the function in Communication toolboxin Matlab, which we just give the object of Galois field obtained before, and RSinformation bits length M = 240, 224, 192or176.

Page 29: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

3.1 Channel Encoder 17

3.1.2 LDPC coding

CMMB standard employs High Structure LDPC(HS-LDPC) and supports twocode 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 bedivided into two steps: Generation of generate matrix G according to the paritycheck matrix H and LDPC encoding.

rate Info length K Codeword N1/2 4608bit 9216bit3/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, alsowith regular-constructed parity check matrix, which is suitable for low complexhardware implementation in decoding.

LDPC encoder

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

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

T fromthe 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 C

T which is also the output codeword of LDPC encoder, the generatemethod is as following :

COL_ORDER(i):

CTCOL_ORDER(i) =

{

Pi 0≤i≤9215-KSi+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 recorderprocedure is following the “ LDPC codeword bit mapping vector, Annex C ”, [8].

Page 30: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

18 Transmitter Simulator

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

First, we reorder the parity check matrix H into H´ by column, simply followingthe 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 thefollowing 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 onHp. In this way, we can also get benefit in hardware implementation, since Hp is aconstant matrix, its lower-triangular and upper-triangular matrix could be savedin 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 eliminationwith the other two rows which have elements in the same column as theelement 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, andrepeat 1.

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

4. Continue to find rows that have nonzero elements with 3,4,5 . . . until all therows 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 isrunning in very low efficiency. Thanks to the function that Matlab offers, we usefec.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 bemapped back with COL_ORDER(i) so the encoder is compatible with decoderin Chapter 5. Plus, usually for LDPC code, the parity check bits are alwaysappended with the information bits. However, in CMMB, their positions are justswitched. When we did our simulation, this bring an extra step to switch them.

Page 31: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

3.2 Bit Interleaving 19

3.2 Bit Interleaving

Bit Interleaving comes after the LDPC encoder. Here in CMMB a Mb ∗ Ib matrixwas used, and the matrix is 192 ∗ 144 for 2MHz mode, while in 8MHz mode, thematrix is 384 ∗ 360.

In out implementation, we just need to fill the matrix with the data elementsrow 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 Binaryphase-shift keying(BPSK), Quadrature phase-shift keying (QPSK), and 16QAM(16Quadrature amplitude modulation). During the transmission, the transmitter willsend 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 differentphase stand for an unique patten of bits. And the number of bits for each phase isfixed 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 combinationof both PSK and Amplitude-shift keying(ASK). So it uses different phase andamplitude to stand for a unique patten of bits. For 16QAM, the number of fixedbits 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 of16QAM is plotted on Figure.3.3.

Page 32: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

20 Transmitter Simulator

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 andcontinual 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, all53 Nv length OFDM symbols build up one time slot.

Scattered pilots present scatter format both in time domain and in frequencydomain. They always carry the value 1 + 0j. The standard gives the index ofthese scattered pilots in each OFDM symbol. There are 78 and 384 scatteredpilots in each OFDM symbol under 2MHz and 8MHz mode respectively. Sincetheir 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 usedto carry indication information. Each continual pilot carries one bit information

Page 33: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 trackthe frequency and adjust phase. There are 28 continual pilots in one symbol for2MHz mode, and 82 for 8MHz 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, Figure3.5.

Figure 3.5. Frame structure

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

Page 34: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

22 Transmitter Simulator

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 fairlyspeaking, is that necessary? And according to the Technical specifications forreceiving and decoding terminal [9]. A Rayleigh channel model was specified fortesting, and the longest delay for that model is 5.422091µs. Is CP too long forthis system?

Page 35: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 signalin the procedure between transmitter and the receiver. So in order to make thecommunication robust, reliable and immune to the effects from channel, channelcoding is adopted. In another word, it would be meaningless if there is no suchchannel 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 stateinformation (CSI). Figure.4.1 shows how CSI should look like. In the theory, mostchannels in communication can be represented by the following equations:

23

Page 36: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

24 Channel Model

r = h ∗ s + n (in TD)

R = HS + N (in FD)

wherein, S(s) stands for the data sequence, N(n) represents the additive whiteGaussian 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 lettermeans the signal is in FD, while lower-case letter means in TD.

Notice, Assuming R is NN × 1 complex-element vector in frequency FD, andthen both S and H represent the NN × 1 vectors in FD. Furthermore bold facedS and H represent the NN ×NN diagonal matrices, which contain elements of Sand 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 modelsare still considered to be reasonable. These models are introduced in the followingsections. Channel estimation and equalization methods are discussed in Chapter5. 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 thesignal propagates in the space. That is also the most fundamental effect we needto consider on the channel.

We just assume our signal transmits in the free-space, and no loss in the systemand 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 thedistance between the transmitter and receiver.

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

Page 37: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

4.3 Multipath 25

Figure 4.3. Path loss effect in frequency bandwidth

2MHz and 8MHz. From the Equation 4.1, it obviously that the power loss inthe 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. Takefc = 30MHz as an example, we can find that in 2MHz mode, the loss for symbolcarrier in highest frequency is around ((30+1)MHz/(30−1)MHz)2 = 1.14 timesthan the carrier in lowest frequency. And in 8MHz mode, this rate becomes quitelarge, 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 seenin Figure 4.4. The received signal is a weighted sum of differently delayed pathsdue to reflection and refraction, as illustrated in Figure 4.5. This effect may causethe intersymbol interference(ISI) in OFDM.

As we know, the received power is proportional to 1/d2 if we model the situationas free-space attenuation. Multipath also brings the different power combinationissue on the received waveform.

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

s(t) = ej2πft (4.2)

And the multipath fading channel impulse response in time domain is:

h(τ, t) =∑

n

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

where n is the total number of channel paths, αn(t) is the attenuation factor ofpath n at time t, τn(t) is the propagation delay for path n.

Page 38: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

26 Channel Model

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) =

+∞∫

−∞

h(τ, t)s(t − τ) dτ = h(τ, t) ⊗ s(t) (4.4)

OFDM system usually employs cyclic prefix(CP) scheme, a copy of the fractionfrom end of the data symbol is appended to the start of the symbol. The adoptionof CP can immunize the effect from multipath. So for OFDM based CMMB systemshould naturally own the ability to avoid multipath effect as long as the delay isnot longer than the length of its CP.

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

Page 39: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

4.4 AWGN 27

Average Power Loss [dB] 0 -0.9 -4.9 -8 -15 -23.9Delay [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. Howeverin our simulation, we use the parameters in Table.4.1 as our channel power delayprofile(PDP). And the multipath fading we were used in our model has non-line ofsight(NLOS) components. so we can see that at the first tap, its average power anddelay time are all zero. Zero power stands for that line of sight(LOS) componentreaches the receiver. In another hand, zero delay does not mean this componentwill really reach the receiver in zero delay. Normally, we just define the shortestray as the zero delay, since the absolute time is not that importance, but thedisparity of time is [7].

According to [8], for 2MHz, a complete symbol contains all the 1024 subcarrieswill 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 channelPDP, the longest delay is 25/2.5MHz = 10µs which is shorter than the CP timeTcp = 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 overwideband at any center frequency. Additive White Gaussian Noise(AWGN) is sucha channel model to describe that a linear addition of white noise with a constantspectral 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 havesuch relation as:

SNR =Psignal

Pnoise(4.5)

SNRs are often expressed using the logarithmic decibel scale. In decibels, the SNRis defined as:

SNRdB = 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 asAWGN channel. The AWGN noise could be added to signal after emulated withchannel impulse response as see in figure 4.2. Plus, during the simulation, in orderto build identical scenario, we use the same noise vector.

Page 40: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

28 Channel Model

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 switcharound 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 successivesubcarries value to be either one or zero to represent a glitch impact.

According to the [8], for 2MHz and 8MHz modes, the theoretical OFDMsignal 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.

Page 41: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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-divisionmultiplexing and frequency-division multiplexing.

Beacon, which lies at the head of each time slot, carries transmitter ID andsynchronization 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 anddata. Pilots will be reserved for the following channel estimation. However someso called ’continual pilots’ in [8] are actually not real pilots, they carry indicationinformation. 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) ismore like the villain in the communication system. All the channel coding wehave here is based on the goal to wipe off the influence from the channel and getthe reliable information. The most direct way to do this is getting the CSI androll back the received symbols according to the CSI. That will utmost recoverthe original symbols from the received symbols. In most OFDM based systems,training sequence or so called pilots is introduced. Pilots are a kind of signalwhich receiver knows exactly where it is and how large it is. After pilots goingthrough the channel, receiver can compare the values between the original pilotsand received pilots, and estimates the channel.

29

Page 42: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

30 Receiver Simulator

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. Theyare 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 ofsubcarriers 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 themain force to do the estimation. According to the standard of CMMB, in everytime slot, the pth scattered pilot position in the nth symbol 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 Np is the number of scattered pilots in every symbol, Np is 78 in 2MHzmode and 384 in 8MHz mode.

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

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

Page 43: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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]. InFPTA, we choose T symbols which have the same pilot pattern, and make theaverage for that pilots in the time domain, it can be expressed as follow:

Rp[i] =1

T

T∑

i=1

Rp[i] (5.3)

where Rp is received the pilots after the channel, T is the time domain averagecoefficient(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 everyT even symbols. Another problem comes because the symbol number in one timeslot is NS = 53. So when we do the average by T symbols. The last T symbols arealways 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:

RMSn =

1

Ns

Ns∑

i=1

(Rp[i] − Sp[i]) (5.4)

Where Sp is the transmitted pilot tone, Rp is the received pilot tone, Ns is thetotal number of symbols in one time slot. The simulation of relationship betweenthe 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 becomputed 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. Andinterpolation 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 betweenHp, then we get the estimated channel Hs

Hs = AHp (5.6)

Page 44: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

32 Receiver Simulator

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 betweenthe 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 thecurve 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, whichcan be done by the following equation:

Req = H−1S R (5.8)

Where HS is estimated channel, R is received signal and Req is equalizedreceived signal.

As we can see that equalization step involves division between complex valuesin the matrix. That is a huge cost for hardware. so we use the following transformbelow:

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 ofhardware.

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 modulationmodes : BPSK, QPSK and 16QAM. In a Bit-interleaved coded modulation(BICM)receiver, demapper outputs log likelihood ratios for code bits. Comparing with

Page 45: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

5.4 Symbol Demapper 33

hard-decision, soft-decision contains much more reliable information. The wholesystem’s Bit Error Rate(BER) performance can also reach a higher level, but thehardware complexity and power consumption is also increased. So we need to finda 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 thereceived signal and constellation dots in different QAM demapping. The dot withshortest Euclidean distance is the value we use as the output. Hard decision is atraditional way, and the performance is not good before FEC. Plus, when we dothe LDPC decoding, the result is better if we use the soft input. So the followingmethods is preferred.

5.4.2 LLR Approach

The Log-likelihood Ratio(LLR) approach need to calculate the probability of everycombination of bits. This is achieved by using the distance between the correctedreceived symbol and coordinate αi in mapping. So the probability can be calcu-lated as

Pri =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) = lnsum(Pri(bn = 1|R))

sum(Pri(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) = MAX(Pri(bn = 1|R)) − MAX(Pri(bn = 0|R)) (5.12)

Where Pri =−|Req−αi|2

2σ2 , σ2 is 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 oncomplexity, that is acceptable for hardware implementation.

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

Page 46: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

34 Receiver Simulator

5.5 Bit Deinterleaving

As we described in the Section.3.2, bit deinterleaving is an reverse step of bitinterleaving, and the way to implement this step is the same. Just need to switchthe 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, thebelief propagation(BP) algorithm, the message passing(MP) algorithm and thesum-product(SP) algorithm [4]. Their individual code treatments are also differentdepends on different code structures. The BP algorithm is an efficient and powerfulmethod. Furthermore, as a simplified version of SP algorithm, min-sum algorithmhas been widely used to reduce complexity. In this thesis, we implement thealgorithm 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 decoderprocess data more efficient in hardware.

Before we present the algorithm, We need to analysis the parity check matrixin 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 alot of memory resource. So usually, in communication system, this H matrix iswell designed. A good one can have the strong error correction ability and easy toimplement. Right now, most wireless standard has a H matrix where the locationsof ’1’ have some particular rules. This property can make the implementation ofdecoding in parallel.

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

• for 1/2 code rate, every 18th row, the positions of “1” right cycle shift 36columns.

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

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

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

Page 47: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 thedecoding principle.

H =

0 1 0 1 1 0 0 11 1 1 0 0 1 0 00 0 1 0 0 1 1 11 0 0 1 1 0 1 0

The matrix above is not a real sparse matrix, it’s used for illustrating thealgorithm 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 ofc-nodes is the length of parity check bits. The arcs connected the two types ofnodes stand for the ’1’ in the matrix H. For example, element “1[1,2]” asks c1 andv2 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

Page 48: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

36 Receiver Simulator

as these steps:

1. Put C´ on the v-node edges. Every node believes it gets correct value, andsend 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 theEquation 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. Checknodes 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 the4 possible values for each v-node, and give a decision. E.g., notice the wrongv-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 stopthe 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 whichis in log-domain and decision based on probability. It gives a higher performanceand 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 bothequations 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 checknode m; check nodes set connected with variable node n. \ n or m meansthe 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 variablenodes is done by associating pn with parity check matrix H, and produce theinitial qmnvalue.

Page 49: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

5.6 Channel Decoder 37

2. Horizontal step:

rmn[k] =∏

n′∈N(m)\n

sign(qmn′ [k]) ×(

minn′∈N(m)\n

|qmn′ [k]|)

(5.13)

Operation is done row by row. As same as the steps in hard-decision, VTCmessages are collected, separately through signs and absolute values of softbits. 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 LLRcalculation for complexity decrease. This thesis doesn’t aim at algorithm, soproving didn’t present here.

3. Vertical step:

qmn[k] = pn +∑

m′∈M(n)\m

rm′n[k − 1] (5.14)

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

4. Decoded output:

Λn[k] = pn +∑

m′∈M(n)

rm′n[k] (5.15)

This step works concurrently with step 2. The decoder could terminate eitherby equation validation or a preset maximum number of iterations. Hard bitscould 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 thedecoder.

However, equation validation asks for extra running time and resource which isnot recommended in implementation. After several attempts focus on the numberof iteration, we discover three iterations is quite enough for the decoder to satisfythe 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 CMMBstandard. The function adapt the Berlekamp-Massey Algorithm to complete thedecoding step.

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

Page 50: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB
Page 51: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

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 2010

−6

10−5

10−4

10−3

10−2

10−1

100

SNR(dB)

BE

R

RS decodedLDPC decodeduncoded

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

39

Page 52: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

40 Performance Simulation

decoding, while RS decoded is the BER with both LDPC decoding and RS decod-ing.

Result Analysis : Here is the simulation result for the whole systems. As we cansee, after the symbol demapping, BER decreases gently with the increasingof SNR. When the BER in one symbol reaches the threshold, Forward ErrorCorrecting(FEC) codes start to work. The curve reveal this feature clearly,when SNR = 1dB, FEC is not work at all. Obviously that is far beyondthe error correction ability of FEC. But with the increasing of the SNR, itstarts to work, and ultimately completely correct all the errors when SNRreaches 8dB.

6.2 Frequency Pilot Time Average

Test Environment

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

• Channel: AWGN with SNR = 20dB

• Others : The tested pilot for odd symbols is from the position of 233, andeven symbols is from the position of 245.

Noise Average Number Odd symbols Even symbols Bit Error Rate1 0.0991 0.1004 4.5030e−4

2 0.0616 0.0570 1.9893e−5

3 0.0477 0.0419 1.4468e−5

4 0.0385 0.0337 7.2338e−6

5 0.0328 0.0293 7.2338e−6

6 0.0295 0.0257 5.4253e−6

7 0.0269 0.0224 5.4253e−6

Table 6.1. RMS of Pilot for different Noise Average number

Figure.6.2 and Table.6.1 show the simulation result for Frequency Pilot TimeAverage(FPTA).

The noise average number denote how many odd or even symbols we choose todo the noise average. In this simulation, we choose from 1 to 7. And one actuallymeans no FPTA.

Result Analysis : Channel estimation is based on pilot value. The reliability ofthese value cause the quality of interpolation on data subcarries. So in thesimulation we inspect the RMS value of these pilots. FPTA is the methodused to decrease noise on subcarries. As see from Figure 6.3, the moresymbols we use, the better performance we can obtain. But consider the

Page 53: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

6.3 Interpolation Methods 41

1 2 3 4 5 6 70.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

Noise Average number

RM

S

Pilot RMS after Noise Averag

odd symbolseven symbols

Figure 6.2. RMS after FPTA

1 2 3 4 5 6 70

1

2

3

4

5

6x 10

−4

Noise Average Number

Bit

Err

or R

ate

Bit Error Rate compare with the Noise verage Number

Figure 6.3. Bit Error Rate after FPTA

motion of objects, in the reality, there is Doppler effect occur on fast movingreceiver, it is meaningless to use more symbols in order to maintain channel’mobility.

If we assume receiver on a vehicle with speed 70km/h, its approximateDoppler shift will brings channel coherence time 2.85ms which is roughly6 OFDM symbols here.

fd =(

1 − vs,r

c

)

f0 (6.1)

Tc =

9

16π∗ 1

fd(6.2)

From figure 6.2, the curve drops dramatically after average two symbols,and approach the x axis after 7. However, as state above, consider mobility,we adopt 6 symbols to do the FPTA is the limit, otherwise we could onlysacrifice mobility. Or in another way, if the speed is not so fast, we can usemore symbols to get a higher RMS value of pilots and lower BER, if thespeed is higher, less symbols are allowed to use in order to get a balancebetween BER and mobility.

6.3 Interpolation Methods

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.

Figure.6.4 is the BER after 16QAM in there different methods we proposedin Section.5.2.4. They are nearest interpolation(NI), linear interpolation(LI) andspline cubic interpolation(SCI).

Page 54: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

42 Performance Simulation

0 5 10 15 20 2510

−6

10−5

10−4

10−3

10−2

10−1

100

SNR(dB)

BE

R

Nearest

Linear

Spline

Figure 6.4. Interpolation Methods Comparison

Result Analysis : As we can see, the upper curve is from NI method, the errorrate is too high to accept this method. LI and SCI is almost overlapped. Thatmeans for our CMMB system, it unnecessary to use complex SCI method.In theory, because the highest constellation in CMMB system is 16QAM,so LI is good enough for interpolation here. Plus, we have not implementthe second order interpolation(SOI), if there are, the curve should locatebetween curves of LI and SOI.

Page 55: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Chapter 7

Conclusion and Future Work

7.1 Conclusion

From the simulation results from Chapter 6 we can see the whole system is anreliable communication system. Under different channel models emulated, channelcoding could guarantee the proposed FEC ability, although part of the system arenot implemented. The performance is considerable and has meet the requirement.Also, some propositions are made based on discussion with professor which is givenin Appendix.

Although we have implemented most parts of the physical layer of CMMBsystem, there are still much work worth to do in the future. There are many topicsinvolved in this thesis. At the beginning, we focus on 2D channel estimation andequalization so we try to build the whole communication system, here we proposeat least these points about future work.

7.2 System

• RS encoder and decoder used in the project are just borrowed from Matlabfunction, which could be described manually.

• RF part could be added after framing in the transmitter and DFE at thereceiver side.

• Synchronization module is missing in project which is also worth to add inthe future.

7.3 Channel

• Block fading channel model was used in the project. But more channelscenario could be implemented to test the channel ability.

43

Page 56: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

44 Conclusion and Future Work

• Doppler shift was considered in the thesis. But it is just a stationary ap-proximation of the effect. Such model will be very time consuming but stillpossible to build.

7.4 Hardware

• Mobility results could be more trustful and useful if it is tested based on fix-point system. So that when the system model handed to hardware engineer,a conversion from floating-point to fixed-point is worthy to do in the future.

• LDPC decoder consume much more time in the whole receiver chain. A Ccoded decoder has already implemented in the project intend to acceleratethe whole simulation procedure. But the algorithm behind the code couldbe optimized consider the special structure of its parity check matrix.

7.5 LDPC decoder hardware implementation

As we can see, the Section.3.1.2 and 5.6.1 has already introduced basic structureand parameters of the LDPC in CMMB system. However the decoder proposedin the Section.5.6.1 is obviously not optimized. So we started to do some work onthis issue.

7.5.1 CMMB Parity Check Matrix Analysis

For LDPC decoder, the parity matrix is always the forward line. A good LDPCdecoder is always based on the analysis of the structure of the parity check matrix,since the algorithm of LDPC decoder 5.6.1 is quite mature. But for differentLDPC, the parity check matrix is building in different way, a deep understandingon that will lead us to generate much more efficient LDPC decoder.

First, one idea comes from the sparse and huge property of parity check matrix.Sparse means the matrix contains much more ones than zeros. Acutally, we cansee the Section.5.6.1, Which mentioned that, the row weights of 1/2 code rate and3/4 code rate in parity check matris are 3 and 6 respectively. Colume weights areboth 3.

so we can store the ones’ position in the parity check matrix instead of thewhole matrix, that will largely reduce the memory cost and also the cost to findthe ones in the matrix. The C code of LDPC decoder in our simulation model hasalready complete this step.

Page 57: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Bibliography

[1] I.B. Collings, M.R.G. Butler, and M. McKay. Low complexity receiver designfor mimo bit-interleaved coded modulation. In Spread Spectrum Techniquesand Applications, 2004 IEEE Eighth International Symposium on, pages 12– 16, 30 2004.

[2] SDR Forum. HTTP://www.sdrforum.org.

[3] H. Minn and V.K. Bhargava. An investigation into time-domain approachfor ofdm channel estimation. Broadcasting, IEEE Transactions on, 46(4):240–248, dec 2000.

[4] Bernhard M.J.Leiner. Ldpc codes - a brief tutorial, April [email protected].

[5] CMMB official website. HTTP://www.cmmb.org.cn.

[6] Jang Woong Park, Myung Hoon Sunwoo, Pan Soo Kim, and Dae-Ig Chang.Low complexity soft-decision demapper for high order modulation of dvb-s2system. In SoC Design Conference, 2008. ISOCC ’08. International, vol-ume 02, pages II–37 –II–40, 24-25 2008.

[7] Ramjee Prasad. OFDM for Wireless Communications Systems. Artech HousePublishers, 2004.

[8] State Administration of Radio, Film, and Television (SARFT). Mobile Multi-media Broadcasting (P.R.China) Part1: Framing Structure, Channel Codingand Modulation for Broadcasting Channel.

[9] State Administration of Radio, Film, and Television (SARFT). Mobile Multi-media Broadcasting (P.R.China) Part7: Technical Specifications for receivingand decoding terminal.

[10] Peng Wang and Yong en Chen. Low-complexity real-time ldpc encoder designfor cmmb. In Intelligent Information Hiding and Multimedia Signal Process-ing, 2008. IIHMSP ’08 International Conference on, pages 1209 –1212, 15-172008.

[11] wikipedia. Forward error correction, April 2010.

45

Page 58: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

46 Bibliography

[12] Kai Zhang, Xinming Huang, and Zhongfeng Wang. An area-efficient ldpcdecoder architecture and implementation for cmmb systems. In Application-specific Systems, Architectures and Processors, 2009. ASAP 2009. 20th IEEEInternational Conference on, pages 235 –238, 7-9 2009.

Page 59: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

Appendix A

LDPC decoder

/* ***********************************************

* MATLAB’s C-MEX Min-sum LDPC decoder for CMMB *

* *

* Author: He Zhang & Haohao Gu *

* (c) by Datorteknik, ISY, Linkoping University *

*************************************************/

/* The algorithm is from:

*http://sites.google.com/site/bsnugroho/ldpc

*and modefied for CMMB LDPC usage.*/

#include <mex.h>

#include <math.h>

#include <stdio.h>

#define INF 10e20

/* ------------ The main function ----------- */

void minSum( double *vHat, double *rx, double *r, double *c, int M,

int N, int nVeti, int nHori, int iter)

/* Min-sum algorithm for LDPC codes

*/

{

int i, j, k, l, n, prodOfalphaij;

int *alphaij, *IdxR, *IdxC;

double *Lci, LQi, minOfbetaij, sumOfLrji, tmp;

double **Lrji, **Lqij;

/* Initialization */

alphaij = mxCalloc( N, sizeof(int));

47

Page 60: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

48 LDPC decoder

Lci = mxCalloc( N, sizeof(double));

Lrji = (double **) mxCalloc( M, sizeof(double)) ;

Lqij = (double **) mxCalloc( M, sizeof(double)) ;

IdxR = mxCalloc( 27648, sizeof(int)) ;

IdxC = mxCalloc( 27648, sizeof(int)) ;

for( i = 0; i < M; i++) {

*(Lrji + i) = (double *) mxCalloc( N, sizeof(double));

*(Lqij + i) = (double *) mxCalloc( N, sizeof(double));

} /* for i */

/* get the index of parity check matrix */

for(i = 0; i <27648; i++){

*(IdxR + i) = *(r + i) - 1;

*(IdxC + i) = *(c + i) - 1;

}

/* direct load input */

for( j = 0; j < N; j++) {

*(Lci + j) = *(rx + j);

} /* for j */

/* Asscociate the L(ci) with non-zero elements of H */

for( i = 0; i < M; i++) {

for( j = 0; j < nHori; j++)

*(*(Lqij + i) + *(IdxR + j + nHori*i)) = *(Lci + *(IdxR +

j + nHori*i));

} /* for i */

/* Iteration */

for( n = 0; n < iter; n++) {

/* -------------- Horizontal step -------------- */

for( i = 0; i < M; i++) {

/* Get the sign of L(qij) */

for( j = 0; j < nHori; j++) {

*(alphaij + *(IdxR + j + nHori*i)) = (*(*(Lqij + i) +

*(IdxR + j + nHori*i)) < 0)?-1:1;

} /* for j */

/* Find non-zeros in the column */

for( j = 0; j < nHori; j++) {

Page 61: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

49

minOfbetaij = INF;

prodOfalphaij = 1;

for( k = 0; k < nHori; k++) {

if( k != j) {

/* Product of alpha(ij)\i */

prodOfalphaij *= *(alphaij + *(IdxR + k +

nHori*i));

/* Find minimum beta(ji)\i */

tmp = fabs( *(*(Lqij + i) + *(IdxR + k +

nHori*i)));

if( tmp < minOfbetaij)

minOfbetaij = tmp;

} /* if */

} /* for k */

/* Update L(rji) */

*(*(Lrji + i) + *(IdxR + j + nHori*i)) =

prodOfalphaij*minOfbetaij;

} /* for j */

} /* for i */

/* -------------- Vertical step ------------- */

for( i = 0; i < N; i++) {

/* Find non-zeros in the row */

for( j = 0; j < nVeti; j++) {

sumOfLrji = 0;

/* Get the sum of L(rji)\j */

for( k = 0; k < nVeti; k++) {

if( k != j)

sumOfLrji += *(*(Lrji + *(IdxC + nVeti*i+ k))

+ i);

if( k == j)

l = k;

} /* for k */

/* Update L(qij) by summation of L(rij)\r1(k) */

*(*(Lqij + *(IdxC + nVeti*i+ j)) + i) = *(Lci + i) +

Page 62: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

50 LDPC decoder

sumOfLrji;

} /* for j */

/* Get the sum of L(rji) */

sumOfLrji += *(Lci + i);

/* Final statistics for decision */

LQi = *(Lci + i) + sumOfLrji;

/* Hard decision: Decode L(Qi) */

*(vHat + i) = (LQi < 0)?1:0;

} /* for i */

} /* for n */

mxFree(alphaij);

mxFree(Lci);

mxFree(Lrji);

mxFree(Lqij);

mxFree(IdxR);

mxFree(IdxC);

} /* minSum() */

/* ----------- Gateway function ---------- */

void mexFunction( int nlhs, mxArray *plhs[],

int nrhs, const mxArray *prhs[] )

/* input : rx = prhs[0], received vector, in column

* IdxR = prhs[1], index of ’1’ in H matrix by raws

* IdxC = prhs[2], index of ’1’ in H matrix by columns

* iteration = prhs[3], number of iteration

* code_rate = prhs[4], LDPC coding rate

*

* output: vHat = plhs[0], hard decision output

*/

{

double *rx, *vHat, iteration, *idx_r, *idx_c, code_rate, nVert,

nHori;

int mrows, ncols;

/* Check for proper number of input and output arguments */

Page 63: Implementation of CMMB System using Software …324868/FULLTEXT02.pdf · Implementation of CMMB System using Software Defined Radio (SDR) Platform ... Title Implementation of CMMB

51

if( nrhs != 5) {

mexErrMsgTxt( "Incorrect input argument(s)!");

}

if(nlhs > 1){

mexErrMsgTxt("Too many output arguments.");

}

/* Create pointer to the inputs */

rx = mxGetPr( prhs[0]);

idx_r = mxGetPr( prhs[1]);

idx_c = mxGetPr( prhs[2]);

iteration = mxGetScalar( prhs[3]);

code_rate = mxGetScalar( prhs[4]);

/* Column Size of the H */

ncols = 9216;

/* Row size of H */

mrows = ncols*(1-code_rate);

/* weight of H matrix in Vertical */

nVert = 3;

/* weigth of H matrix in Horizontal */

nHori = 3/(1- code_rate);

/* Set the output pointer to the output vector */

plhs[0] = mxCreateDoubleMatrix( 1, ncols, mxREAL);

/* a pointer to output*/

vHat = mxGetPr( plhs[0]);

/* Call the main function */

minSum( vHat, rx, idx_r, idx_c, mrows, ncols, (int) nVert, (int)

nHori, (int) iteration);

} /* end of the function */