Apparatus and method for providing optimal adaptive forward error correction in data communications
First Claim
1. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion, wherein a maximum latency value and a maximum overhead value are established for the communications channel, said method comprising:
- (a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value;
(d) when the monitored parameter has a second predetermined relation to the threshold value, determining whether increasing the code word length by a first predetermined value will cause the latency time to exceed the maximum latency value;
(e) if increasing the code word length by the first predetermined value will not cause the latency time to exceed the maximum latency value, increasing the code word length by the first predetermined value;
(f) if increasing the code word length by the first predetermined value will cause the latency time to exceed the maximum latency value, determining whether the error correcting portion length is zero;
(g) if the error correcting portion length is not equal to zero, decreasing the error correcting portion length by a second predetermined value;
(h) when the monitored parameter has a first predetermined relation to the threshold value, determining whether increasing the error correcting portion length by a third predetermined value will cause the latency time to exceed the maximum latency value or will cause the overhead value to exceed the maximum overhead value;
(i) if increasing the error correcting portion length by the third predetermined value will not cause the latency time to exceed the maximum latency value and will not cause the overhead value to exceed the maximum overhead value, increasing the error correcting portion length by the third predetermined value;
(j) if increasing the error correcting portion length will cause the latency time to exceed the maximum latency value or will cause the overhead value to exceed the maximum overhead value, determining if a reduction in the code word length by a fourth predetermined value will cause the overhead value to exceed the maximum overhead value;
(k) if the reduction in the code word length by the fourth predetermined value will not cause the overhead value to exceed the maximum overhead value, decreasing the code word length by the fourth predetermined value; and
(l) if the reduction in the code word length by the fourth predetermined value will cause the overhead value to exceed the maximum overhead value, determining that the method ca achieve the threshold value.
15 Assignments
0 Petitions
Accused Products
Abstract
An adaptive and dynamic forward error correction scheme for a communication channel is disclosed. The method and apparatus calculates the actual bit error rate for comparison with a target bit error rate. When a channel is performing better than required by the performance specifications, the forward error correction power can be reduced to provide greater throughput. If the calculated actual bit error rate is greater than the target bit error rate, then the forward error correction power is increased in an attempt to lower the calculated bit error rate. A feedback loop is employed to continually calculate revised bit error rates as the forward error correction power is increased or decreased.
95 Citations
18 Claims
-
1. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion, wherein a maximum latency value and a maximum overhead value are established for the communications channel, said method comprising:
-
(a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value;
(d) when the monitored parameter has a second predetermined relation to the threshold value, determining whether increasing the code word length by a first predetermined value will cause the latency time to exceed the maximum latency value;
(e) if increasing the code word length by the first predetermined value will not cause the latency time to exceed the maximum latency value, increasing the code word length by the first predetermined value;
(f) if increasing the code word length by the first predetermined value will cause the latency time to exceed the maximum latency value, determining whether the error correcting portion length is zero;
(g) if the error correcting portion length is not equal to zero, decreasing the error correcting portion length by a second predetermined value;
(h) when the monitored parameter has a first predetermined relation to the threshold value, determining whether increasing the error correcting portion length by a third predetermined value will cause the latency time to exceed the maximum latency value or will cause the overhead value to exceed the maximum overhead value;
(i) if increasing the error correcting portion length by the third predetermined value will not cause the latency time to exceed the maximum latency value and will not cause the overhead value to exceed the maximum overhead value, increasing the error correcting portion length by the third predetermined value;
(j) if increasing the error correcting portion length will cause the latency time to exceed the maximum latency value or will cause the overhead value to exceed the maximum overhead value, determining if a reduction in the code word length by a fourth predetermined value will cause the overhead value to exceed the maximum overhead value;
(k) if the reduction in the code word length by the fourth predetermined value will not cause the overhead value to exceed the maximum overhead value, decreasing the code word length by the fourth predetermined value; and
(l) if the reduction in the code word length by the fourth predetermined value will cause the overhead value to exceed the maximum overhead value, determining that the method ca achieve the threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
(a1) when the number of error-corrected code words plus the number of erred but uncorrected code words is zero, setting the error correction portion length to zero; and
(a2) monitoring a channel parameter to form a monitored parameter.
-
-
6. The method of claim 1, further comprising a step (m) repeating steps (a) through (l).
-
7. The method of claim 6 wherein the steps of increasing or decreasing the error correction portion length or of increasing or decreasing the code word length includes incrementing or decrementing, respectively, by predetermined factors.
-
8. The method of claim 1 wherein the monitored parameter is calculated based on a minimum number of sample values for the monitored parameter.
-
9. The method of claim 8 wherein the minimum number of sample values is a function of the threshold value for the monitored parameter.
-
10. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion representing a forward error correcting power, wherein a maximum data processing constraint value is established for the communications channel, said method comprising:
-
(a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value; and
(d) increasing the information portion length and/or decreasing the error correcting portion length when the monitored parameter has a second predetermined relation to the threshold value, and when increasing the information portion length and/or decreasing the error correcting portion length will not cause the data processing constraint value to be exceeded. - View Dependent Claims (11)
-
-
12. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion representing a forward error correcting power, wherein a maximum data processing constraint value is established for the communications channel, said method comprising:
-
(a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value; and
(d) decreasing the information portion length and/or increasing the error correcting portion length when the monitored parameter has a first predetermined relation to the threshold value, and when decreasing the information portion length and/or increasing the error correcting portion length will not cause the data processing constraint value to be exceeded. - View Dependent Claims (13)
-
-
14. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion, wherein a maximum data processing constraint value is established for the communications channel, said method comprising:
-
(a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value; and
(d) increasing the information portion length and/or decreasing the error correcting portion length when the monitored parameter has a second predetermined 5 relation to the threshold value, and when increasing the information portion length and/or decreasing the error correcting portion length will not cause the data processing constraint value to be exceeded. - View Dependent Claims (15)
-
-
16. A method for adaptive forward error correction in a communications channel conveying code words including an information portion and an error correcting portion, wherein a maximum data processing constraint value is established for the communications channel, said method comprising:
-
(a) monitoring a channel parameter to form a monitored parameter;
(b) determining a threshold value of the monitored parameter;
(c) comparing the monitored parameter with the threshold value; and
(d) decreasing the information portion length and/or increasing the error correcting portion length when the monitored parameter has a first predetermined relation to the threshold value, and when decreasing the information portion length and/or increasing the error correcting portion length will not cause the data processing constraint value to be exceeded. - View Dependent Claims (17)
-
-
18. A computer program product comprising a computer-usable medium having a computer-readable code therein for providing adaptive forward error correction wherein a maximum latency value and a maximum overhead value are established for the communications channel, the computer-readable code in the article of manufacture comprising:
-
(a) a computer-readable program code module for monitoring a channel parameter to form a monitored parameter;
(b) a computer-readable program code module for determining a threshold value of the monitored parameter;
(c) a computer-readable program code module for comparing the 15 monitored parameter with the threshold value;
(d) when the monitored parameter has a second predetermined relation to the threshold value, a computer-readable program code module for determining whether increasing the code word length will cause the maximum latency value to be exceeded;
(e) a computer-readable program code module for increasing the code word length if the increased code word length does not create a latency time in excess of the maximum latency value;
(f) if the increase in the code word length results in a latency time in excess of the maximum latency value, a computer-readable program code module for determining whether the error correcting portion length is zero;
(g) if the error correcting code length is not zero, a computer-readable program code module for decreasing the error correcting portion length;
(h) when the monitored parameter has a first predetermined relation to the threshold value, a computer-readable program code module for determining whether an increase in the error correcting portion length results in a latency time in excess of the maximum latency value or results in an overhead value in excess of the maximum overhead value;
(i) if an increase in the error correcting portion length does not result in a latency time in excess of the maximum latency value and does not result in an overhead value in excess of the maximum overhead value, a computer-readable program code module for increasing the error correcting portion length;
(j) if an increase in the error correcting portion of the code word results in a latency time in excess of the maximum latency value or results in an overhead value in excess of the overhead value, a computer-readable program code module for determining if a reduction in the total code word length results in an overhead value in excess of the maximum overhead value;
(k) if the reduction in the code word length does not result in an overhead value in excess of the maximum overhead value, a computer-readable program code module for decreasing the code word length; and
(l) if the reduction in the code word length would result in an overhead value in excess of the maximum overhead value, a computer-readable program code module for determining that the method cannot achieve the threshold value.
-
Specification