Abstract:
In a conventional ROM-based digital filtering methodology, N past samples of M-bit input symbols are used to address a memory containing a desired filtered output signal. This memory must have an address space of 2 M*N . According to the present invention, a desired filtered output signal is defined as a composition of signal terms, each of which is a function of less than M*N bits. Individual ROMs are provided for each of these component terms. Address bits for the ROMs are derived from the N past samples of the M-bit input symbols. The ROM outputs are combined to yield the desired filtered output signal.

Description:
FIELD OF THE INVENTION 
     The present invention relates to ROM-based digital filters, and more particularly relates to a baseband modulation system employing a ROM-based digital filter wherein the memory requirements of the component ROMs are substantially reduced over prior art designs. 
     BACKGROUND AND SUMMARY OF THE INVENTION 
     ROM-based digital filters are well known in the prior art. Reviewing briefly, the ROM in such a filter serves as a table in which the filter output signal corresponding to any combination of the past N input signal samples can be looked up. Each stored output signal is the discrete convolution of one possible combination of the past N input signal samples with the respective coefficients of the desired filter impulse response. By addressing the ROM with data corresponding to the past N input signal samples, the desired output signal corresponding thereto can be obtained. 
     ROM-based digital filters find application in certain quadrature phase modulation systems. Such systems utilize complex data that is typically represented with data &#34;symbols&#34; of two bits each, thereby permitting representation of the four quadrature phase states. Each state can also be represented by the magnitude of its real and imaginary components (I and Q). Due to the precise modulation required in phase modulation systems, digital filters are found to be advantageous. 
     There are several types of quadrature phase modulation systems. In one, the conventional &#34;quadrature phase shift keying&#34; (QPSK) system, each data symbol corresponds to a fixed phase point on the I-Q plane. Symbol (0,0) may correspond to a phase state of 0°, symbol (1,0) may correspond to a phase state of 90°, etc. 
     In QPSK there are 4 potential phase states on the I-Q diagram. In an I-Q reference plane in which the phase states are positioned on the axes (as shown by the solid axes in FIG. 1), the I magnitude can assume one of three values, -1, 0 or 1, in the four phase states. So too with the Q magnitude. If the coordinate axes are rotated 45°, so that none of the phase states falls on the axes (as shown by the dashed axes in FIG. 1), the I and Q magnitudes are constrained to just two values, 0.707 or 0.707, in the four phase states. 
     In a second type of quadrature phase modulation system, termed &#34;differential quadrature phase shift keying&#34; (DQPSK), a data symbol does not represent a fixed phase state, but rather represents a fixed increment of phase rotation from the signal&#39;s prior phase state. For example, symbol (0,0) may correspond to a phase increment of 0° from the last phase state, symbol (0,1) may correspond to a phase increment of 90° from the last phase state, etc. Like QPSK, the resultant I and Q magnitudes in DQPSK can be represented by a minimum of two values, depending on orientation of the I-Q plane. 
     In a third type of quadrature phase modulation system, termed &#34;π/4 differential quadrature phase shift keying&#34; (π/4 DQPSK), the output signal phase is incremented from the prior signal phase in accordance with the symbol data, just like DQPSK, and is further incremented by 45° (π/4) each successive symbol. This results in improved spectral quality in certain applications. The following table lists the phase shift resulting from each possible input symbol for the two modulation formats: 
     
                       TABLE I______________________________________SYMBOL      DQPSK Δφ                  π/4 DQPSK Δφ______________________________________00           0°  (0° + 45°) = 45°01           90°                   (90° + 45°) = 135°10          270°                  (270° + 45°) = 315°11          180°                  (180° + 45°) = 225°______________________________________ 
    
     π/4 DQPSK modulation is best understood with reference to an example illustrating its use with an arbitrary data sequence. As can be seen from the following, another way of interpreting the π/4 DQPSK sequence is as the DQPSK sequence advanced by an offset phase, in which the offset phase advances 45° (π/4 radians) during each successive symbol. In this example, the initial phase is 45°: 
     
                       TABLE II______________________________________Data:     00     01     10   11   01   00   10   11______________________________________φ for DQPSK:     45°            135°                    45°                        225°                             315°                                  315°                                       225°                                            45°offset phase:     45°             90°                   135°                        180°                             225°                                  270°                                       315°                                             0°φ for π/4DQPSK:    90°            225°                   180°                         45°                             180°                                  225°                                       180°                                            45°______________________________________ 
    
     In π/4 DQPSK, it will be recognized that there are 8 potential phase states. In an I-Q reference plane in which alternating phase states are positioned on the axes (as shown by the solid axes in FIG. 2), the I magnitude can assume one of five values in the eight phase states. So can the Q magnitude. If the coordinate axes are rotated 22.5°, so that none of the phase states falls on the axes (as shown by the dashed axes in FIG. 2), the I and Q magnitudes are constrained to just four values in the eight phase states. 
     FIG. 3A shows a π/4 DQPSK modulation system 10 using conventional ROM-based filtering methodology. In the illustrated system, the pair of bits for each symbol are split from an input serial data stream a k  by a serial to parallel converter 12. The first bit of each pair is provided on an output line A k . The second bit of each pair is provided on an output line B k . That is: ##EQU1## These two binary data streams are provided to a differential encoder 14. The differential encoder 14 makes the necessary phase rotations needed to translate the A k  and B k  input data to the current phase state (i.e. incremented from the prior phase state in accordance with the current data symbol), and produces two binary data streams X k  and Y k . This function is accomplished by Boolean logic that implements the following functions: 
     
         X.sub.k =(A.sub.k ⊕B.sub.k)·(A.sub.k ⊕X.sub.k-1)+(A.sub.k ⊕B.sub.k)·(B.sub.k ⊕Y.sub.k-1)           (1) 
    
     
         Y.sub.k =(A.sub.k ⊕B.sub.k)·(B.sub.k ⊕Y.sub.k-1)+(A.sub.k ⊕B.sub.k)·(A.sub.k ⊕X.sub.k-1)           (2) 
    
     where ⊕ represents an exclusive OR function, + represents an OR function, · represents an AND function, and expressions X k-1  and Y k-1  indicate the previous outputs from the encoder 14. Again, outputs X k  and Y k  uniquely designate absolute, rather than relative phase states. 
     The X k  and Y k  binary data from the differential encoder are converted into I and Q magnitudes (termed I k  and Q k  herein) by the block 16 labelled &#34;transfer to the unit circle.&#34; The I k  and Q k  values are filtered with ROM-based digital baseband filters 18, 20. 
     The foregoing will be made clearer by the following example, in which the initial values of X k-1  and Y k-1  equal one: 
     
                                           TABLE III__________________________________________________________________________a.sub.k :  00  01   10  11   01   00   10   11A.sub.k :  0   0    1   1    0    0    1    1B.sub.k :  0   1    0   1    1    0    0    1A.sub.k ⊕ B.sub.k :  0   1    1   0    1    0    1    0A.sub.k ⊕ B.sub.k :  1   0    0   1    0    1    0    1A.sub.k ⊕ .sup.-- X.sub.k-1 :  0   0    0   1    1    0    1    0B.sub.k ⊕ .sup.-- Y.sub.k-1 :  0   1    0   1    0    1    1    0X.sub.k :  1   0    1   0    1    1    0    1Y.sub.k :  1   1    1   0    0    0    0    1C.sub.k :  1/√2      -1/√2           1/√2               -1/√2                     1/√2                          1/√2                              -1/√2                                   1/√2D.sub.k :  1/√2       1/√2           1/√2               -1/√2                    -1/√2                         -1/√2                              -1/√2                                   1/√2Δφ  0°      90°           270°               180°                    90°                         0°                              270°                                   180°__________________________________________________________________________ 
    
     The &#34;transfer to unit circle&#34; block 16 in FIG. 3A is conceptual in nature. This function is actually implemented by the data stored in the ROM-based filters 18, 20. The actual implementation of this part of the circuitry is shown in FIG. 3B. The filter ROMs 18, 20 are addressed by shift registers 22, 24 which buffer the X k  and Y k  binary data stream from the differential encoder. The N-bit words so produced (here N=8) address locations in the ROMs in which the desired filtered I and Q signals corresponding to the past N symbol samples are stored. (In addition to the N-bit address words from each of shift registers 22, 24, the address lines for each ROM are also driven with an M-bit subinterval counter (here M=4) that permits outputting of 2 M  (16) subinterval states between the discrete input samples.) 
     It will be recognized that in this implementation, each ROM is driven with 2N+M address bits, requiring an address space of 2 2N+M  words This number becomes unwieldy in some applications. In the illustrated system 10, for example, each of ROMs 26, 28 must have an address space of 2 20  for each channel. With currently available 16 address bit-ROMs, 16 ROMs are required for each channel, or a total of 32 for the illustrated system. 
     In accordance with the present invention, these memory requirements are reduced by defining each desired filtered output signal as the sum of two or more component terms. Each of these terms is uniquely defined by significantly less than the number of bits required by a conventional implementation (i.e. 2N+M), and thus can be stored and looked up in smaller memories. The outputs from these smaller memories can then be summed to yield the desired output signal. 
     In the illustrated application of the invention to a π/4 DQPSK modulator, the decomposition of the desired output signal into component terms is effected by exploitation of symmetries inherent in the modulation. These symmetries permit both the I and Q outputs to be defined as functions of a &#34;sine&#34; term and a &#34;cosine&#34; term. The I output is the difference between a sine term and a cosine term; the Q output is a sum. 
     The foregoing and additional features and advantages of the present invention will be more readily apparent from the following description thereof, which proceeds with reference to the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is an I-Q diagram of the phase states of QPSK and DQPSK modulation. 
     FIG. 2 is an I-Q diagram of the phase states of π/4 DQPSK modulation. 
     FIGS. 3A and 3B are block diagrams of a quadrature phase modulation system using conventional ROM addressing techniques. 
     FIGS. 4A and 4B are block diagrams of a π/4 DQPSK modulator according to the illustrated embodiment of the present invention. 
     FIG. 5 illustrates the frequency response for a Nyquist filter for several values of α. 
     FIG. 6 illustrates the impulse response for a Nyquist filter with an α of 0.35. 
     FIG. 7 is a plot of the impulse response of the root Nyquist filter used in the illustrated embodiment of the present invention. 
     FIG. 8 is a plot comparing the impulse responses of a Nyquist filter with a root Nyquist filter. 
     FIG. 9 is a diagram illustrating a portion of the timing nomenclature with which the present invention is described. 
    
    
     DETAILED DESCRIPTION 
     It is desirable from a filtering point of view to be able to represent I and Q magnitudes in a phase modulation system with a minimum number of states. If π/4 DQPSK could be represented in terms of regular DQPSK, the I and Q magnitudes could be constrained to just two values instead of the four otherwise required. This would result in a significant simplification of the filtering task. The following discussion explains how this simplification is realized. 
     Referring first to FIG. 4A, a baseband modulation system 30 according to one embodiment of the present invention is identical to system 10 of FIG. 3A in its early stages, namely the serial to parallel, differential encoder, and &#34;transfer to the unit circle&#34; stages, 12, 14 and 16, respectively. (Again, the functionality of this latter stage is actually implemented as part of the data stored in the filter ROMs.) Up to this point, the modulation is strictly looking like DQPSK, i.e. it has only four possible states. 
     The phase rotation block 32 in FIG. 4A effects the transformation into π/4 DQPSK, as explained below. The functionality of this block is again implemented as part of the data stored in the filter ROMs. 
     The filters 34 and 36 perform a desired root Nyquist filtering operation on the input data and produce the desired filtered, phase-rotated I and Q outputs. 
     The digital output signals from the filters 34, 36 are applied to highly linear digital-to-analog converters 38, 40 to produce analog signals suitable for modulation of an RF carrier signal. 
     Blocks 32-36 are conceptual in nature and are presented in FIG. 4A only for purposes of expository convenience. In actual implementation, the functionality of these blocks is performed by the circuitry represented by FIG. 4B, namely shift registers 44, 46, &#34;cosine&#34; ROMs 48, 50, &#34;sine&#34; ROMs 52, 54, and adders 56, 58. The coordinate transformation that permits the π/4 DQPSK to be represented as DQPSK is effected as part of the data stored in ROMs 48-54. The derivation of this data is explained in the following discussion. 
     Mathematically, the conversions between the quadrature components (C k , D k ) of a DQPSK signal to their counterparts in a corresponding π/4 DQPSK signal (as performed by conceptual block 32 of FIG. 4A) is a coordinate transformation that can be represented by the following two equations: 
     
         I.sub.k =C.sub.k cos(kπ/4)-D.sub.k sin(kπ/4)         (3) 
    
     
         Q.sub.k =C.sub.k sin(kπ/4)+D.sub.k cos(kπ/4)         (4) 
    
     where: 
     C k  is the I component of the kth symbol of the DQPSK modulation; 
     D k  is the Q component of the kth symbol of the DQPSK modulation; 
     I k  is the I component of the kth symbol of the corresponding π/4 DQPSK modulation; and 
     Q k  is the Q component of the kth symbol of the corresponding π/4 DQPSK modulation. 
     These equations reflect a rotation from DQPSK of π/4 radians per symbol. (Note that kπ/4 repeats every 8 symbols, indicating a modulo 8 behavior of the transformation.) 
     With this information as background, the contents of the ROMs 48-54 can now be considered. 
     To generate the desired output data, the input data must be convolved with the impulse response of the desired filter. A standard equation for this process is as follows: ##EQU2## where X(k) is the discrete data input stream, h(n-k) is the impulse response of the desired filter, and Y(n) is the output at time n. 
     The illustrated π/4 DQPSK modulation format uses a Nyquist type of bandpass filter to smooth the phase transition from state to state. Such a filter also provides good rejection of inter-symbol interference (ISI). 
     ISI is an interference mechanism wherein adjacent symbols interfere with each other by the time the data is received. This makes data detection more difficult. The theoretical minimum system bandwidth needed to detect 1/T symbols per second without ISI can be shown to be 1/2T hertz. For this case, a rectangular filter shape in the frequency domain is required. Of course, a perfectly rectangular filter is difficult to approximate, so some compromise needs to be made. In the illustrated example, the bandwidth is increased to reduce the complexity of the filter realization. The modification to the filter is defined by a term called the filter roll-off factor. Let W 0  represent the theoretical minimum bandwidth 1/2T. Let W represent the actual bandwidth of the filter. The rolloff factor, α, is defined to be: 
     
         α=(W-W.sub.o)/W.sub.o                                (6) 
    
     The roll-off factor represents the excess bandwidth divided by the filter -6db bandwidth. FIG. 5 illustrates the frequency response of a Nyquist filter for several values of α. Note how the amplitude response is -6db down at the theoretical minimum bandwidth point, regardless of the value of α chosen. 
     FIG. 6 shows the impulse response of a Nyquist filter with an α of 0.35. By examining this response, one can see that the impulse response crosses through nulls at multiples of the symbol interval, T. The ISI is eliminated when this filter is used. 
     With this background on Nyquist filters, the root Nyquist filter that is used in the preferred embodiment is next examined. To achieve optimum signal to noise ratio, a matched filter situation is used. That is, a similar filter is used in both the modulator and demodulator. To accomplish this, the Nyquist filter frequency response is modified by taking the square root of this function. This yields a root Nyquist filter. The α of the filter is the same as the original Nyquist filter. FIG. 7 shows the impulse response of a root Nyquist filter with an α of 0.35. Note that, in contrast to the Nyquist filter of FIG. 8, the impulse response of the root filter does not have nulls at multiples of the symbol interval. (FIG. 8 compares the Nyquist and root Nyquist impulse responses.) The lack of nulls at multiples of the symbol interval in the root Nyquist impulse response indicates that there will be ISI for this filter characteristic. The ISI problem is rectified in that the demodulator has another root Nyquist filter. When the modulated data is filtered by the demodulator filter, the received data has no ISI. This is the filter arrangement chosen for the US cellular communications system. 
     In the following discussion, g() represents the root Nyquist filter impulse response (FIG. 7), i.e. the π/4 DQPSK filter&#39;s impulse response. Note that for convenience, the impulse response has been shifted in time from 0 to the filter length. This choice prevents having any negative time representations for the filter impulse response in the descriptions that follow. 
     With the above as background, it can be seen that: ##EQU3## where T is the symbol interval, and k is the kth element of I k  or Q k . 
     Substituting in the expressions for the coordinate transformation from DQPSK to π/4 DQPSK yields: ##EQU4## (The first summation of I(t) is referred to as a &#34;cosine&#34; term and the second term is referred to as a &#34;sine&#34; term. Likewise, the first term of Q(t) is referred to as a &#34;sine&#34; term and the second as a &#34;cosine&#34; term.) 
     Considering the first term of I(t), it can be seen that: ##EQU5## where L is the length of the filter impulse response in symbols. 
     When these limits of summation are referred to the impulse response, it can be seen that g(t-kT) has limits of g((L-1)T to g(0). These limits agree with FIG. 7, which has the impulse response defined from 0 to L. 
     If t=t 1  +nT, where 0&lt;t 1  &lt;T (as represented by FIG. 9), it can be seen that the resolution of t is determined by the desired number of subintervals that are computed. In the illustrated embodiment, there are 16 subintervals per symbol. The benefit of computing subinterval points is that the phase transition between symbol intervals may be smoothed and spectral energy controlled. 16 subintervals proves to allow a very smooth transition between phase states. 
     With the foregoing definition for t 1 , it can be seen that the first term of I(t) can be stated as follows: ##EQU6## Again, evaluating g(t 1  +(n-k)*T) with these limits for k yields limits of g(T 1  +(L-1)*T) and g(t 1 ). These limits still agree with the impulse response definition of FIG. 7. 
     The expression can be further simplified by changing variables as follows: 
     
         let j=n, N=L, and I=-k+j; then k=j-i 
    
     In this case, the limit k=j-l+1 becomes i=N-1, and the limit k=j becomes i=0. 
     The limits of summation are now in the same terms as the impulse response length. The first term of I(t) can thus be written as: ##EQU7## From this expression, the information necessary to compute I 1  (t 1 ) is clear: 
     (1) t 1  is the time from the most recent data symbol occurring at t=jt. If 16 subintervals are used, 4 bits will be required to represent t 1  for the look-up ROM address; 
     (2) C j  is the most recent input bit. C j-N+1  is the input bit furthest in the past. There are N V  values of C j-i  used in the computation. 
     (3) j is the input bit counter. Since cos[(j-i)π/4] has a period of 8, input bits may be counted modulo 8. 
     This implies 3 address bits will be required for this part of the ROM address. 
     The number of address bits for the ROM look-up table can now be determined. In the illustrated embodiment, there are 16 subintervals (requiring 4m bits), modulo 8 for the input bit counter (3 bits N) and a filter length of 8. Therefore, a total of 8+4+3=15 bits is needed to address the resultant I 1  (t) from the ROM look-up table. This contrasts with the 20 address bits required for the conventional approach. 
     With the foregoing information, the final design equations for the look-up ROMs can be determined: ##EQU8## where t 1  =t-nT, nT&lt;t&lt;(n+1)T 
     In FIG. 4B, the cosine ROMs contain the cosine summation terms, i.e. the first term listed in the I expression, and the second term listed in the Q expression. Notice that the only difference between these two parts of these equations is the input data (i.e. C k  vs. D k ). If a ROM is constructed which contains all output values for all combination of input data bits, one ROM can be used for both the I and Q equation. The same logic applies for the sine ROM as well. The addition and subtraction shown in FIG. 4B correspond to the I and Q equations shown above. 
     The lowest four order bits of the sine/cosine ROM addresses represent the 16 subintervals per symbol. The next three bits are used to address the modulo 8 bit counter. These seven bits are common to all four ROMs. The buffered X k  binary data stream from shift register 44 provides the eight most significant address bits for cosine ROM 48 and sine ROM 54. The buffered Y k  binary data stream from shift register 46 provides the eight most significant address bits for sine ROM 52 and cosine ROM 50. The Q output is then formed by a straight addition of the outputs of ROMs 50 and 54 by adder 56. The I output is formed by subtraction of the output of ROM 52 from the output of ROM 48 by adder 58. The results of these addition and subtraction operations yield two parallel data streams that are provided to digital-to-analog converters 38, 40 to yield the desired output signals. 
     Having described and illustrated the principles of our invention with reference to a preferred embodiment thereof, it will be apparent the invention can be modified in arrangement, detail and application without departing from such principles. Accordingly, we claim as our invention all such modifications as may come within the scope and spirit of the following claims and equivalents thereto.