The present invention generally pertains to wireless networks, and more particularly to methods for establishing timing synchronization within such networks.
Computer networks allow multiple computers, peripherals and other information storage, retrieval or processing devices to share data. Each device attached to a network is typically referred to as a node on the network, or a node that is part of the network. Local Area Networks (“LANs”) have historically consisted of nodes interconnected by physical telecommunications media (eg, coaxial cable, twisted pair wire, or fiber optics). Recently wireless LANs, the nodes of which are not connected by means of a physical medium, have started to appear in the market. These wireless LANs communicate by means of infra-red (IR), radio or other short-range signals. One of the benefits of using wireless LANs is that cabling is not required. This is a particularly useful feature for mobile nodes such as laptop and notebook computers, PDAs (personal digital assistants), and the like. If appropriately equipped with an appropriate wireless adapter, the mobile nodes can move around within a predefined coverage area and remain connected to the network.
Certain short-range wireless networks predicated on the proposed “Bluetooth” wireless communications protocol are currently being developed. This protocol contemplates the grouping of physically proximate wireless nodes into “piconets”. In Bluetooth networks, each encoded message packet sent from a transmitting device incorporates an access code specifying an address of a receiving device. The access code is also used to effect timing synchronization in the receiving device. The Bluetooth access code consists of a 4-bit preamble, a 64-bit sync word, and a 4-bit trailer. Since the preamble and trailer are relatively short, a receiving device may not be able to consistently use them to acquire proper timing information. For example, noise in the communication channel could lead to a bit shift, which would preclude decoding of the message information included within the received packet.
A conventional approach to acquiring timing information from similarly encoded packets is to effect a sliding correlation using the sync word. In this approach the sync word within each received packet is correlated with the access code of a target packet pre-loaded within a correlator of the receiving device. The sync word contemplated by the Bluetooth protocol is generated by prepending parity bits to the address of the receiving device so as to form a BCH (Bose, Chaushuri, Hocquenghem) code block not easily mistaken for another. The preamble, sync word and trailer of the Bluetooth access code collectively yield favorable autocorrelation properties, thereby making the access code useful for timing synchronization.
A Unfortunately, in certain applications it is desirable to receive subsequent packets containing any of a number of potential access codes. Use of the conventional synchronization approach described above would require multiple correlators (i.e., one per potential access code). Since in many applications a large number of access codes may be possible, this approach will often be infeasible. Accordingly, a need exists for a method of acquiring device address and timing synchronization information from encoded data packets which does not require a priori knowledge of potential access codes.
In summary, the present invention relates to a phase synchronizer having an input shift register for receiving a sequence of bits containing a codeword. The phase synchronizer includes a first syndrome computing module, operatively coupled to the input shift register, for computing first syndromes relating to a first potential phase of the codeword. A first error detection module determines, based upon the first syndromes, a first number of errors associated with the first potential phase of the codeword. A second syndrome computing module, operatively coupled to the input shift register, computes second syndromes relating to a second potential phase of the codeword. The second syndrome computing module provides the second syndromes to a second error detection module, which determines a second number of errors associated with the second potential phase of the codeword. A comparator arrangement is provided for comparing the first number of errors and the second number of errors to a threshold value. The comparator arrangement determines that the first potential phase corresponds to a valid codeword phase when the first number of errors is less than the threshold value. Similarly, the second potential phase is determined to correspond to a valid codeword phase when the second number of errors is less than the threshold value.
The present invention also provides for a codeword synchronization system containing a plurality of phase synchronizers. Each of the phase synchronizers is commonly connected to an input shift register, which is disposed to receive a sequence of bits containing a codeword. Each phase synchronizer is associated with a different potential phase of the codeword, and includes a syndrome computing module for computing syndromes associated with one such potential phase. An error detection module within each phase synchronizer determines a number of errors associated with the applicable potential phase using the syndromes produced by the corresponding syndrome computing module. Each phase synchronizer further includes a comparator for determining whether less than a predetermined number of errors have been identified by the synchronizer's error detection module. The phase synchronizers are configured such that only one will indicate that less than the predetermined number of errors have been so identified, thereby enabling synchronization with the phase of the received codeword.
In another aspect, the present invention comprises a codeword synchronization system operative to concurrently effect clock recovery and codeword synchronization. The codeword synchronization system includes a sampling arrangement for generating N bitstreams in response to a received data stream. The synchronization system further includes a set of N codeword synchronization modules, each of which provide a plurality of codeword error signals indicative of a number of errors associated with a corresponding plurality of potential phases of one of the N bitstreams. A phase selection module selects the one of the codeword error signals indicative of a lowest number of errors, thereby identifying the one of the potential phases corresponding to a valid codeword phase.
In the accompanying drawings:
The present invention is more fully described with reference to
As was discussed in the Background of the Invention, each encoded Bluetooth message packet sent from a transmitting device (e.g., master node M1) incorporates an access code specifying an address of a receiving device (e.g., slave node S1). Again, the Bluetooth access code consists of a 4-bit preamble, a 64-bit sync word, and a 4-bit trailer, which individually or collectively provide timing information. In accordance with the present invention, timing and device address information is derived in real-time from the sync word within Bluetooth or other message packets without a priori knowledge of the access code.
Referring to
The implementation of the codeword synchronization module 52 described herein is at least partially predicated on the error correction properties of BCH codes. In particular, up to six errors can exist within a given 64-bit BCH codeword without risking confusion of such codeword with another. Furthermore, since each 64-bit BCH codeword forming a Bluetooth sync word includes 34 parity bits, 6 extension bits and 24 device address bits, only 224 out of 264 possible values represent valid sync words. A correctable BCH codeword therefore may be used to provide a robust indication of both device address and burst timing. Each of the phase synchronizers 70 is disposed to determine whether less than seven BCH codeword errors are associated with a different potential codeword phase (i.e., with a different 64-bit sequence of received data bits). When less than seven errors are detected in any of such 64-bit sequences, the applicable phase synchronizer produces a Codeword Valid signal.
A number of methods exist for locating and correcting errors in BCH codewords. Many of these methods contemplate a three-step process for determining the bits in error, if any, within such codewords (See, e.g., S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications, Prentice-Hall, 1983. pp. 151–160). In a first step a set of equations, or “syndromes”, whose solutions provide the locations of any codeword errors are computed from the serially-received data potentially corresponding to a codeword. The second step involves determining an error location polynomial (“ELP”), the mathematical order of which corresponds to the number of errors in the potential codeword. As mentioned above, a 64 bit BCH codeword is correctable if the order of the ELP is six or less. In the third step of the process the ELP is solved for the actual locations of the bit errors within the potential codeword. The detection of errors in BCH codewords is also described in, for example, U.S. Pat. No. 5,687,510, U.S. Pat. No. 5,892,294, U.S. Pat. No. 5,430,740 and U.S. Pat. No. 6,052,812, the specifications of which are hereby incorporated by reference.
Turning now to
The syndrome computing circuitry 90 employs conventional techniques to compute syndromes using hardware (e.g., feedback shift registers, or “FSRs”), or using computation algorithms implemented in software syndromes (see, e.g., Lin and Costello, pp. 167–170). For a 64-bit BCH code, twelve syndromes are required to be computed. If a hardware implementation is employed, it has been shown that at most six FSRs are needed to generate the twelve required. In such a hardware implementation a set of six FSRs and twelve syndrome registers are conventionally arranged to process the received serial data. After 64 bit times, such syndrome registers contain the syndromes corresponding to the contents of the 64-bit shift register 72.
Turning now to
As mentioned above, the codeword synchronization module 52 of
In
In accordance with the invention, when the last bit of a valid or correctable Bluetooth sync word is presented to each of the codeword synchronization modules 124, at least one computation circuit 140 within one or more of the synchronization modules 124 will provide an indication 128 of an order of ELP of less than 7. When this occurs, the phase selection module 130 determines the lowest such indication 128, and identifies the 64 bits within the associated shift register 136 as a valid or correctable Bluetooth sync word. In addition, the clock phase associated with the computation circuit 140 providing the lowest indication 128 is identified as the correct recovered clock phase for the data received over the bus 64. This recovered clock phase is then used to receive any serial data subsequently provided by bus 64. In this way the system 100 is operative to recover the clock phase of the serially received data during the process of identifying a valid or correctable Bluetooth sync word.
Accordingly, phase synchronizer operative to establish synchronization with the phase of a received codeword has been described herein. The phase synchronizer advantageously enables timing and device address information to be derived from the sync word within Bluetooth or other message packets without advance knowledge of the access code and prior to correction of any errors within the sync word. If desired, the phase synchronizer may be implemented so as to effect recovery of the clock phase of the serially received data during the process of identifying a valid or correctable sync word.
Although the above application has been described primarily with reference to specific embodiments, one skilled in the art can readily appreciate that the teachings of the present invention may be applied in other communication contexts. Thus the application is meant only to be limited by the scope of the appended claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4405829 | Rivest et al. | Sep 1983 | A |
| 4737954 | Smedley | Apr 1988 | A |
| 4959834 | Aikawa et al. | Sep 1990 | A |
| 5086429 | Gray et al. | Feb 1992 | A |
| 5214669 | Zarembowitch | May 1993 | A |
| 5231638 | Fujiki | Jul 1993 | A |
| 5430740 | Kivari et al. | Jul 1995 | A |
| 5490139 | Baker et al. | Feb 1996 | A |
| 5572528 | Shuen | Nov 1996 | A |
| 5636216 | Fox et al. | Jun 1997 | A |
| 5652751 | Sharony | Jul 1997 | A |
| 5696903 | Mahany | Dec 1997 | A |
| 5699353 | Kent | Dec 1997 | A |
| 5708655 | Toth et al. | Jan 1998 | A |
| 5742598 | Dunn et al. | Apr 1998 | A |
| 5754547 | Nakazawa | May 1998 | A |
| 5784012 | Kawauchi et al. | Jul 1998 | A |
| 5812531 | Cheung et al. | Sep 1998 | A |
| 5812564 | Bonke et al. | Sep 1998 | A |
| 5825772 | Dobbins et al. | Oct 1998 | A |
| 5832021 | Kondo | Nov 1998 | A |
| 5835061 | Stewart | Nov 1998 | A |
| 5844918 | Kato | Dec 1998 | A |
| 5845081 | Rangarajan et al. | Dec 1998 | A |
| 5850592 | Ramanathan | Dec 1998 | A |
| 5854899 | Callon et al. | Dec 1998 | A |
| 5867510 | Steele | Feb 1999 | A |
| 5929793 | Choi | Jul 1999 | A |
| 5982294 | Takayama et al. | Nov 1999 | A |
| 5983098 | Gerszberg et al. | Nov 1999 | A |
| 6005903 | Mendelovicz | Dec 1999 | A |
| 6029264 | Kobayashi et al. | Feb 2000 | A |
| 6052812 | Chen et al. | Apr 2000 | A |
| 6363107 | Scott | Mar 2002 | B1 |
| 6510248 | Hsieh | Jan 2003 | B1 |
| 6535566 | Tamamura et al. | Mar 2003 | B1 |
| 6587500 | Persson et al. | Jul 2003 | B1 |
| Number | Date | Country |
|---|---|---|
| 0695059 | Jan 1996 | EP |
| WO 9914897 | Mar 1999 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20020146085 A1 | Oct 2002 | US |