## Abstract

Generalized binary offset carrier (BOC) modulations and global navigation satellite system (GNSS) meta-signals require advanced processing algorithms to overcome problems associated with their multi-peaked correlation functions. In this paper, bicomplex numbers are introduced for GNSS signal representation and for algorithm development. Bicomplex numbers generalize complex numbers and are characterized by four real components. These numbers have the potential to represent multicomponent signals, such as GNSS meta-signals, leading to a compact notation that allows effective derivations and algorithm development. Moreover, bicomplex numbers allow one to express a meta-signal as the product of a code, a carrier, and a subcarrier component: this representation leads to acquisition and tracking algorithms that are capable of effectively processing GNSS meta-signals, thus solving the code ambiguity problem. Theoretical developments are demonstrated using real data collected using software-defined radio front-ends for the Galileo alternative BOC modulation and the BeiDou B1I/B1C meta-signal.

## 1 INTRODUCTION

Modern global navigation satellite systems (GNSSs) broadcast signals with advanced modulations, such as the Galileo alternative binary offset carrier (AltBOC) (Lestarquit et al., 2008) and the BeiDou asymmetric constant-envelope binary offset carrier (ACE-BOC)(Lu et al., 2019; Yao et al., 2016). Moreover, several signals are broadcast synchronously and coherently on several frequencies; these components can be effectively combined to obtain improved performance in terms of both position solution accuracy and time-to-first-fix. The combination of components from different frequencies is usually denoted as a meta-signal (Issler et al., 2010), and meta-signal processing can lead to accurate code measurements. Generalized binary offset carrier (BOC) modulations and GNSS meta-signals require advanced processing algorithms that overcome the problems associated with this type of signal. More specifically, BOC signals are characterized by a split spectrum obtained by the introduction of an additional component, the subcarrier, which is used to move main spectral components away from the signal center frequency. This type of spectrum is, in turn, characterized by a multi-peaked correlation function that can lead to ambiguous code measurements. When a meta-signal is considered, not only is the correlation function ambiguous, with the presence of several peaks, but it is also complex (Borio & Gioia, 2022; Paonni et al., 2014). In the AltBOC and ACE-BOC modulations, four signal components are present; the use of standard complex numbers for their representation can lead to a cumbersome notation, which, in turn, can complicate algorithm developments and interpretation.

In this paper, hypercomplex numbers are introduced for GNSS signal representation and algorithm development. The term *hypercomplex* is generally used to denote sets generalizing complex numbers and having more than one imaginary unit (Alfsmann et al., 2007; Kantor & Solodovnikov, 1989).

A well-known set of hypercomplex numbers is represented by quaternions (Altmann, 2005), which are effectively used in strapdown inertial navigation. Quaternions are characterized by three imaginary units whose squares are equal to minus one and are effective in representing three-dimensional rotations. There exist an infinite number of sets of hypercomplex numbers, differing in the number of components and the type of imaginary units. The use of hypercomplex numbers has proven to be beneficial in providing more compact and often more revealing notations with respect to standard real and complex numbers. In strapdown inertial navigation, quaternions have led to numerically stable and efficient navigation algorithms (Wu et al., 2005). More recently, a set of dual quaternions, corresponding to an eight-dimensional real algebra, has been adopted to represent rigid motions in three-dimensional spaces, finding applications in robotics, kinematics, and computer vision (Wu et al., 2005). Given the potential of hypercomplex numbers, their application to multi-component GNSS signals is investigated in this paper. In particular, the set of bicomplex numbers (Alpay et al., 2014; Cerroni, 2017) is considered. Bicomplex numbers, which are isomorphic to tessarines (Navarro-Moreno et al., 2020) and reduced biquaternions (Pei et al., 2004), consist of four components as quaternions and form a commutative algebra. Thus, when bicomplex numbers are used, the order of factors does not change the result of their product. This is not true for quaternions that form a non-commutative algebra.

Bicomplex numbers are characterized by three imaginary units: two of these imaginary units have the properties of standard imaginary units with squares equal to minus one. These two units are denoted here as *i* and *j,* respectively. The third imaginary unit, denoted as *k*, squares to one and is referred to as a hyperbolic unit.

As further discussed in Section 2, bicomplex numbers have been selected because they allow one to represent a pair of complex GNSS signals broadcast on two different radio frequencies (RFs) as the real part of the product of three terms: a bicomplex code, a complex subcarrier, and a complex carrier. This representation generalizes the standard modulation formula, which is at the basis of modern communication theory (Proakis & Salehi, 2001). In particular, an RF signal can always be expressed as the real part of the product of a complex baseband signal and a complex carrier that modulates the baseband component. This formula is fundamental in GNSSs because it allows one to separate the code component, which is used to generate pseudoranges, and the carrier component, which is used to extract carrier phase observations. This convenient product representation has a direct impact on standard receiver architectures that use a delay lock loop (DLL) to track the code component and a phase lock loop (PLL), which is adopted to process carrier phase variations. When two RF signals are jointly considered, as for GNSS meta-signals, bicomplex numbers provide an effective generalized product representation in which only code, carrier, and subcarrier components are present. The three components can be tracked separately by a DLL, a PLL, and a subcarrier phase lock loop (SPLL) for the subcarrier component. Note that this architecture, originally introduced for BOC signals by Borio (2014), has already been adopted in the literature for GNSS meta-signal processing (Gao et al., 2020; Tian et al., 2022); however, without bicomplex numbers, complex derivations are needed. Bicomplex numbers provide a compact and effective representation of GNSS meta-signals and simplify the development of triple-loop receiver architectures.

In addition, a bicomplex number can be expressed as the sum of two orthogonal components; when applied to GNSS meta-signals; the two orthogonal components are proportional to the meta-signal sideband components. This property allows one to recover the individual sideband signals whose orthogonality is maintained in the bicomplex representation. Indeed, the two RF sideband components are orthogonal because they are broadcast on two different frequencies without spectral overlapping. Bicomplex numbers provide a convenient *(bi)baseband* representation of these two components, preserving orthogonality. The bicomplex orthogonal representation allows the development of effective sideband coherent combining algorithms (Borio, 2017; Feng et al., 2016; Zhu et al., 2015).

This type of technique is currently under development, for example, for joint processing of the BeiDou BI1/B1C signals (Tian et al., 2022). Moreover, in this case, bicomplex numbers provide an effective and compact signal representation for the manipulation of sideband components.

After introducing bicomplex numbers and adopting them to represent GNSS signals, we derive advanced acquisition and tracking algorithms. This is the focus of Section 4, which derives, in terms of bicomplex numbers, the joint likelihood of samples received from two frequencies and from several epochs. From this likelihood, a generalized cross ambiguity function (CAF) is then obtained. In standard processing, when a single GNSS component is considered, the CAF is obtained by correlating the input samples, brought to baseband, with local code and carrier replicas. Thus, the CAF is a function of the code delay and of the Doppler frequency used to tune the local carrier replica. When meta-signals and bicomplex numbers are used, the CAF is obtained by correlating the input samples, expressed as bicomplex numbers, with a local code, a carrier, and a subcarrier replica. Note that the local code is, in general, a bicomplex signal comprised of up to four components. Moreover, the subcarrier and carrier components are two pure complex sinusoids, with respect to the *i* and *j* units, respectively. Sums and products are defined with respect to the bicomplex algebra. The maximization of the CAF is used as the basis for the design of acquisition and tracking algorithms. For tracking, a triple-loop receiver architecture is derived, where three independent loops are used to maximize the CAF with respect to the signal code delay and the carrier and subcarrier phases. This architecture, which is similar to that discussed, for instance, by Gao et al. (2020), is derived using bicomplex numbers that also provide an effective representation of the different correlator outputs.

Finally, the working principles of the developed algorithms are demonstrated using Galileo AltBOC and BeiDou B1 signals collected using wideband front-ends.

This paper is an extended version of a previous conference paper (Borio, 2022) and provides additional theoretical results and experimental demonstrations. In this respect, the findings obtained for joint processing of the BeiDou B1I/B1C signals have not been previously presented.

The analysis performed in this paper shows the advantages of using bicomplex numbers to represent GNSS signals from two different frequencies.

The remainder of this paper is organized as follows: Section 2 introduces the bicomplex signal representation and justifies its adoption. Section 3 discusses the recovery of bicomplex signals using digital front-ends whereas Section 4 derives acquisition and tracking algorithms using the properties of bicomplex numbers. The adopted experimental setup and sample results for the AltBOC modulation and the BeiDou B1I/B1C meta-signal are provided in Section 5 and 6, respectively. Finally, Section 7 concludes the paper.

## 2 BICOMPLEX SIGNAL REPRESENTATION

Let us consider the case in which two complex baseband signals are broadcast on two different RFs. The two components can be interpreted as parts of the same signal, as in the case of GNSS meta-signals (Issler et al., 2010). As a whole, the full RF signal can be modeled as follows:

1

where *y*(*t*) and *x*(*t*) are the baseband complex components and *f _{a}* and

*f*are the two RFs used to broadcast these components. In Equation (1),

_{b}*j*is a root of −1 and is used as the imaginary unit of standard complex numbers. The real-part operator, , is defined in the case of Equation (1) with respect to standard complex numbers. In the following, additional imaginary units are introduced to obtain the bicomplex baseband representation of

*u*(

*t*).

A schematic representation of the different components in Equation (1) is provided in Figure 1. Both *y*(*t*) and *x*(*t*) have an in-phase and a quadrature component, which are broadcast on the cosine and sine parts of the complex exponentials in Equation (1). Equation (1) can be rewritten as follows:

2

where:

3

When the complex exponentials between square brackets are expanded, Equation (2) becomes the following:

4

where:

5

The term between square brackets in Equation (4) can be interpreted as the “real” part of the product between a “complex” signal and a complex exponential. In this respect, it is convenient to introduce a new root of −1, *i*, and define the **bicomplex signal** as follows (Alpay et al., 2014; Ell et al., 2014):

6

where the notation (*a, b*) is used to denote an ordered pair of complex numbers . In the following, denotes the set of complex numbers with imaginary unit *j*. Similarly, denotes the set of complex numbers with imaginary unit *i*.

*z*(*t*) is a hypercomplex signal consisting of four real components or, equivalently, two complex numbers, *Z _{I}*(

*t*) and

*Z*(

_{Q}*t*). Definitions of a bicomplex number with respect to its different components are provided in Equation (A.1) in Appendix A.

To fully define *z*(*t*) and its different operations, it is necessary to introduce the multiplication table between imaginary units (Kantor & Solodovnikov, 1989). In particular, the product between *i* and *j* defines a new imaginary unit:

7

This process is similar to the construction of quaternions, where *k* is interpreted as a third axis of rotation. In quaternions, the symmetry between axes of rotation and imaginary units imposes *k*^{2} = −1 (Ell et al., 2014; Kantor & Solodovnikov, 1989). This requirement leads to the anti-commutativity of the quaternion product and, in particular, to the condition of *i* = *j* = −*j* · *i*.

In the case of bicomplex numbers, no symmetry requirement is imposed on the three imaginary units, and commutativity of the product can be adopted: *i* · *j* = *j* · *i*. This condition leads to the following:

8

and to multiplication (Table 1). Here, *k* is a hyperbolic unit (Alpay et al., 2014) and defines the space of hyperbolic numbers, . is a subset of bicomplex numbers, which forms a commutative algebra denoted as (Alpay et al., 2014).

The terms in square brackets in Equation (4) can be written as follows:

9

where is defined analogously to the standard real-part operator for complex numbers:

10

The operator is the bar-conjugation introduced by Alpay et al. (2014) and defined in Equation (A.2) (Appendix A). For instance, the bar-conjugate of Equation (6) is as follows:

11

By combining Equation (9) with Equation (4), one can express *u*(*t*) as follows:

12

It is important to properly define the real-part operator, , in the case of bicomplex numbers. Indeed, several real-part operators can be defined in a manner similar to Equation (10), depending on the type of conjugation considered. Three conjugation types are summarized in Appendix A; each of these types changes the sign of a subset of the three imaginary units, *i*, *j*, and *k*. In this case, the real-part operator, , without any additional index, is used to denote the real term of a bicomplex number. For a bicomplex number, *q* = *a* + *jb* + *ci* + *dk*, .

Equation (12) is analogous to the formula used for representing a modulated signal with respect to its baseband component (Proakis & Salehi, 2001)(Kaplan & Hegarty, 2017, p. 117). The main difference here is that *z* (*t*) is bicomplex and two modulating frequencies, *f*_{sub} and *f*_{0}, are present. In this respect, *z*(*t*) can be interpreted as a **bicomplex baseband representation** of the RF signal, *u*(*t*), where Equation (12) allows one to identify its subcarrier and carrier components.

### 2.1 Orthogonal Representation

In contrast to quaternions, bicomplex numbers do not form a division algebra, which implies that there exist numbers, , both different from zero, whose product is zero (Alpay et al., 2014; Pei et al., 2004). These numbers are multiples of the following:

13

From Equation (13) and Table 1, we have the following:

14

The last two properties in Equation (14) imply that *e*_{1} and *e*_{2} are *idempotent*: any power of one of these quantities is always equal to itself. *e*_{1} and *e*_{2} are orthogonal and allow an orthogonal representation of bicomplex numbers (Alpay et al., 2014; Pei et al., 2004):

15

When Equation (6) is considered, the orthogonal components of *z*(*t*) are easily found. In particular, we obtain the following:

16

which implies that *x*(*t*) and *y*(*t*) are orthogonal components and that *z*(*t*) admits an inverse, , if and only if both *x*(*t*) ≠ 0 and *y*(*t*) ≠ 0.

These results show that bicomplex numbers allow a compact representation of the four components obtained by considering two signals modulated on two different frequencies. The original signals form the orthogonal components of the bicomplex baseband signal. Moreover, the use of bicomplex numbers allows one to isolate the complex carrier and subcarrier components originating from the modulation process.

## 3 BICOMPLEX SIGNAL RECOVERY

In this section, two approaches are discussed for recovering a bicomplex signal using standard hardware components. The recovery schemes discussed are used to determine a bicomplex model for the received signal. This model will be used in the next section to derive acquisition and tracking algorithms.

### 3.1 Signal Recovery Using Two Synchronous Front-Ends

When considering a GNSS signal on a single frequency, a general baseband signal model is given by the following:

17

which is the sum of a data component and a pilot component. In Equation (17), the subscript *d* indicates quantities related to the data component, whereas the index *p* is relative to the pilot signal. *A _{d}* and

*A*are the amplitudes of the two components, and

_{p}*d*(

*t*) models the data navigation message.

*c*(

_{d}*t*) and

*c*(

_{p}*t*) are two ranging codes with good correlation properties, i.e., the two components can be considered to be practically orthogonal. In Equation (17), data and pilot signals are broadcast in quadra-phase. The model in Equation (17) is quite general; data-only/pilot-only cases can be obtained by setting either

*A*or

_{d}*A*to zero. While additional signals may be present, these components can be omitted or considered separately by exploiting the correlation properties of their ranging codes.

_{p}Signal *x*(*t*) is brought to the RF by using the modulation formulas introduced at the beginning of Section 2:

18

This signal is finally transmitted and passes through the communication channel before being recovered by the receiver. A common model for the communication channel (Misra & Enge, 2006) introduces a delay for the code components and a Doppler shift and phase variation for the carrier terms:

19

where *β* models the attenuation introduced by the channel and *η _{RF,b}* is additive white Gaussian noise (AWGN).

*τ*

_{0}denotes the code delay,

*f*is the Doppler frequency, and

_{b,d}*φ*is the carrier phase. The Doppler effect on the code component is neglected here.

_{b}At the receiver side, the use of an in-phase quadrature (I/Q) downconversion front-end (Tsui, 2004) is assumed. In this way, a digital baseband representation of *x _{RX}*(

*t*) is recovered:

20

where *n* is the time index and *T _{s}* is the sampling interval.

*f*= 1/

_{s}*T*is the sampling frequency.

_{s}When processing two signals jointly and assuming the use of two synchronous front-ends, a second component from frequency *f _{a}* is recovered on an independent channel:

21

where *α* models the attenuation on the second signal. The same code delay, *τ*_{0}, is assumed for both signals whereas *f _{a,d}* and

*φ*are the Doppler frequency and carrier phase of the second component.

_{a}*η*(

_{a}*nT*) is also an AWGN term independent of

_{s}*η*(

_{b}*nT*): both

_{s}*η*(

_{a}*nT*) and

_{s}*η*(

_{b}*nT*) are complex with independent real and imaginary parts, both with variance

_{s}*σ*

^{2}.

This case is depicted in Figure 2(a), where two synchronous front-ends are used for the recovery of the two sideband components. A bicomplex baseband signal is finally found by using Equation (16), which is general and applies to both analog and digital signals. More specifically, we have the following:

22

where:

23

and:

24

are the Doppler frequencies of the carrier and subcarrier components, respectively. *φ*_{0} and *φ*_{sub,0} are defined in a similar way with respect to *φ _{a}* and

*φ*and are the carrier and subcarrier phases.

_{b}When considering two complex numbers, *A* and , and a real phase *φ*, the following can be shown generically:

25

Using this property and the results reported in Appendix C, Equation (22) becomes as follows:

26

In this way, the following baseband model is obtained:

27

*z _{bb}*(·) is the bicomplex baseband signal:

28

with sideband components *x*(·) and *y*(·). *η*[*n*] is a zero-mean bicomplex AWGN with four independent and identically distributed (i.i.d.) components. In the following, it is assumed that all four components of *η*[*n*] are uncorrelated with the same variance, *σ*^{2}. The same variance can be obtained by properly calibrating the two front-ends used for the signal downconversion and analog-to-digital (AD) conversion.

### 3.2 Use of a Single Wideband Front-End

In the previous section, a digital bicomplex signal was recovered, assuming the use of two synchronized front-ends bringing the sideband components, *x*(*t*) and *y*(*t*), to baseband. A similar result can be obtained by applying a single wideband front-end that is capable of simultaneously collecting the two components. This second option is illustrated in Figure 2(b).

In this case, the front-end first brings the analog signal to baseband, removing the nominal carrier component centered around *f*_{0}. This could be, for instance, the case of the AltBOC, which consists of two sideband components centered at *f _{a}* = 1176.45 and

*f*= 1204.14 MHz, respectively. In the AltBOC case,

_{b}*f*

_{0}= (

*f*+

_{a}*f*)/ 2 = 1191.795 MHz. After downconversion, the signal can then be AD-converted using a standard front-end architecture (Tsui, 2004).

_{b}In this way, we find the digital complex signal:

29

The nominal subcarrier is then removed by splitting the baseband signal into two branches. One branch is used to isolate the upper sideband component through multiplication by *e*^{−j2πfsubnTs} whereas the second branch is used to recover the lower sideband part of the signal. In particular, the two signals, *x _{bb}*[

*n*] and

*y*[

_{bb}*n*], are obtained as follows:

30

Note that on the two branches, additional filtering and decimation stages can be introduced to reduce the sampling frequency. An analysis of filtering and decimation strategies is outside the scope of this paper. Once the two components, *x _{bb}*[

*n*] and

*y*[

_{bb}*n*], are recovered, the final bicomplex representation can be obtained via Equation (16):

31

In addition, in this case, a model equal to Equation (27) is found.

In Section 6, results for processing the BeiDou B1I/B1C signals are presented. In this case, *f*_{0} is downconverted to a frequency different from zero: this is equivalent to considering a residual intermediate frequency (IF), which can be easily removed through multiplication with a pure complex exponential in *j*. This operation is performed at the signal processing level.

## 4 BASEBAND PROCESSING

Standard GNSS processing is based on maximum likelihood (ML) estimation, which requires one to determine the likelihood associated with the received samples (Equation (27)). Let us first consider a single sample, *z*[*n*], at the time instant *n*. Under the assumption of Gaussian noise, *η*[*n*], the following likelihood is found:

32

where Ω = {*τ*, *f _{d}*,

*f*,

_{d,sub}*φ, φ*

_{sub}} is a set of unknown parameters. is a local replica of the signal codes and can be bicomplex. is a receiver-level model of the baseband signal

*z*(·) introduced in Equation (27): its generation is discussed in Section 4.1. The symbol | · |

_{bb}^{2}denotes the Euclidean squared norm, which is equal to the sum of the squares of the four real components defining a bicomplex number.

When *N* i.i.d. samples are considered, their joint probability density function can be expressed as follows:

33

where **z** is a vector with the *N* input bicomplex samples of *z*[*n*], ML estimates of the parameters in Ω are found by maximizing Equation (33) or equivalently:

34

which is a minimum mean square error (MSE) problem. The MSE term in Equation (34) can be expanded as follows:

35

This is the binomial expansion of a square, which is also valid in the case of bicomplex numbers, as shown in Appendix B. The real-part operator, , has been defined in Section 2 whereas the star-conjugate of a bicomplex number, *q* = *a* + *jb* + *ci* + *dk*, is obtained by negating the sign of the terms multiplied by *i* and *j*:

Also note that, in general, for two bicomplex numbers, *a* and *b,* we have the following (Alpay et al., 2014, Sec. 1.3):

36

Equality is found when either *a* or *b* belongs to or . This is the case for the exponentials in Equation (35). The first two terms in the expansion of Equation (35) do not depend on the parameters in Ω. Thus, minimization of the MSE is equivalent to maximization of the following:

37

where *C _{z}*(

*τ, f*) is the

_{d}, f_{d, sub}**bicomplex CAF**.

Note that all of the derivations described thus far perfectly mimic standard development in GNSS signal processing using complex numbers. In this case, up to four components have been treated jointly by using bicomplex numbers that allow the inclusion of the subcarrier phase term. The complexity of the derivations is reduced by using the bicomplex number notation. As for complex numbers, a bicomplex number can be expressed in polar form (Kösal & Bilgili, 2020; Pei et al., 2004) as follows:

38

where:

39

is the hyperbolic-valued modulus of *q* (Alpay et al., 2014). In the following, | · |_{k} is also denoted as the k-modulus. This modulus behaves as expected with respect to multiplication (see Appendix A). Formulas for the phases, and , are provided in Appendix D.

In this way, Equation (37) is maximized when and . The hat symbol, , is used here to denote ML estimates obtained from the input samples. Thus, and are the ML estimates of the carrier and subcarrier phases.

Moreover, we have the following:

40

where , , are the ML estimates of the code delay and the carrier and sub-carrier Doppler frequencies.

The bicomplex CAF and its maximization with respect to the parameters in Ω define the acquisition and tracking stages as the complex CAF does in standard GNSS signal processing. These processing blocks are described below.

### 4.1 Local Bicomplex Codes

A local code should mimic the original transmitted signal or at least be strongly correlated with it. In the case of bicomplex numbers, the orthogonal representation formula (Equation (16)) and the signal model (Equation (26)) allow one to obtain the local bicomplex code as follows:

41

where the subscripts *x* and *y* have been introduced to distinguish components from the *x*(*t*) and *y*(*t*) signals. Because two signals with both data and pilot channels are present, consists of four pseudorandom noise codes: *c _{d,y}*(

*nT*),

_{s}*c*(

_{d,x}*nT*),

_{s}*c*(

_{p,y}*nT*), and

_{s}*c*(

_{p,x}*nT*). The local codes of the sideband components are multiplied by the orthogonal units,

_{s}*e*

_{1}and

*e*

_{2}, and summed together.

*α*and

*β*are the attenuations caused by the propagation channel on the two components: when generating the local codes, it is necessary to give more weight to the components received with the largest amplitude. In Equation (41), the navigation messages,

*d*(

_{y}*nT*) and

_{s}*d*(

_{x}*nT*), of the data channels may be unknown, and several options for their processing are possible, including the following:

_{s}**Pilot-only processing**: In this case, only the pilot channels are considered, and the data components are neglected. Equation (41) is simplified as follows:42

Note that the

*j*units in Equation (42) can be removed. By doing so, the different phases recovered by baseband processing will be referred to the pilot channels. Moreover, a common normalization can be adopted. In this way, we have the following:43

where is the relative amplitude between the two sideband pilot components. For signals such as the AltBOC, where symmetric sideband components are adopted,

*γ*= 1.**Data-only processing**: In this case, the pilot component is either not present or neglected. An expression for the local code similar to Equation (43) is found, in which the pilot components are replaced by the data signals. Data-bit-independent processing can then be implemented. This type of processing is analogous to the Costas loop in PLLs, which is independent of the data bits. Carrier and subcarrier PLL discriminators are derived in Section 4.3. Note that pilot components may be modulated by a secondary code that is not recovered at the acquisition stage. Under such conditions, pilot-only processing degenerates to the current case, and acquisition must be insensitive to the effects of secondary codes.**Mixed data–pilot processing**: This is the case in which, for instance, a sideband component consists only of a data channel, whereas the other component also adopts a pilot component. This is the case for the BeiDou B1I/B1C meta-signal: the B1I sideband component features a data-only channel. While different options are available, one possibility is to neglect the data channel of the sideband signal that also has a pilot component. In this way, the following local code is found:44

where, in this case, . Note that the unknown data stream,

*d*(_{y}*nT*), is not present in Equation (44). To account for this fact, phase discriminators insensitive to data bits must be adopted. The use of this type of discriminators is discussed further in Section 4.3._{s}**Full processing with data recovery**: This is the most complex case and requires an estimation of the data bits*d*(_{y}*nT*) and_{s}*d*(_{x}*nT*). All four components are acquired and tracked jointly._{s}

An analysis of the different processing options is outside the scope of this work, whose focus is the introduction of bicomplex numbers for GNSS signal processing. In the remainder of this paper, we will focus primarily on pilot-only processing. The second and third cases, data-only/mixed data–pilot processing, will be briefly discussed in Section 4.3, where carrier discriminators insensitive to data bits are introduced.

### 4.2 Bicomplex Acquisition

In standard GNSS processing, the acquisition block provides an initial estimate of the code delay and Doppler frequency by applying an exhaustive search approach to maximize the absolute value of the CAF. The maximization is performed with respect to a bi-dimensional search space, spanning the different code delays and Doppler frequencies. In the case considered here, the acquisition process maximizes Equation (40) by performing a search on a tri-dimensional space defined by the code delay and the carrier and subcarrier Doppler frequencies. This search space can be reduced by constraining the subcarrier and carrier Doppler frequencies as in Liu et al. (2018):

45

where *δ* is the ratio between the nominal subcarrier and carrier frequencies:

46

In this way, the acquisition scheme shown in Figure 3 is found: the input signal *z*[*n*] is correlated with the local code and carrier as in a standard acquisition scheme. A multiplication with a local subcarrier is also present. The subcarrier and carrier components are generated by a common numerically controlled oscillator (NCO) that is used to perform a search with respect to a single Doppler frequency. The summation block in Figure 3 performs the coherent integration process as in standard acquisition. In this way, the bicomplex CAF is computed: the real part of the k-modulus is retained, and its maximum is taken as a decision variable. In standard acquisition, (the real part of) the modulus of the CAF is considered. In this respect, the acquisition scheme in Figure 3 is a generalization of standard acquisition. If the decision variable passes a decision threshold, then the signal is declared present and the code delay and carrier/subcarrier frequencies corresponding to the CAF maximum are retained as estimates of the input signal parameters.

When the local code has two components, as in Equation (43) or (44), the bicomplex CAF can be easily expressed in terms of sideband components. More specifically, using Equations (43) and (22), one can express the CAF as follows:

47

Hence, the bicomplex CAF is obtained from the two sideband CAFs that multiply the two orthogonal units, *e*_{1} and *e*_{2}. Using Equation (A.10), it is finally possible to evaluate the real part of the hyperbolic modulus:

48

Thus, the final decision variable for the pilot-only case is the weighted sum of the moduli of the sideband CAFs. This type of data combining was previously studied by Marcum (1960) and defines the so-called **linear detector**. Note that because the moduli of the sideband components are considered, the decision statistic in Equation (48) is independent from the data bits on the sideband components. Thus, this statistic can be used for both the pilot-only and data-only cases.

A detailed analysis of this type of acquisition approach is left for future work.

### 4.3 Bicomplex Tracking

After acquiring the bicomplex signal and obtaining initial estimates for the code delay and the subcarrier and carrier Doppler frequencies, one can complete the maximization of the cost function (Equation (37)) by using tracking loops. The decomposition inherent to Equation (37) suggests the use of a triple-loop architecture similar to that developed by Borio (2014) for BOC signals. In particular, we have the following:

a DLL can be used to track the bicomplex code component and estimate the code delay,

a PLL can be used to track the complex carrier (with respect to the

*j*unit) and estimate the carrier phase and frequency,an SPLL can be used to track the complex subcarrier (with the respect to the

*i*unit) and estimate the subcarrier phase and frequency.

This triple-loop architecture is schematically represented in Figure 4: while, at a first glance, this architecture is virtually identical to the tracking scheme discussed in Borio (2014), the signals propagated along the different connecting lines in the figure are bicomplex and the different operations (multiplications and additions) are bicomplex. This architecture is similar to that discussed, for instance, by Zhu et al. (2015) and Tian et al. (2022); however, in those works, the different correlators were expressed in terms of real numbers, resulting in a significantly less compact representation.

The three tracking loops in Figure 4 have the same structure of standard loops from the literature (Kaplan & Hegarty, 2017) and consist of standard components, such as correlators, loop filters, and NCOs. Correlators are implemented using standard operations such as addition and multiplication. Thus, the correlators are directly adapted to the bicomplex case adopting the corresponding bicomplex operations. Note that these operations can be implemented by using the orthogonal representation of bicomplex numbers discussed above. Loop filters and NCOs are the standard blocks used in the literature because they operate on the code, carrier, and subcarrier errors and error rates, which are real quantities. The only elements that must be adapted to the bicomplex case are the different loop discriminators that convert bicomplex correlator outputs into real error estimates. These discriminators are easily found from the likelihood function discussed at the beginning of Section 4 and the results in Appendix D. In particular, a DLL discriminator can be obtained by modifying the standard normalized noncoherent early-minus-late envelope discriminator (Kaplan & Hegarty, 2017, p. 468):

49

as

50

where *D _{c}* denotes the code discriminator output and

*E*and

*L*are the early and late correlator outputs. In Equation (49),

*E*and

*L*are complex, whereas in Equation (50), they are bicomplex and are obtained from the sideband components as follows:

51

The new code discriminator, *D _{c}*, is obtained by replacing the absolute value with the real part of the k-modulus. This replacement derives from Equation (40): the absolute value of the CAF is replaced by the real part of the k-modulus when passing from the complex to the bicomplex case. The discriminator gain of Equation (50) is derived in Appendix E.

The carrier discriminator is found by considering the phase, with respect to the *j* unit, of the CAF introduced in Equation (38). In particular, based on the results in Appendix D, the following discriminator is obtained (from Equations (D.5) and (D.6)):

52

where *P* is the bicomplex prompt correlator, defined similarly to the early and late correlators introduced above. The symbols and |·|_{j} denote bar-conjugation (see Equation (A.2)) and the j-modulus (see Equation (A.7)), respectively.

The discriminator in Equation (52) can also be expressed in terms of the sideband components using the properties discussed in Appendix D:

53

where *P _{x}* and

*P*are the prompt correlators from the sideband components. Equation (53) is the average phase of the prompt correlators evaluated from the sideband components. The discriminator in Equation (53) is insensitive to bit changes common to the two sideband prompt correlators: if both

_{y}*P*and

_{y}*P*are multiplied by −1, the output of Equation (53) is unchanged. To obtain a discriminator insensitive to independent bit changes on the two sideband components, it is sufficient to replace the arctan

_{x}_{2}(·) function with the standard arctangent:

54

Equation (54) is a form of the Costas discriminator because it is insensitive to sign changes on the two sideband components. When this discriminator is used, data bits do not need to be estimated.

Finally, to fully exploit the benefits of pilot signals on the sideband components, the following four-quadrant discriminator can be adopted:

55

This discriminator is obtained from Equation (53) by separating the phase contributions of the two sideband prompt correlators. These three carrier phase discriminators allow one to process bicomplex signals under different conditions. For instance, Equation (54) can be used to track two pilot components from two separate bands when the secondary code has not yet been recovered. The discriminator in Equation (55) can be used after secondary code synchronization. This type of approach has been used in Section 6.1 for processing of the AltBOC signal.

The subcarrier discriminator is found in a similar way, but by considering the phase with respect to the *i* unit. In particular, using the results in Appendix D, one can obtain the following discriminator:

56

where (·)^{†} denotes the †-conjugation defined by Equation (A.3) and *D*_{φsub} is the discriminator output. |·|_{i} is the i-modulus defined in Equation (A.6). Similar to the carrier phase discriminator case, Equation (56) can be expressed in terms of orthogonal components as follows:

57

In this case, the subcarrier phase discriminator is the half difference of the phases of the sideband prompt correlators. Different variants of this discriminator, sensitive or not to data bit changes, can be obtained by applying a process similar to the one used above for the carrier phase discriminator.

## 5 EXPERIMENTAL SETUP

To demonstrate the theoretical findings discussed above, Galileo E5 AltBOC and BeiDou B1 signals have been collected and analyzed. For the Galileo E5 AltBOC signal, a single front-end, the National Instruments (NI) universal software radio peripheral (USRP)-2944R shown in Figure 5, was adopted according to the configuration discussed in Section 3.2.

The parameters used for the data collection are summarized in Table 2. A sampling frequency, *f _{s}* = 50 MHz, was adopted. This sampling frequency is sufficiently large to capture both E5a and E5b components. The center frequency,

*f*= 1191.795 MHz, is the center of the E5 band, and the two sideband components are placed symmetrically with respect to this frequency at approximately ±15.345 MHz.

_{c}The analysis of the AltBOC signal, which was already considered in Borio (2022), has been complemented with the results obtained by processing the meta-signal comprised of the BeiDou B1C and B1I components. In particular, the open data collected by Gao et al. (2020) were processed via the tracking approach detailed in Section 4.3. BeiDou navigation satellite system (BDS)-3 satellites currently broadcast two open service signals into the L1 frequency (Gao et al., 2020; Tian et al., 2022; Wang et al., 2017): the B1I and B1C components. The B1I signal is broadcast into the 1561.098-MHz frequency and adopts a binary phase shift keying (BPSK) modulation with a rate of 2.046 MHz, BPSK(2). A quadrature multiplexed BOC modulation (Lu et al., 2019) is adopted for the B1C signal, which is transmitted on the 1575.42-MHz frequency. In the following, only the BOC(1,1) pilot component of the B1C signal is considered. Thus, the B1I BPSK(2) and B1C BOC(1,1) components are considered as a single meta-signal and processed together as the orthogonal components of a bicomplex signal.

The parameters adopted for the data collection of the BeiDou signals are reported in Table 2. Note that in this case, the L1 center frequency (1575.42 MHz) is downconverted to the baseband. This is not the center frequency of the resulting meta-signal, and a residual IF, equal to −7.161 MHz, is present. This IF is removed through multiplication by a complex exponential in *j*. This is a standard approach commonly adopted by receivers operating on data with a residual IF.

The data collected were processed by a custom Python software receiver implementing the acquisition and tracking algorithms described above. Note that the software receiver was implemented using standard complex operations natively supported by Python and Numpy, a highly optimized numerical computing library for Python. This was possible because of the orthogonal representation of bicomplex numbers, which allows optimized operations.

Pilot-only processing was considered for the AltBOC modulation, which is also characterized by symmetric sideband components with *γ* = 1. For the BeiDou B1 case, mixed data-pilot processing was adopted. The two sidebands are characterized by different modulations and different power levels. In this case, has been adopted, following the recommendation of Wang et al. (2017): this value takes into account the different power levels transmitted for the B1I signal and the B1C pilot component. A common code rate equal to 2.046 Mchips/s has been considered: this is the natural rate of the BPSK(2) modulation and the slot rate of the BOC(1, 1) signal.

## 6 SAMPLE RESULTS

### 6.1 AltBOC Processing

In this section, sample results obtained by processing the AltBOC signal via the algorithms derived using the bicomplex signal representation are briefly provided. A full performance evaluation of such algorithms is outside the scope of this paper. Pilot-only processing has been implemented; thus, only the E5a-Q and E5b-Q components have been considered. The joint processing of data and pilot components is left for future work.

#### 6.1.1 Acquisition

The acquisition algorithm discussed in Section 4.2 was implemented and used to acquire the AltBOC signals collected according to the experimental setup described in Section 5. An example of a CAF obtained using the AltBOC signal is provided in Figure 6: a bi-dimensional function is obtained by constraining the subcarrier Doppler frequency to the carrier Doppler component according to Equation (45). A clear peak emerges from the search space, revealing the presence of a Galileo AltBOC signal. This peak passes the decision threshold represented in Figure 6 as a transparent plane. The decision threshold has been set by fixing and inverting the false alarm probability determined by the decision statistics in Equation (48). An expression for this false alarm probability can be found in (Marcum, 1960, Eq. 106).

Figure 7 provides a comparison between the normalized correlation functions obtained by considering either standard sideband processing (labeled as “upper sideband” in the figure) or bicomplex processing using two pilot components (denoted as “joint”). The two correlation functions were extracted from the respective CAFs by setting the Doppler frequency equal to the frequency obtained in correspondence of the main signal peak. The same samples have been used in both cases. The two correlations have been normalized with respect to the main peak, which assumes a unit value. The comparison in Figure 7 is only qualitative; thus, caution is needed when interpreting this figure because the two correlation functions have different underlying statistical distributions. Despite this fact, Figure 7 shows a noise reduction when moving from single-sideband processing to full bicomplex acquisition.

#### 6.1.2 Tracking

The tracking architecture depicted in Figure 4 was implemented and used to process the AltBOC signals. The three tracking loops are characterized by the parameters reported in Table 3. Moreover, the same early-minus-late spacing has been used to generate the early/late correlators from the sideband components.

The implemented architecture features several stages. First, fine frequency estimation is performed via a modified frequency lock loop (FLL). As input, the FLL takes two bicomplex prompt correlators from consecutive time epochs. The FLL discriminator is derived from Equation (54) by introducing a phase differentiation, obtained using the two correlators from consecutive time epochs. When frequency lock is achieved, secondary code synchronization is started on both the E5a-Q and E5b-Q components. Before secondary code synchronization, the sideband components are modulated by pseudorandom symbols, and sign-independent subcarrier and carrier discriminators are used. After secondary code synchronization is achieved on both sideband components, the coherent integration time is increased from 1 to 5 ms, and fully coherent discriminators are used. Secondary code synchronization is performed on the sideband components, adopting standard algorithms operating on complex numbers.

Figure 8 shows the outputs of the filters of the three tracking loops implemented. In particular, the code, subcarrier, and carrier Doppler estimates are provided after normalization by the corresponding nominal frequencies. The code Doppler frequency is normalized by *f _{code}* = 10.23 MHz, the subcarrier Doppler frequency by

*f*= 15.345 MHz, and the carrier component by

_{sub}*f*= 1191.795 MHz. After normalization, the three components overlap, showing proper functioning of the loops and the possibility of aiding, for example, from the carrier to the other components. As expected, after normalization, the carrier Doppler component is the least noisy, followed by the subcarrier and code components.

_{c}From Figure 8, the different operational modes of the implemented tracking architecture also emerge: during the first 1.7 s of the test, the coherent integration time is limited by the primary code duration and the presence of non-recovered secondary codes. After this initial period, the secondary codes are recovered, the integration time is increased to 5 ms, and less noisy Doppler estimates are found.

Figure 9 compares the carrier-to-noise power spectral density ratio (*C*/*N*_{0}) values estimated when processing the sideband components and the full AltBOC using the triple-loop architecture described above. Sideband components have been processed independently using a standard loop architecture. For the bicomplex case, a moment-based *C*/*N*_{0} estimator generalizing standard algorithms from the literature (Falletti et al., 2008) has been used. The real part of the prompt bicomplex algorithm is used to estimate the overall correlator amplitude: when the subcarrier phase is correctly estimated, the contributions from the sideband components are coherently summed, leading to an effective *C*/*N*_{0} gain. This fact is clearly visible in Figure 9, where a gain of approximately 3 dB is found when considering full AltBOC processing; this result is expected because the SPLL is able to coherently align the two sideband components, leading to less noisy combined correlator outputs.

### 6.2 B1I/B1C Processing

Joint processing of the B1I and B1C signals is more complex than that of the AltBOC modulation because the two sideband components are significantly different and have different characteristics. In addition to adopting two different modulations, the two sideband components have different code periods, 1 and 10 ms. Moreover, secondary codes with different lengths are present on the two signals. One must consider all of these elements when actually implementing the joint processing of these two signals. In particular, a common integration time, mainly dictated by the code lengths on the two components, must be adopted.

A detailed implementation of a joint B1I/B1C receiver is outside the scope of this paper, which primarily focuses on the introduction of bicomplex numbers for GNSS signal processing. For this reason, only sample results are presented. The requirement of having a common integration time implies significant changes to the acquisition scheme detailed in Section 4.2: either partial correlations or symbol estimation approaches (Borio, 2011) should be adopted. The first solution can be adopted to obtain a 1-ms integration on the B1C component whereas the second solution can be used to extend the integration time to 10 ms on the B1I signal. Given such requirements, only the B1C signal has been used for acquisition; bicomplex joint tracking is then started. Thus, only tracking results are presented in the following.

#### 6.2.1 Tracking

Similar to the Galileo AltBOC case, the tracking architecture implemented for tracking the B1I/B1C signals features several stages. After acquisition, which is performed on the B1C component alone, the tracking applies a coherent integration time of 1 ms, which is the code duration of the B1I signal. In this initial tracking state, secondary code synchronization is performed on the B1I signal. This secondary code is a 20-ms Neumann–Hoffman sequence: once synchronized, the coherent integration time is extended to 10 ms on both sideband components. 10 ms is the duration of the B1C primary code. Note that the B1C signal also has a secondary code, which is progressively recovered. In this way, the same integration time is maintained on the two sideband components.

The parameters of the triple-loop architecture implemented for processing the BDS B1 signals are summarized in Table 4. Two different early-minus-late spacings are adopted for the BPSK(2) and BOC(1, 1) components: BOC(1, 1) has a sharper main correlation peak than BPSK(2). The correlator spacings have been selected in order to obtain the following:

58

where *R _{BOC}* (·) and

*R*(·) are the ideal correlation functions of the BPSK(2) and BOC(1, 1) modulations.

_{BPSK}*d*and

_{s,x}*d*are the correlator spacings on the two sideband components.

_{s,y}The different operating modes of the implemented tracking architecture are clearly visible in Figure 10, which shows the normalized code, subcarrier, and carrier Doppler estimates from the DLL, SPLL, and PLL. The code Doppler component is normalized by the BPSK(2) chipping rate, 2.046 Mchips/s, which is also the slot rate of the BOC(1, 1) component. The subcarrier Doppler frequency is normalized by the subcarrier frequency, 7.161 MHz, whereas the carrier component is divided by *f*_{0} = 1568.259 MHz. As for the AltBOC case, the normalized Doppler frequency estimates assume similar values, indicating proper functioning of the loops and the possibility of carrier/subcarrier aiding.

During the first two seconds of processing, the loops are operating with a 1-ms integration time. After this transient, which includes the achievement of carrier phase lock and B1I secondary code synchronization, the loop switches to a 10-ms integration time. This fact is clearly visible in Figure 10: less noisy Doppler estimates are obtained for longer integration times.

The *C*/*N*_{0} gain achieved by using a triple-loop architecture for joint processing of the B1I and B1C signals is presented in Figure 11, which also shows the *C*/*N*_{0} values obtained using independent sideband processing. In this case, the sideband components are processed in isolation using a standard DLL/PLL tracking architecture (Kaplan & Hegarty, 2017). The figure also provides the median *C*/*N*_{0} values obtained for the three processing modes. Using the median values, one can evaluate the median differences between the three processing modes: the *C*/*N*_{0} of the B1C pilot component is approximately 1.4 dB weaker than that of the B1I signal. This difference is close to the theoretically expected value (1.25 dB) obtained for . The *C*/*N*_{0} gain obtained via the triple-loop architecture derived using bicomplex numbers is 2.3 dB, which is close to the theoretical value, 10 log_{10}(1 + *γ*^{2}) = 2.4 dB. The results shown in Figure 11 confirm that the subcarrier loop aligns the different sideband components in phase, providing a gain close to the theoretical value.

## 7 CONCLUSIONS

In this paper, bicomplex numbers have been introduced for the representation of generalized BOC modulations and GNSS meta-signals. Bicomplex numbers allow one to effectively represent four-component modulations such as the AltBOC and ACE-BOC. This effective and compact representation facilitates algorithm development and provides insights into the structure of composite signals from different frequencies.

In particular, bicomplex numbers have been used to develop advanced acquisition and tracking algorithms that rely on the concept of a bicomplex CAF. For acquisition, it was shown that a form of linear detection is the optimal combining strategy, from the viewpoint of ML, whereas a triple-loop architecture was found for signal tracking. This architecture includes an SPLL that effectively combines sideband components. These algorithms are equivalent or closely related to algorithms already derived in the literature using complex or real numbers.

Theoretical findings have been supported by experiments, and sample results have been provided for processing of the AltBOC modulation and BeiDou B1I/B1C meta-signal. The theory developed using bicomplex numbers is also valid when meta-signals containing sideband modulations with different characteristics are considered. The sample results provided herein demonstrate the effectiveness of bicomplex numbers for the development of effective acquisition and tracking algorithms.

## HOW TO CITE THIS ARTICLE

Borio, D. (2023). Bicomplex representation and processing of GNSS signals. *NAVIGATION, 70*(4). https://doi.org/10.33012/navi.621

## CONFLICT OF INTEREST

The author declares no potential conflicts of interest.

## APPENDIX

## A PROPERTIES OF BICOMPLEX NUMBERS

A summary of the basic properties of bicomplex numbers is provided in Table A1; the proof of such properties can be found in the references included in the table.

## B SQUARE MODULUS OF THE SUM OF TWO BICOMPLEX NUMBERS

Let us consider the square modulus of the sum of two bicomplex numbers:

B.1

where *q* and and | · |^{2} is the squared Euclidean norm. The binomial in Equation (B.1) can be written in terms of the bicomplex components:

B.2

The two terms in the second line of Equation (B.2) are the squared Euclidean norms of *q* and *p*, respectively. The last term is twice the real part of the following:

B.3

Thus, we have the following:

B.4

## C IDEMPOTENT DECOMPOSITION OF A PURE I-COMPLEX EXPONENTIAL

Consider a pure complex exponential with respect to the imaginary unit, *i*: *e ^{iφ}*. In this appendix, we will express

*e*in terms of idempotent decomposition with respect to and . This decomposition allows one to determine the effect of multiplication by

^{iφ}*e*on the idempotent components of a bicomplex number.

^{iφ}From Euler’s formula, the complex exponential *e ^{iφ}* can written as follows:

C.1

Moreover, from the identities 1 = *e*_{1} + *e*_{2} and *k* = *e*_{1} − *e*_{2}, we obtain the following:

C.2

This decomposition implies that multiplying a bicomplex number by *e ^{iφ}*is equivalent to multiplying its idempotent components by

*e*

^{−jφ}and

*e*, respectively.

^{jφ}## D PHASES OF A BICOMPLEX NUMBER

In this appendix, the recovery of the two phases of a bicomplex number is analyzed. Although the polar representation of a bicomplex number has been discussed in several papers (Catoni et al., 2006; Kösal & Bilgili, 2020; Pei et al., 2004), it is generally expressed as a function of the four components of the bicomplex number. Here, the phases of the polar representation are determined as a function of the different conjugations introduced in Appendix A.

A bicomplex number, *q*, can be expressed in polar form as follows (Catoni et al., 2006; Pei et al., 2004):

D.1

The different terms in Equation (D.1) can be easily found by using the three conjugations introduced in Table A1. Let us first consider the *-conjugation:

D.2

The second line of Equation (D.2) directly follows from the decomposition of an exponential in terms of hyperbolic functions:

and from the fact that the hyperbolic cosine and sine are even and odd functions, respectively. Thus, the following properties can be easily proven:

These properties can be used to obtain Equation (D.2).

Using Equation (A.8), we obtain the following:

D.3

Similarly, we have the following:

D.4

The other two phases can be recovered using the other two conjugations:

D.5

which, with the use of Equation (A.7), implies the following:

D.6

The phase *θ _{j}* can also be expressed in terms of idempotent components:

D.7

and:

D.8

which is the half-sum of the phases of *γ*_{1} and *γ*_{2}.

The phase with respect to the *i* unit can be found in a similar way by using the †-conjugation:

D.9

which, with the use of Equation (A.6), implies the following:

D.10

In terms of idempotent components, we obtain the following:

D.11

and:

D.12

## E GAIN OF THE BICOMPLEX NONCOHERENT EARLY-MINUS-LATE ENVELOPE DISCRIMINATOR

In this appendix, the gain of Equation (50) is determined for the general case in which the two sideband components have different correlation functions and different power levels. The discriminator gain is obtained by considering the early and late correlators in the absence of noise and assuming perfect frequency and phase synchronization. Under such conditions, the sideband early and late correlators can be modeled as follows:

E.1

where *τ* is the code delay expressed in chips. In this appendix, pilot-only processing is considered, and Equation (E.1) directly derives from the signal model introduced in Section 2. In Equation (E.1), two distinct early-minus-late spacings are considered and indicated as *d _{s,x}* and

*d*. These spacings are both expressed in chips (a common chipping rate is assumed).

_{s,y}*R*(·) and

_{y}*R*(·) denote the correlation functions of the two sideband components.

_{x}Using the model in Equation (E.1), it is possible to compute the discriminator gain. In particular, the noiseless discriminator output can be expressed as follows:

E.2

The main peak of the correlation function of a GNSS signal can be expressed as follows:

E.3

where *l* = *x, y* and *s _{l}* is the slope of the main peak of the correlation function. In this way, Equation (E.2) takes the following form:

E.4

Under the assumption that |*τ*|min(*d _{s,x}*/2,

*d*/2), Equation (E.4) simplifies as follows:

_{s,y}E.5

As expected, the discriminator output is directly proportional to the residual delay error, *τ*. The discriminator gain is the coefficient multiplying *τ* in Equation (E.5) and is equal to the following:

E.6

Note that for *γ* = 0, the gain of the standard noncoherent early-minus-late envelope discriminator (Kaplan & Hegarty, 2017, p. 468) is found. Moreover, for *s _{y}d_{s,y}* =

*s*, i.e., when

_{x}d_{s,x}*R*(

_{x}*d*/2) =

_{s,x}*R*(

_{y}*d*/2),

_{s,y}*G*further simplifies as follows:

_{d}E.7

## Footnotes

**Present address**, Via Enrico Fermi 2749, 21027 Ispra (VA), Italy

This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.