IP Library Granted Patent US 7,187,734
Granted Patent B2
US 7,187,734 · App. 10/438,243 · Granted Mar 6, 2007

Method of slip compensation for integer frequency offset correction in a wireless communication system

Assignee: Texas Instruments 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,187,734
App. No.
10/438,243
Granted
Mar 6, 2007
Kind
B2
Abstract

A method of correctly estimating the frequency offset when the CPE modem has already acquired and is tracking the OFDM burst boundaries in an OFDM-based, wireless communication system. CPS data in an OFDM-based, wireless communication system is modulated as QPSK data in the training tones of the data burst. As long as some bursts have the CPS data modulation and some bursts do not have the CPS data modulation, the CPS data can be recovered. A slip results when there is a linear phase difference across the tones (after the FFT) between the current and the previous burst. This linear phase difference is generally taken care of by the channel estimation obtained using the pilot tones. This phase difference is however, now compensated for correct frequency offset estimation which occurs before the channel estimation and CPS decoding steps.

Claims (722)

1. A method for implementing integer offset correction in an OFDM-based transceiver device, the method comprising the steps of:

receiving two consecutive data bursts, b and b−1, each data burst including v pilot tones

N

v

tones apart, wherein N is the total number of tones in a data burst;

performing a complex conjugate multiply operation between the tones in data burst b and the respective tones in data burst b−1 until the complex conjugate multiply operation has been performed for all of the tones to generate a correlation between the two consecutive data bursts;

summing the correlation values to form a total sum P s [l,b] comprising

N

v

sums;

averaging the total sum P s [l,b] among

3

N

v

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0≦n≦2;

determining a maximum value for the summation P a [l,n], a corresponding index l max , and a corresponding burst number n max ; and

estimating an integer frequency error offset corresponding to the maximum value for the summation P a [l,n], the corresponding index l max , and the corresponding burst number n max .

2. The method according to claim 1 wherein the step of summing the correlation values to form a total sum P s [l,b] comprising

N

ν

sums is performed according to the relationship

P

s

[

l

,

b

]

=

m

=

0

ν

-

1

P

(

l

+

m

N

ν

,

b

)

for

0

l

N

ν

-

1

,

where N is the number of tones in a data burst and vis the number of pilot tones in a data burst.

3. The method according to claim 1 wherein the step of averaging P s [l,b] sums among

3

N

v

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0≦n≦2 is performed according to the relationship

P

a

[

l

,

n

]

=

m

=

0

b

3

P

s

[

l

,

n

+

3

m

]

for

0

l

N

ν

-

1

and

n

=

mod

(

b

,

3

)

.

4. The method according to claim 1 wherein the step of averaging P s [l,b] sums among

3

N

v

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0≦n≦2 is performed using a single pole filter according to the relationship

P

a

[

l

,

n

]

(

l

-

β

)

P

a

[

l

,

n

]

+

β

P

s

[

l

,

b

]

for

0

l

N

ν

-

1

and n=mod(b3), where ⊖is a programmable constant in the range [0,1).

5. The method according to claim 1 wherein the step of estimating an integer frequency error offset corresponding to the maximum value for the summation P a [l,n], the corresponding index l max , and the corresponding burst number n max is performed according to the relationship

Δ

f

int

=

round

(

N

2

π

L

angle

(

P

a

[

l

max

,

n

max

]

)

)

-

v

L

l

max

,

where the angle( ) function returns a value in the range of [0,2π) to represent the angle of its complex argument and the round( ) function returns an integer value in the range of

[

0

,

N

L

-

1

]

.

6. The method according to claim 1 wherein the complex conjugate multiply operation is performed according to the relationship

P

^

[

k

,

b

]

=

-

j

2

π

N

ks

Y

[

k

,

b

]

Y

*

[

k

,

b

-

1

]

,

and wherein Y[k,b] is the frequency response of tone kin data burst b, N is the number of tones in a data burst, s is the slip value and

2

π

N

k

is a sequence of known phase rotations.

7. The method according to claim 6 wherein the slip value s equals −1 when data burst b experiences a negative slip with respect to data burst b−1, and wherein the slip value s equals +1 when data burst b experiences a positive slip with respect to data burst b−1 , and further wherein the slip value s equals 0 when data burst b experiences no slip with respect to data burst b−1 .

8. The method according to claim 6 wherein the slip value s for data burst b, which can be written as s[b], is determined according to the

s

[

b

]

=

{

+

1

(

MinIndex

>

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

0

(

MinIndex

=

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

-

1

(

MinIndex

<

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

where

SlipTotal

[

b

]

=

k

=

0

SlipDelay

-

1

s

[

b

-

k

]

,

and wherein SlipDelay is a timing delay between the time when a timing adjustment is made to a data stream containing the data bursts and the time when a corresponding slip identification algorithm detects the adjustment, and further wherein Minindex is the index value of the minimum correlation value between two consecutive data bursts and DesiredIndex is the desired index value for the correlation value between the two consecutive data bursts.

9. A method for implementing integer offset correction in a transceiver device, the method comprising the steps of:

receiving consecutive data bursts comprising data burst b and data burst b−1 wherein each data burst comprises N tones including V pilot tones spaced

N

ν

tones apart;

performing a complex conjugate multiply operation between the N tones in data burst b and the respective N tones in data burst b−1 until the complex conjugate multiply operation has been performed for all of the tones to generate a correlation of the consecutive data bursts;

summing the correlation values to form a total sum P s [l,b] comprising

N

ν

sums;

averaging the total sum P s [l,b] among

3

N

ν

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0≦n≦2;

determining a maximum value for the summation P a [l,n], a corresponding index l max and a corresponding burst number n max ; and

estimating (in number of frequency bins) an integer frequency error offset corresponding to the maximum value for the summation P a [l,n], the corresponding index l max and the corresponding burst number n max .

10. The method according to claim 9 wherein the step of summing the correlation values to form a total sum P s [l,b] comprising

N

ν

sums is performed according to the relationship

P

s

[

l

,

b

]

=

m

=

0

v

-

1

P

(

l

+

m

N

v

,

b

)

for

0

l

N

v

-

1.

11. The method according to claim 9 wherein the step of averaging P s [l,b] sums among

3

N

v

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0≦n23 2 is performed according to the relationship

P

a

[

l

,

n

]

=

m

=

0

b

3

P

s

[

l

,

n

+

3

m

]

for

0

l

N

v

-

1

and

n

=

mod

(

b

,

3

)

.

12. The method according to claim 9 wherein the step of averaging P s [l,b] sums among

3

N

ν

values associated with three consecutive data bursts to generate an average summation P a [l,n] for 0 ≦n23 2 is performed using a single pole filter according to the relationship

P

a

[

l

,

n

]

(

l

-

β

)

P

a

[

l

,

n

]

+

β

P

s

[

l

,

b

]

for

0

l

N

ν

-

1

and n=mod(b,3), where β is a programmable constant in the range [0,1).

13. The method according to claim 9 wherein the step of estimating an integer frequency error offset corresponding to the maximum value for the summation P a [l,n], the corresponding index l max , and the corresponding burst number n max is performed according to the relationship

Δ

f

int

=

round

(

N

2

π

L

angle

(

P

a

[

l

max

,

n

max

]

)

)

-

ν

L

l

max

,

where the angle( ) function returns a value in the range of [0,2π) to represent the angle of its complex argument and the round( ) function returns an integer value in the range of

[

0

,

N

L

-

1

]

.

14. The method according to claim 9 wherein the complex conjugate multiply operation is performed according to the relationship

p

^

[

k

,

b

]

=

-

j

2

π

N

ks

Y

[

k

,

b

]

Y

*

[

k

,

b

-

1

]

,

and further wherein Y[k,b] is the frequency response of tone kin data burst b, N is the number of tones in a data burst, s is the slip value and

2

π

N

k

is a sequence of known phase rotations.

15. The method according to claim 14 wherein the slip value s equals−1 when data burst b experiences a negative slip with respect to data burst b−1 , and wherein the slip value s equals +1 when data burst b experiences a positive slip with respect to data burst b−1 , and further wherein the slip value s equals 0 when data burst b experiences no slip with respect to data burst b−1.

16. The method according to claim 14 wherein the slip value s for data burst b, which can be written as s[b], is determined according to the relationship

s

[

b

]

=

{

+

1

(

MinIndex

>

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

0

(

MinIndex

=

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

-

1

(

MinIndex

<

DesiredIndex

+

SlipTotal

[

b

-

1

]

)

where

SlipTotal

[

b

]

=

k

=

0

SlipDelay

-

1

s

[

b

-

k

]

,

and wherein SlipDelay is a timing delay between the time when a timing adjustment is made to a data stream containing the data bursts and the time when a corresponding slip identification algorithm detects the adjustment, and further wherein Minindex is the index value of the minimum correlation value between two consecutive data bursts and DesiredIndex is the desired index for the minimum correlation value between the two consecutive data bursts.

17. An OFDM transceiver adapted to perform the steps of claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2003
From: MAGEE, DAVID P.; HOSUR, SRINATH; GOEL, MANISH
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 014073/0382 →
Continuity (3)
Provisional Application 6038060900 · May 14, 2002
Provisional Application 6037811400 · May 14, 2002
Related Publication 20030227978A1 · Dec 11, 2003