Abstract:
A continuous wave Light Detection and Ranging (CW LiDAR) system utilizes two or more laser frequencies and time or range shifted pseudorandom noise (PN) codes to discriminate between the laser frequencies. The performance of these codes can be improved by subtracting out the bias before processing. The CW LiDAR system may be mounted to an artificial satellite orbiting the earth, and the relative strength of the return signal for each frequency can be utilized to determine the concentration of selected gases or other substances in the atmosphere.

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS 
       [0001]    This application claims the benefit of priority to U.S. Provisional Patent Application Ser. No. 61/357,687, filed on Jun. 23, 2010. The contents of the foregoing application are hereby incorporated by reference in their entirety. 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0002]    The invention was made by employees of the United States Government and may be manufactured and used by or for the Government of the United States of America for governmental purposes without the payment of any royalties thereon or therefore. 
     
    
     FIELD OF THE INVENTION 
       [0003]    The present invention relates generally to range detection and absorption utilizing Light Detection And Ranging (LiDAR), radar, sonar, or other signal. 
       BACKGROUND OF THE INVENTION 
       [0004]    Various types of LiDAR, radar, and sonar have been developed to measure range. In addition to measuring distance, LiDAR has been utilized to measure the concentration of gases or other substances in the atmosphere. For example, LiDAR systems have been mounted in artificial satellites in orbit above the earth. Known differential absorption LiDAR transmits laser light with two wavelengths, and receives reflected light from the surface of the planet and/or gases or other substances in the atmosphere. An example of a known LiDAR technology is described in “Coherent Laser Radar Transceiver for the NASA CO 2  Laser Absorption Spectrometer Instrument” (edited by M. W. Phillips et al., Proceedings of 13 th  Coherent Laser Radar Conference, 2005, pp. 118-121). 
         [0005]    In differential absorption LiDAR systems, one of the two wavelengths is selected to have a relatively large absorption coefficient with respect to a specific gas to be measured, and the other wavelength is selected to have a relatively small absorption coefficient. Due to the differences in absorption coefficients, the amount of light that returns to the LiDAR detector depends upon the concentration of the gas or other substance to be measured. The concentration of the gas to be measured is determined from the difference between the amounts of light at the intensity of light detected at the two wavelengths. 
         [0006]    Pseudorandom noise (PN) codes have been utilized in LiDAR and radar to measure distances. In general, a PN signal includes a sequence of pulses. The exact same sequence can be generated at both a transmitter and a receiver, such that the sequence generated by the receiver has a very high correlation with the transmitted sequence. However, known systems suffer from various drawbacks. 
         [0007]    It is known that an AC coupled signal can be represented by: 
         [0000]        S=η+α pn    (1.0)
 
         [0000]    where η is the noise, α is the attenuation factor and: 
         [0000]        pn   i   Δ =2 PN   i,Δ −1   (2.0)
 
         [0000]    where PN is the PN code represented by 1&#39;s and 0&#39;s and A represents the phase shift. The standard deviation of the noise can be represented by: 
         [0000]    
       
         
           
             
               
                 
                   σ 
                   = 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         MN 
                       
                        
                       
                         
                           
                             ( 
                             
                               
                                 η 
                                 i 
                               
                               - 
                               
                                 η 
                                 ave 
                               
                             
                             ) 
                           
                           2 
                         
                         MN 
                       
                     
                   
                 
               
               
                 
                   ( 
                   3.0 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where we have summed over the total code length of the code, where M is the samples per code bit and N is the code bit length. After performing the correlation calculation, it is already known that the signal strength increases by a factor of MN where they are correlated. The correlation function of the total signal is: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           R 
                            
                           
                             ( 
                             j 
                             ) 
                           
                         
                         = 
                           
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             MN 
                           
                            
                           
                             
                               ( 
                               
                                 
                                   η 
                                   i 
                                 
                                 + 
                                 
                                   α 
                                    
                                   
                                       
                                   
                                    
                                   
                                     pn 
                                     i 
                                     Δ 
                                   
                                 
                               
                               ) 
                             
                              
                             
                               pn 
                               
                                 i 
                                 + 
                                 j 
                               
                               0 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               MN 
                             
                              
                             
                               
                                 η 
                                 i 
                               
                                
                               
                                 pn 
                                 
                                   i 
                                   + 
                                   j 
                                 
                                 0 
                               
                             
                           
                           + 
                           
                             α 
                              
                             
                               
                                 ∑ 
                                 
                                   i 
                                   = 
                                   1 
                                 
                                 MN 
                               
                                
                               
                                 
                                   pn 
                                   i 
                                   Δ 
                                 
                                  
                                 
                                   pn 
                                   
                                     i 
                                     + 
                                     j 
                                   
                                   0 
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             n 
                             j 
                             ′ 
                           
                           + 
                           
                             S 
                             j 
                             ′ 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4.0 
                   ) 
                 
               
             
           
         
       
     
         [0008]    The standard deviation of the transformed noise η′ is assumed to have 0 mean (AC coupled). The variance can be determined by the equation: 
         [0000]    
       
         
           
             
               
                 
                   
                     ( 
                     
                       σ 
                       ′ 
                     
                     ) 
                   
                   = 
                   
                     
                       〈 
                       
                         
                           ( 
                           
                             η 
                             ′ 
                           
                           ) 
                         
                         2 
                       
                       〉 
                     
                     = 
                     
                       
                         1 
                         MN 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           MN 
                         
                          
                         
                           
                             ( 
                             
                               η 
                               j 
                               ′ 
                             
                             ) 
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5.0 
                   ) 
                 
               
             
           
         
       
     
         [0009]    To find the sum: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ( 
                       
                         η 
                         j 
                         ′ 
                       
                       ) 
                     
                     2 
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           m 
                           = 
                           1 
                         
                         MN 
                       
                        
                       
                         
                           η 
                           m 
                         
                          
                         
                           pn 
                           
                             m 
                             + 
                             j 
                           
                           0 
                         
                          
                         
                           
                             ∑ 
                             
                               n 
                               = 
                               1 
                             
                             MN 
                           
                            
                           
                             
                               η 
                               n 
                             
                              
                             
                               pn 
                               
                                 n 
                                 + 
                                 j 
                               
                               0 
                             
                           
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           n 
                           , 
                           m 
                         
                         MN 
                       
                        
                       
                         
                           η 
                           m 
                         
                          
                         
                           η 
                           n 
                         
                          
                         
                           pn 
                           
                             m 
                             + 
                             j 
                           
                           0 
                         
                          
                         
                           pn 
                           
                             n 
                             + 
                             j 
                           
                           0 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6.0 
                   ) 
                 
               
             
           
         
       
     
         [0000]    so that: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ( 
                       
                         σ 
                         ′ 
                       
                       ) 
                     
                     2 
                   
                   = 
                   
                     
                       1 
                       MN 
                     
                      
                     
                       
                         ∑ 
                         
                           j 
                           = 
                           1 
                         
                         MN 
                       
                        
                       
                         
                           ∑ 
                           
                             n 
                             , 
                             m 
                           
                           MN 
                         
                          
                         
                           
                             η 
                             m 
                           
                            
                           
                             η 
                             n 
                           
                            
                           
                             pn 
                             
                               m 
                               + 
                               j 
                             
                             0 
                           
                            
                           
                             pn 
                             
                               n 
                               + 
                               j 
                             
                             0 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7.0 
                   ) 
                 
               
             
           
         
       
     
         [0010]    If the noise has 0 mean, the only part of the sum that will contribute is when n=m so: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             ( 
                             
                               σ 
                               ′ 
                             
                             ) 
                           
                           2 
                         
                         = 
                           
                          
                         
                           
                             1 
                             MN 
                           
                            
                           
                             
                               ∑ 
                               
                                 j 
                                 = 
                                 1 
                               
                               MN 
                             
                              
                             
                               
                                 ∑ 
                                 m 
                                 MN 
                               
                                
                               
                                 
                                   
                                     η 
                                     m 
                                     2 
                                   
                                    
                                   
                                     ( 
                                     
                                       pn 
                                       
                                         m 
                                         + 
                                         j 
                                       
                                       0 
                                     
                                     ) 
                                   
                                 
                                 2 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             1 
                             MN 
                           
                            
                           
                             
                               ∑ 
                               
                                 j 
                                 = 
                                 1 
                               
                               MN 
                             
                              
                             
                               
                                 ∑ 
                                 m 
                                 MN 
                               
                                
                               
                                 η 
                                 m 
                                 2 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             1 
                             MN 
                           
                            
                           
                             
                               ∑ 
                               
                                 j 
                                 = 
                                 1 
                               
                               MN 
                             
                              
                             
                               MN 
                                
                               
                                   
                               
                                
                               
                                 σ 
                                 2 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           MN 
                            
                           
                               
                           
                            
                           
                             σ 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   8.0 
                   ) 
                 
               
             
           
         
       
     
         [0011]    In the above since pn is either a 1 or −1, its square is always 1. The result is that: 
         [0000]      σ′=√{square root over (MN)}σ  (9.0)
 
         [0012]    The new correlated snr in terms of the original snr is: 
         [0000]    
       
         
           
             
               
                 
                   
                     snr 
                     ′ 
                   
                   = 
                   
                     
                       
                         NM 
                          
                         
                             
                         
                          
                         α 
                       
                       
                         
                           MN 
                         
                          
                         σ 
                       
                     
                     = 
                     
                       
                         MN 
                       
                        
                       snr 
                     
                   
                 
               
               
                 
                   ( 
                   10.0 
                   ) 
                 
               
             
           
         
       
     
         [0013]    Expressed differently in terms of previously defined variables: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       snr 
                       ′ 
                     
                     snr 
                   
                   = 
                   
                     
                       MN 
                     
                     = 
                     
                       
                         
                           samplerate 
                           codebitrate 
                         
                          
                         N 
                       
                     
                   
                 
               
               
                 
                   ( 
                   11.0 
                   ) 
                 
               
             
           
         
       
     
         [0014]    This may he used in combination range and resolution equations in order to optimize the system. 
         [0015]    In the event the signal processed with P codes back to back it is easy to verify that: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       snr 
                       ′ 
                     
                     snr 
                   
                   = 
                   
                     
                       MNP 
                     
                     = 
                     
                       
                         
                           samplerate 
                           codebitrate 
                         
                          
                         NP 
                       
                     
                   
                 
               
               
                 
                   ( 
                   12.0 
                   ) 
                 
               
             
           
         
       
     
         [0016]    This is useful because it says an entire block of data may be processed at once to get an averaging effect, and the signal to noise can be increased by simply taking a lot of data. 
         [0017]    For noise with a 1/f power spectrum, it has been verified numerically that: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         snr 
                         ′ 
                       
                       snr 
                     
                     ≥ 
                     
                       MNP 
                     
                   
                   = 
                   
                     
                       
                         samplerate 
                         codebitrate 
                       
                        
                       NP 
                     
                   
                 
               
               
                 
                   ( 
                   13.0 
                   ) 
                 
               
             
           
         
       
     
       BRIEF SUMMARY OF THE INVENTION 
       [0018]    One aspect of the present invention is a method of measuring range and absorption of a transmitted signal. The transmitted signal may comprise light in the visible spectrum, electromagnetic waves, sound waves, or other suitable signal. The method includes generating first and second PN codes. The second PN code is substantially orthogonal to the first PN code. The method further includes generating a first signal at a first frequency or channel, wherein the first signal includes the first PN code. A second signal is generated at a second frequency or channel that is not equal to the first frequency. The second signal includes the second PN code. Additional PN codes and channels may also be utilized. A single carrier may be modulated by multiple orthogonal PN codes. The first and second signals are directed towards a target, and the return signal is detected. The return signal is correlated utilizing the first and second PN codes to provide first and second distinct amplitude peaks corresponding to the first and second PN codes. The method further includes determining a magnitude of the first amplitude peak, and a magnitude of the second amplitude peak. A ratio of the magnitudes of the first and second amplitude peaks is utilized to determine a relative absorption of the first and second signals. 
         [0019]    These and other features, advantages, and objects of the present invention will be further understood and appreciated by those skilled in the art by reference to the following specification, claims, and appended drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]      FIG. 1  is a partially fragmentary diagram of a shift register representation for generating in-sequence codes; 
           [0021]      FIG. 2  is a graph showing the result of cross correlation of code and shifted code computed with a fast Fourier transform for a single channel system; 
           [0022]      FIG. 3  is a graph of a return signal for a single channel system after subtracting noise; 
           [0023]      FIG. 4  is a graph of the return signal of  FIG. 3  after correlation; 
           [0024]      FIG. 5  is a graph of a return signal for a single channel system with 10× noise before correlation; 
           [0025]      FIG. 6  is a graph showing a return signal for a single channel system with 10× noise after correlation; 
           [0026]      FIG. 7  is a graph of a return signal utilizing two codes in a double ranged system with two channels before correlation; 
           [0027]      FIG. 8  is a graph of an example of a return signal utilizing two codes in a double ranged system with two channels after correlation; 
           [0028]      FIG. 9  is a block diagram of a CW LiDAR system with an AM modulated carrier; 
           [0029]      FIG. 10  is a block diagram of a CW LiDAR system with an FM modulated carrier; and 
           [0030]      FIG. 11  is a block diagram of a CW LiDAR system that does not include a carrier. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0031]    For purposes of description herein, terms such as “upper,” “lower,” “right,” “left,” “rear,” “front.” “vertical,” “horizontal,” and derivatives may be utilized. However, it is to be understood that the invention may assume various alternative orientations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings and described in the following specification are simply exemplary embodiments of the inventive concepts defined in the appended claims. Hence, specific dimensions and other physical characteristics relating to the embodiments disclosed herein are not to be considered as limiting, unless the claims expressly state otherwise. 
         [0032]    In atmospheric science it is useful to use PN codes at multiple laser wavelengths in order to measure absorption at specific ranges in order to, for example, discriminate the return of a cloud from the ground. 
         [0033]    The present invention involves the use of time shifted PN codes for continuous wave (CW) LiDAR. In order to frame the requirements for use of time shifted PN codes, it is helpful to define the resolution and range in terms of known quantities. 
         [0034]    The resolution is given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     res 
                     = 
                     
                       c 
                       
                         2 
                         * 
                         bitrate 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   1.0 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where c is the speed of light and bitrate is the bitrate of the PN code. In our reference system res=3*10̂8 meters/sec/(2*50000/sec)=3000 meters. The range is: 
         [0000]      range=N*res.   (2.0)
 
         [0035]    For instance with a PN code with a length of 256 the range would be 768 km, which is all the range that would be needed for a typical satellite-based LiDAR system. However, as discussed in more detail below, there are advantages to making the code longer. 
         [0036]    One known PN code is the m-sequence. The m-sequence is also the basis of many other PN codes. The m-sequences are advantageous because they have very good autocorrelation properties. M-sequences can be represented in a number of different ways. One known method utilizes linear feedback shift registers. An example of this implementation is shown in  FIG. 1 . In this arrangement, all additions are done using modulo 2 additions. 
         [0037]    M-sequences may also be represented using a generator polynomial: 
         [0000]        G=g   m   x   m   +g   m·1   x   m−1   +g   m−2   x   m−2   + . . . +g   2   x   2   +g   1   x   1   +g   0 .   (3.0)
 
         [0038]    Here the g&#39;s can be 1 or 0 and the sums are done using modulo two addition. However, g m =g 0 =1. 
         [0039]    These sequences are 2 m −1 in length and only specific polynomials can be used for a particular length. For m=8 which corresponds to a code length of 2 8 −1=255 an allowed polynomial is: 
         [0000]        G=x   8   +x   6   +x   5   +x   2 +1.   (4.0)
 
         [0040]    In order to generate the individual bits, this can be represented by the recursion relation: 
         [0000]        G[ 8+ n]=G[n]⊕G[n+ 2]⊕ G[n+ 5]⊕ G[n+ 6]  (5.0)
 
         [0041]    For the initial values of G 0 -G 7  any sequence of 0&#39;s and 1&#39;s can be chosen as the seed as long as they are not all 0. For a seed of (1,0,1,0,1,1,1) we generate the sequence: (1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, I, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0. 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1) 
         [0042]    The m-sequence codes have very good autocorrelation properties. The cross correlation between itself and a shifted version of itself is N when they are in sync and −1 if they are not, where N is the length of the code. It is also understood the codes are AC coupled before any correlation is done by changing all 0&#39;s in the code by −1. There are a number of ways of computing the correlation. One is by computing a table of: 
         [0000]    
       
         
           
             
               
                 
                   
                     R 
                      
                     
                       [ 
                       n 
                       ] 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       
                         N 
                         - 
                         1 
                       
                     
                      
                     
                       
                         A 
                          
                         
                           [ 
                           
                             m 
                             + 
                             n 
                           
                           ] 
                         
                       
                        
                       
                         B 
                          
                         
                           [ 
                           m 
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6.0 
                   ) 
                 
               
             
           
         
       
     
         [0043]    This may be defined differently by dividing by the length. Although this works, it requires something on the order of N 2  steps. Fourier transforms are generally better and faster. In this case: 
         [0000]        R[n]=F   −1   [F[A]F[B]*]   (7.0)
 
         [0000]    where the * indicates the complex conjugate and F is the fast Fourier transform (FFT). This is superior because it only takes something on the order of N log N steps. As an example, the case in the previous section can be taken, and the cross correlation between it and a code shifted 128 places to the right can be computed.  FIG. 2  shows the results of cross correlation of code and shifted code computed with FFT. 
         [0044]    As a simulation, the return signal from a hard target may be represented as a combination of the delayed PN code in combination with noise. If M is the number of samples per bit of a Data Acquisition System (DAQ), and N is the length of the code, the strength of the signal after cross correlation will be N*M when the return signal and PN code are in sync, and −M when they are out of sync in the absence of noise. 
         [0045]    As an example, 1 can be chosen as the amplitude of the return signal in combination with random noise 10 times that level. This example also utilizes a code that is 511 bits long, a bitrate of 50000 bits/sec, and a DAQ sample rate of 500000 samples/sec. This gives a resolution of 3 km and a range of 1533 km. A code with the generating function G=x 9 +x 7 +x 5 +x 2 1 and a seed of (1,0,1,0,1,1,1,1,1) is also chosen, as is a delay corresponding to 500 km.  FIG. 3  shows the return signal for this example of a single channel system in absence of noise before correlation, and  FIG. 4  shows the return signal after correlation for this example of a single channel system.  FIG. 5  shows the same signal buried in noise that is 10 times the amplitude of the signal before correlation, and  FIG. 6  shows the signal of  FIG. 5  after correlation. The signal can be readily picked out after correlation. 
         [0046]    The signal to noise ratio can be estimated. For purposes of discussion, white noise is first considered. It is possible to estimate the signal to noise ratio improvement before and after correlation. In this situation a DAQ samples the signal at: 
         [0000]    
       
         
           
             
               
                 
                   M 
                   = 
                   
                     samplerate 
                     bitrate 
                   
                 
               
               
                 
                   ( 
                   8.0 
                   ) 
                 
               
             
           
         
       
     
         [0000]    samples per bit, where sampler ate is the DAQ sample rate and bitrate is the PN code bit rate. This increases the apparent code length by M, which must be taken into account when applying the correlation calculation and the new code length becomes MN samples long. 
         [0047]    In general, white noise may be computed as a series of pseudorandom numbers ranging from −1 to 1. To generate pink noise, white noise can be filtered with an FFT filter using 1/Sqrt[f] as a filter kernel, thereby giving it a power spectrum of 1/f. For atmospheric species detection it may be advantageous to be able to decode multiple channels. M-sequences (for example) may be utilized to construct a system with two or more channels. Since m-sequences have very good autocorrelation properties, shifted versions of them cross correlate well except for a small CD component where they are uncorrelated and a large spike where they correlate. 
         [0048]    Also, if the LiDAR system is mounted to an artificial satellite and the LiDAR system is directed down from space, there will be a final hard target (the ground) below which there will be no further returns possible. If it is known that there will be no further returns past a certain distance, the LiDAR system can be sized with twice the range that is otherwise needed, and that further range can be used to add a second shifted code that is shifted by half the doubled range. To get twice the range a PN code twice as long is used, while maintaining the same code bit rate. As long as there are no returns beyond the half range there will be no interference between the channels. The first half of the autocorrelation gives the range information for the first unshifted channel, and the second half of the autocorrelation gives the range information for the shifted second channel. The autocorrelation for both channels can be done in a single step utilizing, for example, software that has been configured to perform the necessary calculations. By doubling the length of the code the signal to noise ratio (snr) is increased. In general, the code can be as long as needed to add the desired number of channels. 
         [0049]      FIGS. 7 and 8  show an example of using two codes in a double ranged system with two channels before ( FIG. 7 ) and after ( FIG. 8 ) correlation. The example of  FIGS. 7 and 8  utilizes a code length of 511 with a sample rate of 500000 samples/sec and a code bit rate of 50000 bits/sec. This gives a total range of 511*3*10̂5/(2*50000)=1533 km. A code with the generating function G=x 9 +x 7 +x 5 +x 2 +1, a seed of (1,0,1,0,1,1,1,1,1) and a shifted version of that code shifted 256 places to the right was used to generate the code. The result of this and 10× noise is show in  FIG. 7 . This example is similar to the example above ( FIGS. 2-6 ), except that two channels are utilized. 
         [0050]    In summary, two or more channels and two or more orthogonal PN codes are utilized, wherein each PN code is shifted in time. Two or more PN codes may be used on a single (or no) carrier. The shifting of the codes may be done such that there is equal spacing. The spacing between the time shifted sequences depends on the range. The minimum distance in bits must be: 
         [0000]    
       
         
           
             
               
                 
                   n 
                   &gt; 
                   
                     
                       2 
                       * 
                       br 
                       * 
                       R 
                     
                     c 
                   
                 
               
               
                 
                   ( 
                   9.0 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where n is the distance in bits, br is the bitrate, R is the maximum range, and c is the speed of light. Also, a code must be selected that is at least as long as the sum of all the distances. 
         [0051]    For instance, with two codes of length  511 , the second is shifted to the right 256 places with respect to the first code. The shifting is done in such a way that as the end of the code is shifted past the boundary it wraps to the beginning. The maximum distance to the farthest target shall be 255 in that case. With four codes of length  511 , each is shifted 128 places to the right of the preceding code. The maximum distance to the target in that case would be 127. In this way one may have multiple channels for a given code length. However, in general, the LiDAR/radar/sonar must be pointed at targets with a hard surface (such as the surface of the earth) no farther than the distance to the first code to avoid range-wrapping issues. In addition, it may be advantageous to either subtract the average from the code or from the data prior to processing to help alleviate noise/bias issues. 
         [0052]    With further reference to  FIG. 9 , a CW LiDAR system  1  according to one aspect of the present invention utilizes an AM modulated carrier. The CW LiDAR system  1  includes a first laser  2  and a second laser  3 . Although various lasers having different wavelengths could be utilized, in the illustrated example the first and second lasers  2  and  3 , respectively, may have a wavelength of about 1.57 microns. In general, the lasers  2  and  3  have slightly different wavelengths having different absorptions with respect to a particular gas or other substance. The first laser  2  may be selected to correspond to an absorption line of a particular chemical species. This depends on the chemical species to be measured. For example, there are numerous absorption lines at numerous different wavelengths. Thus, the wavelength of 1.57 microns is but one example of a suitable wavelength. In general, the second laser  3  has a different wavelength having a relatively small absorption coefficient with respect to the gas to be measured. Furthermore, one or more additional lasers (not shown) having wavelengths that are not equal to the wavelengths produced by the first and second lasers  2  and  3 , respectively, may also be included in the CW LiDAR system  1 . In general, the use of lasers having different wavelengths in differential absorption LiDAR is known, and the details with respect to selecting appropriate lasers for detecting a specific gas or other substance are not therefore described in detail herein. 
         [0053]    A PN code generator  5  (see also  FIG. 1 ) produces a first orthogonal PN code that is utilized to modulate the light from laser  2  as shown schematically at junction  6  of  FIG. 9 . Similarly, a PN code generator  7  modulates light from second laser  3  at junction  8 . The PN code generators  5  and  7  may comprise a device or it may comprise software. It will be understood that  FIG. 1  may represent a device, software, or it may be used as a mathematical representation for generating M 1  sequences. Light from the junctions  6  and  8  is amplified by Semiconductor Optical Amplifiers (SOA&#39;s)  10  and  11 , respectively, to amplify the signal. The optical signal  13  from SOA&#39;s  10  and  11  may be modulated to include a carrier signal as shown schematically in  FIG. 9  by carrier  14  and junction  12 . In the example of  FIG. 9 , an amplitude modulated carrier is utilized. However, the inclusion of a carrier may not be required for all applications, and it will therefore be understood that the AM and FM modulated carriers shown in  FIGS. 9 and 10  respectively, are optional. Optical signal  15  is then supplied to transmit optical device  16 , which produces an optical signal  18  that is directed towards a target. In  FIG. 9 , the target is shown schematically in dashed lines as a circle  20 . However, it will be understood that the target may comprise clouds, gasses, the surface of a planet, or other features an interest. 
         [0054]    Light reflected from target  20  returns in the form of a return signal  22  that is gathered by a telescope  23 . The light is then converted into an electronic form by a detector  24 , and the electronic signal is then processed by a band pass filter  25  and AM demodulator  26 . It will be understood that the telescope  23 , detector  24 , band pass filter  25  and AM demodulator  26  are an example of an arrangement in accordance with an embodiment of the present invention. However, other devices and configurations may also be utilized. The demodulated signal  28 , first PN code  29 , and second PN code  30  are supplied to a Digital Acquisition System (DAQ)  32 , and software  33  provides for software cross correlation and processing according to the method/processes discussed in more detail above. Signal bias may be removed by software  33  as discussed above. 
         [0055]    With further reference to  FIG. 10 , an FM modulated CW LiDAR system  1 A according to another aspect of the present invention includes many components that are substantially the same as the AM CW LiDAR system I of  FIG. 9 . The components of the FM CW LiDAR system  1 A of  FIG. 10  that are substantially similar to corresponding components of AM CW LiDAR system  1  of  FIG. 9  are designated with the same part numbers, except that the suffix “A” has been added to the item numbers in  FIG. 10 . First and second orthogonal PN codes are provided by devices  5 A and  7 A. The orthogonal PN codes are provided to first and second Voltage Controlled Oscillators (VCO)  37  and  38 , respectively, and light from first and second lasers  2 A and  3 A, respectively, is modulated at the junctions designated  6 A and  11 A. The combined optical signal  18 A is directed towards a target  20 A by transmit optics  16 A. A return signal  22  is received by a telescope  23 A, and is then converted into an electrical signal by detector  24 A. The signal then passes through a band pass filter  25 A and an FM demodulator  36 . The first and second orthogonal PN codes are provided to a DAQ  32 A by devices  5 A and  7 A, as is the demodulated electrical return signal  28 A. Software  33 A then provides cross correlation and processing as described in more detail above. 
         [0056]    With further reference to  FIG. 11 , a CW LiDAR system  1 B according to another aspect of the present invention is somewhat similar to the AM CW LiDAR system  1  of  FIG. 9  and the FM CW LiDAR system of  FIG. 10 . However, the CW LiDAR system  1 B does not utilize a carrier signal. The CW LIDAR system of  FIG. 11  includes first and second lasers  2 B and  3 B, and devices  5 B and  7 B that generate orthogonal PN codes. The optical signal is amplified and transmitted towards a target  20 B, and return signal  22 B is received by a telescope  23 B. A detector  24 B and high pass filter  25 B provide a signal  28 B to DAQ  32 B and software  33 B for cross correlation and processing. 
         [0057]    It will be understood that  FIGS. 9-11  represent examples of ways to implement the present invention, but these examples are not intended to represent the sole ways to implement the invention. Various devices, software, and other such components may be utilized to implement the invention in LiDAR, radar and sonar systems. 
         [0058]    It is to be understood that variations and modifications can be made on the aforementioned structure without departing from the concepts of the present invention, and further it is to be understood that such concepts are intended to be covered by the following claims unless these claims by their language expressly state otherwise.