This relates to processing of signals and, more particularly, processing of signals that are sparse in a code-correlation domain.
Code Division Multiple Access (CDMA) systems have been widely used in various applications, such as cellular communication and Global Positioning System (GPS). Typically, an information signal is modulated with a CDMA code, the resultant digital signal is modulated with an analog carrier signal, and the modulated signal is transmitted. Sometimes, such as in the GPS application, the information signal is itself digital.
At the receiver, the carrier-modulated analog signal is down-shifted, perhaps to baseband, sampled, quantized, and processed to recover the information signal. The modulation onto a carrier, transmission, and downshifting to remove the carrier can be viewed as mere perturbations that are imposed by the need to transmit the signal over a distance; and the sampling is simply a means for enabling the processing to be done digitally.
To illustrate,
To perform this processing digitally on the sampled baseband received signal, the textbook teaching for the required sampling rate is that it must comport with the Nyquist-Shannon sampling theorem, which states that a function which contains no frequencies higher than B Hertz is completely determined by identifying the function's ordinates at a series of points spaced ½B seconds apart. In other words, to completely recover a signal that is band-limited to B Hertz, one has to sample the signal at a rate that is at least as great as 2B Hertz (Nyquist rate).
Based on this theorem, received CDMA signals are processed in receivers that process signals digitally by sampling the received baseband signals with a sampling clock that it at least twice the CDMA code's chip rate, which typically is significantly higher than the bandwidth of the information signal.
Significant advantage is achieved in the present invention with the realization that some signals, such as the CDMA signal (GPS signals being an illustrative example of CDMA signals), are sparse in the code-correlation domain, and measuring (i.e., processing) the signal in a manner where the measurements are incoherent with respect to the sparsity basis. Illustratively, the CDMA signal is transformed to another domain by sampling it in an essentially random manner, and processing the signal in that domain. The advantage that accrues in using this approach arises from the fact that the essentially random sampling is at a significantly lower rate than the Nyquist rate of the applied CDMA signal.
A number of embodiments are presented for processing GPS signals, including some that employ irregular sampled Digital Fourier Transform (ISDFT) process.
Transforming signals from one domain to another domain is fairly common in signal processing. Viewed expansively, transforming is an operation that is applied to an input set of coefficients to develop an output set of coefficients. A coefficient in the output set is created by applying a basis function to the input set from a specified basis function family. Common examples of transforming include Fast Fourier Transform (FFT), and Discrete Cosine Transform (DCT).
Signals are typically transformed in order to take advantage of characteristics of the signal in the domain to which it is transformed. For example, in the image processing field it is known that images (including pixelized images) contain a significant amount of redundancy, but in the pixels domain the redundancy is impossible to remove. One form of processing that is successful in removing at least some of the redundancy breaks the image into blocks, performs DCT transform on each block, and simply discards DCT coefficients that have a level lower than a preselected value. The result is a representation of the image that has much of the redundancy removed.
Generalizing on the above, one can say that if a signal, f, is transformable to n coefficients in a given domain, Ψ, and in that domain the transformed signal Q=Fψ(f) is sparse in the sense that many of the n coefficients have a value that is below a preselected threshold, then the processing burden can be reduced by discarding those low coefficients to form Q′ before processing and executing the inverse transform F−1ψ(P(Q′)), where P(Q′) is the processing performed on Q′.
An article titled “People Hearing Without Listening: An Introduction to Compressive Sampling,” by Emmanuel J. Candés and Michael B. Wakin teaches that the steps of transforming and creating the reduced transform, Q′, can be, effectively, done in one step by transforming f into m<<n coefficients in domain Φ, if signal f is sparse in domain Ψ (having only S significant elements). Subsequent processing with only the S significant elements can then proceed, and the probability is high that the processing will successfully approximate the true result if domain Φ is incoherent with domain Ψ, and if the number of coefficients m, though significantly smaller than n, is larger than C·S·log n, where C is some constant. In practice, the number of coefficients that one uses to insure a high probability of success is typically higher; such as m=C·S·(log n)4.
One transformation to domain Φ that is incoherent with Ψ, almost regardless of the nature of domain Ψ is sampling signal f at random or essentially random (e.g., pseudo-random) time instances.
We realized that the technique described above can be used in the acquisition of CDMA signals because the acquisition of CDMA signals involves transforming the signal to a code-correlation domain, which is incoherent with the random sampling domain Φ; and in this code-correlation domain the signal is sparse. In particular, the signal exhibits a single peak in the code-correlation domain, at a time delay that corresponds to a synchronism with the CDMA code that is embedded in the CDMA signal, and if the code itself is not known, at a code value that corresponds to the code with which an information signal was modulated by a CDMA code.
The principle described above is also applicable to GPS signals where signal acquisition must account for signal's transit time, Doppler frequency shift that the signal experiences, the signal's CDMA code, and the code's phase relative to the phase of the code that is generated at the receiver. Even though the acquisition of GPS signals involves the additional factor of a Doppler frequency shift, the GPS signal is sparse in the correlation domain, with a peak occurring at the right code, time delay, and Doppler frequency shift.
The transmitted signal from satellite n can be expressed as
Stransmitted=AnDn(t)xC/An(t)cos(2π(fL1)t+φ1)+BnDn(t)xP(Y)n(t)sin(2π(fL1)t+φ1) (1)
where An and Bn are magnitude constants, Dn (t) is the data signal, xC/An(t) is the C/A code signal assigned to satellite n, xP(Y)n is a secret code that is assigned to satellite n, fL1 is the frequency of the carrier, and φ1 is the phase of the carrier relative to the beginning of the data and code signals.
A GPS receiver can engage in the processing of signals as if all of the possible satellites are present but, of course, some of the satellites are not within range of the GPS receiver's antenna so the processing results for those satellites are not viable. The following analysis follows the signal of only one satellite and, for sake of simplicity, superscript n is omitted from the equations, the C/A subscript is shortened to C, and the P(Y) subscript is shortened to P.
The transmitted signal is subjected to transit time delay to the receiver, τ, and the signal that is received by a receiver's antenna experiences a Doppler frequency shift, fD, due to the satellite's movement in its orbit and possible receiver motion. The received signal thus can be expressed as
SreceivedAD(t−τ)xC(t−τ)cos(2π(fL1+fD)(t−τ)+φ1)+BD(t−τ)xP(t−τ)sin(2π(fL1+fD)(t−τ)+φ1) (2)
or simplified to
Sreceived=AD(t−τ)xC(t−τ)cos(2π(fL1+fD)t+φ1−φ2)+BD(t−τ)xP(t−τ)sin(2π(fL1+fD)t)+φ1−φ2). (3)
When downshifted to baseband, the received signal is
SdownshiftedAD(t−τ)xC(t−τ)cos(2πfDt+θ1)+BD(t−τ)xP(t−τ)sin(2πfDt+θ1). (4)
The sampled signal is applied to element 10 where it is multiplied by a chosen PRN code from the set of known codes; e.g., by code xC(t−τ′), where τ′ is the unknown time shift of the code generated by element 11 (and sampled by the same random sampling sequence that is applied to the input signal by element 5) relative to the code used by the transmitter. The resulting product signal, which is applied to elements 12 and 14, is:
AD(t−τ)xC(t−τ)xC(t−τ′)cos(2πfDt+θ1)+BD(t−τ)xP(t−τ)xC(t−τ′)sin(2πfDt+θ1). (5)
Code xC(t−τ′) is such that ∫xP(t−τ)xC(t−τ′) is 0 in all circumstances and ∫xC(t−τ)xC(t−τ′) is 0 except when τ=τ′. In other words, the product signal of element 10 is basically noise, except when the PRN code has the proper time delay. If, for sake of clarity, the signal components that are later removed by integration are ignored herein, then the output signal of element 10 is 0 except when the PRN code has the proper time delay, in which case the output signal is
AD(t−τ)cos(2πfDt+θ1). (6)
In element 12 the product signal is multiplied by a cos(2πfidt+φ4) signal, which element 13 generates and samples by the RS sampling signal that is applied to the input signal in element 5, where fid is the ith Doppler frequency shift candidate. Concurrently, in element 14 the product signal is multiplied by the correspondingly sampled signal sin(2πfidt+φ4) from element 13. The RS sampled sin signal and the cosine signals that element 13 generates can be viewed as a sampled phasor signal. In the situation where the output of element 12 is non-zero, that output is the sampled version of:
and the output of element 14 is the sampled version of
The important point to note in equations (7) and (8) is that all of the signal components are sinusoidal except when frequency fid=fD, in which case the outputs of elements 12 and 14 include a DC component as well.
The outputs of elements 12 and 14 are applied to elements 16 and 18, which integrate (and thus filter out all sinusoidal components and noise components) and square the applied signals. The outputs of elements 16 and 18 are
and those outputs are summed in element 20 to yield
The above is, of course, carried out when the PRN code developed by element 11 is time shifted appropriately and when the local oscillator outputs the proper Doppler shift frequency. Otherwise, the output of element 20 is noise-like and close to 0. Hence, in operation, the computations of the
When the PRN code that is used by the transmitter is known (such as when the process is focused on the signal that was modulated by a particular code), when this code has 1023 chips, and when the Doppler search is from −10 KHz to +10 KHz in 500 Hz increments, then the total number of required searches is 1023×41, or 41,943. From those 41,943 outputs controller 8 identifies the Doppler frequency shift and the code delay that produce a peak output, and this information is employed in further processing of the GPS signal.
where In is the time interval between the (n−1)th sample and the nth sample, normalized by the smallest inter-sample interval, and I0=1. That is, the random sampling is simply random choosing of samples from a uniformly sampled set; for example, choosing the 1st sample from some arbitrary starting point of a uniformly sampled set, the 3rd sample (interval 2), the 5th sample (interval 2), the 9th sample (interval 4), etc. The value of N is a function of the desired granularity of the Doppler frequency shift.
Coefficients Xk are complex numbers, each corresponding to the signal component at frequency k that is contained in the signal applied to element 10. Of course, the signal applied to element 10 has only one sinusoidal signal component, corresponding to the Doppler frequency shift, so the values of Xk for all values of k other than that of the actual Doppler frequency shift are low (at noise level). The magnitudes of the coefficients are the correlation output candidates, so element 24 computes those magnitudes and identifies the coefficient with the largest magnitude.
Since all of the Doppler frequencies are considered simultaneously for each PRN code of a given time delay, the number of searches reduces to the 1023 time shifts of the locally generated PRN code.
The transform that is carried out in element 22 concurrently provides, as indicated above, correlation values for a given PRN code time shift, where each of the values developed by the transform represents a different Doppler frequency shift. A yet another embodiment is possible when a Fourier Transform type element is used to concurrently provide 1024 correlation values, where each of the values represents the correlation at a different time shift, though at a given Doppler frequency shift. This element is the Inverse ISDFT, which receives a 1024 set of frequency coefficients represented by the equation
Xk=A*kBk (12)
where A*k is the complex conjugate of Ak, Ak is a set of 1024 randomly sampled frequency coefficients of the PRN code a (n), and Bk is a set of 1024 randomly sampled frequency coefficients of the applied GPS signal with an assumed Doppler frequency shift wiped-off, b(n). This works because, as pointed out by Bone et al in “A Software-Defined GPS and Galileo Receiver Single-Frequency Approach,” ISBN 0-8176-4390-7, a set of N correlation values for signals a and b, where signal b is time shifted relative to signal a; i.e.,
for n=0, 1, . . . , N−1, has the Discrete Fourier Transform
What equation (14) states is that if signal a corresponds to the locally generated PRN code, and signal b is the input signal with a Doppler frequency shift wipe-off at a particular assumed frequency shift, then the frequency coefficients of the entire set of N correlation values for signals a and b are given by the set X(k), computed as specified in equation (14), and the set of correlation values themselves is given by the inverse DFT of X(k). It can be shown that the same holds true when using the ISDFT instead of the DFT and the inverse-ISDFT instead of the inverse-DFT. This structure is depicted in
Thus,
As in the
This application is related to a provisional application filed Jul. 30, 2010, which bears the Ser. No. 61/369,520.
Number | Name | Date | Kind |
---|---|---|---|
6539320 | Szajnowski et al. | Mar 2003 | B1 |
8055087 | Paniconi | Nov 2011 | B2 |
8059909 | Paniconi | Nov 2011 | B2 |
8314736 | Moshfeghi | Nov 2012 | B2 |
8358441 | Chang et al. | Jan 2013 | B2 |
20050276361 | Kim et al. | Dec 2005 | A1 |
20100104048 | Chen | Apr 2010 | A1 |
20100216481 | Gormley | Aug 2010 | A1 |
Entry |
---|
Candes et al, People Hearing Without Listening, An Introduction to Compressive Sampling, Applied and Computational Mathematics, CALTECH, Mar. 2008. |
Borre et al, A Software-Defined GPS and Galileo Receiver, Single Frequency Approach, Birkhouser, Nov. 2006. |
Number | Date | Country | |
---|---|---|---|
20120026901 A1 | Feb 2012 | US |
Number | Date | Country | |
---|---|---|---|
61369520 | Jul 2010 | US |