Академический Документы
Профессиональный Документы
Культура Документы
Ruchi Rani (2008EEE2225) Under guidance of Prof. Prof Jayadeva Dr.Shankar Prakriya
LDPC code
Linear block code which has very sparse parity check matrix Random codes: based on random graphs Simple iterative decoding
Regular
H contains exactly Wc 1's per column and exactly Wr = Wc 1' per row, 1's
Irregular
If the number of 1's per column or row is not constant
Tanner Graph
N = length of code = 10 K = number of check nodes = 5 M = N K = number of message bits = 5
c0
c1
c2
c3
c4 Check nodes
Variable nodes v0 0
4
v1 1
v2 2
v3 v4 3 4
v5 5
v6 6
v7 v8 7 8
v9 9
Communication Model
Encoding
Code = message . G Where G is generator matrix corresponding to previous parity check matrix
Gaussian Channel
c = binary vector t = transmitted signal vector(using BPSK ) v = gaussian noise vector r=t+v Posterior probability of detection
Architectures
reduces the complexity of the interconnect reduces total area of the design all symbol nodes must be updated and the messages stored in memory before the update of the check nodes starts h k d decoding process very slow reducing the total throughput requires large memories to store all the messages addressing of the memories is another p g problem
10
mapping directly the symbol and check nodes in the Tanner graph effcient from a speed point of view is demanding in terms of area, due to the interconnect between the processing elements
11
trade-o between the routing problem typical of the parallel architecture and the reduction of the throughput f th th h t characteristic of the serial architecture suffer form memory access conflicts. These conflicts occur when multiple data accesses per cycle are required for the same memory bank. These conflicts are difficult to avoid if the code implemented is of random nature but can be avoided for structured codes
12
Decoding
Hard D di H d Decoding
Bit-Flipping
Soft Decoding
Message Passing Algorithms Probability Domain Log Domain Min-Sum Algorithm g
13
14
15
MATLAB Simulation
16
17
FPGA Flow
18
ENCODER
20
DECODER
21
22
23
Simulation Waveforms(Encoder)
24
Simulation Waveforms(Decoder)
25
26
DECODER
Selected Device : 3s500efg320-5 Number of Slices: 3107 out of 4656 66% Number of Slice Flip Flops: 941 out of 9312 10% Number of 4 input LUTs: 5762 out of 9312 61% Number of IOs: 18 Number of bonded IOBs: 14 out of 232 6% Number of BRAMs: 1 out of 20 5% Number of GCLKs: 1 out of 24 4%Timing Summary:--------------Speed Grade: -5 Minimum period: 21.855ns (Maximum F (M i Frequency: 45 755MH ) Minimum 45.755MHz) Mi i input arrival time before clock: 9.973ns Maximum output required time after clock: 12.171ns Maximum combinational path delay: No path foundTiming Detail:--------------All values displayed in nanoseconds (ns)========================== ============================ ===================Timing constraint: Default period analysis for Clock 'clk' Clock period: 21.855ns (frequency: 45.755MHz) Total number of paths / destination ports: 781984991 / 1427
28
References
29
Thanks!
30