# Patent

## Title
Parallel architecture digital filter and spread spectrum signal receiver using such a filter

## Abstract

This invention relates to parallel architecture digital filter and signal receiver with spectrum spreading using such a filter, the filter may have p shift registers (Rp, Ri) with means for calculating a weighted sum of stored samples in the registers, p weighted sums (Skp, Ski) may be obtained and recombined with number p being, for example, equal to 2.

## Background
This application is a national phase of PCT/FR99/02724, and International Application No. 98/14071, which was filed on Nov. 22, 1999, and was not published in English.
TECHNICAL FIELD
The object of the present invention is a parallel architecture digital filter and a signal receiver with spectrum spreading using such a filter.
The filter of the invention may be used in any technique with a high information rate, but it is particularly suitable for direct sequence spread spectrum digital transmissions where it may be used as an adapted filter. Therefore the invention finds a particular application in wireless local networks (WLAN), in local loops for wireless subscribers (WLL), in mobile telephony, in home automation and remote data collection, communications in transportation, in cable television and in multimedia services on cable networks, etc. . . .
STATE OF THE PRIOR ART
The spectrum spreading technique consists in modulating a digital symbol to be transmitted by a pseudorandom sequence known to the user. Each sequence is composed of N elements called “chips”, the period of which is the Nth fraction of the period of a symbol. This results in a signal with a spectrum spreading over an N-fold larger range as that of the original signal. On reception, demodulation consists in correlating the received signal with the sequence used upon emission in order to rediscover the initial symbol.
This technique has many advantages:
discretion, as the emitted signal power is constant and spread over an N-fold larger band, its power spectral density is reduced by a factor N;
immunity with regards to intentional or parasitic narrow band emissions, the correlation operation carried out at the receiver's level leading to spectral spreading of these emissions;
interception difficulty (for the usual signal-to-noise ratios), as demodulation requires knowledge of the sequence used upon emission;
resistance to multiple paths which, under certain conditions, cause frequency selective fading and therefore only affect the emitted signal partly;
possibility of using code divison multiple access (CDMA): several direct sequence spread spectrum links may share the same frequency band by using orthogonal spreading codes.
A description of this technique may be found in two general references:
Andrew J. VITERBI: “CDMA-Principles of Spread Spectrum Communication”, Addison-Wesley Wireless Communications Series, 1975,
John G. PROAKIS: “Digital Communications”, McGraw-Hill International Editions, 3rd edition, 1995.
Appended FIG. 1 illustrates the general structure of a direct sequence spread spectrum signal receiver. As an example, it is assumed that the modulation carried out upon emission is a phase difference modulation. Receiver of FIG. 1 includes two parallel channels, marked by indices I and Q, for treating a signal in phase with the carrier and a signal in phase quadrature with the latter. The receiver thus comprises two inputs E(I), E(Q), two analog/digital converters CAN(I), CAN(Q), two adapted filters F(I), F(Q) delivering two signals S(I), S(Q), a differential demodulation circuit DD delivering two signals traditionally marked as “DOT” and “CROSS” (which are the sums or differences of the sample products), a Inf/H circuit, restoring an information signal Sinf and a clock signal SH, and finally a decision circuit D, the output S of which restores data d.
Each adapted filter F(I), F(Q) performs a correlation operation between the received signal and a pseudorandom sequence used upon emission. This operation consists in storing a certain number of successive samples and in performing a weighted sum by means of weighting coefficients which are the coefficients of the digital filter. In the particular case of direct sequence spectrum spreading using binary sequences, these coefficients are equal to +1 and to −1, according to the sign of the chips forming the pseudorandom sequence.
Analog/digital converters CAN(I) and CAN(Q) operate at frequency Ft=neFc where Fc is the chip frequency (Fc=1/Tc), ne is the number of samples taken in a chip period (Tc) and N is the number of chips in each sequence. The number of stored samples is equal to neN. For simplifying the discussion, it will be assumed that only one sample is taken per chip. The number of samples taken into account and coefficients is therefore equal to N.
The correlation operation consists in multiplying the retained samples, noted as Ik−j, where k is a time index and j is a shift with respect to this index, with as many coefficients noted as CN−1−j, and in calculating the sum of these products i.e.:

CN−1Ik+CN−2Ik−1+ . . . +C0Ik−(N−1) 

which may be written:




  
    S
    k
  
  =
  
    
      ∑
      
        j
        =
        0
      
      
        N
        -
        1
      
    
    ⁢
    
      
    
    ⁢
    
      
        C
        
          N
          -
          1
          -
          j
        
      
      ⁢
      
        I
        
          k
          -
          j
        
      
    
  




This weighted sum is obtained at each sampling period and therefore depends on index k. Signal Sk represents the required correlation signal. Generally, it exhibits a very sharp peak when all the samples taken into account correspond to the chips of the pseudorandom sequence used upon emission.
FIG. 2 shows a circuit, called an adapted filter, able to produce the signal Sk. The illustrated example corresponds to the simple case when N=4. As illustrated, this circuit comprises an input E connected to a analog/digital converter CAN, a shift register formed with four flip-flops B0,B1,B2,B3 for multipliers M0,M1,M2,M3 receiving on the one hand the four samples Ik, Ik−1, Ik−2, Ik−3 stored in the flip-flops and four coefficients C3,C2,C1,C0 which are assumed to be known. This filter further comprises an adder ADD which forms the sum of the partial products delivered by the multipliers. The general output S delivers the desired signal Sk.
If ne samples are taken instead of only one per chip period, previous considerations remain valid, except that the total number of samples to be taken into account becomes neN instead of N. The number of coefficients must also be equal to neN but with ne repetitions for samples located in a same chip period (Tc). For example, for a pseudorandom sequence of 31 chips, and for two samples per chip, 2×31=62 samples will have to be taken into account with 62 coefficients formed from 31 pairs of equal coefficients: C61=C60, C59=C58, . . . , C1=C0. However a weighted sum will always be formed, i.e.:

Sk=C61Ik+C60Ik−1+ . . . +C1Ik−60+C0Ik−61 

The diagram of FIG. 3 illustrates the sampling times in the case of two samples per chip period. These times are marked by crosses distributed along a time axis. They are separated by a working period Tt equal to 1/neFc. Period Tb is equal to N times Tc and represents the duration of a data bit (in the illustrated case N=4). Several bits may make up a symbol according to the selected modulations.
In such a technique, the processing rate is directly related to the product D×N×ne where D is the transmitted data rate. This quantity is a frequency, called the operating frequency (or working frequency). The longer the length N of the pseudorandom sequence, the better are the processing gain, resistance to disturbances, discretion of the link and robustness of the latter faced with possible interception. To benefit from these advantages, the direct sequence spread spectrum modulation technique should use length of sequences of at least a few tens of chips.
Furthermore, the performance of a direct sequence spread spectrum system in a multipath environment, depends on its time resolution, which is equal at best to the duration Tc of a chip. The higher the time resolution, the smaller Tc, more it will be possible to separate propagation paths and thus increase the diversity order. It is therefore worth having a high chip frequency.
As the present tendency is further to increase data rate, it is understood that operating frequency for processing means will always increase. But this increase finds its limit in the technology of the components used. In the present state of the art, certain compromises have to be adopted between the desired performances (high processing rate) and circuit possibilities. These compromises vary according to the manufacturers:
at HARRIS, component HFA3824, operates around 44 MHz with sequences from 11 to 16 chips and with two samples per chip. Thus, HARRIS obtains up to 4 Mbits/s with a sequence of 11 chips and QPSK (Quaternary Phase Shift Keying using 2 bits per symbol) modulation. With the new component HFA3860, 11 Mbits/s may be obtained through a more complex modulation (8 bits per symbol) and with sequences of a length of only 8 (its working frequency remains at 44 MHz).
at STANFORD TELECOM, component STEL2000A substantially operates at the same rate (45 MHz). It provides links up to 2 Mbits/s with sequences of 11 chips and two samples per chip.
at SIRIUS COMMUNICATION, component SC2001 operates at 47 MHz and processes up to eight samples per chip and uses sequences of a length from 1 to 1023 chips. The maximum binary rate achieved with a minimum length sequence is 11.75 Mbits/s.
The present applicant has himself developed a processing circuit working at a rate of 75 MHz. It processes up to 16 samples per chip for minimum length sequences and allows the use of sequences of a length from 4 to 64 chips. The maximum binary rate reaches 32.5 Mbits/s for sequences of length 4, with one sample per chip.
This discussion of the state of the art shows that in order to attain binary rates greater than 10 Mbits/s, two solutions are available to one skilled in the art: either use a more complex modulation, which increases the number of bits per symbol, while processing relatively short sequence lengths (HARRIS solution with sequences of length 8), or reduce the length of the sequence in order to have a compatible rate with the maximum working frequency imposed by technology (65 MHz for the present applicant).
With the present invention, it is possible to go beyond these compromises by using a parallel architecture filter. The advantages of spectrum spreading may thus be utilized at best by using long pseudorandom sequences, while allowing for high rates.
Parallel architecture filters are already known. For example, document DE-A-196 27 305 describes a filter with several channels working with a plurality of coefficients, whereby these coefficients are utilized through a circular permutation.
Such a filter is not adapted to spectrum spreading with long sequences. On the contrary, the present invention provides a filter with a structure which provides a specific weighted summation adapted to this technique.
DESCRIPTION OF THE INVENTION
The filter of the invention comprises several channels and, in each channel, several stages and it is structured in order to produce intermediate signals which are special weighted sums of input signals and to produce sum signals of these intermediate signals for obtaining the required filtered signals.
More specifically, the object of the present invention is a parallel digital filter receiving p input signals (I0, . . . , Ii, . . . , Ip-1) and delivering p output signals (S0, . . . , Si, . . . , Sp−1) which are the sums of input signals weighted with M coefficients (C0, C1, . . . , CM−1), wherein this filter comprises p parallel channels (V0, . . . , Vi, . . . , Vp−1) receiving the p input signals (I0, . . . , Ii, . . . , Ip−1), characterized in that it comprises r+1 stages (E0, . . . , Ej, . . . , Er), where r is the integer portion of the ratio (M+p−2)/p, wherein stage of rank j delivers p intermediate signals (R0j, . . . , Rij, . . . , Rp−1j) which are the weighted sums of input signals defined by:




  
    R
    i
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      
        p
        -
        1
      
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            M
            -
            1
            -
            q
            +
            i
            -
            jp
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          jp
        
      
    
  




the filter further comprising summing means (Σ) receiving said intermediate signals (Rij) and delivering p sums defined by:




  
    S
    i
  
  =
  
    
      ∑
      
        j
        =
        0
      
      r
    
    ⁢
    
      
    
    ⁢
    
      R
      i
      j
    
  




these p sums forming the p output signals (S0, . . . , Si, . . . , Sp−1).
As the filter comprises p channels working at a frequency reduced by a factor p with respect to the frequency of the whole with a given technology, with a given operating frequency and with a fixed sequence length, the rate for the data processed by the whole of the filter of the invention is multiplied by p.
In an embodiment, the number of channels p is equal to 2. The filter then comprises a first channel with first storing means for the samples of even rank and a second channel with second means for storing the samples of odd rank, each channel further respectively comprising first and second means, for respectively calculating even and odd weighted sums, respectively.
The object of the present invention is also a direct sequence spread spectrum signal receiver comprising:
at least an analog/digital converter receiving a spread spectrum signal and delivering digital signals of this signal,
at least a digital filter with coefficients adapted to the spread spectrum sequence, this filter receiving the samples delivered by the digital/analog converter and delivering a filtered signal,
means for processing the filtered signal able to restore the transmitted data,
this receiver being characterized in that the digital filter is the filter defined earlier.



SHORT DESCRIPTION OF THE DRAWINGS
FIG. 1 already described, shows a known receiver for spread spectrum signals;
FIG. 2 already described, shows a known digital filter;
FIG. 3 already described, is a time diagram showing the sampling times in a known filter;
FIGS. 4A, 4B, 4C illustrate a simplified parallel architecture digital filter according to the invention;
FIG. 5 illustrates means for separating the even and odd samples;
FIG. 6 is a time diagram showing the sampling times and illustrating the reduction in working frequency related to the parallel architecture;
FIG. 7 shows the filter output means for composing a unique filtered signal;
FIG. 8 illustrates the time history of the output signals and of their interlacing in order to form the unique filtered signal;
FIG. 9 illustrates a particular embodiment of the filter with complementary output flip-flops and multiplexers;
FIG. 10 schematically shows a two channel (I,Q) receiver using a parallel architecture filter according to the invention in each channel;
FIG. 11 shows both signal pairs delivered by the filters of both channels;
FIG. 12 shows the filter architecture in the general case of p channels;
FIG. 13 shows the structure of one of the stages;
FIG. 14 illustrates a particular embodiment of the means for summing the intermediate signals;
FIG. 15 illustrates a particular filter case for p=2 and M=7.



DETAILED DESCRIPTION OF THE PARTICULAR EMBODIMENTS
In the description which follows, it will initially be assumed that the number p of channels is equal to 2.
This will then be generalized to the case when p is any value.
In order to illustrate the principle of the filter of the invention, the very simple case of pseudorandom sequences comprising four chips with only one sample per chip will further be considered as in the discussion of the state of the art. Needless to say that practically, the sequence will comprise many more chips and many samples may be taken during a chip period.
FIGS. 4A and 4B illustrate two imaginary circuits corresponding to the even and odd situations and FIG. 4C illustrates the actual circuit obtained by merging both of these imaginary circuits. In all the figures, the first storing means comprise a first register RP with two flip-flops B0p, B1p, able to store two even samples, Ik−1p, Ikp, respectively and the second storing means comprise a second register Ri with two flip-flops B0i, B1i, able to store two odd samples, Ik−1i, Iki, respectively. These two registers are supplied with even Ip and odd Ii samples, respectively, obtained by means which will be described later in connection with FIG. 5. The illustrated filter also comprises even multipliers M0p, M1p, M2p, M3p and odd multipliers M0i, M1i, M2i, M3i and two even and odd adders ADDp, ADDi.
When, in the four samples considered, the oldest sample is odd (i.e. Ik−1i), the filter must be able to form the following weighted sum Sik:

Ski=C3Ikp+C2Iki+C1Ik−1p+C0Ik−1i  (1)

or:




  
    
      
        
          S
          k
          i
        
        =
        
          
            ∑
            
              j
              =
              0
            
            1
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    3
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
              +
              
                
                  C
                  
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                    -
                    1
                  
                  i
                
              
            
            ]
          
        
      
    
    
      
        (2)
      
    
  




At the next sampling time, the oldest sample becomes even and the weighted sum to be calculated becomes Skp:

Skp=C3Iki+C2Ikp+C1Ik−1i+Ck−1p  (3)

or:




  
    
      
        
          S
          k
          p
        
        =
        
          
            ∑
            
              j
              =
              0
            
            1
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    3
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  1
                
              
              +
              
                
                  C
                  
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
            
            ]
          
        
      
    
    
      
        (4)
      
    
  




Therefore the even and odd registers should be combined to two different sets of multipliers and adders so that the weighted sums Ski, and Skp, may be calculated alternately. FIG. 4A shows the means able to calculate the first weighted sum Ski. The even samples are weighted by coefficients C3 and C1 whereas the odd samples are weighted by coefficients C2 and C0. In FIG. 4B, the even samples are multiplied, this time, by coefficients C2 and C0 whereas the odd samples are multiplied by C3 and C1 and the second weighted sum Skp is obtained.
The complete filter should therefore be as illustrated in FIG. 4C, with four even multipliers M3p, M2p, M1p, M0p connected to the even register Rp and four odd multipliers M3i, M2i, M1i, M0i connected to the odd register Ri. Two adders ADDi, ADDp each connected to four, alternately even and odd multipliers, complete the register. These two adders deliver correlation signals Ski and Skp.
In order to form the two flows of even and odd samples feeding the even and odd registers, respectively, the means illustrated in FIG. 5 may be used. These are two analog/digital converters, even CANp and odd CANi, respectively, receiving a same signal I. These converters are controlled by two signals from a clock H working at the working frequency Ft equal to neFc/2, one being shifted by one half-period with respect to the other, i.e. τ=Tt/2=1/neFc.
The diagram of FIG. 6 shows the sampling times, tep for the even converter CANp and tei for the odd converter CANi. Two series of samples are thereby obtained, with samples spaced out with the working period Tt=2/neFc, both series being shifted by the value Tt/2 relatively to each other. So globally, this is still a sampling at frequency n0Fc, but at the level of the component used in each channel, the working frequency is halved. By comparing with FIG. 3 already described, it is immediately apparent that by resorting to the parallel architecture, the working frequency of the components is divided by 2.
Comparison between FIG. 4C and FIG. 2 also shows that the filter of the invention has the same number of flip-flops than a filter from the prior art, but twice as many multipliers and two adders instead of only one. This increase in the number of components is widely compensated by the increase in data rate, in other words by the reduction in working frequency (factor 2).
Combining the two signals obtained at the output of adders ADDi and ADDp remains to be done if need be. FIG. 7 shows that for this purpose, a duplexer DPX is sufficient which alternately takes one of the sums Ski then the other one Skp in order to obtain a unique filtered signal Sk.
The diagram of FIG. 8 shows the time history of the first weighted sums Ski and of the second weighted sums Skp and of the combined sum Sk. At each half-period Tt/2=1/neFc, the value of the weighted sum is obtained as for a sequential filter which would operate at frequency neFc.
Of course, case N=4 and ne=1 is hardly a realistic one and it is only used for describing the invention. Practically, each register will have N×ne/2 flip-flops and there will be 2×N×ne multipliers and Nne weighting coefficients (N groups of ne). The general expression of the sums to be calculated may be obtained by setting M=N×ne. The weighted sums Skp and Ski are slightly different according to whether M is even or odd:
1) Odd M
The filter calculates the following two quantities:




  
    
      
        
          S
          k
          p
        
        =
        
          
            ∑
            
              j
              =
              0
            
            
              
                (
                
                  M
                  -
                  1
                
                )
              
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    M
                    -
                    1
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  i
                
              
              +
              
                
                  C
                  
                    M
                    -
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
            
            ]
          
        
      
    
    
      
        (5)
      
    
  








  
    
      
        
          S
          k
          i
        
        =
        
          
            ∑
            
              j
              =
              0
            
            
              
                (
                
                  M
                  -
                  1
                
                )
              
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    M
                    -
                    1
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
              +
              
                
                  C
                  
                    M
                    -
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                    -
                    1
                  
                  i
                
              
            
            ]
          
        
      
    
    
      
        (
        6
        )
      
    
  




2) Even M:
The filter calculates the following two quantities:




  
    
      
        
          S
          k
          p
        
        =
        
          
            ∑
            
              j
              =
              0
            
            
              
                (
                
                  M
                  -
                  2
                
                )
              
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    M
                    -
                    1
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  1
                
              
              +
              
                
                  C
                  
                    M
                    -
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
            
            ]
          
        
      
    
    
      
        (7)
      
    
  








  
    
      
        
          S
          k
          1
        
        =
        
          
            ∑
            
              j
              =
              0
            
            
              
                (
                
                  M
                  -
                  2
                
                )
              
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            [
            
              
                
                  C
                  
                    M
                    -
                    1
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  p
                
              
              +
              
                
                  C
                  
                    M
                    -
                    2
                    -
                    
                      2
                      ⁢
                      j
                    
                  
                
                ⁢
                
                  I
                  
                    k
                    -
                    j
                  
                  1
                
              
            
            ]
          
        
      
    
    
      
        (8)
      
    
  




By taking M=4, N=4 and ne=1, the example of FIGS. 4A for Ski and 4B for Skp and relationships (2) and (4) are found again.
In the embodiment of FIG. 4C, the multipliers are represented by means receiving the sample on the one hand and on the other hand the multiplicative coefficient. In the application to spectrum spreading and binary spreading sequences, the filter coefficients are not arbitrary but reflect the sign of the chips forming the pseudorandom sequence. These coefficients are therefore equal to +1 or to −1. These multipliers may also assume a particular form as each sample has only to be simply multiplied by +1 or by −1. Flip-flops and multipliers of a particular type as illustrated in FIG. 9 may then be used. It is seen that each shift register comprises cells Bp or Bi with an input D and a direct output Q, wherein input D is connected to the direct output of the preceding flip-flop and the direct output Q is connected to the input D of the following flip-flop. Each flip-flop further comprises a complemented output !Q. Multiplexers MPXp, MPXi have two inputs respectively connected to the direct Q and complemented !Q outputs of the corresponding flip-flops, and a control input receiving a positive or negative control signal. The output of the multiplexers are connected to adders ADDp and ADDi.
The diagram of FIG. 9 corresponds to the case when the number M is odd. So there is an extra flip-flop in the odd channel as compared with the even channel. The M coefficients are noted as CM−1, CM−2, . . . , C1, C0. If the number of the samples per chip is different from one, these coefficients would be equal by packets of ne.
In FIG. 9, the channels are represented horizontally. Stages including the delay devices may be seen vertically. With two input signals (even and odd), p=2 and taking M=4 for example, there are three stages, plus a last delay device. These considerations will be generalized later on.
The filter which has just been described may advantageously be used in spread spectrum signal receivers and, in particular, in two channel receivers, one for processing the signal in phase with the carrier, and the other for processing the signal in phase quadrature with said carrier. This embodiment correspond to phase difference modulations (with two or more phase states). Thus FIG. 10 schematically shows such a receiver. As illustrated, it comprises:
in channel I, two analog/digital converters CAN(I)p, CAN(I)i controlled at frequency neFc/2 and shifted by τ=1/neFc as described in conjunction with FIG. 5, and a parallel architecture digital filter F(I) as described earlier;
in channel Q, means are similar, i.e. two analog/digital converters CAN(Q)p, CAN(Q)i, a parallel architecture digital filter F(Q) delivering the even S(Q)ki and odd S(Q)ki filtering signals.
In the illustrative alternative embodiment, even S(I)kp and odd S(Q)ki filtering signals delivered by two odd and even adders of the filter are directly used without recombining these signals into a unique signal. This matter is specified in FIG. 11:
in channel I, filter F(I) comprises two adders ADD(I)i, and ADD(I)p delivering weighted sums S(I)ki and S(I)kp;
in channel Q, filter F (Q) comprises two adders ADD(Q)i, and ADD(Q)p delivering weighted sums S(Q)ki and S(Q)kp.
Referring back to FIG. 10, the receiver further comprises two differential demodulation circuits DD(I), DD(Q), wherein the first receives the first weighted (even) sums i.e. S(I)kp and S(Q)kp and the second the second weighted (odd) sums, i.e. S(I)ki and S(Q)ki. Each of these circuits delivers DOT and CROSS signals, i.e. first signals DOTp and CROSSp for the first, and second signals DOTi and CROSSi for the second. As a reminder, a DOT signal is equal to IkIk−1+QkQk−1 and a CROSS signal equal to QkIk−1−IkQk−1 if Ik and Qk refer to signals of rank k from channels I and Q.
The receiver further comprises a circuit Inf/H which receives the various DOT and CROSS signals and delivers first and second information signals Sinfp and Sinfi, a parity signal Sp/i and a clock signal SH determined from the correlation peaks.
Finally the receiver comprises a decision circuit D which receives first and second information signals Sinfp, Sinfi, the parity signal Sp/i with which they may be distinguished from one another and the clock signal SH which enables information to be restored. The latter circuits are similar to those of standard receivers except that they distinguish the peaks of the first and second DOT and CROSS signals, by means of the parity signal Sp/i.
FIGS. 12, 13 and 14 generalize the description which has just been made, to the case of p parallel channels, p having an arbitrary value.
FIG. 12, first of all, illustrates the general structure of the filter with p parallel channels V0, . . . , Vi, . . . , Vp−1 (it will be noted that these channels are represented vertically, for reasons of convenience unlike the case of FIGS. 4A, 4B, 4C), and r+1 stages, wherein number r is the integral portion of the quantity (M+p−2)/p. For example, if M=4 and p=2, r=2, so there are three stages, as was the case for FIG. 9 already described.
The p input signals I0, . . . , Ii, . . . , Ip−1 are applied to the p channels. Each of these signals is delayed by 1/Ft where Ft is the working frequency. The stages deliver intermediate signals noted as R with a lower index i designating the number of the channel (from 0 to p−1) and an upper index j designating the rank of the stage (from 0 to r). Thus, stage Ej delivers p intermediate signals Rij, i ranging from 0 to p−1, according to the relationship:




  
    R
    i
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      
        p
        -
        1
      
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            M
            -
            1
            -
            q
            +
            i
            -
            jp
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          jp
        
      
    
  




The weighting coefficient which may be noted as Cx where x is the index, may be taken as equal to zero if x<0 or if x≧M. In other words, the coefficients range from C0 to CM−1.
The filter further comprises summing means Σ receiving the intermediate signals Rij and delivering p sums defined by:




  
    S
    i
  
  =
  
    
      ∑
      
        j
        =
        0
      
      r
    
    ⁢
    
      
    
    ⁢
    
      R
      i
      j
    
  




these p sums forming p output signals S0, . . . , Si, . . . , Sp−1 for the filter (with only two channels, two output signals are obtained, called in the first part of the description, even and odd signals).
FIG. 13 shows an embodiment of the stage of rank j. In this figure, the p squares marked D are delay circuits and the indexed letters C are coefficients with which these signals are weighted. For simplifying the figure, the multipliers are not specially represented which means that the signal transferred through a connection is weighted by the coefficient marked above this connection.
Thus, it is seen that the p signals delivered by the p delay circuits are first multiplied by coefficients CM−1−jp, . . . , CM−1−(p−1)−jp and the p thereby weighted signals are added in an adder A0j in order to obtain a first intermediate signal R0j:




  
    R
    0
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      
        p
        -
        1
      
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            M
            -
            1
            -
            q
            -
            jp
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          jp
        
      
    
  




The formation of these intermediate signals is thus repeated with coefficients CM−1−jp, . . . , CM+(p−1)−jp and adder A1j, with coefficients CM−1+i−jp, . . . , CM−1+i−(p−1)−jp and adder A1j, etc. . . . , coefficients CM−1−(p−1)−jp, . . . , CM−1−(p−1+(p−1)−jp and adder Ap1j.
Finally, FIG. 14, illustrates an embodiment of a portion of the summing means Σ. For obtaining the output signal Si defined by:




  
    S
    i
  
  =
  
    
      ∑
      
        j
        =
        0
      
      r
    
    ⁢
    
      
    
    ⁢
    
      R
      i
      j
    
  




all the intermediate signals with the same index i are added by means of r adders Ai0, Ai1, . . . , Aij, . . . , Air−1 connected in series and receiving the intermediate signals Ri0, Ri1, . . . , Rij, . . . , Rir respectively.
In order to illustrate the passing to the general case from certain particular cases, the case may be considered when p is equal to 2. The value of the intermediate signals is then:




  
    R
    i
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      1
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            M
            -
            1
            -
            q
            +
            i
            -
            
              2
              ⁢
              j
            
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          
            2
            ⁢
            j
          
        
      
    
  




On the other hand, by taking M=7, the value of the intermediate signals becomes:




  
    R
    1
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      1
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            6
            -
            q
            +
            i
            -
            
              2
              ⁢
              j
            
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          
            2
            ⁢
            j
          
        
      
    
  




or

Rij=(C6+1−2j)I2j+(C5+1−2j)I1+2j 

Number r is equal to the integer portion of (M+p−2)/2 that is 3. So there are 4 stages.
Index i has two values 0 and 1 and the intermediate signals have expressions:

R0j=(C6−2j)I2j+(C5−2j)I1+2j 

R1j=(C7−2j)I2j+(C6−2j)I1+2j 

The values of the output signals are then:




  
    S
    0
  
  =
  
    
      
        ∑
        
          j
          =
          0
        
        3
      
      ⁢
      
        
      
      ⁢
      
        R
        0
        j
      
    
    =
    
      
        R
        0
        0
      
      +
      
        R
        0
        1
      
      +
      
        R
        0
        2
      
      +
      
        R
        0
        3
      
    
  








  
    S
    1
  
  =
  
    
      
        ∑
        
          j
          =
          0
        
        3
      
      ⁢
      
        
      
      ⁢
      
        R
        1
        j
      
    
    =
    
      
        R
        1
        0
      
      +
      
        R
        1
        1
      
      +
      
        R
        1
        2
      
      +
      
        R
        1
        3
      
    
  




So respectively:

S0=C6I0+C5I1+C4I2+C3I3+C2I4+C1I5+C0I6+0.I7 

and

S1=0.I0+C6I1+C5I2+C4I3+C3I4+C2I5+C1I6+C0I7 

FIG. 15 illustrates the corresponding filter with its two channels (q=0, q=1) its four stages (j=0 to j=3) (stage j=4 is forced to zero), its two input signals I0, I1, its two output signals S0, S1 and its seven coefficients C0, C1, . . . , C6 (coefficients with an index equal to 7 and beyond or negative are zero).

## Claims

1. A parallel architecture digital filter receiving p input signals (I0, . . . , Ii, . . . . Ip−1) and delivering p output signals (S0, . . . , S1, . . . , Sp−1) which are the sums of the input signals weighted with M coefficients (C0, C1, . . . , CM−1), this filter comprising p parallel channels (V0, . . . , Vi, . . . , Vp−1) receiving the input signals (I0, . . . , Ii, . . . , Ip−1), characterized in that it comprises r+1 stages (E0, . . . , Ej, . . . , Er), where r is the integer portion of ratio (M+p−2)/2, the stage of rank j delivering p intermediate signals (R0j, . . . R1j, . . . Rp−1) which are the weighted sums of the input signals defined by:




  
    R
    i
    j
  
  =
  
    
      ∑
      
        q
        =
        0
      
      
        p
        -
        1
      
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          C
          
            M
            -
            1
            -
            q
            +
            i
            -
            jp
          
        
        )
      
      ⁢
      
        I
        
          q
          +
          jp
        
      
    
  




the filter further comprising a summing means receiving said intermediate signals (Rij) and delivering p sums defined by:




  
    S
    i
  
  =
  
    
      ∑
      
        j
        =
        0
      
      r
    
    ⁢
    
      
    
    ⁢
    
      R
      i
      j
    
  




these p sums forming p output signals (S0, . . . , Si, . . . Sp−1).

2. The digital filter according to claim 1, wherein the number of channels p is equal to 2, the filter then comprising a first channel with first storing means (Rp) for storing samples of the input signals of even rank (Ikp, Ik−1pi, . . . ) and a second channel with second storing means (Ri) for storing the samples of the input signals of odd rank (Ikp, Ik−1i, . . . ), and further comprising first (M0p, . . . , M1p, . . . ADDp) and second (M0i, . . . , M1i, . . . , ADDi) means, for respectively calculating even (Skp) and odd (Ski) weighted sums.

3. The filter according to claim 2, wherein the first and the second means for calculating the even and odd weighted sums each comprise multipliers (M1p, M3p, . . . , M0i, M2i . . . ) each receiving a respective sample of the input signals (Ik−1p, Ikp, . . . , Ik−1i, Iki . . . ) and a respective weighting coefficient (C1, C3, C0, C2) (C0, C2, C1, C3), and an adder (ADDi, ADDp) connected to the multipliers.

4. The filter according to claim 2, wherein the first and the second storing means comprises a first (Rp) and a second (Ri) shift register, respectively.

5. The filter according to claim 4, wherein each shift register (Rp, Ri) comprises cells (Bp) (Bi) arranged in series, each cell consisting of a flip-flop with an input (D) and a direct output (Q), wherein the input of a flip-flop of rank k is connected to the direct output (Q) of the flip-flop of rank k-I and the direct output (Q) of the flip-flop of rank k is connected to the input of the flip-flop of rank k+1, each flip-flop further comprising a complemented output (!Q), each of the multipliers being a multiplexers (MPXp) (MPXi) with two inputs connected to the direct (Q) and complemented (!Q) outputs of the flip-flops, respectively, each multiplexer further comprising a control input receiving a positive or negative control signal (C0, C1, . . . , Cm−1) and an output, which is connected to a one of the two inputs according to the sign of the control signal.

6. A receiver for direct sequence spread spectrum signals comprising:
at least an analog/digital converter (CAN(I), CAN(Q)) receiving a spread spectrum signal and delivering digital samples of this signal,
at least a digital filter (F(I), F(Q)) with coefficients (Cj) adapted to a spread spectrum sequence, this filter receiving the digital samples delivered by the analog/digital converter and delivering a filtered signal,
means (DD, Inf/H, D) for processing the filtered signal to restore transmitted data (d), this receiver being characterized in that the digital filter (F(I), F(Q)) is a parallel architecture digital filter according to claim 1.

7. The receiver according to claim 6, comprising first and second channels in parallel, the first (I) for processing a signal in phase with a carrier and the second (Q) for processing a signal in phase quadrature with said carrier, each channel comprising a respective parallel architecture digital filter (F(I), F(Q)) with, for the first channel (I), notably, first and second adders (ADD(I)p, ADD(I)i) delivering first and second weighted sums (S(I)kp, S(I)ki) and, for the second channel (Q), notably, first and second adders (ADD(Q)p, ADD(Q)i) delivering first and second weighted sums (S(Q)kp, S(Q)ki).

8. The receiver according to claim 7, wherein the first channel (I) comprises a first differential demodulation circuit (DD(I)) and the second channel (Q) comprises a second differential demodulation circuit (DD(Q)), the first differential demodulation circuit (DD(I)) receiving the first weighted sums (S(I)kp, S(Q)kp) delivered by the respective parallel architecture digital filters (F(I), F(Q)) of the first and second channels (I), (Q), and delivering a first DOT and a first CROSS signal (DOTp, CROSSp), the second differential demodulation circuit (DD(Q)) receiving the second weighted sums (S(I)ki) and (S(Q)ki) delivered by the respective parallel architecture digital filters (F(I), F(Q)) of the first and second channels (I, Q) and delivering a second DOT and a second CROSS signal (DOTi, CROSSi).

9. The receiver according to claim 8, comprising a clock and an information circuit (Inf/H) receiving each of the first and second DOT and CROSS signals (DOTp, CROSSp), (DOTi, CROSSi) delivered by the first and second differential demodulation circuits (DD(I), DD(Q)) and delivering even and odd information signals (Sinfp, Sinfi), a clock signal (SH) and a parity signal (Sp/i).

10. A receiver for direct sequence spread spectrum signals comprising:
at least an analog/digital converter (CAN(I), CAN(Q)) receiving a spread spectrum signal and delivering digital samples of this signal,
at least a digital filter (F(I), F(Q)) with coefficients (Cj) adapted to the spread spectrum sequence, this filter receiving the samples delivered by the digital/analog converter and delivering a filtered signal,
means (DD, Inf/H, D) for processing the filtered signal able to restore the transmitted data (d), this receiver being characterized in that the digital filter (F(I), F(Q)) is a parallel architecture digital filter according to claim 5.