Expert Advice: Quasi-Coherent Delay Lock Loop Tracking and Generalized Binary Coded Symbols in Multipath

May 1, 2010  - By
James Spilker

James Spilker

By James J. Spilker, Jr.

The original GPS signals, and indeed most GPS signals including L5, utilize conventional pseudonoise (PN) signal code division multiple access (CDMA), some with both in-phase and quadrature-phase modulation. In the late 1990s, I generalized Manchester PN symbol-spreading by defining split-spectrum binary square wave symbol-spreading, in a series of limited-distribution papers for the Air Force GPS Independent Review Team (IRT). These split-spectrum signals have been developed and analyzed much more fully by many others, and they are now termed binary offset carrier (BOC) modulation. The BOC codes can provide a noise-error advantage by placing more of their spectral energy at an offset frequency, thereby increasing the Gabor bandwidth. They can also provide spectral separation from other GNSS signals in the same frequency band, for example, L1.

Efficient GPS/GNSS satellite power amplification dictates constant envelope signaling. After power amplification, however, signals are generally filtered by a cavity or other filter before broadcast through the antenna. In some instances, the cavity filter has an RF bandwidth of 24 MHz or 30 MHz. Receiver filtering removes out-of-band noise interference and permits signal-sampling rate reduction.


Our first objective is to analyze performance of an assisted quasi-coherent delay-lock loop (QCDLL), a differentially coherent tracking receiver that employs the same discriminator channel as the optimal coherent DLL for noise and multipath performance advantages.

The second objective is to generalize the BOC symbol-spreading codes by employing other families of well-known finite-length codes and spreading techniques, and to compute some measures of their multipath and noise performance and spectral-shaping capabilities. We focus on general filtered binary coded symbol (BCS) signals using time-multiplexed Walsh codes that have potential advantages for multipath performance, along with more general spectral control. They may have applications for future GNSS signals and pseudolite transmitters where multipath is a serious concern. Time- or other multiplexed versions can perhaps be useful in permitting legacy signals to operate while upgrading to new signals with perhaps different and longer PN sequences.


Optimal digital communications signal processing in Gaussian noise employs a matched filter or correlator where the reference is the waveform itself. In contrast, for optimal tracking of small changes in signal time-delay, key information content is carried, not by the waveform itself, but by the changes in the waveform with time, that is, the time derivative. Focus on the changes in the waveform is consistent with my original 1961 paper on the delay lock loop (DLL), which showed that the optimum tracking estimator uses a delay discriminator reference signal that is the differentiated signal. The derivation of the maximum likelihood estimator of delay for small delay error in Gaussian noise is not repeated here, but we note that the Taylor’s series expansion of a differentiable baseband signal p[t] received with delay T+e delay for sufficiently small e after acquisition at estimate T is


We track various PN and BCS PN carrier modulated signals using an aided QCDLL. The QCDLL operates on a PN or other coherently modulated carrier. The QCDLL has two channels.

The upper channel in Figure 1 is the punctual autocorrelation carrier channel, where the received signal is correlated with the reference waveform, p[t+e], the PN waveform itself with delay error e. The punctual channel is also used for initial acquisition and data recovery. It provides both a reference carrier, data, and autocorrelation weighting for the lower discriminator channel. If there is no data modulation, the bandpass filters can be made more narrow. Also note that the QCDLL can operate on multiple I/Q or other multiplexed BCS signal by using composite reference codes.

FIGURE 1. Simplified quasi-coherent delay-lock loop (QCDLL) block diagram. The number-controlled oscillator (NCO) generates a continuous phase sine wave.

FIGURE 1. Simplified quasi-coherent delay-lock loop (QCDLL) block diagram. The number-controlled oscillator (NCO) generates a continuous phase sine wave.

The lower channel is the delay error discriminator carrier channel where the reference, p’[t1e], is the time derivative of the PN signal p with the same delay error e. The filters in both channels have matched group delay and assisted digital tunable narrow-band filters for noise and Doppler removal. Thus, this QCDLL is a special type of assisted-GPS receiver that receives Doppler information from an external communications link. Both channels can also be assisted by an inertial measurement unit (IMU), for example a MEMS device, to estimate velocities (Doppler offset) and further reduce the tracking-filter bandwidth. The filtered product of the two carrier channels is termed the discriminator output, and it provides an estimate of the delay error. By multiplying the discriminator channel with the punctual channel, the discriminator output versus time error is narrowed in width while maintaining the sharp slope versus delay error, as well as removing carrier and data.

The QCDLL is the generalization of the Costas loop, just as the DLL is the generalization of the phase lock loop (PLL); for example, if p is a sine wave, then p’ is a cosine wave. For a trapezoidal signal waveform, the QCDLL has been shown to produce a similar but not identical output to a non-coherent DLL.

In Figure 1, the upper bandpass filter recovers the punctual channel, and the lower channel is the discriminator channel. The product of the two removes the carrier and data, and provides a delay error cross-correlation-autocorrelation product, the discriminator output.

Figure 2 shows an example PN trapezoidal waveform and its derivative as a simple example of a filtered PN pulse punctual channel reference and the differentiated filtered pulse as the discriminator channel reference. It can easily be shown that the discriminator channel (not the discriminator output) is equivalent to an early-late DLL with a early-late separation equal to the rise time of the trapezoidal pulse. Figure 3 shows the discriminator channel and output.


EA-2BFIGURE 2. Trapezoidal PN (1 Mcps) waveform pulse and its time derivative with a 0.1-microsecond rise time.

FIGURE 2. Trapezoidal PN (1 Mcps) waveform pulse and its time derivative with a 0.1-microsecond rise time.

FIGURE 3. Discriminator channel, d[e], and (bottom) discriminator output, R[e] Rd[e], for the 1.0 Mcps PN with the optimum 0.1-microsecond reference and the 0.1-microsecond rise-time trapezoidal waveform.

FIGURE 3. Discriminator channel, d[e], and (bottom) discriminator output, R[e] Rd[e], for the 1.0 Mcps PN with the optimum 0.1-microsecond reference and the 0.1-microsecond rise-time trapezoidal waveform.

For comparison, Figure 4 shows the step response of a 4-pole Butterworth filter with a 12-MHz bandwidth and its derivative. We also show a two-step approximation to this analog step response, which can be used to optimize a weighted multiple early-late DLL or multiple correlator approximation to the QCDLL.



FIGURE 4. Step amplitude response and slope for a 4-pole Butterworth filter with a 3-dB bandwidth of 12 MHz (one-sided). The time derivative of this step response is shown on the lower plot along with a rectangular approximation.

Although not proven, the QCDLL appears to have several advantages in both noise and multipath performance as compared to the more conventional early-late gate (that I first presented in 1963):

The QCDLL discriminator channel reference is the differentiated pulse. Although for the trapezoidal pulse waveform, the conventional early-late DLL can in effect use the same discrimiantor reference if the early-late separation is set equal to the rise-time, for more general filtered waveforms, the early-late DLL can only approximate the optimal reference. Properly weighted multiple early-late DLLs offer a better approximation as shown in Figure 4, but still only an approximation.

The QCDLL discriminator output of Figure 3 is the product of the correlator channel and the discriminator channel. When tracking precisely, the correlator channel output is at its peak correlation. In contrast, a noncoherent early-late DLL only produces correlator outputs that are by definition early and late. Thus neither of these is at their peak, and the noise performance suffers accordingly. By the same token, the noncoherent early-late DLL discriminator output must be wider than that of the QCDLL, and the QCDLL multipath performance is improved in the same manner.

From a computational point of view, the early-late DLL is computing the small difference between two large numbers, namely the small difference between the ealy and late correlator channels. In contrast, the QCDLL is only computing the correlation of the received waveform with the narrow differentiated waveform used as the discriminator reference. For the simple example of the trapezoidal PN waveform, this reference is simply a narrrow time gate of width equal to the rise time.

Generalized BCS Techniques

My 2010 ION ITM paper, upon which this article is based, discusses a number of generalized symbol coding techniques including Neuman-Hofman, Barker, and Generalized Multiphase Barker, each of which provides minimal autocorrelation sidelobes. Various chirp-coded symbols with linear variation in chip-rate with time are analyzed and provide reduced sidelobes and spectral shaping. Rademacher and Walsh codes, time-multiplexed and properly weighted, form further generalizations. These can be time- or IQ-multiplexed, and the time-multiplexing can in turn be pseudorandomly permuted. In the limited space of this article we only discuss time-multiplexed (TM) Walsh Code symbols.

TM Walsh Codes. Walsh functions form a complete orthonormal set of binary functions of dimension 2n. Walsh codes are generated as products of Rademacher codes. There are 2n Walsh function of 2n binary elements. Thus a weighted sum of Walsh functions can approximate any discrete-time, time-limited waveform. Each PN symbol is coded with a Walsh code. Then time-multiplex two or more different Walsh-coded symbols in a sequential or time-weighted manner. We can then tailor the autocorrelation function and its sidelobes and spectra by using selected members of this set and appropriate weighting. The resulting combined autocorrelation function is then the sum or weighted sum of the individual autocorrelation functions, since we assume independence of the PN chips. The 8-dimensional binary Walsh codes (Walsh order) are the rows in the matrix:

The 8-dimensional binary Walsh codes (Walsh order) are the rows in the matrix:

Figure 5 shows the trapezoidal filtered version of Walsh 7 for the dimension-8 Walsh functions.

FIGURE 5. Finite rise time trapezoidal Walsh coded symbol for Walsh code 7 with rise-time 0.03 microseconds and 1 Mcps.

FIGURE 5. Finite rise time trapezoidal Walsh coded symbol for Walsh code 7 with rise-time 0.03 microseconds and 1 Mcps.

Each Walsh sequence time multiplex modulates a separate and independent pseudorandom PN chip in sets of PN chips beginning from a PN epoch time; for example, the defined beginning of the PN sequence. Note that the equally weighted sum of all 8 Walsh functions is the vector {8,0,0,0,0,0,0,0}, which is equivalent to a single high-amplitude pulse of narrow width. Thus if we sum all of the Walsh functions, we obtain the equivalent of a single narrowband pulse where the autocorrelation sidelobes disappear. Even with filtering of the spreading waveform, the sidelobes can still be small. Likewise, the equally weighted sum of codes 5,6,7,8 is {4,4,0,0,0,0,0,0}, the Manchester code.

Since the Walsh functions form a complete orthonormal set, a weighted sum of Walsh functions can approximate any finite-duration signal of the same dimension, just as the Fourier series can approximate any periodic function. Thus a weighted sum of the Walsh functions in TM fashion can tailor the signal power spectral densities and autocorrelation functions to closely match a desired realizable function. Weighted TM BOC signals and Rademacher codes can also create useful approximations, but are not as general since they are not a complete orthonormal set.

The spectrum and autocorrelation functions of the individual Walsh functions vary markedly from one another. Figure 6 shows two different selections of Walsh functions to illustrate an example of spectral separation. The wider-frequency spectra signal is a TM of Walsh codes 5, 6, 7, 8 and has improved autocorrelation with lower sidelobes compared to a single BOC signal. The lower-frequency spectrum represents the 0 Walsh, which is conventional PN.

FIGURE 6. Shaped power spectra for two TM trapezoidal Walsh signals.Blue solid curve Walsh 1, dashed curve TM Wash 5,6,7,8.

FIGURE 6. Shaped power spectra for two TM trapezoidal Walsh signals.Blue solid curve Walsh 1, dashed curve TM Wash 5,6,7,8.

Figure 7 shows the multipath error envelope of the TM Walsh spreading waveform for TM of all 8 codes in comparison, with TM of 5,6,7,8 in the presence of multipath amplitude 0.5 versus multipath delay. These results for TM of all 8 Walsh correspond closely to that of PN waveform of 8 Mcps and rise time of 0.03 ❍s as expected.

FIGURE 7. Envelope of the multipath delay error when using the Walsh spreading function of dimension 8 and a trapezoidal signal rise time of 0.03 microseconds.

FIGURE 7. Envelope of the multipath delay error when using the Walsh spreading function of dimension 8 and a trapezoidal signal rise time of 0.03 microseconds.

The envelope of the error increases as one would expect, to approximately 0.03-microsecond multipath delay. The solid blue curve is the result where all TM 8 Walsh codes are used. The dashed curve is for the TM 5,6,7,8 used to generate the spectral separation shown in Figure 6.

We can permute TM of Walsh functions and transmit each of these permutations in a pseudorandom sequence. There are 8! 5 40,320 different permutations of 8 Walsh functions. Thus we can use a different arrangement of the 40,320 patterns every 8 PN chips and do so with a different PN sequence to prevent a jammer from time-synchronizing the jammer spectrum to the Walsh multiplexing spectra with time. Weighted time-multiplexing can also be augmented with I/Q multiplexing. Pseudorandom permutation of the Walsh codes can also diminish spectral lines of the basic PN sequence if the two PN sequences are relatively prime.


This discussion first examines the QCDLL and its performance for conventional PN signals, and then generalizes the family of symbol coding/spreading techniques. The BOC signal, first called the split-spectrum signal, has a limited but important ability to shape the spectrum. It also increases its Gabor bandwidth and corresponding noise performance as indicated by the Cramer-Rao bound. However, the BOC signal has large autocorrelation sidelobes that when operating on both sidelobes simultaneously can cause limitations. There are BOC receivers which avoid that issue by operating separately on upper and lower frequency components. However, our focus is on more
general symbol-coding techniques that reduce autocorrelation sidelobes and provide good multipath performance.

The assisted QCDLL may improve performance as compared to the more conventional early-late non-coherent DLL in at least these respects:

  • The non-coherent early-late DLL autocorrelation is by definition offset by D/2 in the early–late DLL when locked rather than a perfect punctual channel.
  • The conventional early-late reference is not equal to the differentiated signal except for a trapezoidal signal with rise time of D/2.
  • The QCDLL uses an optimal reference for the discriminator channel.
  • The discriminator output of the QCDLL is the product of the punctual channel correlator with the discriminator channel, and thus has a narrower width than that of an early-late DLL and c better multipath performance.
  • The early-late DLL computes the small difference between two large correlator outputs, whereas the QCDLL computes that difference directly.

QCDLL performance in multipath is not claimed optimum; I and others have shown other techniques for reducing multipath by estimating and subtracting multipath components to reduce bias error on the direct signal. The results shown here with the trapezoidal wave-shapes may approximate the best performance possible, since the trapezoid has no precursor/tail that would be removed by a multipath-estimating receiver.

The optimal discriminator channel reference waveforms (the differentiated pulse waveform) defined for the QCDLL for any filtered received signal can be approximated by a sequence of pulses. These sequences of pulses define a quasi-optimal set of weighted conventional early-late DLL or multi-correlator tracking receiver configuration that approximate the optimal reference, the differentiated signal.

More general symbol coding techniques include: NH, Barker, generalized Barker, chirp, and TM Rademacher and Walsh codes. Barker, Generalized Barker, and NH codes have greatly reduced autocorrelation sidelobes and excellent multipath performance. These can also be time and I/Q multiplexed. Variants of chirp and TM Rademacher, Walsh can provide both spectral shaping and improved multipath performance. Weighted TM Walsh-coded symbols can be designed to synthesize any discrete-time, time-limited realizable function. Ordinary legacy PN can be time-multiplexed with any of these BCS symbols, with perhaps another longer PN sequence to generate a composite signal where a tracking receiver can operate on both simultaneously and yet leave legacy receivers still operational. Although we have only shown equal weighting in the TM multiplexing, clearly the weighting can be varied by changing the duty factor.


I wish to acknowledge the suggestions of Chris Hegarty of MITRE, J.K. Holmes, Aerospace Corporation, and Per Enge and Grace Gao, Stanford University. I give special recognition to Hegarty, Betz, and Saidi for their generalized BCS work on NH and Barker codes, and the thesis of J. A. A. Rodriguez, University FAF Munich, also on generalized BCS. The detailed version of this article appears in the 2010 ION International Technical Meeting Proceedings, and contains about 50 references.

James Spilker is a consulting professor in electrical engineering, aeronautics, and astronautics at Stanford, and co-author of Global Positioning System: Theory and Applications, Volumes I, II.

This article is tagged with , , and posted in From the Magazine, Opinions