Skip to content

Commit 546c39c

Browse files
committed
Adding LDPC BP decoder implementation.
1 parent abada99 commit 546c39c

File tree

5 files changed

+537
-47
lines changed

5 files changed

+537
-47
lines changed

commpy/channelcoding/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
.. autosummary::
1212
:toctree: generated/
1313
14-
GF -- Class representing a Galois Field object.
15-
14+
GF -- Class representing a Galois Field object.
15+
1616
Algebraic Codes
1717
===============
1818
@@ -27,7 +27,7 @@
2727
2828
.. autosummary::
2929
:toctree: generated/
30-
30+
3131
Trellis -- Class representing convolutional code trellis.
3232
conv_encode -- Convolutional Encoder.
3333
viterbi_decode -- Convolutional Decoder using the Viterbi algorithm.
@@ -48,7 +48,7 @@
4848
4949
.. autosummary::
5050
51-
ldpc_decode -- LDPC Code Decoder using Belief propagation for AWGN.
51+
ldpc_bp_decode -- LDPC Code Decoder using Belief propagation.
5252
5353
Interleavers and De-interleavers
5454
================================
@@ -63,7 +63,7 @@
6363
from convcode import Trellis, conv_encode, viterbi_decode
6464
from interleavers import *
6565
from turbo import turbo_encode, map_decode, turbo_decode
66-
from ldpc import ldpc_decode
66+
from ldpc import get_ldpc_code_params, ldpc_bp_decode
6767
from gfields import *
6868
from algcode import *
6969

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
96 48
2+
3 6
3+
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4+
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
5+
10 30 40
6+
5 32 45
7+
16 18 39
8+
12 22 38
9+
15 19 47
10+
2 17 34
11+
9 24 42
12+
1 29 33
13+
4 27 36
14+
3 26 35
15+
11 31 43
16+
7 21 44
17+
8 20 48
18+
14 23 46
19+
6 28 37
20+
13 25 41
21+
14 32 43
22+
5 23 37
23+
2 31 36
24+
1 28 34
25+
7 25 47
26+
10 21 33
27+
15 30 35
28+
16 26 48
29+
3 22 46
30+
12 20 41
31+
8 18 38
32+
4 19 45
33+
6 24 40
34+
9 27 39
35+
13 17 42
36+
11 29 44
37+
8 24 34
38+
6 25 36
39+
9 19 43
40+
1 20 46
41+
14 27 42
42+
7 22 39
43+
13 18 35
44+
4 26 40
45+
16 29 38
46+
15 21 48
47+
11 23 45
48+
3 17 47
49+
5 28 44
50+
12 32 33
51+
2 30 41
52+
10 31 37
53+
10 18 36
54+
4 23 44
55+
9 29 40
56+
2 27 38
57+
8 30 42
58+
12 28 43
59+
11 20 37
60+
1 19 35
61+
15 31 39
62+
16 32 41
63+
5 26 33
64+
3 25 45
65+
13 21 34
66+
14 24 48
67+
7 17 46
68+
6 22 47
69+
7 27 40
70+
11 18 33
71+
2 32 35
72+
10 28 47
73+
5 24 41
74+
12 25 37
75+
3 19 39
76+
14 31 44
77+
16 30 34
78+
13 20 38
79+
9 22 36
80+
6 17 45
81+
4 21 42
82+
15 29 46
83+
8 26 43
84+
1 23 48
85+
1 25 42
86+
15 22 40
87+
8 21 41
88+
9 18 47
89+
6 27 43
90+
11 30 46
91+
7 31 35
92+
5 20 36
93+
14 17 38
94+
16 28 45
95+
4 32 37
96+
13 23 33
97+
12 26 44
98+
3 29 48
99+
2 24 39
100+
10 19 34
101+
8 20 36 56 80 81
102+
6 19 47 52 67 95
103+
10 25 44 60 71 94
104+
9 28 40 50 77 91
105+
2 18 45 59 69 88
106+
15 29 34 64 76 85
107+
12 21 38 63 65 87
108+
13 27 33 53 79 83
109+
7 30 35 51 75 84
110+
1 22 48 49 68 96
111+
11 32 43 55 66 86
112+
4 26 46 54 70 93
113+
16 31 39 61 74 92
114+
14 17 37 62 72 89
115+
5 23 42 57 78 82
116+
3 24 41 58 73 90
117+
6 31 44 63 76 89
118+
3 27 39 49 66 84
119+
5 28 35 56 71 96
120+
13 26 36 55 74 88
121+
12 22 42 61 77 83
122+
4 25 38 64 75 82
123+
14 18 43 50 80 92
124+
7 29 33 62 69 95
125+
16 21 34 60 70 81
126+
10 24 40 59 79 93
127+
9 30 37 52 65 85
128+
15 20 45 54 68 90
129+
8 32 41 51 78 94
130+
1 23 47 53 73 86
131+
11 19 48 57 72 87
132+
2 17 46 58 67 91
133+
8 22 46 59 66 92
134+
6 20 33 61 73 96
135+
10 23 39 56 67 87
136+
9 19 34 49 75 88
137+
15 18 48 55 70 91
138+
4 27 41 52 74 89
139+
3 30 38 57 71 95
140+
1 29 40 51 65 82
141+
16 26 47 58 69 83
142+
7 31 37 53 77 81
143+
11 17 35 54 79 85
144+
12 32 45 50 72 93
145+
2 28 43 60 76 90
146+
14 25 36 63 78 86
147+
5 21 44 64 68 84
148+
13 24 42 62 80 94
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
96 48
2+
3 6
3+
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4+
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
5+
47 4 21
6+
33 38 31
7+
11 1 33
8+
3 48 37
9+
42 9 36
10+
17 22 7
11+
48 15 13
12+
40 28 47
13+
22 42 5
14+
28 33 30
15+
27 18 19
16+
2 34 10
17+
38 41 27
18+
18 7 32
19+
16 32 45
20+
26 24 1
21+
25 16 22
22+
35 25 34
23+
37 2 11
24+
21 3 39
25+
34 21 28
26+
12 13 6
27+
1 39 38
28+
9 8 12
29+
44 12 48
30+
29 14 9
31+
31 29 26
32+
5 46 14
33+
36 6 24
34+
46 23 3
35+
45 30 4
36+
24 11 8
37+
23 10 42
38+
7 35 43
39+
32 19 41
40+
19 20 25
41+
15 47 46
42+
39 31 2
43+
13 43 20
44+
43 40 15
45+
8 5 35
46+
4 26 44
47+
6 37 17
48+
10 45 18
49+
20 27 29
50+
30 17 16
51+
41 36 23
52+
14 44 40
53+
7 31 42
54+
25 23 21
55+
22 34 41
56+
42 3 19
57+
40 35 27
58+
21 19 17
59+
4 8 28
60+
35 45 31
61+
2 28 32
62+
37 30 9
63+
38 40 30
64+
34 36 13
65+
33 46 10
66+
32 12 40
67+
18 41 11
68+
17 1 2
69+
45 39 29
70+
9 48 4
71+
47 11 34
72+
19 29 24
73+
44 17 5
74+
15 2 3
75+
16 21 33
76+
11 20 44
77+
20 9 47
78+
23 47 38
79+
24 16 12
80+
41 24 37
81+
39 5 43
82+
6 43 23
83+
31 10 16
84+
48 33 35
85+
28 18 48
86+
8 42 18
87+
36 32 8
88+
14 6 25
89+
29 15 36
90+
46 38 26
91+
5 4 6
92+
27 44 22
93+
26 22 45
94+
43 27 1
95+
10 25 39
96+
12 14 7
97+
13 7 46
98+
30 13 14
99+
3 26 20
100+
1 37 15
101+
23 96 3 64 16 90
102+
12 57 19 70 38 64
103+
4 95 20 52 30 70
104+
42 55 1 87 31 66
105+
28 87 41 77 9 69
106+
43 78 29 84 22 87
107+
34 49 14 93 6 92
108+
41 82 24 55 32 83
109+
24 66 5 73 26 58
110+
44 91 33 79 12 61
111+
3 72 32 67 19 63
112+
22 92 25 62 24 75
113+
39 93 22 94 7 60
114+
48 84 26 92 28 94
115+
37 70 7 85 40 96
116+
15 71 17 75 46 79
117+
6 64 46 69 43 54
118+
14 63 11 81 44 82
119+
36 68 35 54 11 52
120+
45 73 36 72 39 95
121+
20 54 21 71 1 50
122+
9 51 6 89 17 88
123+
33 74 30 50 47 78
124+
32 75 16 76 29 68
125+
17 50 18 91 36 84
126+
16 89 42 95 27 86
127+
11 88 45 90 13 53
128+
10 81 8 57 21 55
129+
26 85 27 68 45 65
130+
46 94 31 58 10 59
131+
27 79 38 49 2 56
132+
35 62 15 83 14 57
133+
2 61 10 80 3 71
134+
21 60 12 51 18 67
135+
18 56 34 53 41 80
136+
29 83 47 60 5 85
137+
19 58 43 96 4 76
138+
13 59 2 86 23 74
139+
38 77 23 65 20 91
140+
8 53 40 59 48 62
141+
47 76 13 63 35 51
142+
5 52 9 82 33 49
143+
40 90 39 78 34 77
144+
25 69 48 88 42 72
145+
31 65 44 56 15 89
146+
30 86 28 61 37 93
147+
1 67 37 74 8 73
148+
7 80 4 66 25 81

0 commit comments

Comments
 (0)