SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR CONTROLLING DATA RATE REDUCTIONS IN A COMMUNICATION DEVICE BY USING A PLURALITY OF FILTERS TO DETECT SHORT-TERM BURSTS OF ERRORS AND LONG-TERM SUSTAINABLE ERRORS
First Claim
1. A data rate control system for a communication device, comprising:
- a data-link unit that maintains an error counter, which contains an error count;
a sampling unit that periodically reads the error counter and determines a sampling interval error count corresponding to a change in the error count since a previous read of the error counter;
a first filter unit characterized by a slow time-constant that is responsive to the sampling interval error count and generates a slow-filtered sampling interval error count;
a second filter unit characterized by a fast time-constant that is responsive to the sampling interval error count and generates a fast-filtered sampling interval error count; and
a control logic unit that is responsive to the slow-filtered sampling interval error count and the fast-filtered sampling interval error count and that generates a data rate slowdown request signal if the slow-filtered sampling interval error count exceeds a first threshold and that generates the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds a second threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Data rate control systems, methods, and computer program products in which an error counter is maintained that contains an error count. The error counter is periodically sampled to determine a sampling interval error count corresponding to a change in the error count since a previous read of the error counter. The sampling interval error count is provided to a first filter that is characterized by a slow time-constant and a second filter that is characterized by a fast time-constant. The first filter generates a slow-filtered sampling interval error count while the second filter generates a fast-filtered sampling interval error count, which are used as a basis for generating a data rate slowdown request signal. More specifically, the data rate slowdown request signal is generated if either the slow-filtered sampling interval error count or the fast-filtered sampling interval error count exceeds a threshold respectively associated therewith. Advantageously, the first filter, which is characterized by a slow time-constant, may be used to respond to lower numbers of errors that are sustained over an extended time period while the second filter, which is characterized by a fast time-constant, may be used to respond to large error bursts spanning a shorter time period. Moreover, by filtering the errors accumulated during each sampling interval, sensitivity with respect to the position in time of a given error burst relative to boundaries between sampling intervals may be avoided.
164 Citations
47 Claims
-
1. A data rate control system for a communication device, comprising:
-
a data-link unit that maintains an error counter, which contains an error count;
a sampling unit that periodically reads the error counter and determines a sampling interval error count corresponding to a change in the error count since a previous read of the error counter;
a first filter unit characterized by a slow time-constant that is responsive to the sampling interval error count and generates a slow-filtered sampling interval error count;
a second filter unit characterized by a fast time-constant that is responsive to the sampling interval error count and generates a fast-filtered sampling interval error count; and
a control logic unit that is responsive to the slow-filtered sampling interval error count and the fast-filtered sampling interval error count and that generates a data rate slowdown request signal if the slow-filtered sampling interval error count exceeds a first threshold and that generates the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds a second threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
a peak limiting unit that limits the sampling interval error count to a maximum error threshold, the first and second filter units being responsive to the sampling interval error count as limited by the peak limiting unit.
-
-
3. A data rate control system as recited in claim 1, further comprising:
a severe error detector coupled to the sampling unit.
-
4. A data rate control system as recited in claim 1, wherein the first threshold comprises a long-term error threshold and the second threshold comprises a short-term error threshold and wherein the control logic unit comprises:
-
a first comparator that is responsive to the slow-filtered sampling interval error count and the long-term error threshold and that generates a long-term error comparison signal;
a second comparator that is responsive to the fast-filtered sampling interval error count and the short-term error threshold and that generates a short-term error comparison signal; and
an OR logic unit that is responsive to the long-term and short-term error comparison signals and generates the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the long-term error threshold and generates the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the short-term error threshold.
-
-
5. A data rate control system as recited in claim 1, wherein the data-link unit maintains a plurality of error counters, each of the plurality of error counters containing an error count.
-
6. A data rate control system as recited in claim 5, wherein the sampling unit periodically reads the plurality of error counters and determines the sampling interval error count by summing changes in the plurality of error counts since previous reads of the plurality of error counters.
-
7. A data rate control system as recited in claim 5, wherein one of the plurality of error counters is an illegal address error counter.
-
8. A data rate control system as recited in claim 5, wherein one of the plurality of error counters is a cyclic redundancy check (CRC) error counter.
-
9. A method of controlling a data rate in a communication device, comprising the steps of:
-
filtering a sampling interval error count to generate a slow-filtered sampling interval error count;
filtering said sampling interval error count to generate a fast-filtered sampling interval error count;
generating a data rate slowdown request signal if the slow-filtered sampling interval error count exceeds a first threshold; and
generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds a second threshold. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
limiting the sampling interval error count to a maximum error threshold.
-
-
11. A method as recited in claim 9, further comprising the step of:
setting the sampling interval error count to zero if instability is detected in the communication device.
-
12. A method as recited in claim 9, wherein the step of filtering the sampling interval error count to generate the slow-filtered sampling interval error count comprises the steps of:
-
computing a first component by multiplying a previous slow-filtered sampling interval error count by a first weight factor (WF1);
computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
adding the first component to the second component to generate the slow-filtered sampling interval error count.
-
-
13. A method as recited in claim 12, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
14. A method as recited in claim 12, wherein:
-
the WF1 is about 15/16; and
the WF2 is about 1/16.
-
-
15. A method as recited in claim 9, wherein the step of filtering the sampling interval error count to generate the fast-filtered sampling interval error count comprises the steps of:
-
computing a first component by multiplying a previous fast-filtered sampling interval error count by a first weight factor (WF1);
computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
adding the first component to the second component to generate the fast-filtered sampling interval error count.
-
-
16. A method as recited in claim 15, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
17. A method as recited in claim 15, wherein:
-
the WF1 is about 2/5; and
the WF2 is about 3/5.
-
-
18. A method as recited in claim 9, wherein the first threshold comprises a long-term error threshold and wherein the step of generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the first threshold comprises the steps of:
-
comparing the slow-filtered sampling interval error count with the long-term error threshold; and
generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the long-term error threshold.
-
-
19. A method as recited in claim 9, wherein the second threshold comprises a short-term error threshold and wherein the step of generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the second threshold comprises the steps of:
-
comparing the fast-filtered sampling interval error count with the short-term error threshold; and
generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the short-term error threshold.
-
-
20. A method as recited in claim 9, further comprising the steps of:
-
maintaining an error counter that contains an error count;
periodically reading the error counter; and
determining a change in the error count since a previous read of the error counter so as to provide the sampling interval error count.
-
-
21. A method as recited in claim 20, wherein the maintaining step comprises the step of:
-
maintaining a plurality of error counters, each of the plurality of error counters containing an error count; and
wherein the reading step comprises the step of;
reading the plurality of error counters; and
wherein the determining step comprises the step of;
determining the sampling interval error count by summing changes in the plurality of error counts since previous reads of the plurality of error counters.
-
-
22. A computer program product for controlling a data rate in a communication device, comprising:
-
a computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising;
computer readable program code for filtering a sampling interval error count to generate a slow-filtered sampling interval error count;
computer readable program code for filtering said sampling interval error count to generate a fast-filtered sampling interval error count;
computer readable program code for generating a data rate slowdown request signal if the slow-filtered sampling interval error count exceeds a first threshold; and
computer readable program code for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds a second threshold. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
computer readable program code for limiting the sampling interval error count to a maximum error threshold.
-
-
24. A computer program product as recited in claim 22, further comprising:
computer readable program code for setting the sampling interval error count to zero if instability is detected in the communication device.
-
25. A computer program product as recited in claim 22, wherein the computer readable program code for filtering the sampling interval error count to generate the slow-filtered sampling interval error count comprises:
-
computer readable program code for computing a first component by multiplying a previous slow-filtered sampling interval error count by a first weight factor (WF1);
computer readable program code for computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
computer readable program code for adding the first component to the second component to generate the slow-filtered sampling interval error count.
-
-
26. A computer program product as recited in claim 25, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
27. A computer program product as recited in claim 25, wherein:
-
the WF1 is about 15/16; and
the WF2 is about 1/16.
-
-
28. A computer program product as recited in claim 22, wherein the computer readable program code for filtering the sampling interval error count to generate the fast-filtered sampling interval error count comprises:
-
computer readable program code for computing a first component by multiplying a previous fast-filtered sampling interval error count by a first weight factor (WF1);
computer readable program code for computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
computer readable program code for adding the first component to the second component to generate the fast-filtered sampling interval error count.
-
-
29. A computer program product as recited in claim 27, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
30. A computer program product as recited in claim 27, wherein:
-
the WF1 is about 2/5; and
the WF2 is about 3/5.
-
-
31. A computer program product as recited in claim 22, wherein the first threshold comprises a long-term error threshold and wherein the computer readable program code for generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the first threshold comprises:
-
computer readable program code for comparing the slow-filtered sampling interval error count with the long-term error threshold; and
computer readable program code for generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the long-term error threshold.
-
-
32. A computer program product as recited in claim 22, wherein the second threshold comprises a short-term error threshold and wherein the computer readable program code for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the second threshold comprises:
-
computer readable program code for comparing the fast-filtered sampling interval error count with the short-term error threshold; and
computer readable program code for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the short-term error threshold.
-
-
33. A computer program product as recited in claim 22, further comprising:
-
computer readable program code for maintaining an error counter that contains an error count;
computer readable program code for periodically reading the error counter; and
computer readable program code for determining a change in the error count since a previous read of the error counter so as to provide the sampling interval error count.
-
-
34. A computer program product as recited in claim 33, wherein the computer readable program code for maintaining comprises:
-
computer readable program code for maintaining a plurality of error counters, each of the plurality of error counters containing an error count; and
wherein the computer readable program code for reading comprises;
computer readable program code for reading the plurality of error counters; and
wherein the computer readable program code for determining comprises;
computer readable program code for determining the sampling interval error count by summing changes in the plurality of error counts since previous reads of the plurality of error counters.
-
-
35. A data rate control system for a communication device, comprising:
-
means for filtering a sampling interval error count to generate a slow-filtered sampling interval error count;
means for filtering said sampling interval error count to generate a fast-filtered sampling interval error count; and
means for generating a data rate slowdown request signal if the slow-filtered sampling interval error count exceeds a first threshold; and
means for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds a second threshold. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
means for limiting the sampling interval error count to a maximum error threshold.
-
-
37. A system as recited in claim 35, further comprising:
means for setting the sampling interval error count to zero if instability is detected in the communication device.
-
38. A system as recited in claim 35, wherein the means for filtering the sampling interval error count to generate the slow-filtered sampling interval error count comprises:
-
means for computing a first component by multiplying a previous slow-filtered sampling interval error count by a first weight factor (WF1);
means for computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
means for adding the first component to the second component to generate the slow-filtered sampling interval error count.
-
-
39. A system as recited in claim 38, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
40. A system as recited in claim 38, wherein:
-
the WF1 is about 15/16; and
the WF2 is about 1/16.
-
-
41. A system as recited in claim 35, wherein the means for filtering the sampling interval error count to generate the fast-filtered sampling interval error count comprises:
-
means for computing a first component by multiplying a previous fast-filtered sampling interval error count by a first weight factor (WF1);
means for computing a second component by multiplying the sampling interval error count by a second weight factor (WF2); and
means for adding the first component to the second component to generate the fast-filtered sampling interval error count.
-
-
42. A system as recited in claim 40, wherein:
-
the WF1 is between zero and one;
the WF2 is between zero and one; and
the WF1 plus the WF2 is about one.
-
-
43. A system as recited in claim 40, wherein:
-
the WF1 is about 2/5; and
the WF2 is about 3/5.
-
-
44. A system as recited in claim 35, wherein the first threshold comprises a long-term error threshold and wherein the means for generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the first threshold comprises:
-
means for comparing the slow-filtered sampling interval error count with the long-term error threshold; and
means for generating the data rate slowdown request signal if the slow-filtered sampling interval error count exceeds the long-term error threshold.
-
-
45. A system as recited in claim 35, wherein the second threshold comprises a short-term error threshold and wherein the means for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the second threshold comprises:
-
means for comparing the fast-filtered sampling interval error count with the short-term error threshold; and
means for generating the data rate slowdown request signal if the fast-filtered sampling interval error count exceeds the short-term error threshold.
-
-
46. A system as recited in claim 35, further comprising:
-
means for maintaining an error counter that contains an error count;
means for periodically reading the error counter; and
means for determining a change in the error count since a previous read of the error counter so as to provide the sampling interval error count.
-
-
47. A system as recited in claim 46, wherein the means for maintaining comprises:
-
means for maintaining a plurality of error counters, each of the plurality of error counters containing an error count; and
wherein the means for reading comprises;
means for reading the plurality of error counters; and
wherein the means for determining comprises;
means for determining the sampling interval error count by summing changes in the plurality of error counts since previous reads of the plurality of error counters.
-
Specification