Claims
- 1. An adaptive pointer management method for accommodating clock frequency differences between a sender having a sender clock and a receiver having a receiver clock, the method comprising the steps of:
a. determining an error value Ei at a sample rate; b. decimating said sample rate by a value Nsamp; c. determining a decimated error value E as a function of a last Nsamp number of said error values Ei; d. at said decimated rate, obtaining an updated accumulator value based on said decimated error value E; and e. at said decimated rate, based on said updated accumulator value, generating an appropriate pointer adjustment command and changing said accumulator value; whereby said pointer adjustment command ensures synchronization between the transmitter and receiver rates.
- 2. The method of claim 1, wherein the receiver and sender are connected over a packet switched network.
- 3. The method of claim 1, wherein said step of determining an error value Ei includes monitoring a jitter buffer fill level Ji each i-th interval having a length I, said length determined by the receiver clock.
- 4. The method of claim 1, wherein said step of computing an error factor Ei includes determining, each i-th interval, an operating point Oi, and subtracting said Oi from said Ji.
- 5. The method of claim 1, wherein said step of determining a decimated error value E includes using a function selected from the group consisting of taking the maximum value of said last Nsamp number of said error values Ei, averaging said Ei, or taking the last value of said Ei.
- 6. The method of claim 1, wherein said step of obtaining an updated accumulator value includes multiplying said decimated error value E by a gain G to obtain an E*G product, and adding said E*G product to an immediately previous said accumulator value.
- 7. The method of claim 1, wherein said step of generating an appropriate pointer adjustment command further includes, if said accumulator value is smaller than or equal to −1, generating a positive pointer adjustment command and incrementing said accumulator value by +1; if said accumulator value is larger than or equal to +1, generating a negative pointer adjustment command and decrementing said accumulator value by −1; and if said accumulator value is greater than −1 and smaller than +1, do nothing.
- 8. An adaptive rate management method for adapting a receiver rate to a transmission rate, the method comprising:
a. determining an error value Ei at a sample rate; b. decimating said sample rate by a value Nsamp; c. determining a decimated error value E as a function of the last Nsamp said error values Ei; d. at said decimated rate, obtaining an updated accumulator value based on said decimated error value E; and e. at said decimated rate, based on said updated accumulator value, generating an appropriate rate adjustment command and changing said accumulator value; whereby said rate adjustment command ensures synchronization between the transmitter and receiver rates.
- 9. The method of claim 8, wherein the error value Ei is determined by monitoring a jitter buffer fill level Ji each i-th interval having a length I, said length determined by the receiver clock;
- 10. The method of claim 8, wherein said step of computing an error factor Ei includes determining, each i-th interval, an operating point Oi, and subtracting said Oi from said Ji.
- 11. The method of claim 8, wherein said decimated error value is obtained using a function selected from the group consisting of taking the maximum value of said last Nsamp number of said error values Ei, averaging said Ei, or taking the last value of said Ei.
- 12. The method of claim 8, wherein said step of obtaining an updated accumulator value includes multiplying said decimated error value E by a gain G to obtain an E*G product, and adding said E*G product to a previous said accumulator value.
- 13. The method of claim 8, wherein said step of generating an appropriate rate adjustment command further includes, if said accumulator value is smaller than or equal to −1, generating a ‘slow’ rate command and incrementing said accumulator value by +1, if said accumulator value is larger than or equal to +1, generating a ‘fast’ rate command and decrementing said accumulator value by −1, and if said accumulator value is greater than −1 and smaller than +1, generating a ‘none’ rate command.
- 14. A frequency locked adaptive pointer management method comprising the steps of:
a. obtaining a plurality of pointer adjustments generated in an interval i by an adaptive pointer management technique; b. based on said plurality of pointer adjustments, calculating a long term average value PAavg(i+1) of pointer adjustments to be generated in an immediately following interval i+1; and c. in said immediately following interval i+1, generating appropriate pointer adjustments at a constant rate based on said PAavg(i+1).
- 15. The method of claim 14, wherein said step of obtaining a plurality of pointer adjustments includes counting the number of positive pointer adjustments PA+(i) and negative pointer adjustments PA−(i) generated in said interval i, and wherein said step of calculating PAavg(i+1) includes calculating an average pointer adjustment value PAavg(i) of said positive and negative pointer adjustments, and using said PAavg(i) to calculate said PAavg(i+1).
- 16. The method of claim 15, wherein said step of calculating a long term average value PAavg(i+1) includes obtaining a gain factor G, and calculating said PAavg(i+1) according to the formula PAavg(i+1)=(1−G)*PAavg(i)+G*(PA+(i)−PA−(i)).
- 17. The method of claim 16, wherein said step of generating appropriate pointer adjustments at a constant rate includes generating a number of PAavg(i) positive pointer adjustments if said PAavg(i) is greater than zero, and generating a number of PAavg(i) negative pointer adjustments if said PAavg(i) is smaller than zero.
- 18. A frequency locked adaptive rate management method comprising the steps of:
a. obtaining a plurality of rate commands generated in an interval i by an adaptive rate management technique; b. based on said plurality of rate commands, calculating a long term average value PAavg(i+1) of rate commands to be generated in an immediately following interval i+1; and c. in said immediately following interval i+1, generating appropriate rate commands at a constant rate based on said PAavg(i+1).
- 19. The method of claim 18, wherein said step of obtaining a plurality of rate commands includes counting the number of ‘slow’ rate commands PA+(i) and ‘fast’ negative rate commands PA−(i) generated in said interval i, and wherein said step of calculating PAavg(i+1) includes calculating an average pointer adjustment value PAavg(i) of said ‘slow’ and ‘fast’ rate commands, and using said PAavg(i) to calculate said PAavg(i+1).
- 20. The method of claim 19, wherein said step of calculating a long term average value PAavg(i+1) includes obtaining a gain factor G, and calculating said PAavg(i+1) according to the formula PAavg(i+1)=(1−G)*PAavg(i)+G*(PA+(i)−PA−(i)).
- 21. The method of claim 20, wherein said step of generating appropriate rate commands at a constant rate includes generating a number of PAavg(i) ‘slow’ rate commands if said PAavg(i) is greater than zero, and generating a number of PAavg(i) ‘fast’ rate commands if said PAavg(i) is smaller than zero.
- 22. A system for synchronizing a receiver clock and a sender clock, one each at two terminal ends of a transmission network, the system comprising:
a. sampling means to periodically sample, of each channel of the transmission network, an input jitter buffer fill level and to generate an error factor for said channel; b. configuration means to generate configuration parameters that include a gain factor, a rate decimation factor and Nsamp, and an operating point O. c. pointer adjustment generator means for generating negative and positive pointer adjustments using said gain factor and said error factor, said pointer adjustments providing the required synchronization of the clocks.
- 23. The system of claim 22, wherein said sampling means include:
i. a sampler operative to receive a number of Nsamp said configuration parameters from said configuration means; ii. a sampling rate generator for periodically activating said sampler; iii. a detector for performing said sampling in response to triggers received from said sampler and said sampling generator, said sampling used to obtain periodic errors, said periodic errors used and for said generating of said error factor; and wherein said pointer adjustment generator means include: iv. a multiplier for multiplying said error factor and said gain factor to obtain a gain*error product; v. an accumulator for providing an updated accumulator value based on said gain*error product; and vi. a comparator for comparing said updated accumulator value with a threshold, and for performing said generation of pointer adjustments based on said comparison.
- 24. The system of claim 22 further comprising, for each said channel, pointer adjustment counters communicating with said pointer adjustment generator means.
- 25. A system for providing efficient pointer adjustments that synchronize a slave clock to a master clock located at two different terminal ends of a transmission network, the system comprising:
a. adaptive pointer management means for providing, per interval i, a first plurality of negative pointer adjustments and a second plurality of positive pointer adjustments; b. averaging means for producing a long term average of pointer adjustments per said interval i, using said pluralities of pointer adjustments; and c. pointer adjustment generating means for generating pointer adjustments at a constant rate each said interval i, based on said long term average.
- 26. A system for synchronizing the rates of a transmitter and a receiver, one each at two terminal ends of a transmission network, the system comprising:
a. sampling means to periodically sample, of each channel of the transmission network, an input jitter buffer fill level and to generate an error factor for said channel; b. configuration means to generate configuration parameters that include a gain factor; and c. rate adjustment means for generating commands based on said error factor and said gain factor, said commands providing the required rate synchronization.
Parent Case Info
[0001] This application claims priority from U.S. Provisional Application No. 60/473,880 filed May 29, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60473880 |
May 2003 |
US |