Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
littleBu
OpenXG-RAN
Commits
db71a0b9
Commit
db71a0b9
authored
Sep 20, 2019
by
sebastian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cn2bnProc is done
parent
51a45a4d
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
556 additions
and
88 deletions
+556
-88
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
+492
-2
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
+35
-10
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
+29
-76
No files found.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
View file @
db71a0b9
This diff is collapsed.
Click to expand it.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
View file @
db71a0b9
...
@@ -515,16 +515,41 @@ static const uint16_t circShift_BG1_Z384_CNG19[19][4] = {{307, 76, 205, 276},{19
...
@@ -515,16 +515,41 @@ static const uint16_t circShift_BG1_Z384_CNG19[19][4] = {{307, 76, 205, 276},{19
// Startaddressses in the BN buffer of the different CN groups
// Startaddressses in the BN buffer of the different CN groups
// BG1
// BG1
// Group of CNs with 3 BNs (CNG3)
// Group of CNs with 3 BNs (CNG3) / only this group is independent of Z
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG3
[
3
]
=
{
111360
,
100224
,
0
};
static const uint32_t startAddrBnProcBuf_BG1_CNG3[3][1] = {{111360},{100224},{0}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG4
[
4
][
5
]
=
{{
105984
,
107904
,
120192
,
120576
,
109440
},
{
40704
,
74880
,
43392
,
47232
,
43008
},
{
42240
,
19200
,
62592
,
23424
,
92928
},
{
8832
,
12672
,
13824
,
14592
,
15744
}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG5
[
5
][
18
]
=
{{
116736
,
105216
,
105600
,
117504
,
117888
,
106368
,
118272
,
106752
,
118656
,
107136
,
119040
,
107520
,
119424
,
119808
,
108288
,
108672
,
109056
,
120960
},
{
88704
,
30336
,
39552
,
31872
,
46848
,
58752
,
89856
,
87936
,
90240
,
33408
,
89472
,
41856
,
61824
,
30720
,
73344
,
74496
,
62208
,
92544
},
{
72576
,
88320
,
86400
,
46464
,
33024
,
97536
,
73728
,
90624
,
60288
,
61440
,
32640
,
91776
,
34176
,
91392
,
91008
,
32256
,
98688
,
33792
},
{
59520
,
97152
,
57216
,
31104
,
74112
,
22272
,
21888
,
23040
,
22656
,
75264
,
61056
,
92160
,
97920
,
93312
,
34560
,
98304
,
23808
,
93696
},
{
6912
,
7296
,
8064
,
8448
,
9216
,
9600
,
9984
,
10368
,
10752
,
11136
,
11520
,
11904
,
12288
,
13056
,
13440
,
14208
,
14976
,
15360
}};
// Group of CNs with 4 BNs (CNG4)
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG6
[
6
][
8
]
=
{{
114432
,
103680
,
115584
,
104064
,
115968
,
116352
,
104832
,
117120
},
{
68736
,
69888
,
55680
,
87168
,
104448
,
71040
,
17280
,
72192
},
{
83328
,
56832
,
59136
,
71424
,
84864
,
29184
,
60672
,
46080
},
{
41472
,
42624
,
57984
,
96768
,
41088
,
58368
,
43776
,
59904
},
{
18816
,
86016
,
71808
,
31488
,
86784
,
87552
,
72960
,
89088
},
{
3456
,
4608
,
4992
,
5376
,
5760
,
6144
,
6528
,
7680
}};
static const uint32_t startAddrBnProcBuf_BG1_CNG4[4][5] = {{105984, 107904, 120192, 120576, 109440},{40704, 74496, 43008, 47232, 43008},{41856, 19200, 61440, 23424, 92544},{0, 0, 0, 0, 0}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG7
[
7
][
5
]
=
{{
112512
,
102144
,
114048
,
114816
,
115200
},
{
100992
,
28800
,
102912
,
85632
,
103296
},
{
45312
,
45696
,
83712
,
29568
,
85248
},
{
80256
,
81792
,
55296
,
57600
,
70272
},
{
38784
,
39936
,
69120
,
56448
,
96384
},
{
52608
,
54144
,
96000
,
70656
,
21504
},
{
1152
,
2304
,
3072
,
3840
,
4224
}};
static const uint8_t bnPosBnProcBuf_BG1_CNG4[4][5] = {{0, 0, 0, 0, 0},{0, 1, 1, 0, 0},{1, 0, 3, 0, 1},{23, 33, 36, 38, 41}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG8
[
8
][
2
]
=
{{
111744
,
113664
},
{
100608
,
102528
},
{
66432
,
84096
},
{
81024
,
56064
},
{
52992
,
69504
},
{
67200
,
84480
},
{
81408
,
18432
},
{
384
,
2688
}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG9
[
9
][
2
]
=
{{
112128
,
113280
},
{
38400
,
101760
},
{
80640
,
82176
},
{
52224
,
53760
},
{
66816
,
67968
},
{
53376
,
54912
},
{
95232
,
95616
},
{
39168
,
40320
},
{
768
,
1920
}};
// Group of CNs with 5 BNs (CNG5)
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG10
[
10
][
1
]
=
{{
112896
},
{
101376
},
{
67584
},
{
82560
},
{
54528
},
{
29952
},
{
68352
},
{
82944
},
{
21120
},
{
1536
}};
static const uint32_t startAddrBnProcBuf_BG1_CNG5[5][18] = {{116736, 105216, 105600, 117504, 117888, 106368, 118272, 106752, 118656, 107136, 119040, 107520, 119424, 119808, 108288, 108672, 109056, 120960},{87936, 30336, 39552, 31872, 46848, 58368, 89472, 87936, 89472, 33408, 89472, 41856, 61440, 30336, 73344, 74496, 61440, 92544},{72192, 87936, 86400, 46464, 31872, 97536, 73344, 89472, 59904, 61440, 31872, 91008, 33408, 91008, 91008, 31872, 98688, 33408},{58368, 97152, 56832, 30336, 73344, 21888, 21888, 22656, 22656, 74496, 59904, 91008, 97920, 92544, 33408, 98304, 23424, 92544},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
static
const
uint32_t
startAddrBnProcBuf_BG1_CNG19
[
19
][
4
]
=
{{
109824
,
110208
,
110592
,
110976
},
{
99072
,
25728
,
99456
,
99840
},
{
24192
,
64128
,
27264
,
65280
},
{
62976
,
44160
,
44544
,
44928
},
{
16128
,
16512
,
16896
,
37248
},
{
34944
,
75648
,
36096
,
78720
},
{
24576
,
35328
,
77184
,
37632
},
{
76032
,
26112
,
36480
,
79104
},
{
47616
,
49152
,
27648
,
50688
},
{
76416
,
77952
,
77568
,
79488
},
{
63360
,
48000
,
64512
,
65664
},
{
24960
,
26496
,
49536
,
51072
},
{
48384
,
49920
,
28032
,
51456
},
{
94080
,
48768
,
50304
,
51840
},
{
25344
,
26880
,
94464
,
94848
},
{
35712
,
64896
,
28416
,
38016
},
{
63744
,
78336
,
36864
,
66048
},
{
76800
,
18048
,
20352
,
79872
},
{
17664
,
19584
,
19968
,
20736
}};
static const uint8_t bnPosBnProcBuf_BG1_CNG5[5][18] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{2, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 1, 1, 0, 0, 2, 0},{1, 1, 0, 0, 3, 0, 1, 3, 1, 0, 2, 2, 2, 1, 0, 1, 0, 1},{3, 0, 1, 2, 2, 1, 0, 1, 0, 2, 3, 3, 0, 2, 3, 0, 1, 3},{18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 39, 40}};
// Group of CNs with 6 BNs (CNG6)
static const uint32_t startAddrBnProcBuf_BG1_CNG6[6][8] = {{114432, 103680, 115584, 104064, 115968, 116352, 104832, 117120},{68736, 69888, 55296, 86400, 104448, 71040, 17280, 72192},{83328, 56832, 58368, 71040, 84864, 28800, 59904, 46080},{40704, 41856, 56832, 96768, 40704, 58368, 43008, 59904},{18816, 84864, 71040, 30336, 86400, 86400, 72192, 87936},{0, 0, 0, 0, 0, 0, 0, 0}};
static const uint8_t bnPosBnProcBuf_BG1_CNG6[6][8] = {{0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 1, 2, 0, 0, 0, 0},{0, 0, 2, 1, 0, 1, 2, 0},{2, 2, 3, 0, 1, 0, 2, 0},{0, 3, 2, 3, 1, 3, 2, 3},{9, 12, 13, 14, 15, 16, 17, 20}};
// Group of CNs with 7 BNs (CNG7)
static const uint32_t startAddrBnProcBuf_BG1_CNG7[7][5] = {{112512, 102144, 114048, 114816, 115200},{100992, 28800, 102912, 84864, 103296},{45312, 45696, 83328, 28800, 84864},{80256, 81792, 55296, 56832, 69888},{38400, 39552, 68736, 55296, 96384},{52224, 53760, 96000, 69888, 21120},{0, 0, 0, 0, 0}};
static const uint8_t bnPosBnProcBuf_BG1_CNG7[7][5] = {{0, 0, 0, 0, 0},{0, 0, 0, 2, 0},{0, 0, 1, 2, 1},{0, 0, 0, 2, 1},{1, 1, 1, 3, 0},{1, 1, 0, 2, 1},{3, 6, 8, 10, 11}};
// Group of CNs with 8 BNs (CNG8)
static const uint32_t startAddrBnProcBuf_BG1_CNG8[8][2] = {{111744, 113664},{100608, 102528},{66432, 83328},{80256, 55296},{52224, 68736},{66432, 83328},{80256, 18432},{0, 0}};
static const uint8_t bnPosBnProcBuf_BG1_CNG8[8][2] = {{0, 0},{0, 0},{0, 2},{2, 2},{2, 2},{2, 3},{3, 0},{1, 7}};
// Group of CNs with 9 BNs (CNG9)
static const uint32_t startAddrBnProcBuf_BG1_CNG9[9][2] = {{112128, 113280},{38400, 101760},{80256, 81792},{52224, 53760},{66432, 67584},{52224, 53760},{95232, 95616},{38400, 39552},{0, 0}};
static const uint8_t bnPosBnProcBuf_BG1_CNG9[9][2] = {{0, 0},{0, 0},{1, 1},{0, 0},{1, 1},{3, 3},{0, 0},{2, 2},{2, 5}};
// Group of CNs with 10 BNs (CNG10)
static const uint32_t startAddrBnProcBuf_BG1_CNG10[10][1] = {{112896},{101376},{67584},{81792},{53760},{28800},{67584},{81792},{21120},{0}};
static const uint8_t bnPosBnProcBuf_BG1_CNG10[10][1] = {{0},{0},{0},{2},{2},{3},{2},{3},{0},{4}};
// Group of CNs with 19 BNs (CNG19)
static const uint32_t startAddrBnProcBuf_BG1_CNG19[19][4] = {{109824, 110208, 110592, 110976},{99072, 25728, 99456, 99840},{24192, 64128, 27264, 65280},{62976, 44160, 44544, 44928},{16128, 16512, 16896, 37248},{34944, 75648, 36096, 78720},{24192, 34944, 77184, 37248},{75648, 25728, 36096, 78720},{47616, 49152, 27264, 50688},{75648, 77184, 77184, 78720},{62976, 47616, 64128, 65280},{24192, 25728, 49152, 50688},{47616, 49152, 27264, 50688},{94080, 47616, 49152, 50688},{24192, 25728, 94464, 94848},{34944, 64128, 27264, 37248},{62976, 77184, 36096, 65280},{75648, 18048, 20352, 78720},{17664, 19584, 19584, 20352}};
static const uint8_t bnPosBnProcBuf_BG1_CNG19[19][4] = {{0, 0, 0, 0},{0, 0, 0, 0},{0, 0, 0, 0},{0, 0, 0, 0},{0, 0, 0, 0},{0, 0, 0, 0},{1, 1, 0, 1},{1, 1, 1, 1},{0, 0, 1, 0},{2, 2, 1, 2},{1, 1, 1, 1},{2, 2, 1, 1},{2, 2, 2, 2},{0, 3, 3, 3},{3, 3, 0, 0},{2, 2, 3, 2},{2, 3, 2, 2},{3, 0, 0, 3},{0, 0, 1, 1}};
// BG1
// BG1
// Z = 2
// Z = 2
...
...
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
View file @
db71a0b9
...
@@ -297,6 +297,7 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -297,6 +297,7 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
uint32_t
i
;
uint32_t
i
;
uint32_t
j
;
uint32_t
j
;
uint32_t
M
;
uint32_t
M
;
uint32_t
idxBn
=
0
;
// =====================================================================
// =====================================================================
// CN group with 3 BNs
// CN group with 3 BNs
...
@@ -309,14 +310,7 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -309,14 +310,7 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
0
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
0
]
+
j
*
bitOffsetInGroup
];
/*
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
startAddrBnProcBuf_BG1_CNG3
[
j
][
0
]],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG3
[
j
][
0
]);
for (i=0; i<M; i++)
{
bnProcBuf[p_lut_cn2bn[j*M + i]] = p_cnProcBufRes[i];
}
*/
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
startAddrBnProcBuf_BG1_CNG3
[
j
]],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG3
[
j
][
0
]);
}
}
// =====================================================================
// =====================================================================
...
@@ -330,19 +324,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -330,19 +324,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
1
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
1
]
+
j
*
bitOffsetInGroup
];
/*
for (i=0; i<M; i++)
{
bnProcBuf[p_lut_cn2bn[j*M + i]] = p_cnProcBufRes[i];
}
*/
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
1
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
1
];
i
++
)
{
{
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
startAddrBnProcBuf_BG1_CNG4
[
j
][
i
]],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG4
[
j
][
i
]);
idxBn
=
startAddrBnProcBuf_BG1_CNG4
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG4
[
j
][
i
]
*
Z
;
p_cnProcBufRes
+=
NR_LDPC_ZMAX
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG4
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
}
}
// =====================================================================
// =====================================================================
...
@@ -355,18 +342,14 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -355,18 +342,14 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
for
(
j
=
0
;
j
<
5
;
j
++
)
for
(
j
=
0
;
j
<
5
;
j
++
)
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
/*
for (i=0; i<M; i++)
{
bnProcBuf[p_lut_cn2bn[j*M + i]] = p_cnProcBufRes[i];
}
*/
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
2
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
2
];
i
++
)
{
{
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
startAddrBnProcBuf_BG1_CNG5
[
j
][
i
]],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG5
[
j
][
i
]);
idxBn
=
startAddrBnProcBuf_BG1_CNG5
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG5
[
j
][
i
]
*
Z
;
p_cnProcBufRes
+=
NR_LDPC_ZMAX
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG5
[
j
][
i
]);
//nrLDPC_circ_memcpy(&bnProcBuf[lut_startAddrBnProcBuf_CNG5[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG5[j][i]);
p_cnProcBufRes
+=
Z
;
}
}
}
}
// =====================================================================
// =====================================================================
...
@@ -380,17 +363,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -380,17 +363,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
3
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
3
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
3
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
3
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG6[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG6[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG6
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG6
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG6
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
// =====================================================================
// =====================================================================
...
@@ -404,17 +382,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -404,17 +382,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
4
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
4
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
4
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
4
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG7[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG7[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG7
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG7
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG7
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
// =====================================================================
// =====================================================================
...
@@ -428,17 +401,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -428,17 +401,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
5
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
5
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
5
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
5
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG8[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG8[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG8
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG8
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG8
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
// =====================================================================
// =====================================================================
...
@@ -452,17 +420,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -452,17 +420,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
6
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
6
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
6
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
6
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG9[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG9[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG9
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG9
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG9
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
// =====================================================================
// =====================================================================
...
@@ -476,17 +439,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -476,17 +439,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
7
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
7
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
7
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
7
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG10[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG10[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG10
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG10
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG10
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
// =====================================================================
// =====================================================================
...
@@ -500,17 +458,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -500,17 +458,12 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
{
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
8
]
+
j
*
bitOffsetInGroup
];
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
8
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
}
/*
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
8
];
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups_BG1_R13
[
8
];
i
++
)
{
{
nrLDPC_circ_memcpy(&bnProcBuf[startAddrBnProcBuf_BG1_CNG19[j][i]],p_cnProcBufRes,Z,lut_circShift_CNG19[j][i]);
idxBn
=
startAddrBnProcBuf_BG1_CNG19
[
j
][
i
]
+
bnPosBnProcBuf_BG1_CNG19
[
j
][
i
]
*
Z
;
p_cnProcBufRes += NR_LDPC_ZMAX;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG19
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
*/
}
}
}
}
...
@@ -711,7 +664,7 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
...
@@ -711,7 +664,7 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
for
(
j
=
0
;
j
<
4
;
j
++
)
for
(
j
=
0
;
j
<
4
;
j
++
)
{
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
M
;
i
++
)
{
{
p_cnProcBuf
[
i
]
=
bnProcBufRes
[
p_lut_cn2bn
[
j
*
M
+
i
]];
p_cnProcBuf
[
i
]
=
bnProcBufRes
[
p_lut_cn2bn
[
j
*
M
+
i
]];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment