Design and Implementation of Encoder and Decoder for SCCPM System Based on DSP Xuebao Wang1, a, Jun Gao1, b and Gaoqi Dou1, c

Similar documents
VHDL IMPLEMENTATION OF TURBO ENCODER AND DECODER USING LOG-MAP BASED ITERATIVE DECODING

Implementation of a turbo codes test bed in the Simulink environment

HYBRID CONCATENATED CONVOLUTIONAL CODES FOR DEEP SPACE MISSION

Performance of a Low-Complexity Turbo Decoder and its Implementation on a Low-Cost, 16-Bit Fixed-Point DSP

On the design of turbo codes with convolutional interleavers

Investigation of the Effectiveness of Turbo Code in Wireless System over Rician Channel

Part 2.4 Turbo codes. p. 1. ELEC 7073 Digital Communications III, Dept. of E.E.E., HKU

Hardware Implementation of Viterbi Decoder for Wireless Applications

Performance Study of Turbo Code with Interleaver Design

REDUCED-COMPLEXITY DECODING FOR CONCATENATED CODES BASED ON RECTANGULAR PARITY-CHECK CODES AND TURBO CODES

IMPLEMENTATION ISSUES OF TURBO SYNCHRONIZATION WITH DUO-BINARY TURBO DECODING

AN UNEQUAL ERROR PROTECTION SCHEME FOR MULTIPLE INPUT MULTIPLE OUTPUT SYSTEMS. M. Farooq Sabir, Robert W. Heath and Alan C. Bovik

CCSDS TELEMETRY CHANNEL CODING: THE TURBO CODING OPTION. Gian Paolo Calzolari #, Enrico Vassallo #, Sandi Habinc * ABSTRACT

IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID ARQ

EFFECT OF THE INTERLEAVER TYPES ON THE PERFORMANCE OF THE PARALLEL CONCATENATION CONVOLUTIONAL CODES

Decoder Assisted Channel Estimation and Frame Synchronization

of 64 rows by 32 columns), each bit of range i of the synchronization word is combined with the last bit of row i.

A Robust Turbo Codec Design for Satellite Communications

Review paper on study of various Interleavers and their significance

Optimum Frame Synchronization for Preamble-less Packet Transmission of Turbo Codes

THIRD generation telephones require a lot of processing

Analog Sliding Window Decoder Core for Mixed Signal Turbo Decoder

Transmission Strategies for 10GBase-T over CAT- 6 Copper Wiring. IEEE Meeting November 2003

Adaptive decoding of convolutional codes

TERRESTRIAL broadcasting of digital television (DTV)

NUMEROUS elaborate attempts have been made in the

White Paper Versatile Digital QAM Modulator

Frame Synchronization in Digital Communication Systems

Implementation of CRC and Viterbi algorithm on FPGA

BER Performance Comparison of HOVA and SOVA in AWGN Channel

An Implementation of a Forward Error Correction Technique using Convolution Encoding with Viterbi Decoding

A Novel Turbo Codec Encoding and Decoding Mechanism

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Technical report on validation of error models for n.

On the Complexity-Performance Trade-off in Code-Aided Frame Synchronization

Performance Improvement of AMBE 3600 bps Vocoder with Improved FEC

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

Detection and demodulation of non-cooperative burst signal Feng Yue 1, Wu Guangzhi 1, Tao Min 1

Higher-Order Modulation and Turbo Coding Options for the CDM-600 Satellite Modem

SDR Implementation of Convolutional Encoder and Viterbi Decoder

Implementation and performance analysis of convolution error correcting codes with code rate=1/2.

Minimax Disappointment Video Broadcasting

Error Performance Analysis of a Concatenated Coding Scheme with 64/256-QAM Trellis Coded Modulation for the North American Cable Modem Standard

SPACOMM 2013 : The Fifth International Conference on Advances in Satellite and Space Communications. Standard

Design of Polar List Decoder using 2-Bit SC Decoding Algorithm V Priya 1 M Parimaladevi 2

RESEARCH OF FRAME SYNCHRONIZATION TECHNOLOGY BASED ON PERFECT PUNCTURED BINARY SEQUENCE PAIRS

MULTI-STATE VIDEO CODING WITH SIDE INFORMATION. Sila Ekmekci Flierl, Thomas Sikora

Interleaver Design for Turbo Codes

DESIGN AND IMPLEMENTATION OF SYNCHRONIZATION ALGORITHMS FOR DTMB

The Performance of H263-Based Video Telephony Over Turbo-Equalized GSM/GPRS

Turbo Decoding for Partial Response Channels

ITERATIVE DECODING FOR DIGITAL RECORDING SYSTEMS

A Real-time Input Data Buffering Scheme Based on Time Synchronization for a T-DMB Software Baseband Receiver

VA08V Multi State Viterbi Decoder. Small World Communications. VA08V Features. Introduction. Signal Descriptions

FPGA Implementation of DA Algritm for Fir Filter

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

CONVOLUTIONAL CODING

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video

DELTA MODULATION AND DPCM CODING OF COLOR SIGNALS

The Design of Efficient Viterbi Decoder and Realization by FPGA

Analysis of Various Puncturing Patterns and Code Rates: Turbo Code

Dual frame motion compensation for a rate switching network

An Improved Recursive and Non-recursive Comb Filter for DSP Applications

LUT Optimization for Memory Based Computation using Modified OMS Technique

Performance Analysis of Convolutional Encoder and Viterbi Decoder Using FPGA

International Journal of Scientific & Engineering Research, Volume 6, Issue 3, March-2015 ISSN DESIGN OF MB-OFDM SYSTEM USING HDL

No title. Matthieu Arzel, Fabrice Seguin, Cyril Lahuec, Michel Jezequel. HAL Id: hal

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

IC Design of a New Decision Device for Analog Viterbi Decoder

Optimization and Emulation Analysis on Sampling Model of Servo Burst

On Turbo Code Decoder Performance in Optical-Fiber Communication Systems With Dominating ASE Noise

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Viterbi Decoder User Guide

An Efficient Viterbi Decoder Architecture

THE USE OF forward error correction (FEC) in optical networks

A Low Power Delay Buffer Using Gated Driver Tree

Fig 1. Flow Chart for the Encoder

International Journal of Engineering Research-Online A Peer Reviewed International Journal

ALONG with the progressive device scaling, semiconductor

(12) United States Patent (10) Patent No.: US 6,810,502 B2

Multicore Design Considerations

FPGA Implementation of Convolutional Encoder And Hard Decision Viterbi Decoder

Contents Circuits... 1

Power Reduction Techniques for a Spread Spectrum Based Correlator

PCD04C CCSDS Turbo and Viterbi Decoder. Small World Communications. PCD04C Features. Introduction. 5 January 2018 (Version 1.57) Product Specification

Latest Trends in Worldwide Digital Terrestrial Broadcasting and Application to the Next Generation Broadcast Television Physical Layer

Retiming Sequential Circuits for Low Power

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

CHAPTER 2 SUBCHANNEL POWER CONTROL THROUGH WEIGHTING COEFFICIENT METHOD

BER MEASUREMENT IN THE NOISY CHANNEL

This paper is a preprint of a paper accepted by Electronics Letters and is subject to Institution of Engineering and Technology Copyright.

Robust Joint Source-Channel Coding for Image Transmission Over Wireless Channels

DATUM SYSTEMS Appendix A

VLSI Chip Design Project TSEK06

1022 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 4, APRIL 2010

A simplified fractal image compression algorithm

DDC and DUC Filters in SDR platforms

Low Power Viterbi Decoder Designs

Experiment 7: Bit Error Rate (BER) Measurement in the Noisy Channel

High Speed Optical Networking: Task 3 FEC Coding, Channel Models, and Evaluations

Transcription:

International Conference on Mechatronics Engineering and Information Technology (ICMEIT 2016) Design and Implementation of Encoder and Decoder for SCCPM System Based on DSP Xuebao Wang1, a, Jun Gao1, b and Gaoqi Dou1, c 1Department of Electrical Engineering, Naval University of Engineering, Wuhan 430033, China; abao_012@163.com, bgaojunnj@163.com, cdou_thesis@163.com Keywords: SCCPM, iterative decoding, joint parameters query, DSP. Abstract. Serially concatenated continuous phase modulation (SCCPM) combines serially concatenated convolutional coding (SCCC) with continuous phase modulation (CPM). Continuous phase encoder which is decomposed from CPM is used as a convolutional coder, and iterative decoding based on log-map (maximum a posteriori probability) algorithm is used in decoding, which bring the system good power efficiency and frequency efficiency, 3.0 db gain at least. In [1] the effects of different parameters on SCCPM system are presented. In [2] we present a joint parameters query. When a channel quality value is given, optimal joint parameters related will be used in the system to get minimum bit error rate (BER), which can bring system an extra 0.5-1.0 db gain. The encoder and decoder of SCCPM system is implemented on DSP-TMS320C6416 for its high-speed processing despite the complexity of iterative decoding. 1. Introduction The encoder and decoder of SCCPM evolves from Turbo codes [3], and turbo codes were proposed by C. Berrou, A. Glavieux and P. Thitimajshima, in 1993 and the performance is very close to the Shannon limit [4]. Turbo codes has three structures: parallel concatenated convolutional codes (PCCC), serially concatenated convolutional codes (SCCC) and hybrid concatenated convolutional codes (HCCC). SCCPM system choses the second structure. The structure of SCCPM encoder is based on a serially concatenation of two codes lined by a random interweaver. One of the codes is recursive systematic convolutional (RSC) code, and the other is continuous phase encoder (CPE) decomposed from CPM. SCCPM system combines encoding and modulating together to get good power efficiency. The structure of SCCPM decoder is based on a serially concatenation of two Soft-In Soft-Out (SISO) decoders lined together by the same interweaver/de-interweaver as in the decoder. The outputs of the lielihood values from the decoder are exchanged each other and updated through the iterative procedures [3, 4]. Thus SCCPM system has good BER. Log-MAP algorithm is adopted for decoding in SCCPM. On the one hand, The MAP decoding is optimum decoding in Turbo codes. On the other hand, log-map algorithm decrease the computation complexity by changing the multiply operation into add operation. There are many parameters effecting the BER of SCCPM decoding. In [1] the effects of parameters on BER is analyzed: convolutional codes with large free distance produce high interweaver gain on large SNR and low interweaver gain on low SNR; a positive correlation is found between interweave length and interweave gain; modulation index and memory length act on the system together; large system numbers bring high rate but low frequency efficiency and large complexity; pulse waveform rising cosine (RC) is better than others; and et al. However, all implementations chose each one of them in application regardless of different SNR having a relatively better joint parameters. In [2] we simulate and get the best joint parameters to different SNR. These joint parameters are stored in a memory, and when a channel quality value is given, the related optimal joint parameters is called to the system. 2. System Description The implementation is designed for encoder and decoder regardless of the demodulating process. The binary information bits is encoded by the SCCPM encoder combining encoding and modulating. 2016. The authors - Published by Atlantis Press 56

Then the outputs of the encoder are transferred to the decoder after going through the AWGN channel. And the channel quality value is estimated by the channel estimating system, and the SCCPM system use this value to choose the optimal joint parameters to get the input information. CPM. The serial Turbo codes are concatenated by two RSC codes, and an interweaver is lined between them. SCCPM encoder adopts the SCCC structure in which the second RSC code is placed by CPE. CPE is decomposed from CPM. In fact, CPM can be decomposed into a CPE and a memoryless modulator [5]. CPM is generally used for its continuous phase, and continuous phase can bring the system high frequency efficiency. SCCPM achieves the combination between coding and modulating by CPM. There are many parameters acting on CPM, and then effecting SCCPM system, such as modulating index, memory length, pulse waveform, and so on. They are all part of joint parameters. SCCPM Encoder. SCCC structure is used in the SCCPM encoder. A concatenation between RSC encoder and CPE is established, and they are lined by a random interweaver and mapper. Binary information bits B is sent to the RSC encoder for the first convolutional coding. The outputs of RSC encoder X are interweaved into X1 by a random interweaver. Then X1 is changed from binary into M-system U to get faster rate by an M-system mapper. Finally, code information U is coded by the second coder CPE, and C is output. The encoding process of SCCPM system is depicted in Figure 1. Fig. 1 Encoder of SCCPM system The choice of RSC can affect the interweaving gain with its free distance. We choose (7, 5) or (13, 11) RSC for encoding because convolutional codes with small free distance is better for system in low channel quality. The bit-interweaver is random, and symbol-interweaver has more strict constrain [6]. The system of mapper can bring the system faster rate but more complexity. The joint parameters include these factors as well. Iterative Log-MAP Decoding. The signal r(t) is receiving signal of SCCPM demodulator. But in this implementation demodulating is ignored. And the inputs of SCCPM decoder is the outputs of the SCCPM encoder added AGWN. The decoder is depicted in Figure 2. Two decoder are concatenated by a de-interweaver and an interweaver related to those in encoder. The decoder 1 is CPM APP (a posterior probability) decoder. And one of the input is the soft information of received code information A(c(e);I), the other one is a priori information A(u(e);I) after the output of the decoder 2 Fig. 2 Decoder of SCCPM system RSC APP decoder A(b(e);O) (called extrinsic information) is interweaved. One of the decoder 1 is A(u(e);O) de-interweaved as the decoder 2 s priori information A(x(e);I). And A(x(e);I) is used to compute extrinsic information A(x(e);O) by decoder 2. The decoder 1 receives extrinsic information from decoder 2 and the iteration proceeds as Decode 1 Decode 2 Decode 1 Decode 2 The soft information is passed between two decoders until the iteration ends and the decision device gives the decision-information. The MAP decoding is optimum decoding in Turbo codes, and Log-MAP decoding is same as MAP decoding except changing multiplication into addition and decreasing the quantity of computing. Forward probability ( () s ), bacward probability ( ( s ')) and transition probability 57

( ( s', s) ) are calculated to get the posterior probability L( u / Y N), and in [7] the decoding extrinsic information is defined by s Lu ( ) Lu ( / YN) Lc y Lu ( ) in (1) After changing into log field, the posterior probability is defined by Lu ( / Y ) ( ( s') ( s', s) ( s)) ( ( s') ( s', s) ( s)) (2) N 1 1 s', s, u 1 s', s, u 1 Whether the output information bit û is 1 or -1 is decided by uˆ sign(( L( u ) 1) / 2) (3) The number of iterations also influence the decision. More iterations can bring the system better BER and larger computing complexity, and we set six iterations in decoding. 3. Joint Parameters Simulation The joint parameters include all actors influencing the BER of SCCPM decoder. These factors can be measured and assembled together to analyze the influence of different combinations on SCCPM system. The relatively optimal combination on a channel quality value (SNR) is found out, and a joint parameters-snr table is stored for query. When the encoder receive a SNR for channel estimation, a range of the SNR is found. A value of SNR tae place of these values in the range, and number is attached to the value. A group of parameters (called joint parameters) are queried and sent to the SCCPM encoder and encoder. The following example shows concretely the process of joint parameters used in the system. Consider three groups of parameters including modulation index, system number and memory length given in Table 1.The generating array is defined by g [1101;1111],namely (13, 15) convolutional code. We have 1000 frames for 96 bits each to test the performance of SCCPM system. Quaternary mapper is designed to improve the rate, and RC pulse is used as waveform pulse with 64 samples per second. The decoder will go through 6 iterations. Table 1 Partial joint parameters Parameters Modulating index System number Memory length 1 1/2 4 3 2 2/3 2 2 3 4/5 8 1 One should be considered that only three factors are conducted in this simulation for its convenience, while other factors are given directly. In implementation all these factors are listed in the joint parameters, and different groups of them are simulated. In this example, we have three groups of data with three parameters for each. The simulation results are shown in Figure 3, which depicts SNR vs. the BER of SCCPM decoder. The three curves depict the performance of three groups of joint parameters after six iterations. From -3.0 db to -1.7dB, the group h=4/5, M=8, L=1 has the least BER (group 3); from -1.7dB to -1.5 db, the group h=2/3, M=2, L=2 has the least BER (group 2). Table 2 Joint parameters-snr query list Range (-3.0,-2.7] (-2.7,-2.3] (-2.3,-1.7] (-1.7,-1.3] (-1.3,-1.0] Value -3.0-2.5-2.0-1.5-1.0 No. 3 3 3 2 Different SNR values correspond with different optimal joint parameters and BER. But not every SNR values are simulated, and only very finite points have be tested. A SNR range is established that every range maps a value, and if a SNR value is in the range, the related tested value displace this SNR value. The group number is related to the tested value, and the optimal joint parameters are queried when a SNR value is given. A joint parameters-snr query list is shown in the Table 2. 58

10-1 h=1/2,m=4,l=3,rc h=2/3,m=2,l=2,rc h=4/5,m=8,l=1,rc 10-2 BER 10-3 10-4 Optimal Joint Parameters Optimal Joint Parameters 10-5 -3-2.8-2.6-2.4-2.2-2 -1.8-1.6-1.4-1.2-1 Eb/No (db) Fig. 3 Three-parameter group simulation 4. Function Implementation The function of encoder and decoder in SCCPM system is mainly implemented by a DSP chip TMS320C6416 two pieces of synchronous dynamic random access memory (SDRAM) chip MT48LC2M32B2-6, and a piece of flash chip Am29LV800B [8]. The cloc rate of TMS320C6416 can get to 720 MHz, and it has a 64-independent-channel enhanced direct memory access (EDMA) and two external memory interfaces (EMIF), one 64-bit EMIFA, one 16-bit EMIFB. The MT48LC2M32B2-6 has a storage of 64Mb with32-bit data bus width (512K*32*4ban), and two pieces of MT48LC2M32B2-6 are connected with CE0 of EMIFA after concatenated. The Am29LV800B has a storage of 8Mb with 8-bit data bus width (1M*8bit), and it is connected with CE1 of EMIFB after concatenated. The SDRAM stores information data written from DSP or read by DSP, and the flash support the rom boot of DSP through EMIFB. The input cloc of DSP is supplied by an oscillator with 50MHz. Fig. 4 SCCPM encoder woring process flow on DSP The process of encoding in SCCPM system is shown in Figure 4. DSP reads the information bit sequence form external storage SDRAM by EDMA through EMIFA. When the encoder get a channel estimating value, DSP finds out the optimal joint parameters by query list and then sends it to encoder. After all parameters are set completely, the DSP begins to encode bit by bit according to the process flow depicted in Figure 4. The data are written in the external storage SDRAM by EDNA through EMIFA when the encoding is completed. 59

Before decoding by DSP, the output of encoder will be read from SDRAM by EDMA through EMIFA and made an addition with AWGN. And the sum will be sent to decoder. The decoder begins its iterative decoding as soon as receiving data information. The concrete process flow is shown in Figure 5. After iter_n times iterative decoding is completed, the decision device will decide output û 1 or -1. The decoding results are also written in SDRAM by EDMA through EMIFA. The encoder and decoder are designed and implemented in the same one chip aiming at testing their function. And there will be one transmitting system and receiving system separately when applied in communication. Start Initializing EDMA, Initializing EMIF Receiving data (the output of encoder added AWGN) The CPM APP decoder uses the extrinsic information interweaved as priori information and input codes information to get extrinsic information The extrinsic information of decoder 1 is de-interweaved as decoder 2's priori information The extrinsic information of decoder 2 is interweaved as decoder 1's priori information The RSC APP decoder uses the priori information for decoding to get extrinsic information If the iterative numbers gets to iter_n? No Yes The decision device maes a hard decision and gives a value(1 or -1) End Fig. 5 SCCPM decoder woring process flow on DSP 5. Conclusion and Future Wor In this paper, we discussed the theory of the encoder and decoder in SCCPM system and describe the process flow of encoding and decoding on DSP, and the method of joint parameters query in encoding and decoding is completed on DSP. From the simulation of joint parameters, there is an optimal group existing at a SNR value. And the joint parameters query can bring the system 0.5-1.0 db gain and better BER. The high-speed calculative ability of DSP maes up the complexity of iterative decoding based on Log-MAP algorithm, and the decoding delay diminishes greatly. Currently, we are trying to loo for the ways of improving the performance of encoders and decoders in SCCPM system form two aspects. On the one hand, the iterative times is already set, so DSP do not need to care its convergence and DSP must operate all iterations, which causes lots of extra calculation and more delay to system [9]. So a good convergence principle should be wored out. On the other hand, we are considering adopting FPGA+DSP schema to implement the whole SCCPM communication system to get faster speed and lower BER. 60

References [1] Zhenghu Zhuang: Performance Analysis for Serially Concatenated Continuous Phase Modulation System, Master Degree, Xidian University, China, 2012, pp 39-51. [2] Xuebao Wang, Jun Gao and Gaoqi Dou, Simulations for Iterative Decoding of SCCPM based on MAP Algorithm, Communications Technology. Vol. 49(2016), No.5, pp. 539-543. [3] Naotae Yamamoto and Tomoai Ohtsui, SOVA-Based Iterative Decoding of Turbo Coded OOK and Turbo Coded BPPM, The 13th IEEE International Symposium on Personal, Vol. 1 (2002), pp. 369-373. [4] C. Berrou, A. Glavieux and P. Tbitimajshima, Near Shannon Limit Error-correcting Coding and Decoding: Turbo Codes, In Proc.ICC'93. May 1993, pp.1064-1070. [5] Bing Li, Fan Wei and Baoming Bai, Fundamental Performance Limits of CPM Coded Modulation System, Journal on Communications,Vol.35, No.3, pp.183-192. [6] Jinhua Sun, Xiaojun Wu, and Xi Xiang, Design and Performance Analysis of Symbol Interleaved Serially Concatenated Continuous Phase Modulation, Journal of Xidian University ( Natural Sciences Edition), Vol.39(2012), No. 1,pp.23-27. [7] Xiaodong Wang and H. Vincent Poor, Iterative (Turbo) Soft Interference Cancellation and Decoding for Coded CDMA, IEEE Transactions on Communications, Vol.47, No.7, July, 1999, pp.1046-1061. [8] Information on http://www.ti.com/lsds/ti/processors/dsp/overview.page [9] P. Moqvist and T. Aulin, Convergence Analysis of SCCPM with Iterative Decoding, IEEE Global Telecommunications Conference, Vol. 2(2001), pp.1048-1052. 61