Upload
others
View
6
Download
0
Embed Size (px)
MATLAB EXPO 2015
HYBRID CONCATENATED CONVOLUTIONAL CODES
FOR DEEP SPACE MISSION
Presented by
Dr.DEEPAK MISHRA
OSPD/ODCG/SNPA
MATLAB EXPO 2015
Objective :To find out suitable channel codec
for future deep space mission.
Outline: Interleaver Design.
Puncturing .
Decoding Algorithms.
Various Turbo code like structure like Hybrid
Concatenated codes.
Validation and verification using MATLAB
HDL Co Simulation
Hardware in loop Simulation
MATLAB EXPO 2015
Digital Communication System
Information
Source
&
Input Transducer
Source Encoder Channel Encoder
Outpot
TransducerSource Decoder Channel Decoder
Digital
Modulator
Digital
Demodulator
Channel Synchroniz
ation
Output
Signal
Transmitted
Signal
Received
Signal
MATLAB EXPO 2015
Shannon theorem
Shannon Source Information Capacity
Coding theorem Theorem
sec/1log0
2 bitsBN
PBC
TC
C
T S
zH
)(Channel Coding Thorem
log(pi) pi - = H(S)
L
Where
1
0
k
K
k
klp
MATLAB EXPO 2015
Interleaver Design
MATLAB EXPO 2015
Classical Block diagram
MATLAB EXPO 2015
Interleaver Design
Inte
rle
aver
Desig
n
Earlier Interleaver design is separate design and
There is no relation between interleaver design and
Channel coder design.
Purpose
To distribute the error through out the frame.
It has the job of spreading out long bursts of errors
.
Earlier Concepts
Design
MATLAB EXPO 2015
Interleaver Design
Inte
rle
aver
Desig
n Interleaver design is a part of Channel coder design.
Purpose
To provide Interleaver gain (decorrelation gain) to
decoder.
Different properties:-
1) S distance properties
2) mod-k properties
3) symmetric properties
Resent Concepts
Design
MATLAB EXPO 2015
S distance Property
An interleaver with the spread or S distance property will, after
interleaving, separate all neighboring elements at least S
interleaver index distance a part,
i.e., S min(|π(i)-π (j)| , (| π-1 (i)-π-1 (j)|), for all i,j €I, |i-j|=1.
The performance of Channel codes improves as the S
distance increases.
S< [√N/2], where N is the size of the interleaver
MATLAB EXPO 2015
Input /output Position Plot of a 192 bit poor S distance random Interleaver
Input /output Position Plot of a 192 bit good s distance random Interleaver
MATLAB EXPO 2015
Mod-k Property
Mod –K Property used in applications where k-1 parity bits
are punctured from each constituent code. We call this a
pure mod-k interleaver where the modulus rule applies to all
elements of the interleaver.
Therefore a pure mod-k interleaver has i mod k = j mod k,
where the interleaver maps i→j.
MATLAB EXPO 2015
Symmetric PropertyA disadvantage of most of the interleavers types mentioned previously is that they
require both an interleave and a deinterleave sequence. Since an interleave and a
deinterleave sequence are normally different, separate hardware or look up tables are
usually required for each sequence. We can solve this problem by using a symmetric
interleaver, where the interleaver and deinterleaver sequences are identical.
MATLAB EXPO 2015
CCSDS PCCC Codes
Standardization of turbo codes by the Consulting Committee for Space Data
System (CCSDS) organization was remarkable efficient process, because
there are relatively few parameters must be determined to define a turbo code
CCSDS TURBO CODES STANDARD
MATLAB EXPO 2015
CCSDS 101.0-B-6 Standard Turbo Encoder
MATLAB EXPO 2015
CCSDS Compline Turbo Encoder and Decoder
Double-click to
set model parameters
finaldatad
To Workspace1
pcccBER
encoded
Signal From
Workspace1
Model
Parameters
-K-
Error Rate
Calculation
Tx
Rx
In1 Out1
CCSDS compline Turbo Encoder
In1Out1
CCSDS compline Turbo Decoder
AWGN
CCSDS C
ompline T
urbo
codes
MATLAB EXPO 2015
CCSDS Interleaver design
MATLAB EXPO 2015
Input / Output distribution of CCSDS
Interleaver
0 200 400 600 800 1000 1200 1400 1600 18000
200
400
600
800
1000
1200
1400
1600
1800
INPUT
OU
TP
UT
MATLAB EXPO 2015
The proposed interleaver is based on Gaussian distribution
function. The selective criteria of these models are minimum
distance and multiplicities for all suggested algorithmic
interleavers and polynomials for turbo codes.
Proposed Interleaver
m=mod((h-1),2);
i=floor((h-1)/446);
j= floor((h-1)/2)- (i*223);
t=mod((19*i+1),4);
q= mod(t,8)+1;
c=mod((9*j+113*m),223);
position1=(2*(t+(c*4)+1))-m;
pot(h)=position1;
MATLAB EXPO 2015
Input / Output Distribution of Proposed
Interleaver
0 200 400 600 800 1000 1200 1400 1600 18000
200
400
600
800
1000
1200
1400
1600
1800
INPUT
OU
TP
UT
MATLAB EXPO 2015
The advantages of proposed interleaver with respect
to CCSDS interleaver are following.
There is no need to store 8 prime integers value in
hardware. Since It has only fixed value.
The S distance property is better compare to
CCSDS interleaver.
The minimum hamming distance dmin and its
multiplicity values, Amin is better compare to
CCSDS standard.
Proposed Interleaver Advantages
Frame
length
Code rate Feedback
Polynomial
Feed
forward
Polynomial
Interleaver
Model
dmin Amin Wmin
1784 1/2 10011 11011 CCSDS 17 2 6
1784 1/2 10011 11011 PROPOSED 23 1 1
MATLAB EXPO 2015
Proposed Interleaver Advantages
MATLAB EXPO 2015
SIMULATION APPROACH
MATLAB EXPO 2015
MATLAB EXPO 2015
MATLAB EXPO 2015
0 2 4 6 8 10 12 14 16 1810
-25
10-20
10-15
10-10
10-5
100
Eb/No(dB)
BE
R
1.31dB
Proposed Interleaver
Advantages
MATLAB EXPO 2015
Puncturing
MATLAB EXPO 2015
1
Out
finaldatad2
To Workspace3
finaldatad4
To Workspace2
finaldatad3
To Workspace1
1
Matrix
Concatenate
General
Block
Interleaver
Internal
Interleaver
Convolutional
Encoder
Encoder2
Convolutional
Encoder
Encoder1
1
In
1
Out1
Unipolar to
Bipolar
Converter
Puncture
Puncture
to make 1/2 code rate
Turbo
Encoder
LTE Turbo Encoder1 In1
Turbo Encoder
CCSDS C
ompline T
urbo
codes
MATLAB EXPO 2015
1
Out
NotUsed2NotUsed
General
Block
Interleaver
Internal Interleaver
General
Block
Deinterleaver
Internal Deinterleaver
Lin 0/1
Hard Decision
For
Iterator
For Iterator
z-1784
Delay
APP Decoder
L(u)
L(c)
L(u)
L(c)
Decoder2
APP Decoder
L(u)
L(c)
L(u)
L(c)
Decoder1
3
Lc3
2
Lc1
1
Lc2
1
Out1
Lc2
Lc1
Lc3
Out f or { ... }
Turbo Decoder
Select
Rows
Multiport
Selector
Insert Zero
Insert Zero
1
In1
Turbo Decoder CCSDS C
ompline T
urbo
codes
MATLAB EXPO 2015
CCSDS C
ompline T
urbo
codes
1
Out
UY
Remove Tail2
U Y
Remove Tail
Pad
Pad Tail2
Pad
Pad Tail
NotUsed2NotUsed
General
Block
Interleaver
Internal Interleaver
General
Block
Deinterleaver
Internal Deinterleaver
Lin 0/1
Hard Decision
For
Iterator
For Iterator
z-1788
Delay
APP Decoder
L(u)
L(c)
L(u)
L(c)
Decoder2
APP Decoder
L(u)
L(c)
L(u)
L(c)
Decoder1
2
Lc2
1
Lc1
[1784x1][1784x1]
[1788x1]
[1788x1]
[1788x1]
[1788x1]
[1788x1]
[1784x1]
[1784x1]
[1784x1] [1784x1]
[1788x1]
[1788x1][1784x1]
[1784x1]
[1784x1]
[1784x1][1788x1]
[1788x1][1788x1][1788x1]
Turbo Decoder without Transmission of Systematic Bits
MATLAB EXPO 2015
Comparative Performance Analysis of Different Turbo Codec
Result shows that deletion of parity bit will be preferred over
systematic bits.
MATLAB EXPO 2015
Decoder in case of Turbo code
MATLAB EXPO 2015May 13, 2015
: 1. Decoding algorithm
MAP Algorithm (max of posteriori probability).
Log-MAP Algorithm
Near Log-MAP Algorithm
SOVA Algorithm (Soft output Viterbi algorithm )
Performance of MAP Algorithm is better compare to
other algorithm ,However Log-MAP and SOVA algorithm is easier
to implement in Hardware (i.e. In log domain multiplication
become addition and division become subtraction.)
MATLAB EXPO 2015
Decoding Algorithm for Hybrid
Concatenated Codes
Deco
ding
Algor
ithm f
HSCC
Decoding algorithm
Log-MAP Algorithm (max of posteriori probability).
SOVA Algorithm (Soft output Viterbi algorithm )
These two algorithm are practically use for implementation of
Concatenated decoders. However decoding complexity of HCCC is still
higher .Further modification on Log-MAP algorithm know as Linear Log-MAP
Algorithm .
MATLAB EXPO 2015
Decoding using Log-MAP Algorithm
MATLAB EXPO 2015
Decoding using SOVA Algorithm
MATLAB EXPO 2015
Log-MAP vs SOVA
Iteration
increment..
Iteration
increment..
Log_MAP
SOVA
G=[7 5], Unpunctured(1/3),
frame size=1024,
Iteration=8.
Tur
bo
codes
MATLAB EXPO 2015
Linear Log-MAP AlgorithmDeco
ding
Algor
ithm f
or H
SCC
where
is a real number. This operation with multiple arguments can be
decomposed into a recursive form using a max* operator with only
two arguments, such as
Applying the Jacobian logarithm, a two-input max* operator can be
expressed in the form
++
MATLAB EXPO 2015
Deco
ding
Algor
ithm f
or H
SCC
Linear Log-MAP AlgorithmA further enhancement is the more complex linear-log-MAP algorithm, which
offers one of the best trade-offs in terms of complexity and performance
among the different max* variants .It achieves an approximation very close to
that of the log-MAP max* implementation by using a linear correction function
We found that , parameters a = -0:24904 and T = 2:5068 minimize the
total squared error between the exact correction function and its linear
approximation, when using floating-point operations to implement the
decoder
MATLAB EXPO 2015
…
Simulation Parameter
Parameter Value
Eb/No 0-7 dB
Block Length 1784
Interleaver Random Interleaver
Iteration 6
MATLAB EXPO 2015
May 13, 2015 SAC TDP/R&D 2009
1
Out
General
Block
Interleaver
Internal Interleaver
General
Block
Deinterleaver
Internal Deinterleaver
Lin 0/1
Hard Decision
For
Iterator
For Iterator
msg
llr
outl inearlogmap
Embedded
MATLAB Function2
msg
llr
outLinearlogmap
Embedded
MATLAB Function1
z-1784
Delay
3
Lc3
2
Lc1
1
Lc2
Simulation of turbo decoder using Linear Log
MAP using a = -0:24904 and T = 2.5068
MATLAB EXPO 2015
May 13, 2015 SAC TDP/R&D 2009
Performance Comparison
0 1 2 3 4 5 6 7
10-15
10-10
10-5
100
PERFORMANCE COMPARISION BETWEEN LOG MAP AND LINEAR LOG MAP
Eb/No(dB)
BE
R
Log-MAP
Linear Log-MAP
MATLAB EXPO 2015
1
Out1
Unipolar to
Bipolar
Converter
Random
Interleaver
Convolutional
Encoder
Outer Encoder
Convolutional
Encoder
Inner Encoder
1
In1
1
Out1
Random
Interleaver
Random
Deinterleaver
APP Decoder
L(u)
L(c)
L(u)
L(c)
Outer DecoderAPP Decoder
L(u)
L(c)
L(u)
L(c)
Inner Decoder
Lin0/1
-K-
-K-
z-?
Deinterlacer
O
E
Deinterlacer
Add
1
In1
Serial concatenated Encoder and DecoderSerial co
ncate
nate
d c
odes
MATLAB EXPO 2015
1
Out1
Unipolar to
Bipolar
Converter
Unipolar to
Bipolar
Converter
Random
Interleaver
Random
Interleaver
Convolutional
Encoder
Outer Encoder1
Convolutional
Encoder
Outer Encoder
Interlacer
O
E
Interlacer
Convolutional
Encoder
Inner Encoder
1
In1
1
Out1
zeros(SCCC_len,1)
Random
Interleaver
Random
Interleaver
Random
Deinterleaver
Random
Deinterleaver
APP Decoder
L(u)
L(c)
L(u)
L(c)
Outer Decoder1
APP Decoder
L(u)
L(c)
L(u)
L(c)
Outer DecoderAPP Decoder
L(u)
L(c)
L(u)
L(c)
Inner Decoder
Lin0/1
-K-
-K-
z-?
Deinterlacer
O
E
Deinterlacer
Add
1
In1
Hybrid concatenated Encoder and DecoderHybrid c
onca
tena
ted c
odes
MATLAB EXPO 2015
0 0.5 1 1.5 2 2.5 3 3.5 4 4.510
-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
COMPARITIVE PERFORMANCE OF SCCC ,PCCC AND HCCC
Eb/No
BE
R
SCCC
PCCC
HCCC
CROSS OVER POINT
Tur
bo
codes
MATLAB EXPO 2015
Hybrid Concatenated codes with respect to different interleaver
MATLAB EXPO 2015
S.No Interleaver Type 1st iteration
(Eb/No)
2nd iteration
(Eb/No)
3rd iteration
(Eb/No)
1 Pseudo random 4.4 3.3 2.1
2 Matrix 5.5 4.8 3.9
3 Helical 5.2 4.7 3.8
4 CircularA 5.6 5.0 4.3
5 Algebraic 5.1 4.2 3.5
Packet size : 1784 Bits, BER=10-6
RESULTS
MATLAB EXPO 2015
Turbo Coded Digital QPSK Modulator for Human
Space Program
MATLAB EXPO 2015
Modulator Block Diagram
MATLAB EXPO 2015
Validation and Verification
MATLAB EXPO 2015
Turbo Decoder
MATLAB EXPO 2015
Simulation vs Hardware
Matlab SimulationHardware
MATLAB EXPO 2015
Simulation vs Hardware
Matlab SimulationHardware
MATLAB EXPO 2015
DVM Model
MATLAB EXPO 2015
Hardware Setup
MATLAB EXPO 2015
Hardware Spectrum
MATLAB EXPO 2015
Demodulation
MATLAB EXPO 2015
Verification of coding gain
MATLAB EXPO 2015
APSK Modulator Block Diagram
MATLAB EXPO 2015
DESIGN PARAMETER
MATLAB EXPO 2015
CCSDS Standard APSK Modulator in
Simulink
MATLAB EXPO 2015
Noise Characterization at 13db
Eb/No
MATLAB EXPO 2015
Noise Characterization at 9 db
Eb/No
MATLAB EXPO 2015
Simulation Result at 1784 bits
frame length
0 2 4 6 8 10 12 1410
-6
10-5
10-4
10-3
10-2
10-1
100
Eb/No(dB)
BE
R
Uncoded 16-APSK performance
Turbo coded 16-APSK performance
6.2 dB coding gain
MATLAB EXPO 2015
Characterization of Turbo Encoder and Decoder
MATLAB EXPO 2015
CURRENT STATUS
MATLAB EXPO 2015
Hardware Constellation of 16
APSK
MATLAB EXPO 2015
MATLAB EXPO 2015
HDL Cosimulation
MATLAB EXPO 2015
FPGA IN LOOP VERFICATION
MATLAB EXPO 2015
Verification of Turbo decoder
MATLAB EXPO 2015
Cosimulation and FPGA IN LOOP VERFICATION
MATLAB EXPO 2015
Result achieved
New interleaver design : Performance is
better than 1.31 dB compare to CCSDS
compliant interleaver.
Puncturing : Suitable puncturing scheme
for Turbo like codes.
Decoding scheme: Optimize decoding
scheme for hardware implementation .
Encoder and Decoder selection: Suitable
structure for future deep space mission.
MATLAB EXPO 2015
Co simulation of proposed interleaver with
CCSDS Interleaver
Performance comparison of various puncturing
channel codec.
Comparison of various decoding algorithms.
Simulation of various Turbo code like structure .
Verification and Validation of codec without
actual hardware.
Use of MATLAB to achieve the results
MATLAB EXPO 2015
Questions?
MATLAB EXPO 2015MATLAB EXPO 2015
Dr. Deepak Mishra
Scientist/Engineer -SF
Onboard Signal Processing Division (OSPD)
Optical & Digital Communication Group (ODCG)
Space Applications Centre
Indian Space Research Organisation
Ahmedabad