This invention relates to the detection of preambles of data packets, for example in data communications systems.
Many communications systems transmit streams of data by dividing a data stream into successive portions and assembling each portion together with, for example, addressing information and error detection and correction information to produce a data packet (sometimes alternatively known as a cell or frame). Each data packet is then transmitted independently by modulating an electrical or electromagnetic (radio or optical) signal in accordance with the packet's contents and transmitting the signal via the relevant communications medium to a receiver. Functions such as intermediate storage, error detection and retransmission are performed at the packet level. The format of data within a packet is typically defined in terms of successive functional groups of symbols (such as bits in a binary digital system), where the interval between symbols is defined in terms of the frequency of a clock signal which controls the timing of electrical or electromagnetic signal transitions representing the data symbols. Boundaries between successive packets in a symbol stream may be defined in various ways, such as by providing a fixed pattern of symbols to identify the start or end of a packet.
In asynchronous communications systems, that is systems in which no master clock signal is used to co-ordinate the operation of system nodes, receiving nodes must be able to recognise and synchronise with the signal transitions which represent the data symbols, and to identify the boundaries between successive data packets. Such systems particularly include (but are not limited to) wireless systems in which data is transmitted by modulation of electromagnetic signals, such as r.f. or optical signals. Examples include the Digital Enhanced Cordless Telecommunications (DECT) standard defined by the European Telecommunications Standards Institute (ETSI) in EN 300 444 and associated documents, and the Bluetooth short-range wireless standard defined by the Bluetooth Special Interest Group in the Specification of the Bluetooth System, v1.0 B, December 1999 (available via the URL http://www.bluetooth.com).
It is also desirable to ensure that the numbers of each different kind of symbol (for example binary 0's and 1's) in the transmitted signal are approximately equal, to avoid problems of long-term d.c. offset in electrical circuits carrying the signal.
The need for synchronisation, boundary recognition and d.c. compensation is typically met by commencing each packet with blocks of data symbols with predetermined values. These blocks are known in the Bluetooth standard, for example, as preambles and sync words. The Bluetooth preamble has a value of either 1010 or 0101 (binary), chosen to facilitate d.c. compensation in accordance with whether the least significant bit (LSB) of the sync word which immediately follows the preamble is 1 or 0 respectively. The Bluetooth sync word is a 64-bit word derived in a manner which ensures large Hamming distance between different sync words and provides good auto-correlation properties of the sync word to assist the timing synchronisation process. The sync word is followed by a 4-bit trailer which has a value of 1010 or 0101, depending on whether the most significant bit (MSB) of the sync word is 0 or 1 respectively, to provide for extended d.c. compensation.
The Bluetooth wireless signal is produced by applying a binary frequency-shift keyed (FSK) 0.5BT Gaussian-filtered baseband modulation to a carrier signal in the 2.4 GHz ISM band, such that a binary one is represented by a positive frequency deviation and a binary zero by a negative frequency deviation.
In certain circumstances it is necessary to be able to determine precisely the position of the preamble's LSB, also known as the bit p0, within a Bluetooth signal. For example, the RF Test Specification for conformance testing of Bluetooth-enabled devices defines various tests which depend upon knowledge of the position of the bit p0, to identify the start of signal bursts to be measured or the position of payload data bits within the signal.
In known systems with similar signal formats (such as DECT) this may be accomplished in one of two ways:
It is an object of this invention to facilitate the precise and rapid detection of a selected portion of a data packet, such as the preamble (including the bit p0) of a Bluetooth data packet.
According to one aspect of this invention there is provided a method of detecting a selected portion of a data packet, comprising the steps of:
defining a reference signal waveform conforming to an expected waveform representing a signal modulated in accordance with a selected portion of a data packet;
receiving a data signal containing a data packet with said selected portion;
deriving a waveform representing said data signal;
correlating said reference signal waveform with said waveform representing said data signal to produce a correlation result; and
identifying said selected portion in said data signal in accordance with said correlation result.
In the context of testing a Bluetooth-enabled device, the invention searches the received data stream for a known pattern of binary 1010 which is embedded within the preamble (or the preamble plus LSB of the sync word if the preamble itself is 0101). More particularly, the invention exploits the fact that a frequency-discriminated 1010 preamble of a Bluetooth signal with its Gaussian-filtered baseband modulation is very similar in waveform to a sinusoidal (specifically cosine) wave. Thus correlation of a frequency-discriminated Bluetooth signal with a cosine wave enables rapid detection of 1010 sequences in the signal. Simple additional processing provides verification that a detected 1010 sequence is indeed the preamble, and confirmation of whether the preamble is actually 1010 or 0101, so that the precise location of the bit p0 can be determined. The reference cosine waveform is simple to generate, and as the length of the comparison sequence (4 bits) is short, relatively little processing power is required for a correlation to provide a result quickly and entirely automatically.
A method and apparatus in accordance with this invention, for detecting the location of the bit p0 in a Bluetooth modulated signal, will now be described, by way of example, with reference to the accompanying drawings, in which:
a and 2b show the position of the bit p0 in a Bluetooth modulated signal for each possible value of preamble;
The access code 12 itself comprises three portions: a preamble 18, comprising 4 bits with a value of either 1010 or 0101 as described earlier, and the first bit (LSB) of which is the bit p0; a sync word 20, comprising 64 bits, derived from the unique device address of a Bluetooth device; and a trailer 22, comprising 4 bits with a value of either 0101 or 1010 as described earlier. In other Bluetooth packet types, comprising only the access code, the trailer is omitted.
The derivation of the sync word is such that its six most significant bits (MSBs), i.e. the 59th to 64th bits, have a value of either 001101 or 110010, depending on whether the 58th bit (derived from the device address mentioned above) is 0 or 1 respectively.
A Bluetooth signal comprises a carrier wave which is binary FSK modulated with a Gaussian-filtered baseband signal. As a result, and as shown in
The correlator 42 may be implemented using a digital signal processor (DSP) or other more general-purpose processor, executing a set of software program instructions to control its operation. The principal function of the correlator is to compare the digitised frequency deviation signal from the ADC 40 with a reference digitised signal representing 540 degrees (1½ cycles) of a cosine waveform, shown in dashed line in
The correlation is performed multiple times as the relative phase of the frequency deviation signal and the reference waveform are varied through a predetermined range, and the correlation result is inspected to identify a phase relationship for which a close fit exists between the reference waveform and a portion of the frequency deviation signal of similar duration. Thereafter checks are made to confirm that the selected portion of the frequency deviation signal does indeed correspond to the packet preamble, and to discriminate between the two possible preamble values.
The steps performed by the correlator 42 are shown in
At step 54 the correlation value is compared with a predetermined correlation threshold selected to indicate when a good match between the correlated signals has occurred which is indicative that the preamble has been located. A threshold value of 0.37, determined empirically, has been found to provide satisfactory results. If the correlation value does not exceed the threshold, the procedure continues to step 56, where the index It is incremented by 1. Thereafter the procedure returns to step 52 to repeat the derivation of the correlation value for the new relative phase relationship of the correlated signals.
When the test at step 54 indicates that the correlation value exceeds the threshold, the procedure advances to step 58, where the identity and value of the preamble is confirmed. These steps are necessary because there is a possibility of the reference signal correlating strongly with a portion of the packet payload, for example, which by chance has a value of 1010 or 0101. This strong correlation would give a spurious indication of the location of the preamble. In addition, the cosine reference signal by design cannot discriminate between the two possible preamble values (it may correlate either with the preamble proper, or with the three MSBs of the preamble together with the LSB of the sync word). However, such discrimination is necessary to ensure precise location of the bit p0, because of the slight difference in timing of this bit for the two different preambles as shown in
Accordingly at step 58 the procedure derives the offset to the expected location in the frequency deviation signal of these six MSBs, on the basis of an initial assumption that the detected preamble has a value of 1010 to determine a tentative location for the bit p0. Thus the required six MSBs should be located starting at 62 frequency deviation peaks after the positive peak tentatively determined as being the bit p0 in accordance with the value of the index It. At step 60 the procedure inspects the value of a block of six successive bits as represented by the frequency deviation signal, starting at a point two bits before the location identified at step 58. This block of six bits is compared with the two expected values for the six MSBs of the sync word, that is 001101 and 110010 (see
If it is established at step 62 that neither of the expected values for the block of six MSBs has been found, then it is determined at step 64 that the preamble has not in fact been located, and the procedure returns to step 56 to increment the index It and continue the correlation process.
If step 62 indicates that one of the MSB blocks has been found, the procedure advances to step 66. As well as verifying that a valid preamble has been detected, the starting point identified at step 60 for the six MSBs of the sync word enables the location of the bit p0 to be determined precisely. More specifically, the location of the bit p0 can be determined as being offset 62 frequency deviation peaks before the actual starting point for this block of six MSBs, irrespective of the value of the block.
Variations of the technique described above are possible. For example, the frequency deviation signal may be obtained by sampling the Bluetooth signal in the time domain (possibly after frequency down-conversion), and using a digital signal processor to derive the frequency deviation signal by differentiating the phase of the complex sample points with respect to time (frequency is the rate of change of phase).
Number | Date | Country | Kind |
---|---|---|---|
00311489 | Dec 2000 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
4984249 | Long et al. | Jan 1991 | A |
5343497 | Canosi et al. | Aug 1994 | A |
5434905 | Maeda et al. | Jul 1995 | A |
5625573 | Kim | Apr 1997 | A |
5727004 | Propp et al. | Mar 1998 | A |
5907558 | Watanabe | May 1999 | A |
5907587 | Sokoler | May 1999 | A |
6111927 | Sokoler | Aug 2000 | A |
6331976 | Sriram | Dec 2001 | B1 |
6480559 | Dabak | Nov 2002 | B1 |
20020067784 | Bowler | Jun 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20020075974 A1 | Jun 2002 | US |