IP Library Granted Patent US 7,508,327
Granted Patent B2
US 7,508,327 · App. 11/558,313 · Granted Mar 24, 2009

Integer representation of relative timing between desired output samples and corresponding input samples

Assignee: QUALCOMM Incorporated
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,508,327
App. No.
11/558,313
Granted
Mar 24, 2009
Kind
B2
Abstract

In general, this disclosure describes techniques for changing a sampling frequency of a digital signal. In particular, the techniques provide a more accurate way to determining a relative timing between a desired output sample and a corresponding input sample using a non-approximated integer representation of the relative timing. The relative timing between the desired output sample and corresponding input sample may be represented using a first component that identifies a latest input sample of the digital signal used to generate intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample. Each of the components may be recursively updated using non-approximated integer values.

Claims (651)

1. A method comprising representing a relative timing between a desired output sample and a corresponding input sample of a digital signal using a first component that identifies a latest input sample of the digital signal used to generate related intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample, wherein each of the components is represented as a non-approximated integer.

2. The method of claim 1 , further comprising updating the third component according to the equation:

θ( n )=(θ( n −1)+ d frac )−└(θ( n −1)+ d frac )/ f o ┘f o

where, θ(n−1) is a previous value of the third component, d frac is an increment value, f o is a desired output sampling frequency, and └(θ(n−1)+d frac )/f o ┘ is a floor function that returns the largest integer that is less than or equal to (θ(n−1)+d frac )/f o .

3. The method of claim 2 , further comprising computing the increment value d frac according to the equation

d

frac

=

Nf

i

-

Nf

i

f

o

f

o

,

where N is an up-sampling factor, f i is an input sampling frequency, and

Nf

i

f

o

is a floor function that returns the largest integer that is less than or equal to

Nf

i

f

o

.

4. The method of claim 2 , further comprising setting a first carryover value ξ frac (n) associated with the third component to one when θ(n−1)+d frac is greater than or equal to f o .

5. The method of claim 4 , further comprising updating the second component β m (n) according to the equation:

β

m

(

n

)

=

(

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

)

-

(

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

)

/

N

N

where, β m (n−1) is the a previous value of the second component and

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

is a floor function that returns the largest integer that is less than or equal to

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

.

6. The method of claim 5 , further comprising setting a second carryover value to one when the second component is greater than or equal to the up-sampling factor N.

7. The method of claim 6 , further comprising incrementing the first component when the second carryover value is equal to one.

8. The method of claim 7 , wherein the first component and the second component are associated with a first intermediate sample, further comprising computing a first component and a second component associated with a second intermediate sample as a function of the first component and the second component of the first intermediate sample.

9. The method of claim 8 , further comprising computing the second component associated with the second intermediate sample β k (n) according to the equation:

β k ( n )=(β m ( n )+1)−└(β m ( n )+1)/ N┘N

where, └(β m (n)+1)+1)/N┘ is a floor function that returns the largest integer that is less than or equal to (β m (n)+1)/N.

10. The method of claim 9 , further comprising setting a third carryover value to one when the second component associated with the second intermediate sample is greater than or equal to the up-sampling factor N.

11. The method of claim 10 , further comprising incrementing the first component associated with the second intermediate sample when the third carryover value is equal to one.

12. The method of claim 8 , wherein the first intermediate sample comprises a previous intermediate sample and the second intermediate sample comprises a next intermediate sample.

13. The method of claim 8 , wherein the first intermediate sample comprises a next intermediate sample and the second intermediate sample comprises a previous intermediate sample.

14. The method of claim 2 , further comprising:

computing an interpolation coefficient using the equation θ(n)/f o ; and

performing interpolation to obtain the desired output sample as a function of the interpolation coefficient.

15. The method of claim 13 , further comprising:

pre-calculating 1/f o ; and

setting a quality factor to be equal to d+k, where k is the largest positive number such that 2 k <f o and d is the number of bits used to represent 1/f o as a fixed point number.

16. An apparatus comprising, a phase tracking module that represents a relative timing between a desired output sample and a corresponding input sample of a digital signal using a first component that identifies a latest input sample of the digital signal used to generate related intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample, wherein each of the components is represented as a non-approximated integer.

17. The apparatus of claim 16 , wherein the phase tracking module updates the third component according to the equation:

θ( n )=(θ( n− 1)+ d frac )−└(θ( n− 1)+ d frac )/ f o ┘f o

where, θ(n−1) is a previous value of the third component, d frac is an increment value, f 0 is a desired output sampling frequency, and └(θ(n−1)+d frac )/f o ┘ is a floor function that returns the largest integer that is less than or equal to (θ(n−1)+d frac )/f o .

18. The apparatus of claim 17 , wherein the phase tracking module computes the increment value d frac according to the equation

d

frac

=

Nf

i

-

Nf

i

f

o

f

o

,

where N is an up-sampling factor, f i is an input sampling frequency, and

Nf

i

f

o

is a floor function that returns the largest integer that is less than or equal to

Nf

i

f

o

.

19. The apparatus of claim 17 , wherein the phase tracking module sets a first carryover value ξ frac (n) associated with the third component to one when θ(n−1)+d frac is greater than or equal to f o .

20. The apparatus of claim 19 , wherein the phase tracking module updates the second component β m (n) according to the equation:

β

m

(

n

)

=

(

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

)

-

(

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

)

/

N

N

where, β m (n−1) is a previous value of the second component and

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

is a floor function that returns the largest integer that is less than or equal to

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

.

21. The apparatus of claim 20 , wherein the phase tracking module sets a second carryover value to one when the second component is greater than or equal to the up-sampling factor N.

22. The apparatus of claim 21 , wherein the phase tracking module increments the first component when the second carryover value is equal to one.

23. The apparatus of claim 22 , wherein the first component and the second component are associated with a first intermediate sample, further comprising computing a first component and a second component associated with a second intermediate sample as a function of the first component and the second component of the first intermediate sample.

24. The apparatus of claim 23 , wherein the phase tracking module computes the second component associated with the second intermediate sample β k (n) according to the equation:

β k ( n )=(β m ( n )+1)−└(β m ( n )+1)/ N┘N,

where └(β m (n)+1)/N┘ is a floor function that returns the largest integer that is less than or equal to (β m (n)+1)/N.

25. The apparatus of claim 24 , wherein the phase tracking module sets a third carryover value to one when the second component associated with the second intermediate sample is greater than or equal to the up-sampling factor N.

26. The apparatus of claim 25 , wherein the phase tracking module increments a first component associated with the second intermediate sample when the third carryover value is equal to one.

27. The apparatus of claim 23 , wherein the first intermediate sample comprises a previous intermediate sample and the second intermediate sample comprises a next intermediate sample.

28. The apparatus of claim 23 , wherein the first intermediate sample comprises a next intermediate sample and the second intermediate sample comprises a previous intermediate sample.

29. The apparatus of claim 19 , further comprising an interpolation module that computes an interpolation coefficient using the equation θ(n)/f o and performs interpolation to obtain the desired output sample as a function of the interpolation coefficient.

30. The apparatus of claim 29 , wherein the down-sampling module pre-calculates 1/f o and sets a quality factor to be equal to d+k, where k is the largest positive number such that 2 k <f o and d is the number of bits used to represent 1/f o as a fixed point number.

31. A computer-readable medium comprising instructions that upon execution cause a processor to represent a relative timing between a desired output sample and a corresponding input sample of a digital signal using a first component that identifies a latest input sample of the digital signal used to generate related intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample, wherein each of the components is represented as a non-approximated integer.

32. The computer-readable medium of claim 31 , further comprising instructions that upon execution cause the processor to:

update the third component according to the equation:

θ( n )=(θ( n− 1)+ d frac )−└(θ( n− 1)+ d frac )/ f o ┘f o

where, θ(n−1) is a previous value of the third component, d frac is an increment value, f 0 is a desired output sampling frequency, and └(θ(n−1)+d frac )/f o ┘ is a floor function that returns the largest integer that is less than or equal to (θ(n−1)+d frac )/f o ; and

set a first carryover value ξ frac (n) associated with the third component to one when θ(n−1)+d frac is greater than or equal to f o .

33. The computer-readable medium of claim 32 , further comprising instructions that upon execution cause the processor to compute the increment value d frac according to the equation

d

frac

=

Nf

i

-

Nf

i

f

o

f

o

,

where N is an up-sampling factor, f i is an input sampling frequency, and

Nf

i

f

o

is a floor function that returns the largest integer that is less than or equal to

Nf

i

f

o

.

34. The computer-readable medium of claim 32 , further comprising instructions that upon execution cause the processor to:

update the second component β m (n) according to the equation:

β

m

(

n

)

=

(

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

)

-

(

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

)

/

N

N

where, β m (n−1) is a previous value of the second component and

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

is a floor function that returns the largest integer that is less than or equal to

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

;

set a second carryover value one when the second component is greater than or equal to the up-sampling factor N; and

increment the first component when the second carryover value is equal to one.

35. The computer-readable medium of claim 34 , wherein the first component and the second component are associated with a first intermediate sample, further comprising instructions that upon execution cause the processor to:

update a second component associated with a second intermediate sample β k (n) according to the equation:

β k ( n )=(β m ( n )+1)−└β m ( n )+1)/ N┘N,

where └(β m (n)+1)/N┘ is a floor function that returns the largest integer that is less than or equal to (β m (n)+1)/N;

set a third carryover value to one when the second component associated with the second intermediate sample is greater than or equal to the up-sampling factor N; and

increment the first component associated with the second intermediate sample when the third carryover value associated with the second component is equal to one.

36. The computer-readable medium of claim 35 , wherein the first intermediate sample comprises a previous intermediate sample and the second intermediate sample comprises a next intermediate sample.

37. The computer-readable medium of claim 35 , wherein the first intermediate sample comprises a next intermediate sample and the second intermediate sample comprises a previous intermediate sample.

38. The apparatus of claim 16 , wherein said apparatus is a wireless communications device.

39. An apparatus comprising, a means for representing a relative timing between a desired output sample and a corresponding input sample of a digital signal using a first component that identifies a latest input sample of the digital signal used to generate related intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample, wherein each of the components is represented as a non-approximated integer.

40. The apparatus of claim 39 , wherein the phase tracking module updates the third component according to the equation:

θ( n )=(θ( n− 1)+ d frac )−└(θ( n− 1)+ d frac )/ f o ┘ f o .

where, θ(n−1) is a previous value of the third component, d frac is an increment value, f o is a desired output sampling frequency, and └(θ(n−1)+d frac )/f o ┘ is a floor function that returns the largest integer that is less than or equal to (θ(n−1)+d frac )/f o .

41. The apparatus of claim 39 , wherein said means for representing a relative timing comprises a phase tracking module.

42. The apparatus of claim 39 , wherein said apparatus comprises a wireless communication device.

43. An apparatus comprising means for representing a relative timing between a desired output sample and a means for corresponding input sample of a digital signal using a first component that identifies a latest input sample of the digital signal used to generate related intermediate samples, a second component that identifies an intermediate sample, and a third component that identifies a timing difference between the desired output sample and the intermediate sample, wherein each of the components is represented as a non-approximated integer.

44. The apparatus of claim 43 , further comprising means for updating the third component according to the equation:

θ( n )=(θ( n− 1)+ d frac )−└(θ( n− 1)+ d frac )/ f o ┘ f o .

where, θ( n −1) is a previous value of the third component, d frac is an increment value, f o is a desired output sampling frequency, and └(θ( n −1)+ d frac / f o ┘ is a floor function that returns the largest integer that is less than or equal to (θ( n −1)+ d frac / f o .

45. The apparatus of claim 44 , further comprising means for computing the increment value d frac according to the equation

d

frac

=

Nf

i

-

Nf

i

f

o

f

o

,

where N is an up-sampling factor, f i is an input sampling frequency, and

Nf

i

f

o

is a floor function that returns the largest integer that is less than or equal to

Nf

i

f

o

.

46. The apparatus of claim 44 , further comprising means for setting a first carryover value ξ frac ( n ) associated with the third component to one when θ( n −1)+ d frac is greater than or equal to f o .

47. The apparatus of claim 46 , further comprising means for updating the second component β m ( n ) according to the equation:

β

m

(

n

)

=

(

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

)

-

(

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

)

/

N

N

.

where, β m ( n −1) is the a previous value of the second component and

β

m

(

n

-

1

)

+

Nf

i

f

o

+

ξ

frac

(

n

)

is a floor function that returns the largest integer that is less than or equal to

β

m

(

n

-

1

)

+

Nf

l

f

o

+

ξ

frac

(

n

)

.

48. The apparatus of claim 47 , further comprising means for setting a second carryover value to one when the second component is greater than or equal to the up-sampling factor N.

49. The apparatus of claim 48 , further comprising means for incrementing the first component when the second carryover value is equal to one.

50. The apparatus of claim 49 , wherein the first component and the second component are associated with a first intermediate sample, further comprising means for computing a first component and a second component associated with a second intermediate sample as a function of the first component and the second component of the first intermediate sample.

51. The apparatus of claim 50 , further comprising means for computing the second component associated with the second intermediate sample β k ( n ) according to the equation: β k ( n )=(β m ( n )+1)−└(β m ( n )+1)/N┘N. where, └(β m ( n )+1)/N┘is a floor function that returns the largest integer that is less than or equal to (β m ( n )+1)/N.

52. The apparatus of claim 51 , further comprising means for setting a third carryover value to one when the second component associated with the second intermediate sample is greater than or equal to the up-sampling factor N.

53. The apparatus of claim 52 , further comprising means for incrementing the first component associated with the second intermediate sample when the third carryover value is equal to one.

54. The apparatus of claim 50 , wherein the first intermediate sample comprises a previous intermediate sample and the second intermediate sample comprises a next intermediate sample.

55. The apparatus of claim 50 , wherein the first intermediate sample comprises a next intermediate sample and the second intermediate sample comprises a previous intermediate sample.

56. The apparatus of claim 44 , further comprising:

means for computing an interpolation coefficient using the equation θ( n )/ f o ; and

means for performing interpolation to obtain the desired output sample as a function of the interpolation coefficient.

57. The apparatus of claim 55 , further comprising:

means for pre-calculating 1/ f o ; and

means for setting a quality factor to be equal to d+k, where k is the largest positive number such that 2 k < f 0 and d is the number of bits used to represent 1/ f o as a fixed point number.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2007
From: WANG, SONG; CHOY, EDDIE L.T.; GUPTA, SAMIR KUMAR
To: QUALCOMM INCORPORATED
Reel/Frame 019231/0564 →
Continuity (2)
Provisional Application 6081387000 · Jun 14, 2006
Related Publication 20070290900A1 · Dec 20, 2007