IP Library Granted Patent US 8,705,418
Granted Patent B1
US 8,705,418 · App. 12/716,803 · Granted Apr 22, 2014

Methods and systems for detecting a preamble of a data packet in wireless communication systems

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 8,705,418
App. No.
12/716,803
Granted
Apr 22, 2014
Kind
B1
Abstract

Methods and systems for detecting a preamble of a data packet in wireless communication systems is provided. To determine a preamble from a received signal, which may include a noise-altered preamble bit sequence, linear feedback shift registers (LFSRs) can be used to generate a count of the received preamble, and the count is compared to pre-generated scores to identify a match. Example methods include for each of a number of different preamble orientations of a preamble, generating a count value based on a comparison of bits of the preamble with a random bit sequence to produce a sequence of count values, and comparing the sequence of count values with m sequences of count values. A sequence of count values is identified that includes a maximum number of matching elements, and the received preamble is determined to be one of the m preambles corresponding to the identified sequence.

Claims (68)

1. A method for determining a preamble of a data packet to reduce an instance of a wrong the method comprising:

receiving a preamble of a data packet at a receiver;

for each of a number of different preamble orientations n of the preamble, generating count values based on a comparison of each bit of the preamble with a random bit sequence;

producing a sequence of the count values corresponding to each respective one of the different preamble orientations; and

for each of the sequences of count values:

comparing the sequence of count values with a plurality of count value sequences, wherein elements of the plurality of count value sequences are count values based on a comparison of each bit of one of a plurality of preambles m for each of a number of different preamble orientations thereof with another random bit sequence;

identifying a count value sequence of the plurality of count value sequences having the greatest number of elements that match elements of the sequence of count values; and

determining that the preamble is a preamble of the plurality of preambles corresponding to the identified count value sequence having the greatest number of elements that match elements of the sequence of count values;

wherein a preamble orientation indicates an order of bits in the preamble; and

wherein the values of m and n are positive integers greater than zero.

2. The method of claim 1 , further comprising:

creating a (1×n) matrix with elements of a row being the sequence of count values;

wherein the comparing of the sequence of count values with the plurality of count value sequences includes comparing the (1×n) matrix with each row of an (m×n) matrix, and wherein elements of the (m×n) matrix are count values of the plurality of count value sequences.

3. The method of claim 2 ,

wherein the identifying of the count value sequence includes identifying a row of the (m×n) matrix having the greatest number of elements that match elements in the row of the (1×n) matrix; and

wherein the determining of the preamble includes determining that the Preamble is the one of the m preambles corresponding to the identified row of the (m×n) matrix having the greatest number of elements that match elements in the row of the (1×n) matrix.

4. A method for determining a preamble of a data packet, the method comprising:

receiving a preamble of a data packet at a receiver;

for each of a number of different preamble orientations n of the preamble, generating a count value based on a comparison of each bit of the preamble with a random bit sequence to produce a sequence of count values;

comparing the sequence of count values with m sequences of count values, wherein m is a given number of preambles, wherein elements of the m sequences of count values are values based on a comparison of each bit of the m given preambles for each of the number of different preamble orientations with another random bit sequence, wherein a preamble orientation indicates an order of bits in the preamble, and wherein m and n are positive integers greater than zero;

identifying a sequence of count values of the m sequences of count values that includes a maximum number of elements that match elements of the sequence of count values; and

determining that the preamble is one of the m preambles corresponding to the sequence of the m sequence of count values;

wherein for each of a number of different preamble orientations, generating a count value based on a comparison of each bit of the preamble with a random bit sequence to produce a sequence of count values comprises:

a) setting a given count value to a default value;

b) based on a given preamble orientation, reading a bit of the preamble and incrementing the given count value;

c) comparing the bit of the preamble with an output of a linear feedback shift register (LFSR), wherein the LFSR is loaded with the random bit sequence;

d) incrementing the given count value each time the output of the LFSR does not match the bit input from the preamble;

e) when the output of the LFSR matches the bit input from the preamble, reading a next bit of the preamble; and

f) repeating steps c)-e) until all bits of the preamble have been read.

5. The method of claim 4 , further comprising outputting the given count value for the preamble in the given preamble orientation.

6. The method of claim 4 , further comprising storing the given count value in a lookup table.

7. The method of claim 6 , further comprising:

g) repeating steps a)-f) for all preamble orientations.

8. The method of claim 7 , further comprising providing access to the lookup table to receivers in a wireless communication system.

9. The method of claim 8 , further comprising repeating steps a)-g) for all preambles used in the wireless communication system.

10. The method of claim 1 , further comprising accessing the plurality of count value sequences in a lookup table.

11. The method of claim 1 , further comprising receiving a wireless signal that includes the preamble.

12. A non-transitory computer readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions of:

receiving a preamble of a data packet at a receiver;

for each of a number of different preamble orientations n of the preamble, generating count values based on a comparison of each bit of the preamble with a random bit sequence;

producing a sequence of the count values corresponding to each respective one of the different preamble orientations; and

for each of the sequences of count values:

comparing the sequence of count values with a plurality of count value sequences, wherein elements of the plurality of count value sequences are count values based on a comparison of each bit of one of a plurality of preambles m for each of a number of different preamble orientations thereof with another random bit sequence;

identifying a count value sequence of the plurality of count value sequences having the greatest number of elements that match elements of the sequence of count values; and

determining that the preamble is a preamble of the plurality of preambles corresponding to the identified count value sequence having the greatest number of elements that match elements of the sequence of count values;

wherein a preamble orientation indicates an order of bits in the preamble; and

wherein the values of m and n are positive integers greater than zero.

13. The non-transitory computer readable medium of claim 12 , wherein the functions further comprise:

creating a (1×n) matrix with elements of a row being the sequence of count values;

wherein the comparing of the sequence of count values with the plurality of count value sequences includes comparing the (1×n) matrix with each row of an (m×n) matrix, and wherein elements of the (m×n) matrix are count values of the plurality of count value sequences;

wherein the identifying of the count value sequence includes identifying a row of the (m×n) matrix having the greatest number of elements that match elements in the row of the (1×n) matrix; and

wherein the determining of the preamble includes determining that the preamble is the one of the m preambles corresponding to the identified row of the (m×n) matrix having the greatest number of elements that match elements in the row of the (1×n) matrix.

14. A non-transitory computer readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions of:

receiving a preamble at a receiver;

for each of a number of different preamble orientations n of the preamble, generating a count value based on a comparison of each bit of the preamble with a random bit sequence to produce a sequence of count values;

comparing the sequence of count values with m sequences of count values, wherein m is a given number of preambles, wherein elements of the m sequences of count values are values based on a comparison of each bit of the m given preambles for each of the number of different preamble orientations with another random bit sequence, wherein a preamble orientation indicates an order of bits in the preamble, and wherein m and n are positive integers greater than zero;

identifying a sequence of count values of the m sequences of count values that includes a maximum number of elements that match elements of the sequence of count values; and

determining that the preamble is one of the m preambles corresponding to the sequence of the m sequence of count values;

wherein for each of a number of different preamble orientations, generating a count value based on a comparison of each bit of the preamble with a random bit sequence to produce a sequence of count values comprises:

a) setting a given count value to a default value;

b) based on a given preamble orientation, reading a bit of the preamble and incrementing the given count value;

c) comparing the bit of the preamble with an output of a linear feedback shift register (LFSR), wherein the LFSR is loaded with the random bit sequence;

d) incrementing the given count value each time the output of the LFSR does not match the bit input from the preamble;

e) when the output of the LFSR matches the bit input from the preamble, reading a next bit of the preamble; and

f) repeating steps c)-e) until all bits of the preamble have been read.

15. The non-transitory computer readable medium of claim 14 , wherein the functions further comprise:

g) repeating steps a)-f) for all preamble orientations; and

h) repeating steps a)-g) for all preambles used in a wireless communication system.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS, RECORDED ON JANUARY 29, 2019 AT REEL 048373 FRAME 0217 Recorded Sep 22, 2025
From: CRESTLINE DIRECT FINANCE, L.P., AS COLLATERAL AGENT
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 072936/0464 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2019
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 049924/0794 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2010
From: VENUGOPALAN, SARAD AMMANAT; SUBRAMANIAN, SRIKANTH
To: KBC RESEARCH FOUNDATION PVT. LTD.; ANNA UNIVERSITY
Reel/Frame 024692/0359 →