Professional Documents
Culture Documents
Denise C. Alves1 , Cesar G. Chaves1 , Eduardo R. de Lima1,2 , Gabriel S. da Silva1 , Augusto F. R. Queiroz1
1
Eldorado Research Institute, Campinas, SP, Brazil
{denise.alves, cesar.arroyave, eduardo.lima, gabriel.silva, augusto.queiroz}@eldorado.org.br
2
PhD Candidate at Technical University of Valencia
I. I NTRODUCTION
The Second Generation Digital Video Broadcasting System
for Satellite broadcasting and unicasting (DVB-S2) has been
consolidated as one of the most common choices worldwide Fig. 1. FEC decoding subsystem block diagram
regarding Digital TV (DTV). It achieves about 30% of capacity
gain over DVB-S (its predecessor standard), under the same
Although the output of the FEC subsystem in the transmit-
transmission conditions. DVB-S2 has been specified around
ter are hard-bits, i.e. bits that assume ‘0’ or ‘1’ values, the input
three key concepts: best transmission performance, total flexi-
to the corresponding subsystem in the receiver are soft-bits, i.e.
bility and reasonable receiver complexity that allows different
integer number representing probabilities that are associated
modulations (QPSK, 8-PSK, 16-APSK and 32-APSK) and
to the bits inside the frame. Those probabilities represent how
error protection levels (1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5,
likely a given bit is ‘0’ or ‘1’ and that kind of information is
5/6, 8/9, and 9/10) to be used on a frame by frame basis [1].
mandatory for the LDPC Decoder.
The DVB-S2 standard takes advantage of its improved
Forward Error Correction (FEC) subsystem to achieve a near The decoding process is executed in a frame-by-frame ba-
Shanon limit [2] performance. It is composed by the De- sis. The received symbols are soft-demapped and the outputted
Interleaver, the Low Density Parity Check Code (LDPC) soft-bits are rearranged by the De-interleaver according to the
[3] decoder and the Bose-Chaudhuri-Hocquenghem (BCH) method presented in the DVB-S2 standard documentation [1].
decoder [4]–[6]. The key characteristics, which allow quasi- The rearranged frame follows the format presented in Fig. 2.
error free operation near (0.6 to 1.2 dB) Shannon limit, are: 1) The BBFRAME section contains the useful bits while the
very large LDPC block length (64800 bits for Normal Frame LDPCFEC and the BCHFEC sections contain the parity bits
and 16200 bits for Short Frame); 2) large number of iterations that were added by the encoders before transmission.
on LDPC; and 3) the concatenation with the BCH code.
This paper presents, in details, the FEC decoding subsys-
tem that is going to be integrated in the DVB-S2 compliant re-
ceiver that has been introduced in [7]. This work also includes
FPGA prototyping results, the BER performance achieved Fig. 2. DVB-S2 FECFRAME
by this implementation, and the platform used for evaluating
its performance. The remainder of the paper is organized as
it follows: Section II details the FEC decoder. Section III The LDPC decoder receives the rearranged FECFRAME,
explains the setup used to evaluate the performance of the FEC corrects most of the erroneous bits and discards the LDPCFEC.
decoding subsystem. Section IV presents the achieved results. Next, the BCH decoder corrects the remaining errors (up to
Section V summarizes related work. And finally, Section VI 12 according to the frame type and code rate) and removes
concludes the paper. the BCHFEC. Finally, the decoded useful data, BBFRAME, is
forwarded to the following modules of the DVB-S2 receiver.
This work was supported by the IC-Brazil Program of the Ministry of Science,
Technology and Innovation (MCTI), under the grant 550467/2011-4. The De-interleaver, the LDPC and BCH decoders will be
978-1-4799-6848-0/14/$31.00 2014
c IEEE explained in subsections A, B and C, respectively.
A. De-Interleaver In layered decoding, a VN is represented by its Soft-output
(SO) value, that is nothing else than the LLR that is frequently
The interleaving scheme is frequently used in digital com- updated during the iterations, and one iteration is split into
munication to improve the performance of FEC coding. Its sub-iterations, one sub-iteration for each layer made of one or
main objective is spreading the errors that often occur in burst, several CNs. Assuming that Ln is the initial LLR of bit n,
so that those errors present a more uniform distribution in the Qn is the LLR (or SO) of bit n considering all the messages
decoder input [8], as illustrated in Fig. 3. exchanged so far, Qnm is the message sent by VN n to CN
m, Rmn is the message sent by CN m to VN n, and N (m)\n
is the set of VN’s connected to CN m excluding n, the steps
of the layered decoding algorithm are:
1) Initialization: Qn = Ln , Rmn = 0
2) VN message calculation: Qnm = Qn − Rmn old
3) CN update: Rmn = f (Qn m ), f or n ∈ N (m) \ n
new
C. BCH Decoder
The BCH-Decoder uses the BCHFEC bits for recovering
the original BBFRAME, with a t error correction capacity of
up to 8, 10 or 12 errors according to the code-rate and frame Fig. 8. Shortened Chien Search
type. This is accomplished by following Algorithm 1.
Algorithm 2 Simplified inverse-free Berlekamp-Massey The reason for using the constellation points instead of the
Input: t: Error correction capacity. mapped symbols, that could also be obtained from the offline
S: 2t Syndromes calculated for the received FECFRAME. database, was that the chosen configuration (Memory+Mapper)
Output: σ: Error Locator Polynomial. would save memory resource, since the symbol representation
1: κ(0) = 0, γ(0) = 1 (in-phase and quadrature components) requires much more
2: δi (0) = θi (0) = Si ∀ i ∈ {0, 1, 2, ..., 2t − 2} bits than a concatenation of bits that varies from 2 (QPSK
3: δ2t−1 (0) = θ2t−1 (0) = 0, δ2t (0) = θ2t (0) = 1
modulation) to 5 (32-APSK).
4: for r ← 0 to t − 1 do
5: δi (r + 1) = γ(r)δi+2 (r) + δ0 (r)θi+1 (r) The error source for the Bit Error Rate (BER) measurement
∀ i ∈ {0, 1, 2, ..., 2t} is an external Noise Generator, which provides a complex
where δ2t+1 (r) = δ2t+2 (r) = θ2t+1 (r) = 0 baseband noise through two separate channels, one for each
6: if δ0 (r) = 0 and κ(r) ≥ 0 then
7: θi (r + 1) = δi+1 (r)
symbol component. Those components are analog-to-digital
∀ i ∈ {0, 1, 2, ..., 2t} \ {2t − 2 − 2r, 2t − 3 − 2r} converted and then passed to the system as the noise, which is
8: γ(r + 1) = δ0 (r) incorporated to the signal by the adder. The target Signal-to-
9: κ(r + 1) = −κ(r) Noise Ratios (SNRs) are adjusted by attenuating or amplifying
10: else the amplitude of the generated noise through a combination of
11: θi (r + 1) = θi (r) external attenuators and internal multiplier.
∀ i ∈ {0, 1, 2, ..., 2t} \ {2t − 2 − 2r, 2t − 3 − 2r}
12: γ(r + 1) = γ(r) The SNR values are calculated by the SNR Estimator block.
13: κ(r + 1) = κ(r) + 1 As it can be seen in Fig. 10, the SNR Estimator has the Power
14: end if Signal sub-block, which is instantiated twice. The instances
15: θi (r + 1) = 0 ∀ i ∈ {2t − 2 − 2r, 2t − 3 − 2r} are responsible for providingthe signal and noise powers
16: end for 2 2
calculated by Px = |x| = Ix2 + Q2x = Ix2 + Q2x . This
17: σi = δi (t) ∀ i ∈ {0, 1, 2, ..., t}
18: return σ
process is repeated an specific amount of times, accumulating
the results and averaging them, in order to avoid abrupt
variations and make the final result more reliable.
III. FPGA P ERFORMANCE M EASUREMENT S ETUP
In order to measure the performance of the FEC subsystem,
a verification platform was designed as presented in Fig. 9.
BER
10-8