Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMMUNICATION SYNCHRONIZATION METHOD AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/058041
Kind Code:
A1
Abstract:
An embodiment includes a method comprising: receiving a one way communication from a computing node that includes first and second signals having first and second frequencies included in a header that is followed by a data payload; performing a fast Fourier transform (FFT) on the first and second signals to generate first and second groups of values corresponding to a group of FFT samples; wherein the first and second groups of values include first and second values corresponding to a single FFT sample; determining the second value is greater than the first value and consequently determining a number of FFT samples to advance forward from the single FFT sample to synchronize the FFT logic with the one way communication. Other embodiments are described herein.

Inventors:
MORALES-GARZA, Fernando (56 Pizarro Avenue, Rancho Viejo, Texas, 78575, US)
Application Number:
US2014/061056
Publication Date:
April 23, 2015
Filing Date:
October 17, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
EON CORPORATION (204 West Powell Lane, Building 4Austin, Texas, 78753, US)
International Classes:
H04L7/02
Foreign References:
US20110013708A12011-01-20
US20120327992A12012-12-27
US20110007625A12011-01-13
US20090268852A12009-10-29
US20120114031A12012-05-10
Attorney, Agent or Firm:
RICHARDS, II, E.E. "Jack" et al. (Trop, Pruner & Hu P.C. 1616 S. Voss Rd., Ste. 75, Houston Texas, 77057-2631, US)
Download PDF:
Claims:
What is claimed is: 1 . A method executed by at least one processor comprising:

receiving a one way communication from a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency, wherein the first and second signals are included in a header that is followed by a data payload;

performing a fast Fourier transform (FFT), with FFT logic, on the first and second signals to generate a first group of values corresponding to a group of FFT samples of the first signal and a second group of values corresponding to the group of FFT samples of the second signal; wherein the first group of values includes a first value corresponding to a single FFT sample included in the group of FFT samples and the second group of values includes a second value corresponding to the single FFT sample;

determining the second value is greater than or equal to the first value; and based on determining the second value is greater than the first value, determining a number of FFT samples to advance forward from the single FFT sample to synchronize the FFT logic with the one way communication and locate a FFT sample in the data payload and not in the header. 2. The method of claim 1 , wherein the one way communication is

indiscriminately broadcast from the computing node. 3. The method of claim 2, wherein the one way communication is an audio communication. 4. The method of claim 3, wherein the second signal is communicated in parallel with the first signal. 5. The method of claim 4, wherein the second signal is initially received after the first signal.

6. The method of claim 4, wherein the number is based on a size of the header. 7. The method of claim 1 , wherein the first and second values are based on energy amplitude of the first and second signals. 8. The method of claim 1 comprising:

receiving the one way communication that includes, in the time domain, a third signal having a third frequency included in the header;

performing the FFT on the third signal to generate a third group of values corresponding to the group of FFT samples of the third signal;

wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate;

wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate. 9. The method of claim 1 comprising determining a graph that visually depicts the first and second groups of values over a series of FFT samples. 10. At least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to any one of claims 1 to 9. 1 1 . An apparatus comprising means for performing any one of claims 1 to 9. 12. A communications device arranged to carry out a method according to any one of claims 1 to 12. 13. A method executed by at least one processor comprising:

communicating a one way communication to a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency and a third signal having a third frequency, wherein the first, second, and third signals are included in a header that is followed by a data payload; wherein the one way communication is an audio communication

indiscriminately broadcast to the computing node;

wherein the second signal is communicated in parallel with the first signal; wherein the second signal is initially communicated after the first signal; wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate;

wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate. 14. At least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to claim 13. 15. An apparatus comprising means for performing claim 13. 16. A communications device arranged to carry out a method according to claims 13. 17. An apparatus comprising:

at least one memory;

at least one processor, coupled to the memory, to perform operations comprising:

receiving a one way communication from a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency, wherein the first and second signals are included in a header that is followed by a data payload;

performing a fast Fourier transform (FFT), with FFT logic, on the first and second signals to generate a first group of values corresponding to a group of FFT samples of the first signal and a second group of values corresponding to the group of FFT samples of the second signal; wherein the first group of values includes a first value corresponding to a single FFT sample included in the group of FFT samples and the second group of values includes a second value corresponding to the single FFT sample;

determining the second value is greater than or equal to the first value; and

based on determining the second value is greater than the first value, determining a number of FFT samples to advance forward from the single FFT sample to synchronize the FFT logic with the one way communication and locate a FFT sample in the data payload and not in the header. 18. The apparatus of claim 17, wherein the one way communication is an audio communication indiscriminately broadcast from the computing node. 19. The apparatus of claim 17, the operations comprising:

receiving the one way communication that includes, in the time domain, a third signal having a third frequency included in the header;

performing the FFT on the third signal to generate a third group of values corresponding to the group of FFT samples of the third signal;

wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate;

wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate.

20. At least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to any one of claims 17 to19.

Description:
Communication Synchronization Method and System

[0001 ] This application claims priority to United States Provisional Patent

Application No. 61/961 ,529 filed on October 17, 2013 and entitled "Method to synchronize a fast Fourier transform (FFT) to a data stream", the content of which is hereby incorporated by reference.

[0002] This application claims priority to United States Provisional Patent

Application No. 61/962,393 filed on November 5, 2013 and entitled "System and method to synchronize the FFT running in a cellular phone with a data message", the content of which is hereby incorporated by reference.

[0003] This application claims priority to United States Provisional Patent

Application No. 61/964,663 filed on January 10, 2014 and entitled "System and method to synchronize the FFT running in a cellular phone with a data message", the content of which is hereby incorporated by reference.

Field of Technology

[0004] An embodiment addresses a communication protocol between two or more computing nodes.

Background

[0005] A Fourier transform (FT) converts a signal from the time domain (signal strength as a function of time) to the frequency domain (signal strength as a function of frequency). It shows the signal's spectral content, divided into discrete bins (frequency bands). The Fast Fourier Transform (FFT) is a common algorithm for Fourier transforms. It is more efficient (faster) than the Discrete Fourier Transform (DFT).

[0006] The frequency range and resolution on the frequency axis of a spectrum graph depends on the sampling rate and the size of the data record (the number of acquisition points). The number of frequency points or lines or bands in the power spectrum is N RE CORD/2, where N RE CORD is the number of signal points captured in the time domain. The first frequency line in the power spectrum represents DC

(frequency=0). The last frequency line can be found at fsAMPLE/2 - fsAMPLE/N RECORD- Frequency lines are spaced at even intervals of fsAMPLE N RECORD- They are commonly referred to as frequency bins or FFT bins. Bins can also be computed with reference to a data converter's sampling period: Bin = fsAMPLE N RECORD = 1/(N RE CORD X

AtsAMPLE)- For example, one may apply a sampling frequency of 82 MHz and take 8192 records. The frequency bin is 10kHz.

Brief Description of the Drawings

[0007] Features and advantages of embodiments of the present invention will become apparent from the appended claims, the following detailed description of one or more example embodiments, and the corresponding figures. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.

FIG. 1 is a diagram of a system using an embodiment of the invention to achieve peer to peer communication.

FIG. 2 is a diagram of a system using an embodiment of the invention to achieve one to many communications.

FIG. 3 is a graph showing how, in an embodiment of the invention, a FFT processed three frequencies, which were emitted at different times from each other, arriving as spectrum samples to the FFT.

FIG. 4 is a graph showing how, in an embodiment of the invention, a FFT processed ten frequencies, which were emitted at different times from each other, arriving as spectrum samples to the FFT.

FIG. 5 is a graph showing the first three frequencies illustrated in FIG.4 in addition to reference lines.

FIG. 6 is a graph showing the three frequencies illustrated in FIG. 5 with greater focus on when they cross one another.

FIG. 7 is a graph showing a message header, in the time domain, for the signal processed by the FFT shown in the FIG. 4. FIG. 8 is a graph showing, in an embodiment of the invention, how a theoretical FFT processed seven frequencies that were all emitted at the same time but which have increasing magnitudes at different times. The K line provides a detection reference in an embodiment of the invention.

FIG. 9 is a graph showing a message header, in the time domain, for the signal processed by the FFT shown in the FIG. 8.

FIGS. 10A and 10B include a flow diagram showing how an embodiment of the invention performs synchronization between two computing nodes.

FIG. 1 1 includes a system for use with an embodiment of the invention. Detailed Description

[0008] In the following description, numerous specific details are set forth but embodiments of the invention may be practiced without these specific details. Well- known circuits, structures and techniques have not been shown in detail to avoid obscuring an understanding of this description. "An embodiment", "various embodiments" and the like indicate embodiment(s) so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Some embodiments may have some, all, or none of the features described for other embodiments. "First", "second", "third" and the like describe a common object and indicate different instances of like objects are being referred to. Such adjectives do not imply objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

[0009] A conventional cellular phone or other form of computing node may be presented with an incoming data message that is encoded in multiple spectrum frequencies. The conventional cellular phone uses a FFT to separate the incoming frequencies, which may collectively reflect or form data bits. The FFT splits the spectrum into a number of portions; the number being directly proportionate to the size of the FFT. The size of the FFT is equal to the number of samples taken from the spectrum. Thus, a FFT with a 2048 FFT size includes 2048 input samples. The time to perform the FFT is proportionate (e.g., directly proportionate) to the FFT size. The cellular phone FFT takes a number of samples of an incoming data spectrum that equates to the size of the FFT. The FFT requires that the data bit be present in the samples. Thus, the data bit rate shall be less than the FFT rate unless the FFT is perfectly synchronized with the incoming data message. This is the case because if the data rate is the same as the FFT rate and the data is desynchronized with the FFT, a data bit could be present in two consecutive FFTs and, consequently, two adjacent data bits thereby creating error in reading the data encoded in the signals.

[0010] In many situations a data message is broadcast in a "one way" manner. For example, with an airplane black box beacon an audio signal is sent over a broadcast network. With conventional systems, such a signal could not possibly be controlled by multiple recipients (e.g., via handshake protocols with multiple recipient nodes) due to restrictions of, for example, power consumption, spectrum availability, and/or the time available to send the beacon message.

[001 1 ] However, an embodiment can work with such "one way" signals and can synchronize the FFT of a receiver computing node to such a one way signal using a data message header in the one way signal that communicates timing information to be detected by the first or the second FFT of the receiver computing node. The header uses more than one frequency with two or more (or all in some

embodiments) of the frequencies starting at different times during the time required to perform the FFT. The signal magnitudes (signal strength) between the

frequencies could be used to synchronize a following FFT (e.g., the next FFT that follows the FFT handling the header) with the data message (i.e., complete or finish synchronization so analysis of the data payload/data message may commence).

[0012] Thus, an embodiment relates to data communication systems and particularly to one way communication systems for communicating data messages to cellular phones.

[0013] An embodiment provides improvements over the above mentioned conventional systems by quickly synchronizing the FFT to the incoming signal, which includes data messages embedded in amplitude and/or phase in multiple

frequencies, in less time than with conventional systems. [0014] Specifically and as addressed above, with conventional systems a flow of periodical data is generated by a computer or smart cellular phone using various frequencies. The data (encoded in frequency domain) is then detected using a periodic FFT. However, conventional systems cannot adequately perform

synchronization in certain scenarios, such as when the parallel data bit rate is close or equal to the FFT size. There are draw backs to having larger FFTs and/or slower data bit rates which concern, for example, power consumption and the speed at which data may be communicated and processed. Thus, conventional systems cannot perform (or cannot perform without a great deal of error) one way

communication synchronization with extremely short data bursts (e.g., data included in less 10k samples). However, as will be described below and as briefly described above, an embodiment provides synchronization for such one way short data bursts.

[0015] For example, United States patent number 5,872,589 addresses data communication using audio frequencies that, when included in short data bursts, could benefit from embodiments described herein by reducing the time needed for the audio frequencies or codes to be embedded in the signals. For example, in a 30 second radio advertisement a marketer may want to learn the percentage of the advertisement that the viewer listened to. To do so the advertisement may need to embed ten to fifteen codes throughout the commercial, each with a need to be synchronized to the FFT on the phone whose microphone is "listening" to the advertisement. Embodiments can make this feasible by eliminating the need for "sync heads" or "synchronization headers" (or at least reducing the size of the sync heads thereby increasing data bit rate) for each of the ten to fifteen codes as well as data payload messages corresponding to the sync headers.

[0016] In an embodiment audio tones sent between two computing nodes may include a "key" that is short and points the receiving node to a cloud based location that may provide more information than would have been possible or efficient to include in the data message. Such a "key" may include information that identifies, for example, the amount of a cab fare and/or an ID of the cab driver. The receiving node (e.g., cellular phone), after receiving the key, could then access a cloud based/stored record based on "look up" information associated with the key. The cloud record may include the information (e.g., amount of fare, ID of cab driver, etc.). In other words, embodiments described herein may allow peer to peer

communication (e.g., smartphone to smartphone) or one-to-many communication (e.g., radio broadcast with information regarding a donation to a charity whereby the broadcast is widely and indiscriminately broadcast to many smartphones via radios in automobiles) in an efficient manner.

[0017] An embodiment provides how an FFT can synchronize itself with incoming data by jumping samples to get to the data payload or ignoring input samples to get to the data payload in an efficient manner. This improved synchronization ability helps increase the data bit rate considering less time is spent in attempting to achieve synchronization between the transmitter and receiver nodes (because without synchronization each data bit will need be present for a number of samples equal to a multiple (greater than one) of the FFT size).

[0018] FIG. 1 is a diagram of a system using an embodiment of the invention to achieve peer to peer communication. A taxi driver using computing node 1A communicates, for example, "D1 " information (e.g., his/her name, phone number, driver license, tax ID, and/or the cab fare earned for a cab ride) to a logic application coupled to (e.g., included in) node 1 A (element 1 ). Node 1 A creates a record in cloud based storage, such as storage coupled to a cloud baser server node (element 2). The record or "D2, D1 cloud register" includes D1 information along with a "D2 address" (e.g., an address serving as a look up element) randomly generated by cell phone 1 A. The D2 address is also detected by the passenger cell phone 1 B

(element 3), using an embodiment described herein for data synchronization. This may occur when 1 B is running an application to receive D2 after cellular phone 1 A emits the D2 data message in all directions (i.e., 1A indiscriminately broadcasts a one way communication that 1 B receives). Cellular phone 1 B receives D2 and uses D2 (element 4) to retrieve from the cloud based memory (element 5) D1 information (or information related thereto) such as the amount of the fare and the ID of the driver to whom the fare is owed. The passenger may use 1 B to complete the economic transaction with, for example, payment authorization data (D5) (element 6) after he/she accepts the transaction by entering information D3. D3 could include, for example, passenger name, phone number, payment method, e-mail address, and a personal identification number/authorization code to authorize the payment. D3 could be introduced as part of the setup of the application on 1 B to simplify the buying experience so during the "sales" interface with the cab driver the user just enters his/hers code to authorize the transaction. Similarly, D1 could be introduced to 1 A as part of the setup of the application on 1A to simplify the collection of fees so the taxi driver just enters his/hers fees into the application to request the transaction.

[0019] In an embodiment, D5 could be as simple as a passenger G-mail sent to the taxi driver using a G-mail send/receive cash function or other e-wallet type purchasing protocol (e.g., G-mail cash, PayPal, or Square cash) that allows a passenger to easily set up debit or credit cards accounts to pay or get paid. The taxi driver cell phone application could e-mail the passenger a receipt containing the GPS route trip, taxi driver name, phone number, tax ID and fees paid.

[0020] FIG. 2 is a diagram of a system using an embodiment of the invention to achieve one to many communications. For example, an advertiser using

conventional cellular phone 1A may introduce D1 information (e.g., company name, phone number, company address, product description, and price per unit) into an application (element 1 ) that creates a D2/D1 cloud register with the information D1 provided by the advertiser and with address D2 randomly generated by the advertiser cell phone 1 A (element 2). The address D2 could be detected by the audience cell phone 1 B when 1 B is running a logic application (which incorporates an embodiment of the invention) to receive D2 after the advertiser cell phone 1A emits the D2 data message indiscriminately over the broadcast network (element 3). The audience cellular phones 1 B pick up the message and use D2 (element 4) to retrieve from the cloud the register/memory contents containing information D1 (element 5) sent by the advertiser to sell his/her products or services. Then the audience, using his/her cell phones 1 B, may complete the economic transaction using data D5 (element 6) after he/she accepts the transaction by entering information D3. D3 could include, for example, phone 1 B owner's name, phone number, address to receive the goods or services, payment method, e-mail address, and a personal identification number (PIN) to authorize the payment. D3 could be introduced as part of the setup of the application on 1 B to simplify the buying experience so the user just enters his/hers code/PIN to authorize the transaction. D5 could be as simple as an audience G-mail sent to the advertiser G-mail using the G-mail send/receive cash function. The advertiser could email a receipt to all buyers with the receipt containing delivery time and routing number.

[0021 ] FIG. 3 is a graph showing how, in an embodiment of the invention, a FFT processed three frequencies, which were emitted at different times from each other, arriving as spectrum samples to the FFT. Specifically, FIG. 3 illustrates a 4096 sample graph of three curves (S1 -SUM, S2-SUM and S3-SUM). The values of the three curves represent the summed or accumulated (e.g., integrated) magnitudes of each of the three frequencies. The three frequencies were added together to form the spectrum of interest. That signal data including the three frequencies was used to calculate 4096 FFTs (with an FFT size of 2048). The first FFT results illustrated in the graph are the results of an FFT that only takes one sample containing energy emitted by S1 . Each additional point on the graph illustrate the results calculated by an FFT combining increasing numbers of samples of the S1 into the energy of S1 until the 4096 th sample point is reached. The three frequencies where generated at frequencies precisely detected by two FFT BINs. Thus, the signals illustrated are the sum of two adjacent BINs for each one frequency to show all the energy detected by the FFT. The three frequencies selected were far from each other. Each frequency starts as follows: S1 and S3 start together with S1 having an amplitude equal 1 and S3 having an amplitude equal to 0.5. 1024 samples later S2 starts with an amplitude equal to 1 . After 2048 samples the frequencies S1 and S3 end. The frequency S2 continues until the 4096 th sample is reached. Note that frequency magnitudes are important only as a relationship between them (e.g., two of them have the same magnitude and the other has 50% of the amplitude of other frequencies). Note also that any sample of the time domain file is encoded with the magnitudes of the three frequencies. The word "encoded" is used because the time domain file contains the sum of three sinusoidal signals, each one at a different frequency, and could be samples with a very small value, zero, or even negative values. [0022] The graph of FIG. 3 has a first point located at (0, Y), which shows the magnitude value of the three frequencies calculated by an FFT (with FFT size = 2048) using input data consistent with 2047 zeros and one sample of the three frequencies in the time domain. The second point (1 , Y) shows the magnitude value of the three frequencies calculated by an FFT size 2048 using as input data with 2046 zeros and two samples of the three frequencies in the time domain. Continuing in a similar form until the point (2048, Y) shows the magnitude value of the three frequencies calculated by an FFT (FFT size = 2048) using as input data 2048 samples of the three frequencies in the time domain. From that point on the input samples continue shifting to the right which at the end of the FFTs (FFT 4096) the only frequency present is S2. Consequently the graph shows a decent of the two frequencies that no longer are present in the time domain file. The graph shows that S2-SUM crosses the other two curves splitting the graph into two points of interest that create two areas of interest. The first point of interest is when S2-SUM is equal to S3-SUM. The first area of interest is when S2-SUM is greater than S3-SUM but smaller than S1 -SUM. The second point of interest is when S2-SUM is equal to S1 - SUM. And the second area of interest is when S2-SUM is greater than S1 -SUM. In an embodiment, an FFT calculation by an application running on a cellular phone could detect a message when the FFT obtains the magnitude value of S2-SUM equal or greater than S3-SUM and then, depending of the magnitude values of the three frequencies, calculate a jump described further below with regard to FIG. 4.

[0023] FIG. 4 is a graph showing how, in an embodiment, a FFT processes ten frequencies, which were emitted at different times from each other, arriving as spectrum samples to the FFT. FIG. 4 illustrates 4096 samples of ten curves (Ref and S1 to S9). The values of the ten curves represent the magnitudes of ten frequencies added together to form the spectrum of interest. That information file was used to calculate 4096 FFTs (with FFT size = 2048). The first FFT results illustrated in the graph are the results of an FFT that only takes one sample containing energy emitted by the Ref curve. Each additional point on the graph illustrates the results calculated by an FFT and each time thereafter considers one more sample into the energy of Ref until the 4096 th point is reached. [0024] The ten frequencies were generated in the middle of a FFT BIN

corresponding to each frequency and thus the energy in each BIN corresponds to each frequency. Each frequency starts with Ref having an amplitude equal to .8, 320 samples later S1 includes a non-zero amplitude, and then in 256 sample increments S2 to S9 include non-zero amplitudes. All frequencies end after the 4096 th FFT. In an embodiment frequency magnitudes are important as a relationship between them, nine of them having the same magnitude and the other have 80% of the magnitude other frequencies. Note also that in any sample of the time domain the information is encoded with the magnitudes of the ten frequencies. The word "encoded" is used because the time domain file contains the sum of ten sinusoidal signals, each one at a different frequency and could be samples with a very small value, zero, or even negative values.

[0025] FIG. 4 has a first point located at (0, Y) showing the magnitude value of the Ref frequency calculated by an FFT (FFT size = 2048), using input data with 2047 zeros and one sample of the frequencies in the time domain. The second point (1 , Y) shows the magnitude value of the Ref frequency calculated by an FFT size = 2048 using input data with 2046 zeros and two samples of the frequencies in the time domain continuing in a similar pattern until the point (2048, Y) shows the magnitude value of seven frequencies calculated by an FFT size = 2048 using input data with 2048 samples of the seven frequencies in the time domain. From that point on the input samples continue shifting to the right part of the time domain file.

[0026] In an embodiment an FFT calculation of an application running continually on a cellular phone could detect a message when the FFT obtains the magnitude value of Ref is equal or greater than S1 . Then, depending on the magnitude values of the some or all of frequencies S1 -S9, it is possible calculate a jump to payload data (which is discussed below).

[0027] FIG. 5 is a graph showing the first three frequencies illustrated in FIG.4 in addition to reference lines. Specifically, FIG. 5 illustrates the portion of FIG. 4 where the Ref line and the S1 line cross each other. The X axis is the number of samples in the FFT and the Y axis is the energy from the magnitude of each frequency accumulated by a particular sample. [0028] That point's coordinates are (1600, 1280), which means that the crossing occurred at 1600 samples inside the message head (also referred to as header or sync head). FIG. 5 also illustrates that the two frequency magnitudes are identical at 1280, which is 80% of 1600. That is due to the unitary magnitude values assigned to the frequencies and that 80% of that is assigned to the magnitude value of the Ref frequency. In other words the relationships of the magnitude values of the frequencies allow the embodiment to recover the time passed between frequencies independently of the message signal strength. The graph also shows that S1 and S2 are 45 degree lines with a maximum value at 2048. The Ref 80% maximum value will be 80% of 2048 (which equals 1638). The 2048 input samples feed to a FFT from left to right (right front is the one that needs to be at the end of the data bit of the message). Because of that and because the message head is 4096 samples long and the data is 2048, using all these values the jump is 2048 + 4096 = 6144 and 6144 - 1600 = 4544 samples when Ref is equal to S1 .

[0029] FIG. 6 is a graph showing the three frequencies illustrated in FIG. 5 starting at (1600, 1280) with greater focus on when they cross one another. The graph shows that to calculate the jump when S1 is greater than the Ref and before S2 cross the Ref signal at (2214, 1638) require some explanation. The relations between magnitude values of S1 and the magnitude value of Ref give an indication of how far from the crossing point (1600, 1280) the FFT is. Because all signals will be in magnitude values related to the original message the percentage of the difference shall be the same 20% of the original signals. Thus the jump is equal to 6144, which is equal to three FFT sizes (where FFT size = 2048) required to pass the 4096 samples of the head plus 2048 samples of the first data bit. From that 6144 samples one needs to subtract the number of samples passed to detect the message. That number of samples passed depends on what frequency crosses the magnitude value of Ref from the last sample to the first sample because the last sample to be emitted will wait more than the first sample to be emitted after the reference.

[0030] Thus, an embodiment calculates a synchronization jump as follows: IFS9 > Ref, Then Jump = 6144- (2368 + S9*1638/Ref)— > END

IFS8 > Ref, Then Jump = 6144- (2112 + S8*1638/Ref) — > END

IFS7 > Ref, Then Jump = 6144- (1856 + S7*1638/Ref) — > END

IFS6 > Ref, Then Jump = 6144- (1600 + S6*1638/Ref) — > END

IFS5 > Ref, Then Jump = 6144- (1344 + S5*1638/Ref) — > END

IFS4 > Ref, Then Jump = 6144- (1088 + S4*1638/Ref) — > END

IF S3 > Ref, Then Jump = 6144- (832 + S3*1638/Ref)- -> END

IFS2 > Ref, Then Jump = 6144- (576 + S2*1638/Ref)- -> END

[0031 ] The magnitude of S1 is used to detect the message when no other frequency is greater than Ref. In such a case the jump is = 6144 - (320 +

S1*1280/Ref) when S1 is equal to Ref. To calculate the jump when S1 is greater than Ref the 614 different (S1/Ref) values should be place in a variable V(i) and searched for the i that contains the closest match to calculate the jump = 6144 - (320 + 1280 + i). The number 614 is the number of samples between 1600 and 2214 that is the crossing point of S2 = Ref. Another solution is to reduce the number of frequencies to nine and use S2 to detect. The 614 numbers are:

1.0001561521.00031211 1.0004678731.0006234411.000778816

1.0009339981.0010889861.0012437811.0013983841.001552795

1.0017070141.0018610421.0020148791.0021685251.002321981

1.0024752481.0026283241.0027812111.00293391 1.00308642

1.0032387421.0033908751.0035428221.0036945811.003846154

1.00399754 1.00414874 1.0042997541.0044505831.004601227

1.0047516861.0049019611.0050520511.0052019581.005351682

1.0055012221.00565058 1.0057997561.0059487491.006097561

1.0062461911.0063946411.0065429091.0066909981.006838906

1.0069866341.0071341831.0072815531.0074287451.007575758

1.0077225921.0078692491.0080157291.0081620311.008308157

1.0084541061.0085998791.0087454761.0088908981.009036145

1.0091812161.0093261131.0094708361.0096153851.00975976

1.0099039621.01004799 1.0101918471.01033553 1.010479042

1.0106223821.01076555 1.0109085481.0110513741.01119403 1.01 1336516 1 .01 1478831 1.01 1620977 1.01 1762954 1.01 1904762 1.012046401 1 .012187872 1.012329174 1.012470309 1.01261 1276 1.012752076 1 .012892709 1.013033175 1.013173475 1.013313609 1.013453578 1 .013593381 1.013733018 1.013872491 1.01401 1799 1.014150943 1 .014289923 1.01442874 1.014567393 1.014705882 1.014844209 1 .014982374 1.015120376 1.015258216 1.015395894 1.01553341 1 1 .015670767 1.015807963 1.015944997 1.016081871 1.016218586 1 .01635514 1.016491535 1.016627771 1.016763848 1.016899767 1 .017035527 1.017171 129 1.017306574 1.01744186 1.01757699 1 .01771 1963 1.017846779 1.017981439 1.0181 15942 1.01825029 1 .018384482 1.018518519 1.0186524 1.018786127 1.0189197 1 .0190531 18 1.019186382 1.019319493 1.01945245

1.019585253 1 .019717904 1.019850403 1.019982749 1.0201 14943 1.020246984 1 .020378875 1.020510614 1.020642202 1.020773639 1.020904926 1 .021036062 1.021 167048 1.021297885 1.021428571 1.021559109 1 .021689498 1.021819738 1.021949829 1.022079772 1.022209567 1 .022339215 1.022468714 1.022598067 1.022727273 1.022856332 1 .022985244 1.02311401 1.02324263 1.023371 105 1.023499434 1 .023627617 1.023755656 1.02388355 1.02401 1299 1.024138905 1 .024266366 1.024393683 1.024520857 1.024647887 1.024774775 1 .024901519 1.025028121 1.025154581 1.025280899 1.025407075 1 .025533109 1.025659002 1.025784753 1.025910364 1.026035834 1 .026161 164 1.026286353 1.02641 1403 1.026536313 1.026661083 1 .026785714 1.026910206 1.02703456 1.027158774 1.027282851 1 .027406789 1.02753059 1.027654252 1.027777778 1.027901 166 1 .028024417 1.028147532 1.02827051 1.028393352 1.028516058 1 .028638628 1.028761062 1.028883361 1.029005525 1.029127554 1 .029249448 1.029371208 1.029492834 1.029614325 1.029735683 1 .029856907 1.029977998 1.030098955 1.03021978 1.030340472 1 .030461032 1.030581459 1.030701754 1.030821918 1.03094195 1 .03106185 1.031 181619 1.031301258 1.031420765 1.03154014210316593891.0317785051.0318974921.032016349 1.0321350761 0322536741.0323721441.0324904841.032608696 1.0327267791 0328447341.0329625611.03308026 1.033197832 1.0333152761 0334325931.0335497841.0336668471.033783784 1.0339005941 0340172791.0341338371.03425027 1.034366577 1.0344827591 0345988151.0347147471.0348305541.034946237 1.0350617951 0351772291.0352925391.0354077251.035522788 1.0356377281 0357525441.0358672381.0359818081.036096257 1.0362105831 0363247861.0364388681.0365528281.036666667 1.0367803841 03689398 1.0370074551.0371208091.037234043 1.0373471561 0374601491.0375730221.0376857751.037798408 1.0379109231 0380233171.0381355931.03824775 1.038359788 1.0384717081 03858351 1.0386951931.0388067581.038918206 1.0390295361 0391407491.0392518441.0393628231.039473684 1.0395844291 0396950581.03980557 1.0399159661.040026247 1.0401364111 04024646 1.0403563941.0404662131.040575916 1.0406855051 0407949791.0409043391.0410135841.041122715 1.0412317331 0413406361.0414494261.0415581031.041666667 1.0417751171 0418834551.04199168 1.0420997921.042207792 1.04231568 1 0424234561.04253112 1.0426386731.042746114 1.0428534441 0429606631.04306777 1.0431747671.043281654 1.04338843 1 0434950961.0436016511.0437080971.043814433 1.0439206591 0440267771.0441327841.0442386831.044344473 1.0444501541 0445557271.0446611911.0447665471.044871795 1.0449769351 0450819671.0451868921.0452917091.045396419 1.0455010221 0456055191.0457099081.0458141911.045918367 1.0460224381 0461264021.04623026 1.0463340121.046437659 1.0465412 1 0466446371.0467479671.0468511931.046954315 1.0470573311 0471602431.0472630511.0473657551.047468354 1.04757085 1 0476732421.0477755311.0478777161.047979798 1.0480817771 0481836531.0482854261.0483870971.048488665 1.0485901311 0486914951.0487927571.0488939171.048994975 1.049095932 1 .049196787 1.049297541 1.049398195 1.049498747 1.049599198 1 .049699549 1.0497998 1.04989995 1.05

1.05009995 1 .0501998 1.050299551 1.050399202 1.050498753 1.050598205 1 .050697559 1.050796813 1.050895968 1.050995025 1.051093983 1 .051 192843 1.051291605 1.051390268 1.051488834 1.051587302 1 .051685672 1.051783944 1.05188212 1.051980198 1.052078179 1 .052176063 1.052273851 1.052371542 1.052469136 1.052566634 1 .052664036 1.052761341 1.052858551 1.052955665 1.053052683 1 .053149606 1.053246434 1.053343166 1.053439803 1.053536346 1 .053632793 1.053729146 1.053825405 1.053921569 1.054017638 1 .0541 13614 1.054209496 1.054305284 1.054400978 1.054496579 1 .054592086 1.054945055 1.055555556 1.056166056 1.056776557 1 .057387057 1.057997558 1.058608059 1.059218559 1.05982906 1 .06043956 1.061050061 1.061660562 1.062271062 1.062881563 1 .063492063 1.064102564 1.064713065 1.065323565 1.065934066 1 .066544567 1.067155067 1.067765568 1.068376068 1.068986569 1 .06959707 1.07020757 1.070818071 1.071428571 1.072039072 1 .072649573 1.073260073 1.073870574 1.074481074 1.075091575 1 .075702076 1.076312576 1.076923077 1.077533578 1.078144078 1 .078754579 1.079365079 1.07997558 1.080586081 1.081 196581 1 .081807082 1.082417582 1.083028083 1.083638584 1.084249084 1 .084859585 1.085470085 1.086080586 1.086691087 1.087301587 1 .087912088 1.088522589 1.089133089 1.08974359 1.09035409 1 .090964591 1.091575092 1.092185592 1.092796093 1.093406593 1 .094017094 1.094627595 1.095238095 1.095848596 1.096459096 1 .097069597 1.097680098 1.098290598 1.098901099 1.09951 16 1 .1001221 1.100732601 1.101343101 1.101953602 1.102564103 1 .103174603 1.103785104 1.104395604 1.105006105 1.105616606 1 .106227106 1.106837607 1.107448107 1.108058608 1.108669109 1 .109279609 1.1098901 1 1.1 1050061 1 1.1 1 1 1 1 1 1 1 1 1.1 1 1721612 1 .1 123321 12 1.1 12942613 1.1 135531 14 1.1 14163614 1.1 147741 15 1 .1 15384615 1.1 159951 16 1.1 16605617 1.1 172161 17 1.1178266181.1184371181.1190476191.11965812 1.12026862

1.1208791211.1214896211.1221001221.1227106231 .123321123

1.1239316241.1245421251.1251526251.1257631261 .126373626

1.1269841271.1275946281.1282051281.1288156291 .129426129

1.13003663 1.1306471311.1312576311.1318681321 .132478632

1.1330891331.1336996341.1343101341.1349206351 .135531136

1.1361416361.1367521371.1373626371.1379731381 .138583639

1.1391941391.13980464 1.14041514 1.1410256411 .141636142

1.1422466421.1428571431.1434676431.1440781441 .144688645

1.1452991451.1459096461.1465201471.1471306471 .147741148

1.1483516481.1489621491.14957265 1.15018315 1 .150793651

1.1514041511.1520146521.1526251531.1532356531 .153846154

1.1544566541.1550671551.1556776561.156288156

[0032] The numbers 320, 576, 832, 1088, 1344, 1600, 1856, 2112, 2368 are arbitrarily selected as time marks between frequencies and other numbers could work similarly provided both the receiver and the transmitter are aware of the offset values to be used. As explained above, the Ref 80% maximum value will be 80% of 2048 (which equals 1638), where S1 and S2 are 45 degree lines with a maximum value at 2048. 1280 is the Y value where S1 crosses Ref. The numbers 1638 and 1280 are the consequences of selecting the reference to be 80% of the magnitude values of the other frequencies, but other % numbers may be used in other embodiments. The number 6144 is the result of selecting the size of the FFT equal to 2048 but other embodiments may use other values. In this embodiment the number 6144 includes a sync head of two FFTs (where FFT size = 2048) plus an additional FFT that would include data at the end of the end of the FFT (however, other embodiments may use other numbers or fractions). The 6144 may be a value that moves the analyze beyond the sync head and into enough of the payload to achieve accurate frequency decoding to recognize the bits encoded in the frequency domain.

[0033] FIG.7 is a graph showing a message header, in the time domain, for the signal processed by the FFT shown in FIG.4. Specifically, FIG.7 illustrates a graph of the ten frequencies Ref and S1 to S9 in the time domain. In other words the graph is the sum of the ten frequencies. Each of the frequencies includes sinusoidal waves with different periods. Thus, the sum of all of signals looks like the illustration. The 4096 samples of the message head are the raw data utilized by the 4096 FFTs that calculate the values illustrated in FIG. 4.

[0034] FIG. 8 is a graph showing, in an embodiment of the invention, how a theoretical FFT processed seven frequencies that were all emitted at the same time but which have increasing magnitudes at different times. The K line provides a detection reference in an embodiment of the invention. Specifically, FIG. 8 illustrates a graph of seven curves S1 to S7 numerically created as calculated by 6144 FFTs (FFT size = 2048). The first FFT results illustrated in the graph are the results of an FFT that only takes 2048 samples containing energy emitted by the seven frequencies at a small constant energy level. Each additional point on the graph illustrate the results calculated by an FFT that each time factors one more sample into the energy of the seven frequencies until the 6144 th point is reached. The graph also shows a line K added to illustrate a virtual reference. K is calculated using the small energy level of the seven frequencies illustrated at the beginning of the graph. The idea is to send the reference at the beginning of the seven frequencies without using one frequency for that purpose. The seven frequencies were generated in the middle of a corresponding FFT BIN. Thus the signals are the energy in the BINs for each frequency. Each frequency starts at the same time with a magnitude equal to a fraction (e.g., 20%) of the K to be used as a reference. Due to the desynchronization of the samples the data message with the samples is taken by the FFT to send the reference in the same frequencies that will communicate the timing to synchronize. The frequencies shall be at the constant energy value for at least double the number of samples utilized by the FFT. Then each frequency starts at a different time with identical magnitude, growing at identical rate but accordingly to the FFT size selected. The process of detection and calculation of the jump is almost identical that of FIG. 4 except that FIG. 8 utilizes only seven frequencies instead of nine and the reference is virtual. FIG. 8 illustrates that all frequencies stop being emitted at the same time and shows that the amount of time required to decrease to zero is the FFT size of 2048 reflecting the fact that the FFTs are moving one sample per position in the x axis showing the importance of synchronization.

[0035] FIG. 9 is a graph showing a message header, in the time domain, for the signal processed by the FFT shown in the FIG. 8. Specifically, FIG. 9 illustrates a graph of the seven frequencies S1 to S7 in the time domain. The graph begins with the seven frequencies at low energy level and a payload data after the sync head for a total of 14,336 samples. In other words the graph is the sum of the seven frequencies. Each of the frequencies are sinusoidal waves with different periods. Thus, the sum of the signals look like the illustration. The samples of the signals are the numeric raw data utilized by the FFT to calculate the values illustrated in FIG. 8.

[0036] FIGS. 10A and 10B includes a flow diagram showing how an embodiment of the invention performs synchronization between two computing nodes. The process may be implemented with conventional communications hardware such as a microphone, audio jack, cellular radio frequency receiver, Wi-Fi receiver, Bluetooth receiver, NFC receiver or low energy Bluetooth receiver, digital signal processing (DSP), and logic that takes the time domain spectrum samples and stores them in the memory of the DSP to guarantee an interrupted supply of samples to the FFT block. The FFT block will take x samples each time and will return for the next x samples after finishing processing the previous samples. The "x" is the selected FFT size. Thus, the process of FIGS. 10A and 10B is very similar to the above process used to explain FIG. 6.

[0037] The process starts (1001 ) and then reads a FFT size (i.e., "X") worth of samples (1002) upon which it calculates FFTs (1003) and calculates noise in the data (1004). The Ref signal is compared against a noise value via comparator 1005 and then either new data is analyzed (1034) or the Ref is compared to S1 via comparator 1006. Then new data is acquired (1033), a jump value is calculated 1007 (and see above discussed regarding FIG. 6), or Ref is then compared to S9 with similar pattern progressing through steps 1008, 1009, 1010, 101 1 , 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021 , 1020, 1021 , 1022, 1023, 1024. The process then again obtains new data (1025) and performs additional FFTs (1026). Elements 1027, 1028, 1029, 1030 concern a loop to read payload bits once the previous values were used to obtain synchronization. Error detection and correction is then performed (1031 ) and then the process returns home or to an application within which it resides (1032).

[0038] The present invention should be viewed as independent of the numeric values selected to explain the invention as numbers are related to the FFT size selected. Thus, numbers could be different by changing the number of samples taken by the FFT. For example, increasing or decreasing the FFT size may change the value 6144 (addressed above). Further, design choices regarding error tolerance and the like may after the jump value.

[0039] The above description at times represented embodiments using audible frequencies. However, other embodiments are not so limited and may use light (e.g., light of different colors/frequencies being used to communicate data bits) and other media that can transport data. Audio was used because speakers and microphones are mechanical devices with mechanical inertia, which can lead to noise and therefor illustrates how embodiments can operate effectively even in difficult environments.

[0040] An embodiment includes a system and method of communication to synchronize computers, cellular phones, or digital signal processors comprising the steps of receiving a data message with a head signal containing two or more frequencies, processing that signal through an FFT algorithm, and using the frequency amplitudes to calculate how to synchronize the next FFT with the data message.

[0041 ] Jump determination logic discussed herein may be utilized in a system such as the system of Fig. 1 1 , discussed below. In fact, embodiments may be used in many different types of systems. For example, in one embodiment a communication device including the system of FIG. 1 1 can be arranged to perform the various methods and techniques described herein. Of course, the scope of the present invention is not limited to a communication device, and instead other embodiments can be directed to other types of apparatus for processing instructions. [0042] Program instructions (such as those of FIGS. 10A and 10B elements 1007- 1024) may be used to cause a general-purpose or special-purpose processing system that is programmed with the instructions to perform the operations described herein. Alternatively, the operations may be performed by specific hardware components that contain hardwired logic for performing the operations, or by any combination of programmed computer components and custom hardware

components. The methods described herein may be provided as (a) a computer program product that may include one or more machine readable media having stored thereon instructions that may be used to program a processing system or other electronic device to perform the methods or (b) at least one storage medium having instructions stored thereon for causing a system to perform the methods. The term "machine readable medium" or "storage medium" used herein shall include any medium that is capable of storing or encoding a sequence of instructions (transitory media, including signals, or non-transitory media) for execution by the machine and that cause the machine to perform any one of the methods described herein. The term "machine readable medium" or "storage medium" shall accordingly include, but not be limited to, memories such as solid-state memories, optical and magnetic disks, read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), a disk drive, a floppy disk, a compact disk ROM (CD-ROM), a digital versatile disk (DVD), flash memory, a magneto-optical disk, as well as more exotic mediums such as machine-accessible biological state preserving or signal preserving storage. A medium may include any mechanism for storing, transmitting, or receiving information in a form readable by a machine, and the medium may include a medium through which the program code may pass, such as antennas, optical fibers, communications interfaces, etc. Program code may be transmitted in the form of packets, serial data, parallel data, etc., and may be used in a compressed or encrypted format. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic, and so on) as taking an action or causing a result. Such expressions are merely a shorthand way of stating that the execution of the software by a processing system causes the processor to perform an action or produce a result. [0043] Referring now to FIG. 1 1 , shown is a block diagram of a system

embodiment 1000 in accordance with an embodiment of the present invention.

System 1000 may be included in, for example, a computing node such as a mobile computing node, a cellular phone, smartphone, tablet, Ultrabook®, notebook, laptop, personal digital assistant, and mobile processor based platform.

[0044] Shown is a multiprocessor system 1000 that includes a first processing element 1070 and a second processing element 1080. While two processing elements 1070 and 1080 are shown, it is to be understood that an embodiment of system 1000 may also include only one such processing element. System 1000 is illustrated as a point-to-point interconnect system, wherein the first processing element 1070 and second processing element 1080 are coupled via a point-to-point interconnect 1050. It should be understood that any or all of the interconnects illustrated may be implemented as a multi-drop bus rather than point-to-point interconnect. As shown, each of processing elements 1070 and 1080 may be multicore processors, including first and second processor cores (i.e., processor cores 1074a and 1074b and processor cores 1084a and 1084b). Such cores 1074, 1074b, 1084a, 1084b may be configured to execute instruction code in a manner similar to methods discussed herein.

[0045] Each processing element 1070, 1080 may include at least one shared cache. The shared cache may store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores 1074a, 1074b and 1084a, 1084b, respectively. For example, the shared cache may locally cache data stored in a memory 1032, 1034 for faster access by components of the processor. In one or more embodiments, the shared cache may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), and/or combinations thereof.

[0046] While shown with only two processing elements 1070, 1080, it is to be understood that the scope of the present invention is not so limited. In other embodiments, one or more additional processing elements may be present in a given processor. Alternatively, one or more of processing elements 1070, 1080 may be an element other than a processor, such as an accelerator or a field programmable gate array. For example, additional processing element(s) may include additional processors(s) that are the same as a first processor 1070, additional processor(s) that are heterogeneous or asymmetric to first processor 1070, accelerators (such as, e.g., graphics accelerators or digital signal processing (DSP) units), field programmable gate arrays, or any other processing element. There can be a variety of differences between the processing elements 1070, 1080 in terms of a spectrum of metrics of merit including architectural, microarchitectural, thermal, power consumption characteristics, and the like. These differences may effectively manifest themselves as asymmetry and heterogeneity amongst the processing elements 1070, 1080. For at least one embodiment, the various processing elements 1070, 1080 may reside in the same die package.

[0047] First processing element 1070 may further include memory controller logic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078. Similarly, second processing element 1080 may include a MC 1082 and P-P interfaces 1086 and 1088. MC's 1072 and 1082 couple the processors to respective memories, namely a memory 1032 and a memory 1034, which may be portions of main memory locally attached to the respective processors. While MC logic 1072 and 1082 is illustrated as integrated into the processing elements 1070, 1080, for alternative embodiments the MC logic may be discreet logic outside the processing elements 1070, 1080 rather than integrated therein.

[0048] First processing element 1070 and second processing element 1080 may be coupled to an I/O subsystem 1090 via P-P interfaces 1076, 1086 via P-P

interconnects 1062, 10104, respectively. As shown, I/O subsystem 1090 includes P- P interfaces 1094 and 1098. Furthermore, I/O subsystem 1090 includes an interface 1092 to couple I/O subsystem 1090 with a high performance graphics engine 1038. In one embodiment, a bus may be used to couple graphics engine 1038 to I/O subsystem 1090. Alternately, a point-to-point interconnect 1039 may couple these components.

[0049] In turn, I/O subsystem 1090 may be coupled to a first bus 101 10 via an interface 1096. In one embodiment, first bus 101 10 may be a Peripheral Component Interconnect (PCI) bus, or a bus such as a PCI Express bus or another third generation I/O interconnect bus, although the scope of the present invention is not so limited.

[0050] As shown, various I/O devices 1014, 1024 may be coupled to first bus 101 10, along with a bus bridge 1018 which may couple first bus 101 10 to a second bus 1020. In one embodiment, second bus 1020 may be a low pin count (LPC) bus. Various devices may be coupled to second bus 1020 including, for example, a keyboard/mouse 1022, communication device(s) 1026 (which may in turn be in communication with a computer network), and a data storage unit 1028 such as a disk drive or other mass storage device which may include code 1030, in one embodiment. The code 1030 may include instructions for performing embodiments of one or more of the methods described above. Further, an audio I/O 1024 may be coupled to second bus 1020.

[0051 ] Note that other embodiments are contemplated. For example, instead of the point-to-point architecture shown, a system may implement a multi-drop bus or another such communication topology. Also, the elements of FIG. 5 may alternatively be partitioned using more or fewer integrated chips than shown in the FIG. 5.

[0052] Example 1 a includes a method executed by at least one processor comprising: receiving a one way communication from a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency, wherein the first and second signals are included in a header that is followed by a data payload; performing a fast Fourier transform (FFT), with FFT logic, on the first and second signals to generate a first group of values corresponding to a group of FFT samples of the first signal and a second group of values corresponding to the group of FFT samples of the second signal; wherein the first group of values includes a first value corresponding to a single FFT sample included in the group of FFT samples and the second group of values includes a second value corresponding to the single FFT sample; determining the second value is greater than or equal to the first value; and based on determining the second value is greater than the first value, determining a number of FFT samples to advance forward from the single FFT sample to synchronize the FFT logic with the one way communication and locate a FFT sample in the data payload and not in the header.

[0053] In example 2a the subject matter of Example 1 a can optionally include wherein the one way communication is indiscriminately broadcast from the computing node.

[0054] In example 3a the subject matter of Examples 1 a-2a can optionally include wherein the one way communication is an audio communication.

[0055] In example 4a the subject matter of Examples 1 a-3a can optionally include wherein the second signal is communicated in parallel with the first signal.

[0056] In example 5a the subject matter of Examples 1 a-4a can optionally include wherein the second signal is initially received after the first signal.

[0057] In example 6a the subject matter of Examples 1 a-5a can optionally include wherein the number is based on a size of the header.

[0058] In example 7a the subject matter of Examples 1 a-6a can optionally include wherein the first and second values are based on energy amplitude of the first and second signals.

[0059] In example 8a the subject matter of Examples 1 a-7a can optionally include receiving the one way communication that includes, in the time domain, a third signal having a third frequency included in the header; performing the FFT on the third signal to generate a third group of values corresponding to the group of FFT samples of the third signal; wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate; wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate.

[0060] For example, in an embodiment corresponding to FIG. 4 the first signal may relate to REF, the second signal may relate to S1 , the third signal may relate to S2, the first group of values may relate to FFT data for REF and the second group of values may relate to the FFT data for S1 , the group of FFT samples may relate to FFT samples on the X axis, and the first and second values may relate to Y axis points for the REF and S1 at a given FFT sample such as FFT 1977, and the number to advance may correspond to the JUMP value. Of course other embodiments are not so limited.

[0061 ] In example 9a the subject matter of Examples 1 a-8a can optionally include determining a graph that visually depicts the first and second groups of values over a series of FFT samples.

[0062] In example 10a the subject matter of Examples 1 a-9a can optionally include at least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to any one of examples 1 a to 9a.

[0063] In example 1 1 a the subject matter of Examples 1 a-10a can optionally include an apparatus comprising means for performing any one of examples 1 a to 9a.

[0064] In example 12a the subject matter of Examples 1 a-1 1 a can optionally include a communications device arranged to carry out a method according to any one of examples 1 a to 9a.

[0065] Example 13a includes a method executed by at least one processor comprising: communicating a one way communication to a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency and a third signal having a third frequency, wherein the first, second, and third signals are included in a header that is followed by a data payload; wherein the one way communication is an audio communication indiscriminately broadcast to the computing node; wherein the second signal is communicated in parallel with the first signal; wherein the second signal is initially communicated after the first signal; wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate; wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate.

[0066] In example 14a the subject matter of Example 13a can optionally include at least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to example 13a.

[0067] In example 15a the subject matter of Examples 13-14a can optionally include an apparatus comprising means for performing example 13a.

[0068] In example 16a the subject matter of Examples 13a-15a can optionally include a communications device arranged to carry out a method according to example 13a.

[0069] Example 17a includes an apparatus comprising: at least one memory; at least one processor, coupled to the memory, to perform operations comprising: receiving a one way communication from a computing node that includes, in the time domain, a first signal having a first frequency and a second signal having a second frequency, wherein the first and second signals are included in a header that is followed by a data payload; performing a fast Fourier transform (FFT), with FFT logic, on the first and second signals to generate a first group of values

corresponding to a group of FFT samples of the first signal and a second group of values corresponding to the group of FFT samples of the second signal; wherein the first group of values includes a first value corresponding to a single FFT sample included in the group of FFT samples and the second group of values includes a second value corresponding to the single FFT sample; determining the second value is greater than the first value; and based on determining the second value is greater than the first value, determining a number of FFT samples to advance forward from the single FFT sample to synchronize the FFT logic with the one way communication and locate a FFT sample in the data payload and not in the header.

[0070] In example 18a the subject matter of Example 17a can optionally include wherein the one way communication is an audio communication indiscriminately broadcast from the computing node.

[0071 ] In example 19a the subject matter of Examples 17a-18a can optionally include receiving the one way communication that includes, in the time domain, a third signal having a third frequency included in the header; performing the FFT on the third signal to generate a third group of values corresponding to the group of FFT samples of the third signal; wherein the second and third groups of values increase in energy amplitude over a portion of the group of FFT samples at an equivalent rate; wherein the first and second groups of values increase in energy amplitude over the portion of the group of FFT samples at an unequivalent rate.

[0072] In example 20a the subject matter of Examples 17a-19a can optionally include at least one machine readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to carry out a method according to any one of examples 17a to19a.

[0073] While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous

modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.