US2006013287A1PendingUtilityA1

Spread spectrum signal processing

39
Assignee: NORMARK PER-LUDVIGPriority: Oct 15, 2002Filed: Oct 3, 2003Published: Jan 19, 2006
Est. expiryOct 15, 2022(expired)· nominal 20-yr term from priority
H04B 2201/70715G01S 19/29G01S 19/30H04B 1/7075H04B 1/7085
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present invention relates to processing of spread spectrum signals, where a continuous signal of a comparatively high frequency is received. This signal is sampled at a basic sampling rate whereby a resulting sequence of time discrete signal samples is produced, which are in turn quantized into a corresponding level-discrete sample value. A plurality of data words are formed, which each includes one or more consecutive sample values. Information obtained from these data words is correlated with at least one representation of a signal source specific code sequence, which has been pre-generated in the form of a code vector. The correlation step specifically involves correlating at least each vector in a sub-group of the code vectors with at least one vector that has been derived from the data word. Thereby resulting data is produced.

Claims

exact text as granted — not AI-modified
1 . A method of processing spread spectrum signals comprising: 
 receiving a continuous signal (S IF ) of a comparatively high frequency;    sampling the continuous signal (S IF ) at a basic sampling rate (r s ), whereby a resulting sequence of time discrete signal samples (S[s i ]) is produced;    quantizing each signal sample into a corresponding level-discrete sample value;    forming of a plurality of data words (d( 1 ), . . . , d(N)) which each includes one or more consecutive sample values (s 1 , . . . , S n ); and    correlating between information in the data words (d(k)) and at least one representation (CS(i)) of a signal source specific code sequence (CS), the method comprising preparing for the correlation step, wherein, before receiving the continuous signal (S IF ), a multitude of code vectors (CV; CV m ) are pre-generated, each code vector representing a particular code sequence (CS(i)) of the at least one signal source specific code sequence (CS), and    the correlating step involving multiplying at least each vector in a sub-group (CV m-E , CV m-P ; CV m-L ) of the code vectors (CV; CV m ) with at least one vector (S IF-I (k); S IF-Q (k)) derived from the data word (d(k)).    
     
     
         2 . A method according to  claim 1 , wherein each code vector (CV; CV m ) represents a particular signal source specific code sequence (CS(i)) being sampled at the basic sampling rate (r s ) and quantized with the quantizing process being used to produce the level-discrete sample values (S 1 , . . . , S n ).  
     
     
         3 . A method according to  claim 1 , wherein the at least one signal source specific code sequence (CS) is pseudo random noise.  
     
     
         4 . A method according to  claim 1 , wherein the receiving step involving down conversion of an incoming high-frequency signal (S HF ) to an intermediate frequency signal (S IF ), the high-frequency signal (S HF ) having a spectrum which is symmetric around a first frequency (f HF ) and the intermediate frequency signal (S IF ) having a spectrum which is symmetric around a second frequency (f IF ) being considerably lower than the first frequency (f HF ).  
     
     
         5 . A method according to  claim 4 , further comprising the steps of: 
 determining a maximum frequency variation (f D ) of the second frequency (f IF ) due to Doppler-effects;    defining a Doppler frequency interval (f IF-min −f IF-max ) around the second frequency (f IF ), the Doppler frequency interval (f IF-min , f IF-max ) having a lowest frequency limit (f IF-min ) equal to the difference between the second frequency (f IF ) and the maximum frequency variation (f D ), and a highest frequency limit (f IF-max ) equal to the sum of the second frequency (f IF ) and the maximum frequency variation (f D );    dividing the Doppler frequency interval (f IF-min −f IF-max ) into an integer number of equidistant (Δf) frequency steps (f IF-min , f IF-min +Δf, . . . , f IF-max ); and    defining a frequency candidate vector (f IF-C ) for each frequency step (f IF-min , f IF-min +Δf, . . . , f IF-max ).    
     
     
         6 . A method according to  claim 5  further comprising the steps of: 
 determining an integer number of initial phase positions (φ 0 , . . . , φ 7 ) for the frequency candidate vector (f IF-C ), and    defining a carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) for each combination of carrier frequency candidate vector (f IF-C ) and initial phase position (φ 0 , . . . , φ 7 ).    
     
     
         7 . A method according to  claim 6  further comprising the steps of: 
 determining the number of elements (s n ) in each carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )); and    storing the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) according to a data format being adapted to performing multiplication operations between the data word (d(k)) and a segment of a carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )).    
     
     
         8 . A method according to  claim 7 , wherein adapting of the data format involves adding at least one element to each segment of the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) such that the segment attains a number of elements which is equal to the number of elements in the data word (d(k)), thus enabling a segment of the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) and one of the at least one vector (S IF-I (k); S IF-Q (k)) to be processed jointly by at least one of a SIMD-operation (multiple-bits multiplications) and an XOR-operation (1-bit multiplications).  
     
     
         9 . A method according  claim 1  further comprising the steps of: 
 determining a maximum variation a code rate due to Doppler-effects, defining a Doppler rate interval (CR C-min −CR c-max ) around a center code rate (CR c ), the Doppler frequency interval having a lowest code rate limit (CR c-min ) equal to the difference between the center code rate (CR c ) and the maximum code rate variation (CR D ), and a highest frequency limit (CR c-max ) equal to the sum of the center code rate (CR c ) and the maximum code rate variation (CR D );    dividing the Doppler rate interval (CR C-min −CR C-max ) into an integer number of equidistant (ΔCR) code rate steps (CR C-min , CR C-min +ΔCR, . . . , CR c-max ); and    defining a code rate candidate (CR c-c ) for each code rate step (CR C-min , CR C-min +ΔCR, . . . , CR c-max ).    
     
     
         10 . A method according to  claim 9  further comprising determining an integer number of possible initial code phase positions (0.0, . . . , 0.9) for each code rate candidate (CR c-c ).  
     
     
         11 . A method according to  claim 10  further comprising defining, for each signal source specific code sequence (CS(i)), a set of combinations between code rate candidate (CR c-c ) and code phase position (0.0, . . . , 0.9), each combination representing a code rate-phase candidate vector.  
     
     
         12 . A method according to  claim 11  further comprising generating, for each signal source specific code sequence (CS(i)), a set of code vectors (CV) by: 
 sampling each code rate-phase candidate vector with the basic sampling rate (r s ) whereby a corresponding code vector (CV) is produced.    
     
     
         13 . A method according to  claim 1  further comprising generating a modified code vector (CV m ) on basis of each code vector (CV) by: 
 copying a particular number of elements (E e ) from the end of an original code vector (CV) to the beginning of the modified code vector (CV m ); and    copying the particular number of elements (E b ) from the beginning of the original code vector (CV) to the end of the code vector (CV m ).    
     
     
         14 . A method according to  claim 13  further comprising storing, for each signal source specific code sequence (CS(i)), a set of modified code vectors ({CV m (CR c-c , Cph)}), where 
 each modified code vector (CV m ) contains a number of elements (s 1 , . . . , s m ) representing a sampled version of at least one full code sequence (CS),    a particular modified code vector (CV m ) is defined for each combination of code rate candidate (CR c-c ) and code phase position (Cph).    
     
     
         15 . A method according to  claim 14  further comprising adapting the data format of the modified code vectors (CV m ) with respect to the data format of the at least one vector (S IF-I (k); S IF-Q (k)) derived from the data word (d(k)), such that a modified code vector (CV m ) and one of the at least one vector (S IF-I (k); S IF-Q (k)) may be processed jointly by at least one of a SIMD-operation (multiple-bits multiplications) and an XOR-operation (1-bit multiplications).  
     
     
         16 . A method according to  claim 14  further comprising involving an initial acquisition phase and a subsequent tracking phase, wherein during the acquisition phase a set of preliminary parameters are established which are required for initiating a decoding of signals received during the tracking phase, a successful acquisition phase resulting in at least one signal source specific code sequence (CS) being identified and a transmitted signal being rendered possible to track, each of the at least one signal source specific code sequence (CS) being associated with tracking characteristics in the form of: 
 a modified code vector (CV m ),    a carrier frequency candidate vector (f IF-C ),    an initial phase position (φ c ),    a code phase position (Cph), and    a code index (CI) denoting a starting sample value for the modified code vector (CV m ).    
     
     
         17 . A method according to  claim 16  wherein said tracking involves: 
 calculating, based on the tracking characteristics, a prompt pointer (P p ) for each modified code vector (CV m ), the prompt pointer (P p ) indicating a code sequence start position, and an initial prompt pointer (P p ) being equal to the code index (CI): and    assigning, around each prompt pointer (P p ), at least one pair of early- and late pointers (P E , P L ; P E1 , P L1  P E2 , P L2 ), where the early pointer (P E ) specifies a sample value being positioned at least one element before the prompt pointer's (P p ) position, and the late pointer (P L ) specifies a sample value being positioned at least one element after the prompt pointer's (P p ) position.    
     
     
         18 . A method according to  claim 17 , wherein said tracking involves: 
 receiving a sequence of incoming level-discrete sample values ( 1210 ),    forming data words (d( 1 ), . . . , d(N)) of the sample values ( 1210 ) such that each data word (d(k)) contains a number of elements which is equal to the number of elements (S n ) in each carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )); calculating a relevant set of carrier frequency-phase candidate vectors (V fφ (f IF-C , φ C )) for the data word (d(k)); and    acquiring, for each carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) in the relevant set, a pre-generated in-phase representation (f IFI ) and a quadrature-phase representation (f IFQ ) of the vector (V fφ (f IF-C , φ C )) respectively.    
     
     
         19 . A method according to  claim 18 , wherein said tracking involves: 
 multiplying each data word (d(k)) with the in-phase representation (f IFI ) of the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )), in the relevant set to produce a first intermediate-frequency-reduced information word (S IF-I (k)), multiplying each data word (d(k)) with the quadrature-phase representation (f IFQ ) of the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) in the relevant set to produce a second intermediate-frequency-reduced information word (S IF-Q (k)).    
     
     
         20 . A method according to  claim 19 , wherein said tracking involves: 
 multiplying the first intermediate-frequency-reduced information word (S IF-I (k)) with a modified code vector (CV m-p (k)) starting at a position indicated by the prompt pointer (P p ) to produce a first prompt-despread symbol string (Λ Ip (k)), multiplying the first intermediate-frequency-reduced information word (S IF-I (k)) with a modified code vector (CV m-E (k)) starting at a position indicated by an early pointer (PE) to produce a first early-despread symbol string (Λ IE (k));    multiplying the first intermediate-frequency-reduced information word (S IF-I (k)) with a modified code vector (CV m-L (k)) starting at a position indicated by a late pointer (P L ) to produce a first late-despread symbol string (Λ IL (k));    multiplying the second intermediate-frequency-reduced information word (S IF-Q (k)) with a modified code vector (CV m-p (k)) starting at a position indicated by the prompt pointer (P p ) to produce a second prompt-despread symbol string (Λ Qp (k));    multiplying the second intermediate-frequency-reduced information word (S IF-Q (k)) with a modified code vector (CV M-E (k)) starting at a position indicated by the early pointer (P E ) to produce a second early-despread symbol string (Λ QE (k)); and    multiplying the second intermediate-frequency-reduced information word (S IF-Q (k)) with a modified code vector (CV M-L (k)) starting at a position indicated by the late pointer (P L ) to produce a second late-despread symbol string (Λ QL (k)).    
     
     
         21 . A method according to  claim 20 , wherein said tracking involves deriving, for each despread symbol string, a resulting data word (D R-Ip (k), D R-IE (k), D R-IL (k), D R-Qp (k), D R-QE (k); D R-QL (k)).  
     
     
         22 . A method according to  claim 21  wherein said deriving comprises deriving the resulting data words (D R-Ip (k), D R-IE (k), D R-IL (k), D R-Qp (k), D R-QE (k); D R-QL (k)) by looking up a respective pre-generated value in a table.  
     
     
         23 . A method according to  claim 19 , wherein multiplying comprises performing the multiplication between the data word (d(k)) and the in-phase representation (f IFI ) of the carrier-frequency-phase candidate vector (V fφ (f IF-C , φ C )) respective between the data work (d(k)) and the quadrature-phase representation (f IFQ ) of the carrier frequency-phase candidate vector (V fφ (f IF-C , φ C )) by means of at least one of a SIMD-operation (multiple-bits multiplications) and an XOR-operation (1-bit multiplications).  
     
     
         24 . A method according to  claim 19 , wherein multiplying comprises performing the multiplication between the intermediate-frequency-reduced information words (S IF-I (k); S IF-Q (k)) and the modified code vectors (CV m-p , CV m-E ; CV m-L ) by means of at least one of a SIMD-operation (multiple-bits multiplications) and an XOR-operation (1-bit multiplications).  
     
     
         25 . A method according to  claim 19  further comprising propagating, in connection with completing the processing of a current data word (d(k)) and initiating the processing of a subsequent data word (d(k+1)): 
 a pointer (P d ) indicating a first sample value of the subsequent data word (d(k+1));    a group of parameters describing the relevant set of carrier frequency-phase candidate vectors (V fφ (f IF-C , φ C ));    the relevant set of code vectors (CV m ); and    prompt-, early-, and late pointers (P P , P E , P L ).    
     
     
         26 . A computer program directly loadable into the internal memory of a computer, comprising software for controlling the steps of  claim 1  when said program is run on the computer.  
     
     
         27 . A computer readable medium, having a program recorded thereon, where the program is to make a computer control the steps of  claim 1 .  
     
     
         28 . A signal receiver for receiving navigation data signals transmitted in a navigation satellite system comprising: 
 a radio front end unit adapted to receive a continuous radio signal (S HF ) and in response thereto produce a corresponding electrical signal (S IF ) comparatively high frequency;    an interface unit adapted to receive the electrical signal (S IF ) and in response thereto produce a sequence of sample values being divided into data words (d(k));    a digital processor unit adapted to receive the data words (d(k)) and in response thereto demodulate a data signal and including a memory means; and    a computer program according to  claim 16  is loaded in the memory means.    
     
     
         29 . A software receiver comprising: 
 a receiver capable of receiving a radio signal;    means for digitizing the radio signal; and    a software correlator capable of mixing the digitized radio signal to form a baseband signal using bit-wise parallelism.    
     
     
         30 . The software receiver of  claim 29  wherein said software correlator comprises: 
 means for computing correlations between the baseband signal and at least one pseudo-random number (PRN) code using the bit-wise parallelism.    
     
     
         31 . The software receiver of  claim 30  wherein said software correlator further comprises: 
 means for computing accumulations from the correlations using the bit-wise parallelism.    
     
     
         32 . The software receiver of  claim 31  further comprising: 
 application-specific code capable of computing navigation data using the accumulations.    
     
     
         33 . The software receiver of  claim 29  wherein said means for digitizing comprises: 
 means for down-converting the radio signal to an intermediate frequency; and    a digitizer capable of digitizing the intermediate frequency.    
     
     
         34 . The software receiver of  claim 33  wherein said digitizer produces at least one bit/sample.  
     
     
         35 . The software receiver of  claim 33  wherein said digitizer is an analog to digital converter.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.