Algorithm 1 Example real-time global iteration scheduling scheme. |
-
1:
Input: Received signal belonging to the k-th LDPC code word in a transmitted sequence.
-
2:
Assumptions: k is the master time (sequence) index, indicates an inactive buffer, -mode is defined.
-
3:
Initialization: Increment k, activate , and set .
Perform the -iteration and possibly one -iteration per active buffer:
-
4:
for
do
-
5:
if is Active then
-
6:
Increment ’s latency counter;
-
7:
if then
-
8:
Perform the -iteration using and filling ;
-
9:
Increment ; increment ’s iteration counter; deactivate if parity check passes;
-
10:
else if -mode == TRUE then
-
11:
Perform a -iteration drawing from and updating ;
-
12:
Increment ; increment ’s iteration counter; deactivate if parity check passes;
-
13:
end if
-
14:
end if
-
15:
end for
Allocate Remaining -Iterations to Oldest Buffer:
-
16:
for do
-
17:
Identify ;
-
18:
if then
-
19:
Stop iterations;
-
20:
else
-
21:
Perform a -iteration using ;
-
22:
Increment ; increment ’s iteration counter; deactivate if parity check passes;
-
23:
end if
-
24:
end for
Ensure at Least One Buffer is Available for Next Time:
-
25:
Identify , , and ;
-
26:
if then
-
27:
Declare a decoder failure;
-
28:
Deactivate ;
-
29:
Set ;
-
30:
else
-
31:
Set ;
-
32:
end if
-
33:
Output , which was filled somewhere above when its buffer was deactivated;
|