Source: http://www.freepatentsonline.com/8976842.html
Timestamp: 2020-02-21 18:38:51
Document Index: 466621524

Matched Legal Cases: ['Application No. 61', '§112', '§112', '§112', '§112', '§112']

PN code sync detection and carrier frequency offset estimation for the direct sequence spread spectrum receiver - Comtech EF Data Corp.
United States Patent 8976842
A method of detecting PN code synchronization for a DSSS signal comprising receiving a DSSS data signal of data frames comprised of I and Q symbols, at least a portion of each data frame comprising a unique word, demodulating the data signal into I and Q chip samples, filtering the I and Q chip samples and outputting the filtered I and Q chip samples to a chip stream controller which outputs the plurality of chip streams to a correlation matrix that correlates the plurality of chip streams with the chipped unique word and outputs a correlated data stream. A plurality of FFTs is run on the correlated output data stream and a processor searches for a maximum frequency bin power of each FFT. A PN synchronization detector searches for a maximum frequency bin power of each FFT. A PN synchronization detector searches for a maximum frequency bin power among the plurality of FFT rounds and determines whether PN synchronization is present.
Peng, Lianfeng (Gilbert, AZ, US)
13/865394
375/135, 375/136, 375/137, 375/141, 375/142, 375/147, 375/149, 375/150
H04B1/00; H04B1/7073; H04B1/709
Download PDF 8976842 PDF help
20140099079 Method of Processing a Sequence of Coded Video Frames 2014-04-10 Narayanan et al. 386/263
7555085 CDR algorithms for improved high speed IO performance 2009-06-30 Risk et al. 375/354
6005889 Pseudo-random noise detector for signals having a carrier frequency offset 1999-12-21 Chung et al. 375/140
5963586 Method and apparatus for parallel noncoherent correlation of a spread spectrum signal 1999-10-05 Durrant et al. 375/142
Erik Strom, Tony Ottosson, Arne Svensson, An Introduction to Spread Spectrum Systems, Department of Signals and Systems, Chalmers University of Technology, Sweden 2002.
Maxim Integrated Products, An Introduction to Direct-Sequence Spread-Spectrum Communications, Feb. 18, 2003.
Meel, Ir. J., Spread Spectrum (SS) applications, De Nayer Instituut, Studiedag Spread Spectrum, Oct. 6, 1999.
Meel, Ir. J., Spread Spectrum (SS) introduction, De Nayer Instituut, Studiedag Spread Spectrum, Oct. 6, 1999.
This document claims the benefit of the filing date of U.S. Provisional Patent Application No. 61/721,951, entitled “PN Code Sync Detection and Carrier Frequency Offset Estimation for the Direct Sequence Spread Spectrum Receiver” to Lianfeng Peng, which was filed on Nov. 2, 2012, the disclosure of which is hereby incorporated entirely by reference herein.
1. A method of detecting PN code synchronization for a direct sequence spread spectrum (DSSS) signal comprising: receiving, by a demodulator, a DSSS data signal comprising a data stream of data frames comprised of I and Q symbols, at least a portion of each data frame comprising a unique word; demodulating, by the demodulator, the data signal into I and Q chip samples; filtering, by a filter, the I and Q chip samples and outputting the filtered I and Q chip samples to a chip stream controller; outputting, by the chip stream controller, a plurality of chip streams to an m×n correlation matrix; correlating the plurality of chip streams with the chipped unique word using m×n correlation cells within the correlation matrix and outputting a correlated data stream; running a plurality of Fast Fourier Transforms (FFTs) on the correlated output data stream and searching for a frequency bin having a maximum frequency bin power of each FFT run using a processor; searching for a maximum frequency bin power among the plurality of FFT runs using a PN synchronization detector; determining, by the PN synchronization detector, whether PN synchronization is present; and determining an offset frequency and identifying a primary chip stream and a secondary chip stream.
2. The method of claim 1, wherein each chip stream among the plurality of chip streams is output to a separate m×n correlation matrix.
3. The method of claim 1, wherein the plurality of chip streams comprises an even chip stream and an odd chip stream.
4. The method of claim 1, further comprising time-stamping each of the I and Q chip samples using a frame clock.
5. The method of claim 4, further comprising receiving, by a chip buffer, a plurality of chips from the plurality of chip streams from the chip stream controller.
6. The method of claim 5, wherein the chip buffer continues receiving chips from the chip stream controller until the PN synchronization detector detects that PN synchronization is present.
7. The method of claim 2, further comprising simultaneously correlating the plurality of chip streams in parallel among the separate m×n correlation matrices.
8. The method of claim 1, further comprising sampling the primary chip stream closer to an eye diagram opening than the secondary chip stream is sampled.
9. The method of claim 1, further comprising sampling each chip stream among the plurality of chip streams at a midpoint between an eye diagram opening and an eye diagram closing.
10. The method of claim 6, further comprising outputting at least one of a primary and a secondary chip stream indicator, a PN synchronization shift value, and a carrier frequency offset in response to detecting that PN synchronization is present.
11. A system for detecting PN code synchronization for a direct sequence spread spectrum (DSSS) signal comprising: a demodulator configured to: receive a DSSS data signal comprising a data stream of data frames comprised of I and Q symbols, at least a portion of each data frame comprising a unique word; and demodulate the data signal into I and Q chip samples; a filter configured to filter the I and Q chip samples and outputting the filtered chipped I and Q symbol samples to a chip stream controller, the chip stream controller configured to output a plurality of chip streams to an m×n correlation matrix; a processor configured to: correlate the plurality of chip streams with the chipped unique word using m×n correlation cells within the correlation matrix and outputting a correlated data stream; run a plurality of Fast Fourier Transforms (FFTs) on the correlated output data stream and searching for a frequency bin having a maximum frequency bin power of each FFT run; and determine a carrier signal offset frequency and identify a primary chip stream and a secondary chip stream; and a PN synchronization detector configured to: search for a maximum frequency bin power among the plurality of FFT runs; and determine whether PN synchronization is present.
12. The system of claim 11, wherein each chip stream among the plurality of chip streams is output to a separate m×n correlation matrix.
13. The system of claim 11, wherein the plurality of chip streams comprises an even chip stream and an odd chip stream.
14. The system of claim 11, further comprising a frame clock configured to time-stamp each of the I and Q chip samples.
15. The system of claim 14, further comprising a chip buffer configured to receive a plurality of chips from the plurality of chip streams from the chip stream controller.
16. The system of claim 15, wherein the chip buffer is further configured to continue receiving chips from the chip stream controller until the PN synchronization detector detects that PN synchronization is present.
17. The system of claim 12, wherein the processor is further configured to simultaneously correlate the plurality of chip streams in parallel among the separate m×n correlation matrices.
18. The system of claim 11, wherein the chip stream controller is further configured to sample the primary chip stream closer to an eye diagram opening than the secondary chip stream is sampled.
19. The system of claim 11, wherein the chip stream controller is further configured to sample each chip stream among the plurality of chip streams at a midpoint between an eye diagram opening and an eye diagram closing.
20. The system of claim 16, wherein the processor is further configured to output at least one of a primary and a secondary chip stream indicator, a PN synchronization shift value, and a carrier frequency offset in response to detecting that PN synchronization is present.
One of the most difficult and resource-intensive parts of Direct Sequence Spread Spectrum (DSSS) receiver design is the initial synchronization of the spread code in the receiver. In some applications, both chip clock and carrier frequency offsets can be assumed to be extremely small such that a simple correlation can be performed between the incoming chipped symbol stream and the locally generated spread code. However, in most applications, particularly in satellite communications, the assumption of small carrier frequency offsets cannot be made. Therefore, some amount of frequency correction is required, even though chip clock rates between the transmitter and receiver can be assumed close enough.
There are two popular conventional acquisition methods of direct sequence spread spectrum signals. The first one uses FIR filter structure with the PN code sequence bits as the FIR filter coefficients (FIR method). Implementations of the FIR method can correlate in real time and fast. However, it is resource-demanding and extremely inflexible if there are any changes to the spreading factor.
The second conventional acquisition method uses one or multiple correlators to correlate the incoming DSSS signal sequentially (serial search method). Implementations of the serial search method result in considerable reduction in complexity. However, acquisition may be very slow as only m possible PN sequence shifts per frame may be searches, where m is the number of correlators.
So as to reduce the complexity and length of the Detailed Description, and to fully establish the state of the art in certain areas of technology, Applicant herein expressly incorporates by reference all of the following materials:
[1] Bernard Sklar, Digital Communications: Fundamentals and Applications, Prentice-Hall, Inc., Englewood Cliffs, N.J., 1988.
[2]. Ir. J. Meel, Spread Spectrum (SS) Introduction, De Nayer Instituut, December 1999.
[3]. Ir. J. Meel, Spread Spectrum (SS) Applications, De Nayer Instituut, December 1999.
[4]. Application Note 1890, An Introduction to Direct-Sequence Spread-Spectrum Communications, Dallas Semiconductor, February 2003.
[5]. Erik Strom, etc., An Introduction to Spread Spectrum Systems, Chamlers University of Technology, Sweden, January 2004.
Applicant believes that the material incorporated above is “non-essential” in accordance with 27 CFR 1.57, because it is referred to for purposes of indicating the background of the invention or illustrating the state of the art. However, if the Examiner believes that any of the above-incorporated material constitutes “essential material” within the meaning of 37 CFR 1.57(c)(1)-(3), Applicant will amend the specification to expressly recite the essential material that is incorporated by reference as allowed by the applicable rules.
Implementations of a method of detecting PN code synchronization for a direct sequence spread spectrum (DSSS) signal may comprise receiving, by a demodulator, a DSSS data signal comprising a data stream of data frames comprised of I and Q symbols, at least a portion of each data frame comprising a unique word, demodulating, by the demodulator, the data signal into I and Q chip samples, filtering, by a filter, the I and Q chip samples and outputting the filtered I and Q chip samples to a chip stream controller, and outputting, by the chip stream controller, a plurality of chip streams to an m×n correlation matrix. Implementations of the method may further comprise correlating the plurality of chip streams with the chipped unique word using m×n correlation cells within the correlation matrix and outputting a correlated data stream, running a plurality of Fast Fourier Transforms (FFTs) on the correlated output data stream and searching for a frequency bin having a maximum frequency bin power of each FFT run using a processor, searching for a maximum frequency bin power among the plurality of FFT runs using a PN synchronization detector, and determining, by the PN synchronization detector, whether PN synchronization is present.
Particular aspects may comprise one or more of the following features. The method may further comprise determining a carrier signal offset frequency and identifying a primary chip stream and a secondary chip stream. Each chip stream among the plurality of chip streams may be output to a separate m×n correlation matrix. The plurality of chip streams may comprise an even chip stream and an odd chip stream. The method may further comprise time-stamping each of the I and Q chip samples using a frame clock. The method may further comprise receiving, by a chip buffer, a plurality of chips from the plurality of chip streams from the chip stream controller. The chip buffer may continue receiving chips from the chip stream controller until the PN synchronization detector detects that PN synchronization is present. The method may further comprise simultaneously correlating the plurality of chip streams in parallel among the separate m×n correlation matrices. The method may further comprise sampling the primary chip stream closer to an eye diagram opening than the secondary chip stream is sampled. The method may further comprise sampling each chip stream among the plurality of chip streams at a midpoint between an eye diagram opening and an eye diagram closing. The method may further comprise outputting at least one of a primary and a secondary chip stream indicator, a PN synchronization shift value, and a carrier frequency offset in response to detecting that PN synchronization is present.
Implementations of a system for detecting PN code synchronization for a direct sequence spread spectrum (DSSS) signal may comprise a demodulator configured to receive a DSSS data signal comprising a data stream of data frames comprised of I and Q symbols, at least a portion of each data frame comprising a unique word and demodulate the data signal into I and Q chip samples, a filter configured to filter the I and Q chip samples and outputting the filtered chipped I and Q symbol samples to a chip stream controller, the chip stream controller configured to output a plurality of chip streams to an m×n correlation matrix, a processor configured to correlate the plurality of chip streams with the chipped unique word using m×n correlation cells within the correlation matrix and outputting a correlated data stream and run a plurality of Fast Fourier Transforms (FFTs) on the correlated output data stream and searching for a frequency bin having a maximum frequency bin power of each FFT run, and a PN synchronization detector configured to search for a maximum frequency bin power among the plurality of FFT runs and determine whether PN synchronization is present.
Particular aspects may further comprise one or more of the following features. The processor may be further configured to determine a carrier signal offset frequency and identify a primary chip stream and a secondary chip stream. Each chip stream among the plurality of chip streams may be output to a separate m×n correlation matrix. The plurality of chip streams may comprise an even chip stream and an odd chip stream. The system may further comprise a frame clock configured to time-stamp each of the I and Q chip samples. The system may further comprise a chip buffer configured to receive a plurality of chips from the plurality of chip streams from the chip stream controller. The chip buffer may be further configured to continue receiving chips from the chip stream controller until the PN synchronization detector detects that PN synchronization is present. The processor may be further configured to simultaneously correlate the plurality of chip streams in parallel among the separate m×n correlation matrices. The chip stream controller may be further configured to sample the primary chip stream closer to an eye diagram opening than the secondary chip stream is sampled. The chip stream controller may be further configured to sample each chip stream among the plurality of chip streams at a midpoint between an eye diagram opening and an eye diagram closing. The processor may be further configured to output at least one of a primary and a secondary chip stream indicator, a PN synchronization shift value, and a carrier frequency offset in response to detecting that PN synchronization is present.
Aspects and applications of the disclosure presented here are described below in the drawings and detailed description. Unless specifically noted, it is intended that the words and phrases in the specification and the claims be given their plain, ordinary, and accustomed meaning to those of ordinary skill in the applicable arts. The inventor is fully aware that he can be his own lexicographers if desired. The inventor expressly elects, as his own lexicographers, to use only the plain and ordinary meaning of terms in the specification and claims unless clearly stated otherwise and then further, expressly sets forth the “special” definition of that term and explain how it differs from the plain and ordinary meaning Absent such clear statements of intent to apply a “special” definition, it is the inventor's intent and desire that the simple, plain and ordinary meaning to the terms be applied to the interpretation of the specification and claims.
Further, the inventor is fully informed of the standards and application of the special provisions of 35 U.S.C. §112, ¶6. Thus, the use of the words “function,” “means” or “step” in the Description, Drawings, or Claims is not intended to somehow indicate a desire to invoke the special provisions of 35 U.S.C. §112, ¶6, to define the invention. To the contrary, if the provisions of 35 U.S.C. §112, ¶6 are sought to be invoked to define the claimed disclosure, the claims will specifically and expressly state the exact phrases “means for” or “step for, and will also recite the word “function” (i.e., will state “means for performing the function of [insert function]”), without also reciting in such phrases any structure, material or act in support of the function. Thus, even when the claims recite a “means for performing the function of . . . ” or “step for performing the function of . . . ,” if the claims also recite any structure, material or acts in support of that means or step, or that perform the recited function, then it is the clear intention of the inventors not to invoke the provisions of 35 U.S.C. §112, ¶6. Moreover, even if the provisions of 35 U.S.C. §112, ¶6 are invoked to define the claimed disclosure, it is intended that the disclosure not be limited only to the specific structure, material or acts that are described in preferred embodiments, but in addition, include any and all structures, materials or acts that perform the claimed function as described in alternative embodiments or forms of the invention, or that are well known present or later-developed, equivalent structures, material or acts for performing the claimed function.
FIG. 1 depicts a prior art implementation of a Direct Sequence Spread Spectrum (DSSS) transmitter.
FIG. 2 depicts a prior art implementation of a Direct Sequence Spread Spectrum (DSSS) receiver.
FIG. 3 provides an example of a transmit frame structure of an I & Q data symbol stream.
FIG. 4 depicts an implementation of a receiver configured to perform complex decorrelation.
FIG. 5 is a graph of average carrier wave tone loss versus carrier frequency offset.
FIG. 6 is a block diagram of an implementation of a signal acquisition phase of a receiver.
FIG. 7 is a block diagram of an implementation of a chip stream control structure.
FIG. 8 is a diagram of an example of timed chip slots of a data frame.
FIGS. 9A-C provide an example of a timing diagram of a plurality of correlation runs according to an implementation of the system.
FIGS. 10A-C provide an example of an implementation of a correlation matrix structure.
FIG. 11 is an example of an implementation of a correlation cell structure.
FIG. 12 is a block diagram of an implementation of a method of PN synchronization detection.
This disclosure relates to, but is not limited to, a method and system for detecting PN synchronization of a Direct Sequence Spread Spectrum (DSSS) signal. Particular implementations described herein are and may use, but are not limited to, Field-Programmable Gate Arrays (FPGA), digital signal processors, Application-Specific Integrated Circuits (ASIC), Programmable Integrated Circuits (PIC), or microprocessors.
Implementations of the methods and system disclosed herein can detect synchronization of a spread code in the presence of a large carrier frequency offset while also determining and outputting an estimation of this offset. Implementations of these systems and methods may provide one of more of the following advantages: 1) acquisition time may be adjusted to account for available resources; 2) acquisition speed may be easily increased by parallel processing without increasing implementation complexity; 3) a spreading factor is not limited to powers of 2, but may comprise any integer without extra complexity and cost of additional resources; and 4) the well-defined structure allows a same design to be easily ported to different platforms with different resource constraints. For example, constraints may comprise those such as limits on available memory, logic elements, or signal processing blocks such as multipliers.
An example of typical architecture of a Direct Sequence Spread Spectrum (DSSS) transmitter and receiver as commonly known in the art is shown in FIGS. 1-2, respectively.
In the transmitter, data bits, usually from a Forward-Error-Correction (FEC) encoder, are mapped to the desired modulation type first in Symbol Mapper 1. The Mapper 1 outputs, I & Q symbols, Isymb & Qsymb, respectively, which are chipped or as is otherwise known in the art, spread, by PN Generator 2 and output as u and v to Multipliers 3a and 3b, respectively. The two PN sequences u and v may or may not be the same sequences. If they are different, it may be advantageous for them to have a low cross-correlation and be orthogonal. I & Q chips, Ichip & Qchip, as output by Multipliers 3a and 3b, respectively, go through Pulse Shapers 4a and 4b with a bandwidth equal to, for example, half the chip rate to constrain out-of-bandwidth power. Finally, outputs Isamp & Qsamp of Pulse Shapers 4a and 4b are modulated to create an RF signal in Modulator 5.
Modulation may be digital or in analog in Modulator 5. If done digitally, baseband samples, Isamp & Qsamp, are digitally modulated first and then the modulated samples are converted to analog. If done in analog, the baseband samples Isamp & Qsamp are converted to analog first, and then the analog I & Q signals are modulated.
In a typical receiver, as shown in FIG. 2, demodulation can be accomplished digitally or by using analog-like modulation in Demodulator 6. If done digitally, the RF signal is digitalized, and then demodulated digitally to baseband I & Q symbol samples. If using an analog demodulator, the RF signal is demodulated in analog first to analog baseband I & Q symbol signals, and then the analog I & Q signals are digitalized to the baseband I & Q symbol samples.
In some implementations of a receiver, the baseband I & Q symbol samples Isamp & Qsamp from Demodulator 6 are filtered by Nyquist Filters 7a and 7b, respectively. Outputs Ichip & Qchip of Nyquist Filters 7a and 7b are decorrelated using output sequences u and v of PN Generator 8 with Multipliers 10a and 10b, and then integrated over α chips and dumped once every α chips (known in the art as Integrate and Dump(I&D)) by Integrators 11a and 11b, where α is a factor of spectrum spreading called spreading factor. The integrator outputs Isymb & Qsymb are despread I & Q symbols. Symbol De-Mapper 12 de-maps the despread I & Q symbols Isymb & Qsymb to transmitted data bits, which are usually, but are not limited to, soft-decision data bits if they are fed to a Forward Error Correction (FEC) decoder.
Based on the despread I & Q symbols Isymb & Qsymb, the chip clock is recovered by Chip Clock Loop 6 and Chip Clock Numerically Controlled Oscillator (NCO) 7, and the carrier is recovered by Carrier Loop 9 and Carrier NCO 10.
In general, the despreading process may comprise two phases: 1) initial acquisition of PN code synchronization and estimation of carrier frequency offset (also known as an acquisition phase); and 2) tracking of PN code synchronization, chip clock and carrier signal (also known as a tracking phase). The acquisition phase is typically the most demanding phase in complexity and resource utilization. The remainder of this disclosure describes implementations of a method and system for use primarily in the acquisition phase.
To aid PN spread code synchronization, in some implementations, a transmitted I & Q symbol stream is divided into frames 20 comprised of Ns symbols each frame with a unique word (UW) 21 comprised of Ls symbols prior to the payload data 22, as shown in FIG. 3. The PN spread code sequences u and v may be resynchronized at the beginning of each frame.
In the receiver acquisition phase, the UW is chipped (spread) by the locally generated PN sequences using a local PN Generator 30 in accordance with an implementation such as that shown as an example in FIG. 4. The received chips are then decorrelated with the locally chipped UW. If the local PN code is in sync with the incoming PN sequences, the average decorrelating result has a carrier wave tone. By detecting a presence of the carrier wave tone, it may be possible to detect PN synchronization. The tone frequency provides an estimation of the carrier frequency offset.
The following is a derivation of an implementation of a method of detecting PN code synchronization and estimating carrier frequency offset. For ease of description, I and Q signals are represented in complex format. The I & Q chips Ichip & Qchip in the transmitter can be represented as
sn=Ichip(n)+jQchip(n)=unin+jvnqn Equation 1
where the PN sequences un and vn take values of +1 or −1, and in and qn are I & Q symbols changing once every α chips where α is the spreading factor:
in=Isymb⁡(⌊nα⌋)qn=Qsymb⁡(⌊nα⌋) Equation⁢⁢2
and the PN sequences un and vn satisfy Equation 3 and Equation 4:
E⁢{um⁢un}=E⁢{vm⁢vn}={1,if⁢⁢m=n0,otherwiseEquation⁢⁢3
E⁢{um⁢vn}={1,if⁢⁢m=n⁢⁢and⁢⁢un=vn0,otherwiseEquation⁢⁢4
Without loss of generality, signal power of sn is normalized to 1:
Ps=E{sn×s*n}=E{(unin+jvnqn)(unin−jvnqn)}=E{(unin)2+(vnqn)2}=E{un2}E{in2}+E{vn2}E{qn2}=1*E{in2}+1*E{qn2}=1 Equation 5
When the carrier frequency offset is not zero, some energy of the desired signal will be filtered out by Nyquist filter, but this does not practically affect a presence of the carrier wave and estimation of the carrier frequency offset, unless the offset is large enough (>+/−50% chip rate) that most of the signal energy is filtered out. Chip clock frequency offset may be practically negligible during the interval of interest, and therefore, the received I & Q chips at the Nyquist filter output can be approximated as follows:
rn=Ichip(n)+jQchip(n)≈sn-kej(nω+θ)zn Equation 6
where k is the unknown PN code synchronization shift (delay), ω is the carrier frequency offset normalized to chip rate, θ is the unknown carrier phase, and zn is low-pass complex Gaussian noise with independent real and imaginary components whose mean is 0 and variance is 0.5σ2. Therefore, the mean of zn is also 0 and its variance is σr2:
zn=zin+jzqn Equation 7
E{zn}=E{zin+jzqn}=0 Equation 8
E{zn×z*n}=E{zin2+zqn2}=E{zin2}+E{zqn2}=0.5σT2+0.5σT2=σT2 Equation 9
Therefore, the received Signal to Noise Ratio (SNR) is
ρr=E⁢{sn-k×sn-k*}E⁢{zn×zn*}=Psσr2=1σr2Equation⁢⁢10
The locally chipped UW complex sequence wn over L=α*Ls chips may be denoted as
wn=unin+jvnqn Equation 11
It is then possible to decorrelate rn with the conjugate of wn-l (denoted as w*n-l) over the chipped UW length of L=α*Ls chips, where l is the delay controlled by the sync signal to the chipped UW generator 31:
xn=rnwn-l=(sn-kej(nω+θ)+zn)w*n-l=sn-kej(nω+θ)w*n-l+znw*n-l
=[(un-kin-k+jvn-kqn-k)ej(nω+θ)](un-lin-l−jvn-lqn-l)+znw*n-l
=[(un-kun-lin-kin-l+vn-kvn-lqn-kqn-l)
+j(vn-kun-lqn-kin-l−un-kvn-lin-kqn-l)]ej(nω+θ)+znw*n-l
=(an+jbn)ej(nω+θ)+cn Equation 12
an=un-kun-lin-kin-l+vn-kvn-lqn-kqn-l Equation 13
bn=vn-kun-lqn-kin-l−un-kvn-lin-kqn-l Equation 14
cn=znw*n-l Equation 15
If k≠l, then
E{an}=E{un-kun-lin-kin-l+vn-kin-lqn-kqn-l}
=E{un-kun-l}E{in-kin-l}+E{vn-kvn-l}E{qn-kqn-l}
=0*E{in-kin-l}+0*E{qn-kqn-l}=0 Equation 16
E{bn}=E{vn-kun-lqn-kin-l−un-kvn-lin-kqn-l}
=E{vn-kun-l}E{qn-kin-l}−E{un-kvn-l}E{in-kqn-l}
=0*E{qn-kin-l}+0*E{in-kqn-l}=0 Equation 17
If k=l, then
E{an}=E{un-kun-kin-kin-k+vn-kin-kqn-kqn-k}
=E{un-kun-k}E{in-kin-k}+E{vn-kvn-k}E{qn-kqn-k}
=1*E{in-kin-k}+1*E{qn-kqn-k}=1 Equation 18
E{bn}=E{vn-kun-kqn-kin-k−un-kvn-kin-kqn-k}=E{0}=0 Equation 19
For all values of k and l, the expected value of cn is always 0:
E{cn}=E{znw*n-l}=E{zn}E{w*n-l}=0 Equation 20
E⁢{xn}=E⁢{rn⁢wn-l*}={ⅇj⁡(n⁢⁢ω+θ),if⁢⁢k=l0,otherwiseEquation⁢⁢21
Thus, if the local PN sequence is in sync with the incoming PN sequence, the result of complex decorrelation is a carrier wave tone, otherwise the average result will be 0.
One way to detect the carrier wave tone is to run a complex Fast Fourier Transform (FFT) of xn over the UW length of L=α*Ls chips. However, because L is proportional to the spreading factor α, the FFT length is also proportional to α. If the maximum spreading factor is very large, the FFT length can be so large it may become impractical to implement.
A practical alternative used in some implementations is to run complex FFT of ym, the average over α chips of xn, as defined by Equation 22:
ym=1α⁢∑i=0α-1⁢xα⁢⁢m-i=1α⁢∑i=0α-1⁢(aα⁢⁢m-i+j⁢⁢bα⁢⁢m-i)⁢ⅇj⁡[(α⁢⁢m-i)⁢ω+θ]+1α⁢∑i=0α-1⁢cα⁢⁢m-iEquation⁢⁢22
When k≠l,
E⁢{ym}=1α⁢∑i=0α-1⁢E(xα⁢⁢m-i}=0Equation⁢⁢23
When k=l,
E⁢{ym}=1α⁢∑i=0α-1⁢E⁢{xα⁢⁢m-i}=1α⁢∑i=0α-1⁢ⅇj⁡[(α⁢⁢m-i)⁢ω+θ]=ⅇj⁡(α⁢⁢m⁢⁢ω+θ)α⁢∑i=0α-1⁢ⅇ-jⅈω=sin⁡(α⁢⁢ω2)α*sin⁡(ω2)⁢ⅇj⁡(α-1)⁢ω2⁢ⅇj⁡(α⁢⁢m⁢⁢ω+θ)=sin⁡(π⁢⁢fs)α*sin⁡(π⁢⁢fsα)⁢ⅇj⁢(α-1)⁢π⁢⁢fsα⁢ⅇj⁡(m⁢⁢2⁢π⁢⁢fs+θ)=W⁡(fs)⁢ⅇj⁡(m⁢⁢2⁢π⁢⁢fs+θ)Equation⁢⁢24
Therefore, the expected value of ym is
E⁢{ym}={W⁡(fs)⁢ⅇj⁡(m⁢⁢2⁢⁢π⁢⁢fs+θ),if⁢⁢k=l0,otherwiseEquation⁢⁢25
Where fs is the carrier frequency offset normalized to symbol rate instead of chip rate, and W(fs) is a weighting factor due to the effect of integrate-and-dump over α chips:
W⁡(fs)=sin⁡(π⁢⁢fs)α*sin⁡(π⁢⁢fsα)⁢ⅇj⁢(α-1)⁢π⁢⁢fsαEquation⁢⁢26
Instead of running a complex FFT of xn over L=α*Ls chips, in some implementations, a complex FFT is run of ym over Ls symbols, which is independent of the spreading factor α. This may substantially reduce implementation complexity and resource requirements. Because of the averaging, the carrier wave tone now has a weighting factor of W(fs), which is a loss of the tone amplitude as a function of the carrier frequency offset fs. The larger the carrier frequency offset fs, the larger the loss, as seen in FIG. 5, which may be important to take into consideration when designing the detection circuitry at a large carrier frequency offset. However, as shown in FIG. 5, if the offset is within +/−25% of the symbol rate, the loss is rather small, less than 1 dB as seen in the figure.
Noise power σ2 in ym can be derived as follows. As seen in Equation 22, the noise component is that
dm=1α⁢∑i=0α-1⁢cα⁢⁢m-i=1α⁢∑i=0α-1⁢zα⁢⁢m-i⁢wα⁢⁢m-i-l*Equation⁢⁢27
μ=E⁢{dm}=E⁢{1α⁢∑i=0α-1⁢zα⁢⁢m-i⁢wα⁢⁢m-i-l*}=1α⁢∑i=0α-1⁢E⁢{zα⁢⁢m-i⁢wα⁢⁢m-i-l*}=0Equation⁢⁢28
and a power of:
σ2=E⁢{dm×dm*}=E⁢{(1α⁢∑i=0α-1⁢zα⁢⁢m-i⁢wα⁢⁢m-i-l*)⁢(1α⁢∑j=0α-1⁢zα⁢⁢m-j*⁢wα⁢⁢m-j-l)}=1α2⁢∑i=0α-1⁢∑j=0α-1⁢E⁢{(zα⁢⁢m-i⁢wα⁢⁢m-i-l*)⁢(zα⁢⁢m-j*⁢wα⁢⁢m-j-l)}=1α2⁢∑i=0α-1⁢∑j=0α-1⁢E⁢{zα⁢⁢m-i⁢zα⁢⁢m-j*}⁢E⁢{wα⁢⁢m-i-l*⁢wα⁢⁢m-j-l}=1α2⁢∑i=0α-1⁢E⁢{zα⁢⁢m-i⁢zα⁢⁢m-i*}⁢E⁢{wα⁢⁢m-i-l*⁢wα⁢⁢m-i-l}=1α2⁢∑i=0α-1⁢(σr2*1)=σr2αEquation⁢⁢29
Power of noise dm is reduced by α time compared to the input noise. SNR of E{ym} can be calculated as
ρ=E⁢{ym}×E⁢{ym}*E⁢{dm×dm*}+ασr2⁢W⁡(fs)2=αρr⁢W⁡(fs)2Equation⁢⁢30
A top-level block diagram of an implementation of an acquisition phase is shown in FIG. 6. In some implementations, during acquisition, chip clock and carrier recovery loops are run in an open loop, so that the locally generated chip clock and carrier frequencies are free-running Once PN synchronization is detected, the chip stream with the highest correlation peak is determined, and the carrier offset estimation is used to correct the carrier NCO. The chip clock and carrier recovery loops are then closed, and the despread process enters the tracking phase.
Referring to FIG. 6, in one implementation, I & Q chip sample streams from the Nyquist filter may be sampled at two samples per chip. Chip Stream Control 40 splits the input chip sample stream to even and odd chip streams at one sample per chip, and generates chipped UW and dump signals to control decorrelation. In general, with open-loop chip clock loop, one of the two even and odd chip streams will be sampled closer to the opening of an eye diagram and has higher correlation energy. As one of ordinary skill in the art would recognize, the eye diagram is an oscilloscope display of a digital signal, repetitively sampled to get a good representation of its behavior. In one implementation, the chip stream sampled closer to the eye opening may be designated as the primary chip stream and used to generate despread I & Q symbols, and the other near +/−half chip off the eye opening may be designated as the secondary stream to generate chip clock phase offset.
Correlation Matrix 41 correlates the even and odd chip streams with chipped UW in m×n correlation cells for each chip stream, effectively running correlation in parallel by m×n correlators on each chip stream. The Correlation Matrix 41 then runs one or more FFT's on the results and searches for the bin with the maximum bin power of each FFT run.
PN Synchronization Detection Unit 42 searches for the maximum peak bin power of all FFT runs, and use it to determine if PN synchronization is present among any one of the 2×m×n correlations. If yes, PN sync is detected. Then carrier frequency offset can be determined, and the primary and secondary chips can be identified.
Further discussion of individual blocks depicting various implementations is as follows:
A Frame Clock 56 may be defined to time-stamp each and every pair of even and odd chips. The Frame Clock 56 may be a counter of modulo frame length N running at a chip rate, as shown in FIG. 8. If the first chip, shown here as C0, of a frame 57 arrives at frame time k, the first chip of the next frame will also arrive at frame time k but N chips later.
A correlation run may also be defined as a correlation over L chips by the m×n correlation cells of each chip stream in Correlation Matrix 41. FIG. 9 shows an example with m×n=4 correlation cells, spreading factor α=3 and UW length Ls=6 symbols, however, any other applicable values may be used as this example is merely for illustration purposes. Each and every correlation run is also time-stamped with the time stamp of the first chip of the run.
Referring to FIG. 7, I & Q chip samples, Ichip and Qchip, from a Nyquist filter are split into even and odd chip streams in Splitter 50, and buffered as pairs in Chip Buffer 51. The Buffer write 52 and read pointers 53 may have an associated frame time indicator 54 generated by frame clock 56 and indicating the frame time of the chip pairs stored at the location of the pointers 52, 53.
Chip Stream Controller 55 may keep filling Chip Buffer 51 until it is full or PN synchronization is detected. Chip pairs may continue to be read out of the buffer 51 at the processing clock rate as long as there are chips available.
Depending on frame length, UW length, spreading factor, ratio of processing clock rate to chip rate, and any other relevant factors, Chip Buffer 51 may or may not be full before PN synchronization is detected. If Chip Buffer 51 is full before PN synchronization is detected, Chip Stream Controller 55 stops filling and waits until the next frame has arrived, while continuing reading out the previously filled chips for processing.
For each correlation run, (L+m×n−1) chip pairs are read out of Chip Buffer 51. After each correlation run, the read pointer advances by m×n locations for the next run, if PN synchronization is not yet detected. Thus, a frame of N chips can be searched for PN synchronization in N/(m×n) correlation runs at most.
In some implementations, during each correlation run, a FFT is performed on the previous correlation run result and the bin with the highest peak is selected. There may be a gap between correlation runs to allow enough time for the FFT and power bin search processing (see for example, FIGS. 9A-C, which denote such a gap with an “x” following the time stamp blocks of r0=i prior to the next correlation run).
Referring now to FIGS. 10A-C, in some implementations of acquisition, correlation energy detection is identical in both chip streams, as there is no knowledge which chip stream is sampled closer to the eye diagram opening.
Correlation may be done in parallel by m×n correlation cells arranged in an m×n matrix in Even Chip Stream Correlation Matrix 70 and Odd Chip Stream Correlation Matrix 71 for even and odd chip streams, respectively. Shown in FIGS. 10 A-B is an example of correlation matrix comprising a total of m×n=3×4=12 correlation cells for each chip stream, where in this example, m=3 and n=4; however any appropriate integer values may replace m and n in this example depending upon the resources available for practical implementation. For every (L+m×n−1) input chips, m×n of N possible PN synchronization shifts are searched.
Referring now to FIG. 11, in some implementations, each correlation cell 84 correlates the chip stream with chipped UW wn-l by Complex Multiplier 80, where/is the locally generated PN synchronization delay, and the star “*” next to the multiplier means complex-multiplying with the conjugate of chipped UW wn-l. The cell also delays its input chipped UW and dump signals by one chip in Delay Unit 81 and outputs them for the next cell in line. The output of Complex Multiplier 80 is accumulated over α chips and then dumped once in the Integrate & Dump Unit 82. The output of the Integrate & Dump Unit 82 is loaded to Dump Buffer 83 once every α chips.
An example of relative timing of each correlation cell's chipped UW and dump input signals is illustrated in FIG. 9 for the case of m×n=4 correlation cells, spreading factor α=3 and UW length Ls=6 symbols.
The n correlation cells 73 of each row 72 share one FFT Engine 74 and one Peak Bin Power Search Unit 75. The FFT engine reads the Ls despread complex I & Q symbols of the previous correlation run from Dump Buffer 83 of each cell 73 on its row 72 and runs K-point FFT's on them, where K>=Ls. If K>Ls, (K−Ls) points are zero-padded. The FFT engine 74 may run one cell 73 a time with the earlier cell's output run first.
Peak Bin Power Search Unit 75 simply finds the bin with the most power from the FFT engine output for each cell's FFT run, and outputs the bin number and its bin power. In some implementations, the method works as follows.
Assume Ym (m=0, 1, . . . , K−1) is the K-point FFT bins of the Ls despread complex I & Q symbols from a correlation cell 73. Peak Bin Power Search Unit 75 computes the bin power first by Equation 31:
Pm=|Ym|2 Equation 31
The system then searches for the peak power (maximum power) among the K bin powers and the corresponding bin number:
Ppk=Pi=maxm=0,1,…,K-1⁢{Pm}Equation⁢⁢32
The output is a bin number i and peak bin power Ppk=Pi for the corresponding correlation cell 73. Outputs from all Peak Bin Power Search blocks are multiplexed back in serial according to their time orders by Output Multiplexer 76 before being sent out. Depending on available implementation resources, m and n can be selected to trade resources for acquisition time.
In each correlation run, a total of (2×m×n) correlations may be done on both chip streams, resulting in a total of (2×m×n) peak bin powers and corresponding bin numbers, one for each correlation cell 73.
The (2×m×n) peak bin powers may be denoted as Pe(i, ji) and Po(i, ji) for even and odd streams, respectively, where i, ranging from 0 to (m×n−1), is the correlation cell number, and ji, ranging from 0 to K=1, is the bin number, of which bin ji has the peak power in Correlation Cell i's FFT.
PN Sync Detection 42 finds the maximum peak power among the (2×m×n) peak powers as:
Pmax=maxi=0,1,…,m*n-1⁢{Pe⁡(i,ji),Po⁡(i,ji)}Equation⁢⁢33
In some implementations, T may be denoted as a pre-determined threshold to decide if the maximum peak bin power is higher enough to declare PN sync detected. If Pmax satisfies
Pmax=Pe(t,jt)≧T Equation 34
PN synchronization is then declared detected in Correlation Cell t of even chip stream so even chip stream is sampled closer to the eye diagram opening and designated as the primary stream, and odd chip stream as the secondary stream for chip clock phase error detection in the tracking phase.
On the other hand, if Pmax satisfies
Pmax=Po(t,jt)≧T Equation 35
PN synchronization is then declared as having been detected in Correlation Cell t of odd chip stream and the odd chip stream is sampled closer to the eye diagram opening and designated as the primary stream, and even chip stream is designated as the secondary chip stream.
If Pmax satisfies both Equation 34 and Equation 35, this indicates that both chip streams are sampled half way from the eye diagram opening. In that case, one chip stream may be arbitrarily selected as the primary stream and the other as the secondary.
In some implementations, m may denote the frame time stamp of the correlation run of which PN synchronization is detected in Correlation Cell t with bin jt having the maximum peak bin power. Then PN code synchronization shift k and carrier frequency offset Δfs can be estimated as follows, where Rs, is the symbol rate:
k=m+t Equation 36
Δ⁢⁢fs={jtK⁢Rs,for⁢⁢0≤jt<K2(jtK-1)⁢Rs,for⁢⁢K2≤jt<KEquation⁢⁢37
Once PN code sync is detected, PN Synchronization Detection Unit 42 outputs the primary/secondary stream indicator, PN synchronization shift k and carrier frequency offset Δfs.
FIG. 12 depicts an implementation of a method for detecting PN synchronization for direct sequence spread spectrum (DSSS) signal in accordance with the above disclosure. As shown, a demodulator receives a DSSS signal which is comprised of a data stream having data frames of I and Q symbols 100. At least a portion of each data frame also comprises a unique word. The demodulator then demodulates the DSSS signal into I and Q chip samples 110 which are filtered and output to a chip stream controller 120. A plurality of chip streams, such as for example, even and odd chip streams, are output by the chip stream controller to an m×n correlation matrix, where m and n are comprised of integer values 130. There are m×n correlation cells within the correlation matrix which correlate the plurality of chip streams with the chipped unique word and output a correlated data stream 140.
A processor then runs a plurality of Fast Fourier Transforms (FFTs) on the correlated output data stream and searches for a maximum frequency bin power of each FFT 150. The maximum frequency bin power among all of the FFT runs is then found using a PN synchronization detector 160. Based upon this result, the PN synchronization detector makes a determination as to whether or not PN synchronization has been achieved 170.
Compared to conventional FIR methodology, implementations of the disclosed methods and systems are much less complex and much more flexible if the design needs to accommodate multiple spreading factors and UW lengths. Compared to conventional serial search methods, implementations of the disclosed methods and systems have comparable implementation economy, but can acquire PN synchronization much faster.
The core idea of implementations of the disclosed methods is to define the frame clock to time stamp each and every chip, and buffer chips so that the same set of chips can be searched multiple times for different possible PN sync shifts. The structure of m×n correlation matrix and n correlation cells per FFT engine allows an easy trade-off between acquisition time and available resources by selecting the proper m and n for a given resource constraint. It also allows easy porting of the same design to different platforms with different resource mix, substantially cutting development cost.
<- Previous Patent (Installation for the...) | Next Patent (Method and systems f...) ->