Académique Documents
Professionnel Documents
Culture Documents
Speaker: Chau-Yuan-Yu
Advisor: Mong-Kai Ku
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Better Encoder scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Better Encoding scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
Low-Density Parity-Check Code
Benefit of LDPC Codes.
Approaching Shannon limit
Valid Codeword
Low-Density Parity-Check Code
In (n, k) block codes, k-bit information data can be
encoded as n-bit codeword.
0 represent
identity matrix.
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Better Encoding scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
General Encoding for LDPC Codes
Richardson and Urbanke (RU) algorithm
Partition the H matrix into several sub-matrix.
In H, the part T is a low triangle matrix.
General Encoding for LDPC Codes
Richardson and Urbanke (RU) algorithm
p0 O(n+g2)
p1 O(n+g2)
Efficient Encoding for Dual-Diagonal LDPC Codes
A valid codeword c = [s|p] must satisfy
Encoding scheme
One-way derivation
Step 1
Compute lambda value by doing
matrix operation x = HsS
Step 2
Determines parity vector P0 by
adding all the lambda value
Step 3
Rest of parity vector is obtained
by exploiting dual-diagonal
matrix T
Related Work (2) Arbitrary Bit-generation and Correction Encoding
In [1], an alternative encoding for standard matrix was presented.
Step 2
Set P0 as arbitrary binary
values. solve unknown parity
bits
Step 3
Computed correction vector f
from P0
Step 4
Add correction vector to parity
bits in region Q to correct them
Related Work (2) Arbitrary Bit-generation and Correction Encoding
Advantage
Low-complexity encoding
The number of addition required is less than RU scheme
Drawback
Can not directly applicable to standard code
Modifying matrix will decrease code performance
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Better Encoding scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
Better encoding scheme
Advantages of the encoding scheme
proposed in [2]
Low-complexity encoding
[3] C.-Y. Lin, C.-C. Wei, and M.-K. Ku, "Efficient Encoding for Dual-Diagonal Structured LDPC Code Based on Parity bits Prediction and
Correction," IEEE Asia Pacific Conference on Circuits and Systems (APPCCAS), pp.1648-1651, Dec. 2008.
Better Encoding Scheme
Step 1
Set P0 as any binary vector
Correct prediction vector by f
Step 2
Compute lambda value by
doing matrix operation Hs
Step 3
[Forward Derivation]
Step 4
[Backward Derivation]
Step 5
Compute the P0 by adding
prediction parity vector
Step 6
Compute the correction vector f
Step 7
Compute P0 by adding prediction vector
Correct prediction parity by
adding f Compute correction vector f f = (P0)d
Better Encoding Scheme
Step 1
Set P0 as any binary vector. Reduce encoding delay !!
Step 2 Two-way derivation
Compute lambda value by
doing matrix operation Hs.
Step 3
[Forward Derivation]
Step 4
[Backward Derivation]
Step 5
Compute the P0 by adding
prediction parity vector.
Step 6
Compute the correction vector f.
Step 7
Correct prediction parity by
adding f.
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Better Encoding scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
LDPC Encoder Architecture
Based on the encoding scheme proposed bedore, we design both
parallel and serial architecture.
Parallel architecture
Achieve higher level parallelism
High-speed
Serial architecture
Parallel architecture
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Benefit:
In this stage, matrix 1.When the input data
select the shift values is coming, it can work
and multiply specific immediately without all
value according to the input data are
the code length. coming.
2.Reduce the numbers
of barrel shifter.
Shifter Value Computation
Equation for computing shift value
Two type of matrix implement result with multiple rate and length
(MHz) count
calculate IP
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Lambda position = 3
Lambda position = 11
Shifter value
Parallel architecture (Stage 4)
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Kb
Parallel architecture (Stage 5)
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Computed the
prediction vector Pi
by equation
Parallel architecture (Stage 5)
P_0 <= acc_out0;
P_1 <= acc_out0 ^ acc_out1;
P_2 <= acc_out0 ^ acc_out1 ^ acc_out2;
P_3 <= acc_out0 ^ acc_out1 ^ acc_out2 ^ acc_out3;
P_4 <= acc_out0 ^ acc_out1 ^ acc_out2 ^ acc_out3 ^ acc_out4;
P_5 <= acc_out0 ^ acc_out1 ^ acc_out2 ^ acc_out3 ^ acc_out4 ^ acc_out5;
P_6 <= acc_out11 ^ acc_out10 ^ acc_out9 ^ acc_out8 ^ acc_out7 ^ acc_out6;
P_7 <= acc_out11 ^ acc_out10 ^ acc_out9 ^ acc_out8 ^ acc_out7;
P_8 <= acc_out11 ^ acc_out10 ^ acc_out9 ^ acc_out8;
P_9 <= acc_out11 ^ acc_out10 ^ acc_out9;
P_10 <= acc_out11 ^ acc_out10;
P_11 <= acc_out11;
Barrel shifter#1
divider
Prediction
Matrix Parity
Accumulator Correct
memory
Barrel shifter#6
Step2: Step1:
Correct the other Pi. Compute the P0. In
Using the equation code rate = 1 / 2,
Pi= Pi^ P0 P0 = P5 ^ P6
Serial architecture (Stage 1)
divider
Matrix
Predict Correct
memory
Barrel shifter#2
divider
Matrix
Predict Correct
memory
Barrel shifter#2
1 2
3
1 2
Serial architecture (Stage 2)
divider
Matrix
Predict Correct
memory
Barrel shifter#2
divider
Matrix
Predict Correct
memory
Barrel shifter#2
divider
Matrix
Predict Correct
memory
Barrel shifter#2
divider
Matrix
Predict Correct
memory
Barrel shifter#2
divider
Matrix
Predict Correct
memory
Barrel shifter#2
Area comparison
Implementation Results
IT comparison
IT/Area comparison
Table 4.5a The synthesis result of [22] at code rate 1/2
[3] S. Kopparthi and D. M. Gruenbacher, "Implementation of a fiexible encoder for structured low-density parity-check codes," IEEE Pacic Rim
Conference on Communications, Computers and Signal Processing (PacRim 2007), pp.438-441, Aug. 2007.
Compare to Related Work
The comparison of throughput
The throughput in our proposed encoder is higher then [2] in all code rate
and code length
The proposed encoder outperforms the work in [2] in terms of throughput
ratio by 1.237 to 1.963 times
Compare to Related Work
The comparison of throughput/area
The IT/Area of our serial encoder is 0.3681(Mbps) per slice and the
IT/Area of [4] is 0.1768.
[4] Jeong Ki KIM1, Hyunseuk YOO1 and Moon Ho LEE1, "Efficient Encoding Architecture for IEEE 802.16e LDPC Codes, " IEICE Transactions
on Fundamentals of Electronics, Communications and Computer Sciences 2008.
Outline
Introduction
Low-Density Parity-Check Codes
Related work
General encoding for LDPC codes
Efficient encoding for Dual-Diagonal matrix
Proposed Encoding scheme
LDPC Encoder Architecture
Parallel Encoder
Serial Encoder
Result
Conclusion
Conclusion