Abstract:
In accord with the transmission system, encoded signals may be processed in intermediate stations and at receiving stations in an order different from the order of the original encoding process for transmission. In particular, the recovery of CDMA encoded signals does not require application of spreading/despreading codes in the original scheme or sequence of application of spreading codes. In one embodiment, code applications may be permuted without losing the original signal which has been encoded. In such applications, not all of the encoding spreading functions results in an increased spreading rate.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of application Ser. No. 08/987,489 filed Dec. 9, 1997 now Pat. No. 6,088,325, which is included herein in its entirety by reference thereto. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to encoding/decoding of communication signals and in particular to sequences of code application to communication signals. It is particularly concerned with CDMA encoding and decoding of communication signals. 
     BACKGROUND OF THE INVENTION 
     Encoding signals in communication systems often requires the application of many codes in which a plurality of codes are applied to a signal as a sequence of overlays to accomplish several objectives in conditioning the signals to meet diverse signal transmission and switching objectives. Some encoding examples may include spreading and overspreading applied to create a CDMA signal optimized for transmission channels. Other code processes include error correction, signal correlations or de-correlations, etc. 
     These multiplicity of code applications must frequently be handled by a plurality of processing stations located between an originating and a terminating station. Normally the signal must be decoded and recoded at each processing station. This represents a considerable processing effort at each such station which leads to overall signal transmission inefficiencies. 
     In other transmission processes (i.e. CDMA), the signals may be spread or despread in several stages of successive processing stations. These processes may or may not alter the overall spreading rate dependent on the spreading processes. Spreading applications having successive layers of spreading are performed sequentially and if the original signal is to be recovered in an intermediate processing station the despreading for recovery is in reverse sequence and subsequent respreading is performed in the exact same sequence as the original spreading operation at the transmitter. Again the processing required may be instituted even though the recovery of the original signal is not needed and significantly reduce transmission efficiencies. 
     SUMMARY OF THE INVENTION 
     In accord with the invention, encoded signals, originating from transmitting stations, may be processed in intermediate stations and at receiving stations in an order different from the order of the original encoding process in order to facilitate switching, multiplexing, demultiplexing, signal regeneration, etc. In particular, the recovery of CDMA encoded signals does not require application of spreading/despreading codes in accordance with the reverse order of the original encoding order scheme or sequence of application of spreading codes. This is true for various classes of spreading in all direct sequence methods in instances using codes in which correlation despreading is employed. Moreover with like classes of code for other applications such as frequency hopping, time hopping, etc. may also be permuted. 
     In the illustrative embodiment, code applications may be permuted without losing the original signal which has been encoded. In such applications, not all of the encoding spreading functions result in an increased spreading rate. In theory, the permuting of code applications is predicated on the allowability of permuting the order of interated Lebesgue integrable functions while retaining the original values. 
     In a particular illustrative example, a particular sequence of application of despreading codes of a received signal is permuted from that of the original application of spreading codes at signal transmission. A plurality of signal processors may assume varied sequences while retaining the original signal values. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a block schematic of a traditional prior art communication system using spread CDMA signals where decoding at the receiver is performed in a reverse symmetrical order of the encoding prior to transmission; 
     FIG. 2 is a block schematic of a communication system using spread CDMA signals with decoding at the receiver using despreading functions in an order not consistent with a reverse symmetrical order of the encoding prior to transmission; 
     FIG. 3 is a block schematic of a generalized communication system using direct sequence CDMA with permuting of inverse decoding operations in intermediate decoders and in a receiving decoder; 
     FIG. 4 is a block schematic of a communication system using direct sequence CDMA with permuting of inverse decoding operations in the receiving decoder; 
     FIG. 5 is a block schematic of a communication system using frequency hopping CDMA with permuting of inverse decoding operations in the receiving decoder; and 
     FIG. 6 is a block schematic illustrating invariance of correlated encoding and decoding functions. 
    
    
     DETAILED DESCRIPTION 
     In a conventional communication system, decoding of received CDMA signals is an exact reverse symmetrical order of the initial coding for transmission. A communication system using such conventional coding arrangements is shown in FIG.  1  and includes an input  101  for accepting signals for transmission followed by three encoder functions  102 ,  103  and  104  providing the spreading functions F 1 , F 2  through F n . The encoded signal is transmitted through a channel  106 , which may be wired or wireless, to a receiving location having a plurality of decoders  107 ,  108  and  109  and an output  110 . The decoders each provide an inverse decoding function. The decoding functions, F n   −1  through F 2   −1  and F 1   −1 , are provided in an exact reverse sequence order of decoding to the initial sequence of coding order. This requires that decoding for any process must be recovered in a number of steps needed to traverse the reverse symmetrical order of coding. The encoding and decoding circuitry is well known in the art and it is not believed to disclose the same in detail. 
     A system in which the spread spectrum decoding may be permuted is shown in the communication system of FIG.  2 . In this instance a certain class of spreading functions is used which support the change in sequence between spreading and despreading. Initially a signal applied to input  201  is encoded by encoders  202 ,  203  and  204  by the spreading functions F 1 , F 2  and F n  in that order. Not all of the spreading codes applied need result in increased spreading rates. 
     The spread CDMA signal is transmitted through a channel  205  to a receiver having the decoders  207 ,  208  and  209  serially connected to output  210 . The decoding functions F j1   −1 , F j2   −1  and F jn   −1  are not connected in the sequential reverse order of the encoding functions at the transmit end. However for every encoder F i  there is a corresponding decoder F jk . In this arrangement coded signal units are separately recoverable at all levels of encoding. This change in order permits the extraction if needed of a certain level of the encoded signal for processing functions. 
     The basis for permutation of correlation code and decode orders is the Tonelli-Hobson theorem. This theorem governs permuting of the order of iterated integrals for Lebesgue integrable functions. It is expressed as the following result. 
     
       
           C (( f,G ), H )( t )= C ( C ( f,H ), G )( t ) 
       
     
     Where f is a received signal, G is an inverse spreading function, H is an inverse spreading function and C is a correlation operator. The permutation for one correlation operator is shown graphically in FIG. 6 which shows the invariance of inverse spreading function G followed by H with its equivalent H followed by G. 
     A frequent occurrence in transmitting encoded signals is the need to decode the signal to some intermediate level of coding for processing at an intermediate point or waystation in the overall transmission path. An illustrative transmission system requiring such processing is shown in the FIG. 3. A signal to be transmitted is applied to input  301  and spread encoded by the spread codes F 1  and F 2  in the encoders  302  and  303 . A subsequent encoder  305  receives another separate channel input and additionally further encodes the output of coder  302 . The auxiliary channel is applied on lead  304 . Both signals are encoded in coder  305  by applying the spreading code F i   −1  to both signals. These signals are transmitted to a subsequent spreading decoder  307  for application of spreading code F n  before transmission over the channel 1    310 . 
     An intermediate station includes the decoder  312  for application of despreading code F n   −1 . A series of spreading encoders  313  and  315  are connected in series. These encoders apply spreading codes F j  and F n  for retransmission of the signal. Encoder  313  has a separate output  317  for transmission from an output of encoder  313 . 
     The output of spreading encoder  315  is applied to the channel 2    316  for transmission to another intermediate destination including a spreading encoder  331  applying the spreading code F j . 
     The spread signal is transmitted via a transmission channel n    335  to a series of despreading decoders  337 ,  339  and  341  applying the despreading codes F 2   −1 , F n   −1  and F J   −1 , respectively. The despread output signal is applied to output lead  343 . 
     An illustrative example of Direct Sequence CDMA with permuted inverse decoder operations is shown in the FIG.  4 . The signal functions A and B are applied into the input at  401 . A includes X and Y and B includes Z and W. These are applied to the successive encoding devices  402  and  403  having the encoding functions F 1  and F 2 , respectively. A and B have different PN sequences, the A sequence being +,+, −and the B sequence being +, −, +. The encoded signals are transmitted by a channel  405  to a receiver including the decoders  407  and  408 . The decoders are permuted from the conventional inverse sequence of the decoding process. In the spreading process, at the input the first four spreading Walsh functions for X, Y, Z and W are applied as F 1  at each clock pulse. These are known as the Walsh ON sequence. The applicable Walsh function is 
     
       
         
               
             
               
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                   
               
               
                 WALSH FUNCTION TABLE 
               
             
          
           
               
                   
                 0 
                 1 
                 2 
                 3 
               
               
                   
                   
               
             
          
           
               
                   
                 X 
                 + 
                 + 
                 + 
                 + 
               
               
                   
                 Y 
                 + 
                 + 
                 − 
                 − 
               
               
                   
                 Z 
                 + 
                 − 
                 − 
                 + 
               
               
                   
                 W 
                 + 
                 − 
                 − 
                 + 
               
               
                   
                   
               
             
          
         
       
     
     The illustrative time sequence coding is illustrated in the table below. The code repeats every 12 timing markers 
     
       
         
               
             
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 TABLE OF TIME SEQUENCE CODING 
               
               
                 Pattern Repeats mod12 
               
             
          
           
               
                   
                 Time ----&gt; 
               
             
          
           
               
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
                 12 
                 13 
               
               
                   
                   
               
             
          
           
               
                 X 
                 + 
                 + 
                 + 
                 + 
                 + 
                 + 
                 + 
                 + 
                 − 
                 − 
                 − 
                 − 
                 + 
                 + 
               
               
                 Y 
                 + 
                 + 
                 − 
                 − 
                 + 
                 + 
                 − 
                 − 
                 − 
                 − 
                 + 
                 + 
                 + 
                 + 
               
               
                 Z 
                 + 
                 − 
                 − 
                 + 
                 − 
                 + 
                 + 
                 − 
                 + 
                 − 
                 − 
                 + 
                 + 
                 − 
               
               
                 W 
                 + 
                 − 
                 + 
                 − 
                 − 
                 + 
                 − 
                 + 
                 + 
                 − 
                 + 
                 − 
                 + 
                 − 
               
               
                   
               
             
          
         
       
     
     A particular illustrative embodiment concerning application of the permuting of coding as applied to a frequency hopping CDMA transmission system is shown in the FIG.  5 . Four users (X, Y, Z and W) are depicted in a communication system. Two encoders  503  and  504  are shown with the encoding functions F 1  and F 2  to map the users on the hop set {x, y, z, w}. At any time the hop set as shown is (n x y z w). Application of encoding operator F 1  gives the hop pattern (n x y z w) for n being even and (n y x w z) for n being odd. F 2  has input of the form (n a b c d). In this embodiment n is congruent to k(mod4). So F 2  gives (n a b c d) for k=0 or 1. F 2  gives (n c d a b) for k=2 or 3. Hence F 1  F 2  gives (n x y z w) for k=0; F 1  F 2  gives (n y x w z) for k=1; F 1  F 2  gives (n z w x y) for k=2; and F 1  F 2  gives (n w z y x) for k=3. F 1  and F 2  are both involutions in that both are each equal to their inverse value and two successive applications results in identity. The transmitted frequency pattern (n a b c d) for n=0, 1,2,3 may be matched by applying first F 1  followed by F 2 . 
     The system is controlled by a clock as is customary in CDMA systems. In function F 1 , the clock frequency for X and Y is interchanged and the clock frequency for Z and W is interchanged for each clock pulse. In function F 2 , every other of the clock pulse frequencies within A are interchanged with those within B. These frequency interchanges are indicated in the tables of values in FIG.  5 . After transmission through channel  505 , decoding is performed in a permuted order ( F 1   −1  precedes F 2   −1 ) in the decoders  506  and  507 , with full signal recovery of the output  512 . 
     The operation of the illustrative embodiment of FIG. 5 may be ascertained by review of the accompanying tables A through D in FIG.  5 . Table A indicates the encoding operations on the two groups of signals A and B to be frequency hopped by the encoded  503 . 
     
       
         
               
               
               
             
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE A 
               
             
             
               
                   
                   
               
               
                   
                   
                 Repeats mod4 
               
               
                   
                 Time ----&gt; 
                   
               
             
          
           
               
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 . . . 
               
               
                   
                   
               
             
          
           
               
                   
                 X 
                 x 
                 y 
                 z 
                 w 
                 x 
                 y 
                   
               
               
                   
                 Y 
                 y 
                 x 
                 w 
                 z 
                 y 
                 x 
                   
               
               
                   
                 Z 
                 z 
                 w 
                 x 
                 y 
                 z 
                 w 
                   
               
               
                   
                 W 
                 w 
                 z 
                 y 
                 x 
                 w 
                 z 
               
               
                   
                   
               
             
          
         
       
     
     The Xs and Ys of subgroup A are permuted as are Ws and Zs of subgroup B. Alternating output is created every clock pulse. These permutations are shown in the table A of FIG.  5 . The output of coder  503  are further permuted by encoder  504  by permuting values of A and B every two time units as indicated in table B. 
     
       
         
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE B 
               
             
             
               
                   
                   
               
               
                   
                 Time ----&gt; 
               
             
          
           
               
                   
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 . . . 
               
               
                   
                   
               
             
          
           
               
                   
                 A 
                 X 
                 x 
                 y 
                 x 
                 y 
                 x 
                 y 
               
               
                   
                   
                 Y 
                 y 
                 x 
                 y 
                 x 
                 y 
                 x 
               
               
                   
                 B 
                 Z 
                 z 
                 w 
                 z 
                 w 
                 z 
                 w 
               
               
                   
                   
                 W 
                 w 
                 z 
                 w 
                 z 
                 w 
                 z 
               
               
                   
                   
               
             
          
         
       
     
     The frequency hopped transmission is shown in the table C. 
     
       
         
               
               
               
             
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE C 
               
             
             
               
                   
                   
               
               
                   
                   
                 Repeats mod4 
               
               
                   
                 Time ----&gt; 
                   
               
             
          
           
               
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 . . . 
               
               
                   
                   
               
             
          
           
               
                   
                 X 
                 x 
                 y 
                 z 
                 w 
                 x 
                 y 
               
               
                   
                 Y 
                 y 
                 x 
                 w 
                 z 
                 y 
                 x 
               
               
                   
                 Z 
                 z 
                 w 
                 x 
                 y 
                 z 
                 w 
               
               
                   
                 W 
                 w 
                 z 
                 y 
                 x 
                 w 
                 z 
               
               
                   
                   
               
             
          
         
       
     
     At the receiver, the decoder  506  performs the inverse of F 2   −1  first which is out of order from the transmit operations. The X and Y signals are permuted and then Z and W with time units separately altered as in table D. 
     
       
         
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE D 
               
               
                   
                   
               
               
                   
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 . . . 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 A 
                 X 
                 x 
                 x 
                 z 
                 z 
                 x 
                 x 
               
               
                   
                   
                 Y 
                 y 
                 y 
                 w 
                 w 
                 y 
                 y 
               
               
                   
                 B 
                 Z 
                 z 
                 w 
                 x 
                 y 
                 z 
                 z 
               
               
                   
                   
                 W 
                 w 
                 z 
                 y 
                 x 
                 w 
                 w 
               
               
                   
                   
               
             
          
         
       
     
     The A and B subgroups are permuted every two time units producing results as shown in the table E 
     
       
         
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE E 
               
               
                   
                   
               
               
                   
                   
                 0 
                 1 
                 2 
                 3 
                 4 
                 5 
                 . . . 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 A 
                 X 
                 x 
                 x 
                 x 
                 x 
                 x 
                 x 
               
               
                   
                   
                 Y 
                 y 
                 y 
                 y 
                 y 
                 y 
                 y 
               
               
                   
                 B 
                 Z 
                 z 
                 z 
                 z 
                 z 
                 z 
                 z 
               
               
                   
                   
                 W 
                 w 
                 w 
                 w 
                 w 
                 w 
                 w