This disclosure claims priority under 35 U.S.C. § 119 to Indian Provisional Patent Application No. 202321020488, filed Mar. 23, 2023, titled “METHOD TO CAPTURE AND DECODE DATA TRANSFER BETWEEN NETWORKED DEVICES USING OSCILLOSCOPE,” the disclosure of which is incorporated herein by reference in its entirety.
The present disclosure relates generally to encoded wireless communications, and, more particularly, to capturing and decoding wireless data transfer between networked devices using an oscilloscope.
Bluetooth™ is global wireless standard that enables connectivity for a wide range of electronic devices ranging from mobile phones to medical devices, computers, and healthcare equipment. Bluetooth™ eliminates the need for the cable connection between the devices and connecting over short distance using short wavelength transmission in unlicensed industrial scientific and medical band spanning between 2.4 and 2.48 GHz.
Bluetooth™ operating in the 2.4 GHz band employs 79 Radio Frequency (RF) channels for basic and enhanced data rate transmissions. To combat the narrow band interference and fading in the 2.4 GHz band, Bluetooth™ employs frequency hopping spread spectrum (FHSS). The frequency hops follow pseudo-random pattern with uniform probability across all 79 channels. During an active Bluetooth™ connection, both the transmitter and receiver have knowledge of the pseudorandom frequency hopping pattern, which is determined based on the clock of the master device and certain bits of the Bluetooth address.
A Bluetooth™ device already in a communication network with other Bluetooth™ devices, which is referred to as a piconet, has knowledge about the next channel frequency while it is decoding the current channel frequency. Conversely, devices outside of the piconet do not have access to the pseudorandom frequency hopping pattern, and therefore cannot decode Bluetooth™ communications.
Accordingly, there is a need for a system for capturing and decoding wireless data transmissions from a device that uses frequency hopping without a priori knowledge of the frequency hopping pattern being used by the device.
Embodiments according to the disclosure provide a system and method for capturing and decoding data transfer between networked devices that are communicating using a wireless, frequency hopping network protocol with an oscilloscope that is not a part of the wireless network. More particularly, embodiments use a type of Fourier analysis to determine an approximate frequency of the RF signal that represents a data packet, and then a refining process determines the exact starting point of the data packet. Next a polynomial that was used to perform a whitening process on the data packet prior to encoding the packet is determined using a brute-force method. Then the data packet can be decoded using this information. Although the description below is given with reference to communication that uses a Bluetooth™ protocol for communication, embodiments according to this disclosure may be used with any frequency-hopping protocol, such as Wi-Fi (IEEE 802.11), cordless telephones, some walkie-talkies, and baby monitors, for example.
The test and measurement instrument 102 also includes one or more main processors 150 that may be configured to execute instructions from main memory 152 and may perform any methods and/or associated steps indicated by such instructions. Portions of memory 152 may also be configured as a waveform memory to store waveform data acquired by the instrument 102. Portions of memory 152 may also store other data. A user interface 154 is coupled to the one or more processors 150 and may include, for example, a keyboard, mouse, touchscreen, output display, file storage, and/or any other controls employable by a user to interact with the test and measurement instrument 102. In some embodiments the user interface 154 may be connected to or controlled by a remote interface (not illustrated), so that a user may control operation of the instrument 102 in a remote location physically away from the instrument. A display portion of the user interface 154 may be a digital screen such as an LCD, or any other monitor to display waveforms, measurements, and other data to a user. In some embodiments, the main output display of the user interface 154 may also be located remote from the instrument 102.
One or more measurement units 156 perform the main functions of measuring parameters and other qualities of signals from the devices being measured by the instrument 102. Typical measurements include measuring voltage, current, and power of input signals in the time domain, as well as measuring features of the input signals in the frequency domain. The measurement units 156 represent any measurements that are typically performed on test and measurement instruments, and the receiver 104 and decoder 105 may be integrated within or coupled to such measurement units 156.
A radio frequency (RF) probe, or antenna 120 is coupled to a testing input of the test and measurement instrument 102 and is suitably positioned proximate to at least one, and potentially all of the data transmission devices 110 in the piconet. The test and measurement instrument 102 captures the RF signals 114 as sensed by the RF antenna 120 in the time domain. After these RF signals have been captured by the instrument 102 as an input waveform, the receiver 104 stores the RF signals as a time-domain waveform. Additionally, the instrument 102 may also demodulate the incoming RF signal and store it as a demodulated in-phase and quadrature (IQ) waveform. Generally, this conversion is performed by applying a center frequency to the signal to derive the IQ components. The stored RF signal may also be decoded by the decoder 105, as described in detail below. Then the instrument 102 may display the decoded responses on the user interface 154 for the user, or the instrument may create one or more data files that store the decoded data. In this way the user may use the instrument 102 to decode the RF signals 114 that were generated by the data transmission device 110 in a manner not possible previously. In other words, previously, only devices that are part of the piconet could decode the data packets sent by the data transmission device 110, because only the devices that were part of the piconet have knowledge of which frequency each subsequent data packet will be transmitted. Embodiments according to the disclosure, however, have developed a methodology to decode the data packets, for example, by the instrument 102, even though the instrument is not part of the piconet.
Each frame of data sent by the data transmission device 110 has a different center frequency. Also, each frame is encoded with an unknown coding. Embodiments according to the disclosure first determine the center frequency of each frame sent by the data transmission device 110. Then, each packet is decoded as described in detail below. Information that is available to the instrument 102 by capturing the RF waveform includes not only the timing of each data packet, as described above, but also includes a demodulated waveform in the form of an IQ waveform that is generated by the instrument 102 from the captured RF signal. In practice, the RF signal detected by the antenna 120 of the instrument 102 (
A first step in decoding the incoming data packets is to identify the center frequency for each of the packets captured by the instrument 102. Each frame has a different center frequency, which is determined by some of the address bits of the master device in the piconet. But, since the instrument 102 is not part of the piconet, it does not know at which particular frequency, i.e., channel, on which the next data packet is transmitted. Embodiments according to the disclosure are able to determine the center frequency of the data packets using new techniques.
One method of determining the center frequency of a data packet is to produce a short-time Fourier transform (STFT) of the RF signal containing the packet to analyze how the frequency content of a nonstationary signal changes over time. Both the time domain and the frequency domain of the signal in 3d form can be observed.
This process described with reference to
Individual bits of the Bluetooth™ frame 600 are modulated using Gaussian Frequency Shift Keying (GFSK) having a relatively low +/−200 kHz frequency offset variation from the center frequency of the frame. Recall from above that the center frequency of each frame is determined, at a general level, using the Short Time Fourier Transform described above with reference to
While decoding the Bluetooth™ frame 600 using the instrument 102 (
Since the Bluetooth™ frame 600 is modulated using GFSK, as described above, it is possible to evaluate the frequency deviation for each symbol interval individually to determine the exact starting bit of the Bluetooth™ frame 600.
In accordance with embodiments, a process of determining the exact starting point of the Bluetooth™ frame 600 begins by plotting the frequency deviation for each symbol interval, which forms the eye diagram illustrated in
Once the start and end of the Bluetooth™ frame 600 is identified, and after compensating the center frequency correction, the portion of the IQ waveform in the frame is demodulated. After the exact beginning of the Bluetooth™ frame 600 is identified, then the sync word is located, which immediately follows the 4 preamble bits (
The remainder of the Bluetooth™ frame 600, other than the access code portion, may be scrambled with a data whitening word to randomize the data from redundant patterns and to minimize Direct Current (DC) bias in the frame transmission. If the Bluetooth™ frame 600 is scrambled, the scrambled portions include the packet header as well as the payload (
Data whitening as part of the transmission process is illustrated in
Decoding the received Bluetooth™ packet 600 as illustrated in
Embodiments according to the disclosure provide a system and methods to, using an oscilloscope or other test and measurement instrument, acquire and decode a complete transaction of a Bluetooth conversation, or other frequency-hopping protocol, without being part of the communication network. Also, embodiments allow for testing and verifying frequency-hopping sequences in communication networks.
The above-described mechanism used to find start and end of the frame using an eye diagram prevents the locking to wrong start of the frame using preamble. Also, the brute force mechanism of finding the LAP and creating whitening sequence enable embodiments to decode the payload and header, which has not been previously possible without being part of the network, as typically only members of the network have the whitening code available.
Aspects of the disclosure may operate on particularly created hardware, on firmware, digital signal processors, or on a specially programmed general-purpose computer including a processor operating according to programmed instructions. The terms controller or processor as used herein are intended to include microprocessors, microcomputers, Application Specific Integrated Circuits (ASICs), and dedicated hardware controllers. One or more aspects of the disclosure may be embodied in computer-usable data and computer-executable instructions, such as in one or more program modules, executed by one or more computers (including monitoring modules), or other devices. The operations described above may be performed by particular hardware or combinations of hardware and software. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on a non-transitory computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, Random Access Memory (RAM), etc. As will be appreciated by one of skill in the art, the functionality of the program modules may be combined or distributed as desired in various aspects. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, FPGA, and the like. Particular data structures may be used to more effectively implement one or more aspects of the disclosure, and such data structures are contemplated within the scope of computer executable instructions and computer-usable data described herein.
The disclosed aspects may be implemented, in some cases, in hardware, firmware, software, or any combination thereof. The disclosed aspects may also be implemented as instructions carried by or stored on one or more or non-transitory computer-readable media, which may be read and executed by one or more processors. Such instructions may be referred to as a computer program product. Computer-readable media, as discussed herein, means any media that can be accessed by a computing device. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.
Computer storage media means any medium that can be used to store computer-readable information. By way of example, and not limitation, computer storage media may include RAM, ROM, Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Video Disc (DVD), or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, and any other volatile or non-volatile, removable or non-removable media implemented in any technology. Computer storage media excludes signals per se and transitory forms of signal transmission.
Illustrative examples of the technologies disclosed herein are provided below. A configuration of the technologies may include any one or more, and any combination of, the examples described below.
Example 1 is directed to a test and measurement system for a frequency-hopping communication system, the test and measurement system including a radio frequency antenna structured to receive a signal from a frequency-hopping data transmitting device including at least two frames of data in which the at least two frames of data are sent at two or more unique radio frequencies, and a decoder structured to decode the at least two frames of data without prior knowledge of the two or more unique radio frequencies at which the frequency-hopping data transmitting device sent the at least two frames of data.
Example 2 is directed to a test and measurement system according to Example 1, further comprising a short-time Fourier transform processor structured to determine the two or more unique radio frequencies.
Example 3 is directed to a test and measurement system according to Example 2, in which the short-time Fourier transform processor is structured to determine a deviation frequency for each of the two or more unique radio frequencies.
Example 4 is directed to a test and measurement system according to any of the preceding Examples, further comprising a gaussian frequency shift key processor.
Example 5 is directed to a test and measurement system according to Example 4, in which the gaussian frequency shift key processor is configured to determine a frequency deviation for a plurality of symbol intervals contained in at least one of the at least two frames of data.
Example 6 is directed to a test and measurement system according to any of the preceding Examples, further comprising an In-phase Quadrature (IQ) processor structured to decode the signal received from the frequency-hopping data transmitting device.
Example 7 is directed to a test and measurement system according to Example 6, in which the signal received from the frequency-hopping data transmitting device is stored as an IQ waveform and as a time-domain waveform.
Example 8 is directed to a test and measurement system according to any of the preceding Examples, further comprising a polynomial extractor structured to determine a whitening word used to scramble the at least two frames of data.
Example 9 is directed to a test and measurement system according to any of the preceding Examples, in which the frequency-hopping data transmitting device transmits the at least two frames of data according to a Bluetooth™ protocol.
Example 10 is directed to a test and measurement system according to any of the preceding Examples, further comprising a memory structured to store the decoded at least two frames of data in a list indexed by frame number.
Example 11 is a method of decoding, in a test and measurement instrument, at least two frames of data sent from a frequency-hopping data transmitting device, including receiving through a radio frequency antenna a signal from the frequency-hopping data transmitting device including at least two frames of data in which the at least two frames of data are sent at two or more unique radio frequencies, and decoding the at least two frames of data without prior knowledge of prior knowledge of the two or more unique radio frequencies at which the frequency-hopping data transmitting device sent the at least two frames of data.
Example 12 is a method according to Example 11, further comprising determining the two or more unique radio frequencies using a short-time Fourier transform processor.
Example 13 is a method according to any preceding Example methods 11-12, further comprising, with the short-time Fourier transform processor, determining a deviation frequency for each of the two or more unique radio frequencies.
Example 14 is a method according to any preceding Example methods 11-13, further comprising determining a frequency deviation for a plurality of symbol intervals contained in at least one of the at least two frames of data with a gaussian frequency shift key processor.
Example 15 is a method according to any preceding Example methods 11-14, further comprising decoding the signal from the frequency-hopping data transmitting device using an In-phase Quadrature (IQ) processor.
Example 16 is a method according to Example 15, further comprising storing the signal from the frequency-hopping data transmitting device in the instrument as an IQ waveform and as a time-domain waveform.
Example 17 is a method according to any preceding Example methods 11-16, further comprising determining a whitening word used to scramble the at least two frames of data with a polynomial extractor.
Example 18 is a method according to any preceding Example methods 11-17, in which the frequency-hopping data transmitting device transmits the at least two frames of data according to a Bluetooth™ protocol.
Example 19 is a method according to any preceding Example methods 11-18, further comprising storing the decoded at least two frames of data in a list indexed by frame number.
The foregoing description has been set forth merely to illustrate example embodiments of present disclosure and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the substance of the invention may occur to person skilled in the art, the invention should be construed to include everything within the scope of the invention.
The previously described versions of the disclosed subject matter have many advantages that were either described or would be apparent to a person of ordinary skill. Even so, these advantages or features are not required in all versions of the disclosed apparatus, systems, or methods.
Additionally, this written description makes reference to particular features. It is to be understood that the disclosure in this specification includes all possible combinations of those particular features. Where a particular feature is disclosed in the context of a particular aspect or example, that feature can also be used, to the extent possible, in the context of other aspects and examples. Each feature disclosed in the specification, including the claims, abstract, and drawings, can be replaced by alternative features serving the same, equivalent, or similar purpose, unless expressly stated otherwise.
Also, when reference is made in this application to a method having two or more defined steps or operations, the defined steps or operations can be carried out in any order or simultaneously, unless the context excludes those possibilities.
Although specific examples of the invention have been illustrated and described for purposes of illustration, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
202321020488 | Mar 2023 | IN | national |