Claims
- 1. A method for demodulating a downconverted carrier signal MSK-modulated with a recurrent sequence of digital data words, each of which sequences is accompanied by a preamble, said preamble including a sequence of mutually identical bit/word sync words and a sequence of words together constituting message sync, where each of said words includes a plurality of bits, and said bits of said bit/word sync words are selected for low autocorrelation, said method comprising the steps of:
- converting said downconverted carrier signal into digital form at a sample rate which produces at least two samples per bit, to form received digital signals;
- storing in memory said received digital signals representing at least one of said sequences and its accompanying preamble to form stored received signals;
- reading from memory for a first time at least said bit/word sync words and said message sync words of said stored received signals to produce first-read received signals;
- correlating said first-read received signals with stored information relating to said preamble to produce information relating to bit and word timing;
- reading from memory for a second time at least one of said sequences of bit/word sync words and said sequences of message sync words of said stored received signals, to produce second-read signals;
- correlating said second-read signals with stored information relating to said preamble using said bit and word timing information to start said correlation, to produce information relating to the timing of said sequences of message sync words;
- determining the timing of said preamble from said information relating to the timing of said sequences of message sync words and the known durations of other portions of said preamble;
- reading from memory for a third time at least a portion of said preamble from said stored received signals, to produce third-read signals;
- correlating said third-read signals with stored information relating to MSK symbol characteristics, to thereby produce symbol correlations;
- storing said symbol correlations in memory to produce stored symbol correlations;
- reading from memory for a first time at least some of said stored symbol correlations to produce first-read symbol correlations;
- determining the phase of said first-read symbol correlations in each word, taking the difference in phase between a particular bit of each word and the corresponding particular bit of the following word to produce one-word phase differences, averaging said one-word phase differences over at least a portion of said preamble to produce an estimated phase change per word, and dividing said estimated phase change per word by the number of bits per word to produce estimated phase change per bit;
- reading from memory for a second time at least some of said stored symbol correlations to produce second-read symbol correlations;
- using said second-read symbol correlations and said estimated phase change per bit to produce an estimate of the carrier phase of the first bit of said sequence of digital data words; and
- using said estimate of the carder phase of the first bit of said sequence of digital data words and said estimated phase change per bit to aid said demodulator carrier phase to progress during demodulation of said sequence of digital data words.
- 2. A method for wireless communication of digital information, comprising the steps of:
- breaking said digital information into discrete segments to form digital information segments;
- generating a preamble comprising a start-of-message portion, said start-of-message portion of said preamble including a bit/word synchronization portion and a message synchronization portion, said bit/word synchronization portion including a repetitive sequence of bit/word sync words, and said message synchronization portion including a plurality of words;
- adding said preamble to each of said digital information segments, to form transmissible signal packets;
- MSK modulating each of said transmissible signal packets onto a carrier, to produce a baseband modulated signal;
- upconverting said baseband modulated signal to a higher transmission frequency to produce an upconverted signal;
- transmitting said upconverted signal to produce transmitted signal;
- receiving said transmitted signal to produce an analog received signal including modulation in the form of MSK symbols;
- downconverting said analog received signal by multiplying said analog received signal by a local oscillator signal, to produce in-phase (I) and quadrature-phase (Q) received signals representative of a downconverted received carrier signal which includes modulation, and which may also include unwanted phase modulation which might result in bit errors;
- sampling said I and Q received signals at a sampling rate which defines a plurality of samples during each of said MSK symbols of said downconverted received signal to produce I and Q analog samples;
- analog-to-digital converting said I and Q analog samples to produce I and Q digital samples;
- storing said I and Q digital samples to produce stored I and Q digital samples;
- determining bit/word timing by repeatedly correlating said stored I and Q samples with a replica of said bit/word synchronization portion of said preamble, advancing the correlation window by a pair of said stored I and Q digital samples at each repetition until a correlation peak is detected, to thereby produce bit/word timing information;
- determining the starting time of said message synchronization portion by correlating said stored I and Q digital samples with a replica of said message synchronization portion, by starting said correlation at a word boundary identified by said bit/word timing information, and repeating said correlation repeatedly by advancing the correlation window by one word at each repetition until a correlation peak is detected, to thereby produce said starting time of said message sync portion;
- determining the starting time of said start-of-message portion of said preamble by summing the duration of one of (a) said bit/word synchronization portion and (b) said message synchronization portion with the starting time of the other one of said (a) message synchronization portion and (b) said bit/word synchronization portion, respectively;
- determining in-phase (XCORR) and quadrature (YCORR) symbol correlations by repeatedly correlating said stored I and Q digital samples with a stored template of the MSK pulse (Si), said symbol correlations starting at said starting time of said start-of-message portion of said preamble, said correlations lasting over the duration of an MSK pulse, advancing the correlation window by one bit of said preamble at each repetition to produce N pairs of XCORR and YCORR values where N is the number of bits in said start-of-message portion of said preamble and said digital information segment;
- determining unadjusted in-phase word correlations (Z.sub.c) for each word of said start-of-message portion of said preamble, by (a) summing the products of XCORR multiplied by the MSK pulse polarity for the even-number bits within said word, where the bit numbers begin with zero, and (b) subtracting from the resulting sum the sum of the products of YCORR multiplied by the MSK pulse polarity for the odd-numbered bits within said word;
- determining unadjusted quadrature word correlations (Z.sub.a) for each word of said start-of-message portion of said preamble, by (a) summing the products of YCORR multiplied by the MSK pulse polarity for the odd-numbered bits within said word, and (b) adding to the resulting sum the sum of the products of XCORR multiplied by the MSK pulse polarity for the odd-numbered bits of said word;
- determining in-phase and quadrature word correlations (R.sub.c and R.sub.s) for each word in said preamble to account for integer multiple of 90.degree. phase shift of MSK modulation, said R.sub.c and R.sub.s correlations being related to said unadjusted in-phase and quadrature word correlations Z.sub.c and Z.sub.s according to the relationships R.sub.c =Z.sub.c, -Z.sub.s, -Z.sub.c or Z.sub.s, and R.sub.s =Z.sub.s, Z.sub.c, if the number of bits from the beginning of said preamble to the beginning of said word, not counting the bits in said word, modulo-4 is equal to 0, 1, 2 and 3, respectively;
- determining phase change per bit of said downconverted received signal by (a) for each of said words of said preamble, taking the ratio of the amplitude of said R.sub.s correlation to the amplitude of said R.sub.c correlation to produce an arctangent ratio signal, (b) for each of said words, determining the phase of said downconverted received signal represented by said arctangent signal, (c) taking the difference between said phase of each word and said phase of the next following word, to determine the one-word phase differences over at least a portion of said preamble, and (d) averaging said one-word phase differences over said portion of said preamble to establish the estimated rate of phase change per word; (e) dividing said estimated rate of phase change per word by the number of bits per said word to obtain said estimated phase change per bit (.DELTA..sub.b);
- generating an estimated signal phase of said downconverted signal with its modulation at the start of a digital information segment associated with the current preamble, by iteratively:
- (A) odd- and even-processing said XCORR and YCORR symbol correlations to produce loop error signals (e.sub.k) said odd- and even-processing of said XCORR and YCORR symbol correlations including the steps of (a) when a bit count is even, where said bit count begins with zero for the first bit of said start-of-message portion of said preamble, forming a cosine term (rc) of a phase error between said phase of said downconverted signal and an estimated signal phase by summing (i) the product of multiplying said XCORR symbol correlation by the cosine of the estimated signal phase, with (ii) the product of multiplying said YCORR symbol correlation by the sine of said estimated signal phase, and of forming a sine term (rs) of said phase error by taking the difference between (i) the product of multiplying said YCORR symbol correlation by the cosine of said estimated signal phase, and (ii) the product of multiplying said XCORR symbol correlation by the sine of said estimated signal phase, (b) when said bit count is odd, of forming a cosine term (r.sub.c) of said phase error, by taking the difference between (i) the product of multiplying said XCORR symbol correlation by the sine of said estimated signal phase, and (ii) the product of multiplying said YCORR symbol correlation by the cosine of said estimated signal phase, and of forming a sine term (rs) of said phase error by summing (i) the product of multiplying said XCORR symbol correlation by the cosine of said estimated signal phase, with (ii) the product of multiplying said YCORR symbol correlation by the sine of said estimated signal phase, said sine and cosine terms r.sub.c and r.sub.s being proportional to the product of the modulation and the sine and cosine, respectively, of said phase error; (c) for removing the effects of at least one of the preamble and data modulation from an estimated carrier phase, when the current bit is in the preamble, multiplying said sine (r.sub.s) and cosine terms (r.sub.c) by a modulation phase signal (m.sub. k=+1, -1) of the respective known bit of said preamble and, when the current bit is in the digital information segment, multiplying said sine (r.sub.s) and cosine (r.sub.c) terms by the modulation phase signal (m.sub.k =+1, -1) of the demodulated bit to thereby generate modulation-compensated sine (r.sub.s ') and cosine (r.sub.c ') terms proportional to the unmodulated sine and cosine terms of said phase error, (d) determining an uncorrected new estimate of said phase error by taking the arctangent of the ratio of said modulation-compensated sine term divided by said modulation-compensated cosine term, which uncorrected new estimate of said phase error may have a bias responsive to the modulation of adjacent bits, when the bit preceding the bit being processed and the succeeding bit are unequal; (e) determining a corrected new estimate of said phase error in each bit of said start-of-message portion of preamble by, when the bits preceding and following the current bit are unequal, subtracting from said uncorrected new phase error a quantity equal to the product of a bias constant (.about.0.57 rad) multiplied by a modulation product, wherein said modulation product is the product of the modulation of the current bit and the modulation of the previous bit, to thereby produce said corrected new estimate of said phase error, and by, when said bit preceding and following said current bit are equal, using said uncorrected new estimate of said phase error as said corrected new estimate of said phase error, and (f) limiting the values of said corrected new estimate of said phase error to less than .pi. to form said loop error signals (e.sub.k); and
- (B) second-order processing said loop error signals by means of a second order tracking loop to produce said estimated signal phase (.phi..sub.k) for the current bit (bit count k), said second order tracking loop producing said estimated signal phase including the steps of (a) determining the residual phase shift over one bit (f.sub.k-1) for the preceding bit by taking the difference between the estimated signal phases (.phi..sub.k-1 and .phi..sub.k-2) of the two bits (bit counts k-1 and k-2) preceding the current bit (bit count k), and subtracting from said difference said estimated phase change per bit; (b) determining the residual phase shift over two bits (g.sub.k) for the current bit by summing (i) two times said residual phase shift over one bit (f.sub.k-1) for the preceding bit, (ii) the product of a first loop constant .beta..sub.1 multiplied by said loop error signal (e.sub.k-1) for the preceding bit, and (iii) the product of a second loop constant .beta..sub.2 multiplied by said loop error signal (e.sub.k-2) for bit count k-2; and (c) determining said estimated phase for the current bit (bit count k) by summing (i) the estimated phase (.phi..sub.k-2) for bit count k-2, (ii) two times said phase change per bit, and (iii) said residual phase shift over two bits (g.sub.k) for the current bit; and
- demodulating said downconverted signal with the aid of said estimated signal phase (.phi..sub.k) for the current bit (bit count k) to produce (i) said demodulated bit for said current bit (count k); (ii) said demodulated bit for the next following bit (count k+1) by using .phi..sub.k +.DELTA..sub.b as said estimated phase for said next following bit (count k+1); (iii) said demodulated bit for the second following bit (count k+2) by using .phi..sub.k +2.DELTA..sub.b as said estimated phase for said second following bit (count k+2).
- 3. A method according to claim 1, wherein said bit/word synchronization portion of said preamble precedes said message sync portion.
- 4. A method according to claim 2, wherein said step of determining bit/word timing precedes said step of determining the starting time of said message sync portion.
- 5. A method according to claim 2, wherein
- said bit/word sync portion of said preamble precedes said message sync portion; and wherein
- in said step of determining the starting time of said preamble, said summing step includes the step of subtracting said duration of said bit/word sync portion from said starting time of said message sync portion.
- 6. A method according to claim 2, wherein said step of determining the starting time of said message sync follows said step of determining bit timing.
- 7. A method according to claim 2, wherein said step of determining the starting time of said preamble follows said step of determining the starting time of said message sync.
- 8. A method according to claim 2, wherein said step of breaking said digital information into segments includes the step of:
- encoding said segmented information using error correction codes to form encoded digital information segments.
- 9. A method according to claim 2, wherein said step of generating a preamble includes the step of selecting the sequence of bits in each of said sync words for low autocorrelation and selecting words for an unbiased estimate of phase change per bit.
- 10. A method according to claim 2, wherein said bit/word sync is made up of 20 copies of a 7-bit Barker sequence A.sub.o =111-1-11-1 and said words of the message sync are selected from among cyclic shifts of the 7-bit Barker sequence A.sub.4, A.sub.2, A.sub.5, A.sub.3, A.sub.5, A.sub.2, A.sub.4, A.sub.0, A.sub.0, where A.sub.i is A.sub.0 cyclically shifted to the left by i bits.
- 11. A method according to claim 2, wherein said bias constant is approximately equal to .sub.0.57 radians.
- 12. A method according to claim 2, wherein said second-order processing begins with bit count .sub.4, with initial conditions .phi..sub.3 =.theta..sub.0, .phi..sub.2 =.theta..sub.0 -.DELTA..sub.b, e.sub.3 =0, e.sub.2 =0, where .theta..sub.0 is the phase estimate of word 0 of said preamble and .DELTA..sub.b is said estimated phase change per bit.
Government Interests
The Government has rights in this invention pursuant to contract F19628-91-C-0028 with the Department of the Air Force.
US Referenced Citations (7)