Patent Publication Number: US-10785074-B1

Title: Cross-product detection method for a narrowband signal under a wide range of carrier frequency offset (CFO) using multiple frequency bins

Description:
FIELD OF THE INVENTION 
     This invention relates to communication systems, and more particularly to detectors for narrow-band signals having a wide range of Carrier Frequency Offsets (CFO). 
     BACKGROUND OF THE INVENTION 
     Communication systems can include transceivers that have both a transmitter and a receiver. Some applications require low power consumption, such as for Internet of Things (IoT). 
       FIG. 1  shows a low-power receiver. Radio-Frequency (RF) front end  102  receives wireless signals from an antenna and may amplify low-power signals and convert the signals to an intermediate frequency (IF), then apply the amplified IF voltage to Analog-to-Digital Converter (ADC)  104 , which generates a digital signal. Down-mixer  106  mixes a local clock with the digital signal from ADC  104  to shift the frequency from the IF range to baseband. 
     Demodulator  110  demodulates the digital signal by extracting some parameters of the baseband signal, such as phase, frequency and amplitude, to recover the transmitted data. Deframer  112  removes frame sequences such as start bit sequences and preambles to output the received data stream. Further processing can occur downstream to examine packet headers and perform error-correction for higher protocol levels. 
     Detector  100  examines and processes the baseband signal output by down-mixer  106  to adjust the timing of demodulator  110 . The local clock used by down-mixer  106  may not exactly match the transmitter&#39;s clock. When the clock mis-match is significant, data may be detected incorrectly. 
     The start of each frame typically has a preamble with a known bit sequence, such as 10101010, that is useful for adjusting the receiver&#39;s timing so that the data that follows the frame-start bit-sequence can be more accurately read. 
     Detector  100  examines the signal received by down-mixer  106  and searches for the frame-start bit-sequence. When this frame-start bit-sequence is detected by detector  100 , then the received signal containing the frame-start bit-sequence is processed to determine whether a different clock frequency and symbol timing would better receive the frame-start bit-sequence. The clock offset and symbol timing that produce the strongest signal for the frame-start bit-sequence are sent to demodulator  110  and used to demodulate the data that follows the frame-start bit-sequence in the current frame. 
     Thus detector  100  detects timing mismatches in the frame-start bit-sequence and then adjusts the timing of demodulator  110  to correct for the detected timing mismatch when the data that follows the frame-start bit-sequence is extracted by demodulator  110 . 
     The clock-frequency difference or carrier offset between the transmitter and the receiver is known as Carrier Frequency Offset (CFO). Detector  100  detects and corrects for this CFO. Ideally, detector  100  is able to correct for a wide range of CFO. However, low-power receivers need to reduce computational complexity of detector  100 . Memory reads and writes that occur when detector  100  is processing data can increase power consumption. However, low-power transmitters send weak signals that are hard to detect. A generic Digital-Signal Processor (DSP) may consume too much power or not be able to process the high bit rates. 
     When the CFO range is wide, computational complexity increases. Phase discriminators using Coordinate Rotation Digital Computer (CORDIC) functions have a high complexity and can be vulnerable to phase ambiguity. Simpler phase discriminators typically operate over a narrow range of CFO. 
     What is desired is a low-power, low-complexity detector that can operate over a wide range of CFO. A frame-start bit-sequence detector that performs binary correlation with a simple phase discriminator that does not require high power or high computational complexity is desirable. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a low-power receiver. 
         FIG. 2  is a block diagram of a wide-CFO-range detector. 
         FIG. 3  shows the cross-product phase calculator in more detail. 
         FIG. 4  shows the complex binary correlator in more detail. 
         FIG. 5  highlights correlated cross-products generated from two sampling time intervals. 
         FIG. 6  shows the linear combiner in more detail. 
         FIG. 7  shows the decision logic in more detail. 
     
    
    
     DETAILED DESCRIPTION 
     The present invention relates to an improvement in low-power detectors. The following description is presented to enable one of ordinary skill in the art to make and use the invention as provided in the context of a particular application and its requirements. Various modifications to the preferred embodiment will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. 
     The inventors have realized that simple phase discriminators such as cross-products can operate well over a small CFO sub-range, but operate poorly over a wide CFO range. The inventors realize that low-complexity cross-product phase discriminators can be used and their results correlated with the frame-start bit-sequence. Linear combinations of the correlations results can produce results for several possible CFO settings, or frequency bins. The frequency bin with the highest correlated result can be used to select a bit sync estimate and a CFO estimate that can adjust the receiver&#39;s clock to correct for the actual CFO. 
     Thus the CFO range is divided into frequency bins after correlation. Only one correlation channel is needed along with a linear combination. A low-complexity detector can be achieved by dividing the CFO range into bins after correlation rather than before correlation. Although the cross-product discriminator is useful over a small CFO range when used separately, the linear combination and correlation overcome the limited CFO range of the phase discriminator. 
       FIG. 2  is a block diagram of a wide-CFO-range detector. Down-mixer  106  ( FIG. 1 ) produces a stream of samples with In-phase (I) and Quadrature (Q) values for each sample. Detector  100 ′ receives these I,Q sample values and calculates cross products using cross-product phase calculator  120 . The leading bit or sign bit of the cross-products are stored for the sequence of samples. 
     Complex binary correlator  122  compares the sequence of sign bits to a local copy or local reference of the frame-start bit-sequence to determine how closely the cross-product signs match the expected frame-start bit-sequence. Both the sine and cosine cross-products are separately accumulated. Only the polarity of the cross products, indicated by the sign bits, are correlated and accumulated, not the full values. Using only the MSB or sign bits significantly reduces computational complexity. 
     Then linear combiner  124  combines the accumulated correlations with other accumulated correlations that have different cross-product intervals to produce frequency bins for different pre-set CFO values. These frequency bin results are then compared to bin thresholds by decision logic  126  and the bin with the largest value over the threshold, which represents the largest signal, is used to select the CFO estimate and bit-sync to remove the CFO and adjust the timing. 
     Decision logic  126  outputs a bit-sync estimate to demodulator  110  ( FIG. 1 ) and the CFO estimate to down-mixer  106  ( FIG. 1 ). The bit-sync estimate is a value which indicates the start point of a symbol and is used to adjust the input of demodulator  110  so that demodulator  110  is triggered at the start point of each symbol. The CFO estimate is a value which indicates the size of CFO. The CFO estimate is mainly used by down-mixer  106  to remove the CFO by adjusting a local reference frequency, so that demodulator  110  can use CFO-free samples to restore data. 
       FIG. 3  shows the cross-product phase calculator in more detail. The In-phase I samples I 1 , . . . I 2 , . . . are stored in I sample buffer  32  while the Quadrature Q samples Q 1 , . . . Q 2 , . . . are stored in Q sample buffer  34 . There may be other intervening samples between I 1  and I 2 , and also between Q 1  and Q 2 . The number of intervening samples can depend on the baseband design, such as the modulation index, or number of samples per symbol, where I 1 ,Q 1  and I 2 ,Q 2  are from consecutive symbols, or from consecutive half symbols, with intervening samples, when there are multiple samples per symbol. Q 2  can be received before Q 1 . 
     For example, when a symbol corresponds to one transmitted bit, and the symbols are transmitted at 1 Mbits/sec, the Over-Sampling Ratio (OSR) is 16, so 16 samples are sampled by receiver&#39;s ADC for each symbol. The sample rate is 16 M and the symbol rate is 1 M. There are 15 samples between Q 1  and Q 2  for an OSR correlation and 15 samples between Q 1  and Q 2  for an OSR/2 correlation. 
     The interval between Q 1  and Q 2  is selected to make sure that the sine cross-product has a large absolute value which requires the phase difference of Q 1  and Q 2  close to π/2. So the number of samples between Q 1  and Q 2  depends on sampling frequency and modulation index. The closer the phase difference comes to π/2, the higher the Signal-to-Noise Ratio (SNR). Increasing SNR can improve detection performance. 
     The samples from buffers  32 ,  34  are multiplied by multipliers  22 ,  24 ,  26 ,  28  and then the products summed by adders  20 ,  30 . The Most-Significant-Bit (MSB) from adder  20  is stored in sine sign-bit buffer  36  as the sign bit of the sine cross-product. The sine sign bit indicates when the sine wave is above the x-axis and when the sine wave is below the x-axis. The sign bit represents the direction of the phase difference, and also can be seen as a simplified phase difference. Sign bit ‘0’ corresponds to a positive phase difference, and sign bit ‘1’ corresponds to a negative phase difference. 
     Multiplier  22  multiplies I 2  and Q 1  to get I 2 *Q 1 , while multiplier  24  multiplies Q 2  and I 1 , to get the product Q 2 *I 1 . Adder  20  subtracts the product from multiplier  24  from the product from multiplier  22  to obtain the sine cross-product (I 2 *Q 1 −Q 2 *I 1 ). The LSB&#39;s from adder  20  are discarded and only the MSB from adder  20  is retained and stored in sine sign-bit buffer  36 . This sign bit indicates the current sign of the sine wave. 
     Multiplier  26  multiplies I 2  and I 1  to get I 2 *I 1 , while multiplier  28  multiplies Q 2  and Q 1 , to get the product Q 2 *Q 1 . Adder  30  adds the product from multiplier  26  and the product from multiplier  28  to obtain the cosine cross-product (I 2 *I 1 +Q 2 *Q 1 ). The MSB from adder  30  is stored in cosine sign-bit buffer  38  as the sign bit of the cosine cross-product. This sign bit indicates the sign of cosine function of the phase difference, a simplified phase difference. 
     Cross-product phase calculator  120  outputs the sign bits from buffers  36 ,  38 , which are simplified phase differences. Since these sign bits represent the polarity of the received sine and cosine functions, a sequence of these sign bits shows when these sine and cosine functions switch polarity or cross the x-axis. Thus these sign bits represent the phase differences of the I,Q input samples. 
     For example, 1,1 is a negative sine and negative cosine, 1,0 is a negative sine and positive cosine, 0,0 is positive sine and positive cosine. The sine sign-bit sequence  1100  and the cosine sign-bit sequence  1000  indicate a crossing of the x-axis by the cosine wave in the second sample and by the sine wave in the third sample. The timing of these polarity changes can be used to estimate the bit-sync. 
       FIG. 4  shows the complex binary correlator in more detail. The sine sign bits generated by cross-product phase calculator  120  are stored in sine sign-bit buffer  36  as a sequence of sign bits that are made available to complex binary correlator  122 . These sign bits are multiplied by local reference  46  using multiplier  44  and the result accumulated by Q binary accumulator  40 . The accumulated result is R Q,1 (n). 
     Local reference  46  is a local copy of the frame-start bit-sequence that is expected, such as 10101010 (base 1 M/sec signal) or for an OSR of 8: 1111111100000000111111110000000011111111000000001111111100000000 
     Local reference  46  is stored or generated on the receiver. When the frame-start bit-sequence is properly received from the transmitter, such as when there is zero phase delay between the transmitter and receiver clocks, and the CFO is close to zero, the sine sign bit will match the bit from local reference  46  in the corresponding sequence, and the accumulated value in Q binary accumulator  40  will be large. 
     The cosine sign bits generated by cross-product phase calculator  120  are stored in cosine sign-bit buffer  38  as a sequence of sign bits. These sign bits are multiplied by local reference  46  using multiplier  48  and the result accumulated by I binary accumulator  42 . The accumulated result is R I,1 (n). 
     When the frame-start bit-sequence is properly received, with no phase delay between the transmitter and receiver clocks, the cosine sign bit will mis-match the bit from local reference  46  in the corresponding sequence, and the accumulated value in I binary accumulator  42  will be small. However, when the CFO introduce a phase difference of π/2, then the frame-start bit-sequence will also be rotated by π/2, and the cosine sign bits will match the local reference but the sine sign bits will mismatch. Then the accumulated result in I binary accumulator  42  will be a large negative value and the accumulated result in Q binary accumulator  40  will be small. 
       FIG. 5  highlights correlated cross-products generated from two sampling time intervals. During a first pass, Q samples S 1  an S 1 ′ from buffer  34  are selected and input to cross-product phase calculator  120  as the Q 1  and Q 2  values ( FIG. 3 ). I 1  and I 2  are selected from buffer  32  in a similar manner. Cross-product phase calculator  120  generates the cross products and truncates them to the sign bits that are correlated and accumulated by complex binary correlator  122  to generate R Q,1 (n), R I,1 (n). 
     In this example, the OSR is 8, so there are 8 samples per symbol. Samples S 1  and S 1 ′ are selected to be separated by the OSR, or 8 samples apart. Q 1 , Q 2  are from adjacent symbols. Thus the R Q,1 (n), R I,1 (n) accumulated values are generated by selecting Q 1 , Q 2  to match the OSR. The time interval between the samples Q 1 , Q 2  is one symbol. 
     Cross-product phase calculator  120  and complex binary correlator  122  are used a second time, or parallel hardware is used. Q samples S 1  an S 5  from buffer  34  are selected and input to cross-product phase calculator  120 ′ as the Q 1  and Q 2  values ( FIG. 3 ). I 1  and I 2  are selected from buffer  32  in a similar manner. Cross-product phase calculator  120 ′ generates the cross products and truncates them to the sign bits that are correlated and accumulated by complex binary correlator  122 ′ to generate R Q,2 (n), R I,2 (n). 
     In this second pass cross-product phase calculator  120  selects Q 1 , Q 2  (and I 1 , I 2 ) that are from consecutive half-symbols, or OSR/2 apart. In this example of OSR=8, samples S 1  and S 5  are selected as being one half-symbol apart, or OSR/2=8/2=4 samples apart. 
     The cross-product on samples with the different time interval of OSR/2 generates R Q,2 (n), R I,2 (n) that need to be delayed by OSR/4 samples to align with R Q,1 (n), R I,1 (n). 
       FIG. 6  shows the linear combiner in more detail. When the I and Q samples selected from buffers  32 ,  34  are one symbol apart, the accumulated sine-bit matching result in Q binary accumulator  40 , R Q,1 (n), and the accumulated cosine-bit matching result in I binary accumulator  42 , R I,1 (n), are sent from complex binary correlator  122  to linear combiner  124  as R Q,1 (n), R I,1 (n). 
     On the second pass through cross-product phase calculator  120 ′ and complex binary correlator  122 ′, the I and Q samples selected from buffers  32 ,  34  are one-half symbol apart. Then the accumulated sine-bit matching result in Q binary accumulator  40  is R Q,2 (n) and the accumulated cosine-bit matching result in I binary accumulator  42  is R I,2 (n). These outputs are sent from complex binary correlator  122 ′ to linear combiner  124  and delayed by OSR/4 by delay buffers  51 ,  53  to generate R Q,2 (n-OSR/4), R I,2 (n-OSR/4). 
     Summer  50  is an adder that generates the first frequency bin result, R 0 (n), as R Q,1 (n)+R Q,2 (n-OSR/4). This first frequency bin result is large when there is zero phase/frequency offset, and the receiver clock is closely synced to the received bitstream. 
     Second summer  52  generates the second frequency bin result, R 1 (n), as R Q,1 (n)+R Q,2 (n-OSR/4)−R I,1 (n)−R I,2 (n-OSR/4). This second frequency bin result is large when there is a small positive phase/frequency offset induced by CFO. When the CFO-induced phase difference error is equal to π/4, R 1 (n) achieves its peak. 125 kHz should be added to carrier frequency or intermediate frequency for a 1 M/sec symbol rate. 
     Third summer  54  generates the third frequency bin result, R 2 (n), as R Q,1 (n)+R Q,2 (n-OSR/4)+R I,1 (n)+R I,2 (n-OSR/4). This third frequency bin result is large when there is a small negative phase difference error, such as −π/4, or −125 kHz of CFO for a symbol-length phase difference interval (1 M/sec symbol rate). 
     Fourth summer  56  generates the fourth frequency bin result, R 3 (n), as R Q,2 (n-OSR/4)−R I,1 (n)−R I,2 (n-OSR/4). This fourth frequency bin result is large when there is a large phase difference offset, such as π/2, or 250 kHz for a symbol-length phase difference interval (at 1 M/sec symbol rate). 
     Fifth summer  58  generates the fifth frequency bin result, R 4 (n), as R Q,2 (n-OSR/4)+R I,1 (n)+R I,2 (n-OSR/4). This fifth frequency bin result is large when there is a large negative phase difference offset, such as −π/2, or −250 kHz for a symbol-length phase difference interval (at 1 M/sec symbol rate). 
     The five frequency bin results R 0 (n) to R 4 (n), indicate how well the local reference matches the received frame-start bit-sequence for different amounts of introduced phase difference offset by CFO. When the received phase difference offset is small, R 0 (n) will be large and R 1 (n) and R 2 (n) smaller, with R 3 (n) and R 4 (n) being even smaller. 
     When the received phase difference offset is very large and negative, R 0 (n) will be small and R 4 (n) large, with R 1 (n) to R 3 (n) having small intermediate values. As the received phase difference is increased in the positive direction, the maximum of R 0 (n) to R 4 (n) will shift from R 0 (n), then to R 1 (n), and then to R 3 (n). As the received phase delay is increased in the negative direction, the maximum of R 0 (n) to R 4 (n) will shift from R 0 (n), then to R 2 (n), and then to R 4 (n). 
     Thus the maximum or peak of the five frequency bin results R 0 (n) to R 4 (n), indicate the magnitude and polarity of phase difference offset that best fits the local reference frame-start bit-sequence. 
       FIG. 7  shows the decision logic in more detail. The five frequency bin results R 0 (n) to R 4 (n) are sent from linear combiner  124  to decision logic  126 . Each frequency bin result is compared to a threshold for that frequency bin. For example, first frequency bin result R 0 (n) is compared to first threshold TH 0 , while fifth frequency bin result R 4 (n) is compared to fifth threshold TH 4 . The excesses above these thresholds are compared and the frequency bin with the largest excess over its threshold is selected. The sample&#39;s position corresponding to the maximum value of R 0 (n) to R 4 (n) for this selected frequency bin is used as the bit-sync estimate. This bit-sync estimate is applied to demodulator  110  and used to adjust the time delay used to extract the data. 
     Maximum selector  60  can subtract each threshold from its frequency-bin input, and the differences compared to each other to find the maximum difference. The frequency bin with the maximum difference is encoded to the estimate the bit-sync. 
     The CFO estimate can be a more complex result, such as by using the excess amount of the frequency bin having the maximum excess. The CFO can be a coarse estimate. 
     When the decision logic has successfully completed, the position of I 2  (or Q 2 ) within buffers  32 ,  34  ( FIG. 3 ) is the bit-sync estimate. The CFO (0, 125 kHz, −125 kHz, 250 kHz or −250 kHz) of the bin with the largest value is used as a coarse CFO estimate. The bit-sync estimate is used to set the start point of demodulation by demodulator  110  ( FIG. 1 ), while CFO estimate is used by down-mixer  106 . 
     The hardware complexity is reduced, since only 4 multipliers and 2 adders are used by cross-product phase calculator  120  that operate on the full width of the I and Q samples, such as 8 bits. Since only sign bits are retained in the cross-products, multipliers  44 ,  48  in linear combiner  124  only need to be 1-bit multipliers, rather than 8-bit or 32-bit multipliers. Also, I binary accumulator  42  and Q binary accumulator  40  can use smaller adders since single bits are being accumulated. 
     Cross-product phase calculator  120  selects samples S 1 , S 1 ′ from buffer  34  as samples Q 1 , Q 2 . These samples S 1 , S 1 ′ are one symbol apart, or OSR samples apart. Second cross-product phase calculator  120 ′ selects samples S 1 , S 5  from buffer  34  as samples Q 1 , Q 2 . These samples S 1 , S 5  are one-half symbol apart, or OSR/2 samples apart. Q 2  is received earlier than Q 1  in cross-product phase calculator  120 . 
     The sample clock is OSR times the frequency of a symbol clock. When the received CFO is close to zero, R 0 (n) has the largest peak, and a setting of CFO=0 is selected by decision logic  126 . 
     When the CFO of the received data has a small positive CFO, then the second frequency bin result, R 1 (n), has the highest peak. Decision logic  126  sets the CFO estimate to π/4. The estimated CFO will be used to remove the CFO frequency. 
     When the CFO of the received data has a small negative CFO, then the third frequency bin result, R 2 (n), has the highest peak. Decision logic  126  sets the CFO estimate to −π/4. 
     When the CFO of the received data has a large positive CFO, then the fourth frequency bin result, R 3 (n), has the highest peak. Decision logic  126  sets the CFO estimate to π/2. 
     When the CFO of the received data has a large negative CFO, then the fifth frequency bin result, R 4 (n), has the highest peak. Decision logic  126  sets the CFO estimate to −π/2. 
     The cross-product and binary correlation modules run at a clock equal to the sampling frequency. A new correlation value is output once a new sample is input. First, S 1 ′, S 5  and S 1  are input to cross-product modules  120 ,  120 ′. Second, S 8  (on the right of S 1 ′), S 4  and S 8  (on the right of S 1 ) are input to cross-product modules  120 ,  120 ′. 
     R 0 (n) to R 4 (n) used by decision logic  126  correspond to the same sample position, S 1 ′. For example, assume that S 2  is received earlier than S 1  in  FIG. 5 . R 0 (n+1) to R 4 (n+1) are generated from S 8  and the other S 8  that is next to S 1 ′, so they correspond to S 8 . If decision logic  126  asserts success upon R i (n+1) (0=&lt;i&lt;=4), the position of S 8  is output as the bit-sync result, and the CFO estimate is determined by i. Different correlation combinations correspond to different CFO bins, but they correspond to the same sample. 
     Alternate Embodiments 
     Several other embodiments are contemplated by the inventors. For example, there may be a different number of frequency bins. The frequency bins can correspond to the possible settings of the CFO adjustment to the demodulator. For example, when the possible CFO settings are 0, +125, −125, +250, −250 kHz, the five bins can be used as described earlier, but when the possible CFO settings are 0, +125, −125 kHz, then only the first 3 bins could be used. The locations within I sample buffer  32  and Q sample buffer  34  that the cross-products are selected from can be adjusted for different over-sampling ratios and modulation factors. 
     Each frequency bin result of linear combiner  124  is a correlation that is compensated by a different CFO value. These CFO values correspond to the possible CFO settings for the demodulator, but the CFO settings could be more limited that the possible CFO settings. For example, for some frequencies and modulation factors, there may be CFO settings that are too large and must not be used, although linear combiner  124  could still check these over-limit CFO values, although their results are ignored. Decision logic  126  could be configured to ignore the frequency bit results for the widest CFO settings, and only examine the narrower frequency bins. For example, R 3 (n) and R 4 (n) could be ignored in some modes, while only R 0 (n), R 1 (n), and R 2 (n) are examined by maximum selector  60 . R Q,2 (n-OSR/4) and R I,2 (n-OSR/4) may be used to enhance performance and may be optional and omitted. For a 3 frequency-bin system, R Q,2 (n-OSR/4) and R I,2 (n-OSR/4) also can enhance SNR. Two of the five values R 0 (n) to R 4 (n) can be omitted for a 3-frequency-bin system. 
     The number of frequency bins could match the number of possible settings, or there could be more possible settings than frequency bins, where the magnitude of the excesses over the thresholds are used to select from a subset of settings that are proximate to the peak frequency bin. The frequency bins can correspond to hypothesis values of CFO that are being tested for by cross-product phase calculator  120  and complex binary correlator  122 . The hypothesis CFO setting for the frequency bin with the highest result value is used to set the bit sync in the demodulator for the rest of the frame. 
     Any or all of cross-product phase calculator  120 , complex binary correlator  122 , linear combiner  124 , and decision logic  126  may examine all bits in the received bitstream, or only the frame&#39;s preamble, and may be triggered to operate only at the start of a new frame, such as by reception of a valid a frame-start, and powered down or idle until the next frame preamble or synchronization sequence. CFO could be adjusted for each new frame, or could be adjusted less frequently, such as for every 10 frames, or only when errors increase above a threshold, such as signaled by downstream error-correction code (ECC) logic. 
     The samples input to cross-product phase calculator  120  could be the first sample for each symbol, or the first sample for each half-symbol, or have some other sampling ratio. The sampling ratio of cross-product phase calculator  120  does not have to be the same as the over-sampling ratio or of the sampling ratio of demodulator  110 . Cross-product phase calculator  120  could sample the input at a higher or lower sampling frequency than used by demodulator  110 . While OSR/2 and OSR/4 have been described as cross-product time-intervals, these values are mainly determined by the modulation factor. The interval between the two samples used in the cross-product ideally should make the absolute sine value as large as possible. The absolute phase difference of the two samples ideally should be as close as possible to +π/2. To enhance SNR, the second correlation value should be independent with the first correlation value (OSR interval), and be as close as possible to +π/2. So the selection of OSR/2 is a tradeoff between independence and a large enough interval. For most systems OSR and OSR/2 are proper selections. 
     The number of bits in the frame-start bit-sequence may be larger than shown. For example, there may be 128 bits  10101  . . .  1010  in the frame-start bit-sequence, and sine sign-bit buffer  36  and cosine sign-bit buffer  38  store 128 bits each. complex binary correlator  122  may operate quickly to accumulate results so that full 128-bit buffers are not needed. The frame-start bit-sequence may not be at the very start of the frame, but may be preceded by various other sequences, fields, or patterns in a preamble. 
     Local reference  46  may generate the sequence of bits for the local reference rather than store all bits. Local reference  46  may be a generator that toggles a bit at each half period of the symbol clock an retain or repeat that bit for the number of periods of the sampling clock equal to the OSR. For example, a 16 M sampling clock and a 1 M symbol clock can have local reference  46  toggle its bit every 16 periods of the 16 M clock. Local reference  46  may also be a register that stores the frame-start bit-sequence, either at the symbol rate or at the sampling rate, or at some other rate, that is then converted to the sampling rate for correlation by complex binary correlator  122 . While a symbol clock has been described for greater ease of understanding, there may not be a physical clock that is a symbol clock in a real system. The system can operate with the faster sampling clock and does not need to generate a symbol clock. 
     While the term clock has been used, this term may refer to data rates and changes that are not exactly synchronized to a physical clock signal. Upsampling and downsampling may occur and a variety of clock rates, periods, and signals may be used. The received data stream may be synchronized to circuitry in the transmitter and a lock receiver clock only approximates this data stream for sampling or extracting data values. 
     Various modulation schemes may be used, such as Frequency-Shift Keying (FSK), Gaussian FSK (GFSK), where sharp edges are filtered by a Gaussian FIR, or other filter to smooth sharp edges. Other kinds of Continuous Phase Modulation (CPM) could be substituted, using phase difference to represent data bits. 
     While FSK modulation has been described, phase modulation or phase and frequency modulation may also be used, such as GFSK, Minimum Shift Keying (MSK), etc. Since phase and frequency are related, as frequency is the time derivative of phase, a frequency difference can also have a phase difference. 
     Various modulation, framing, and timing adjustments may be supported, such as using different over-sampling ratios, different frequencies, carrier waves, frame-start bit-sequences, samples per symbol, or bits per symbol. Symbols can be binary or can have 4 or more bits per symbol. 
     The detector may be used for various protocols and standards, such as Bluetooth Low-Energy (BLE), or standards using CPM class modulation. 
     The frequency bin thresholds TH 0  to TH 4  can be programmable or adjustable. They may be determined mainly by OSR and target SNR sensitivity. The larger the OSR is, the higher the thresholds. The lower the target SNR sensitivity is, the lower the thresholds. 
     Other arrangements and combinations of the blocks could be used. Additional steps and functions could be added. Deeper or shallower pipelines could be substituted. Also, various initialization and start-up procedures could be added. 
     The system of  FIG. 2  can be pipelined. All modules  120 ,  122 ,  124 ,  126  can operate in parallel at the same time. For example, when a new sample is input, cross-product phase calculator  120  calculates a new pair of values, the sign bits of which are stored in the I and Q sign-bit buffers  36 ,  38 . At the same time, complex binary correlator  122  completes correlation upon several sign-bits prior to the newly generated sign-bits of the new sample. At the same time, linear combiner  124  completes the processing of correlation outputs. Decision logic  126  asserts a result based on the outputs of linear combination. 
     Cross-product phase calculator  120  and linear combiner  124  could be duplicated, so that OSR (symbol) and OSR/2 (half-symbol) time-difference-interval sampling can be performed in parallel. Alternately, cross-product phase calculator  120  and complex binary correlator  122  could operate at a higher speed than other blocks in a pipeline. In particular, linear combiner  124  may be slower to calculate its results than cross-product phase calculator  120  or complex binary correlator  122 . 
     Symbol sizes could be adjusted and standards could change. The number of symbols in a frame, and samples in a symbol, may be varied, as can the size and use of cyclic prefixes and guard intervals. Various data transmission rates and bandwidths may be provided for. 
     While cross-product phase calculator  120 , complex binary correlator  122 , linear combiner  124 , and decision logic  126  are hardware blocks, some or all of these functions could be implemented in firmware or software on a DSP. Various digital processing routines could be used to perform filtering and other signal processing tasks. Control of the hardware blocks could use software or firmware, and parameters values such as the frequency-bin thresholds could be programmable or adjustable, and calibration routines could be performed to set these parameters for a specific implementation and environment. 
     Storing only the sign bits in Q sample buffer  34  and sine sign-bit buffer  36  may introduce a loss in the Signal-to-Noise Ratio (SNR). SNR might be improved by storing 2 MSB&#39;s per sample, such as the sign bit and the next MSB, but complexity would be increased. It is though that SNR is reduced by about 2 dB due to truncation of the cross-products to the sign bits. 
     The background of the invention section may contain background information about the problem or environment of the invention rather than describe prior art by others. Thus inclusion of material in the background section is not an admission of prior art by the Applicant. 
     Any methods or processes described herein are machine-implemented or computer-implemented and are intended to be performed by machine, computer, or other device and are not intended to be performed solely by humans without such machine assistance. Tangible results generated may include reports or other machine-generated displays on display devices such as computer monitors, projection devices, audio-generating devices, and related media devices, and may include hardcopy printouts that are also machine-generated. Computer control of other machines is another tangible result. 
     Any advantages and benefits described may not apply to all embodiments of the invention. When the word “means” is recited in a claim element, Applicant intends for the claim element to fall under 35 USC Sect. 112, paragraph 6. Often a label of one or more words precedes the word “means”. The word or words preceding the word “means” is a label intended to ease referencing of claim elements and is not intended to convey a structural limitation. Such means-plus-function claims are intended to cover not only the structures described herein for performing the function and their structural equivalents, but also equivalent structures. For example, although a nail and a screw have different structures, they are equivalent structures since they both perform the function of fastening. Claims that do not use the word “means” are not intended to fall under 35 USC Sect. 112, paragraph 6. Signals are typically electronic signals, but may be optical signals such as can be carried over a fiber optic line, or wireless signals. 
     The foregoing description of the embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.