Modulator, especially for digital cellular telephone system

Abstract: Modulator especially for digital cellular telephone systems, characterised in that it comprises a programmable peripheral processor (25) carrying out, with the same circuits, the modulation function and the channel coder/decoder tasks.

Description: The present invention relates to the digital cellular telephone systems using the time division multiple access (TDMA) method, for example the GSM method. In these systems, three main functions must be carried out for processing the base band. 1 - Speech coding/decoding; 2 - Channel coding/decoding (CRC/parity coding, convolution coding, interlacing, deinterlacing, Viterbi decoding, parity check/CRC); 3 - Modulator/demodulator, modem. Currently, these functions are implemented in three separate functional units. By reason of the time division multiple access method (TDMA), the operating time ratio of some of these units is very low. For example, the modulator which is an element whose task is indivisible is implemented with a dedicated operator activated for a constant period of time. In the GSM system, the maximum value of this ratio for the modulator is 12.5%, but overall it is less than 0.2%. In current implementations, the circuitry resources necessary for this operator cannot be re-used to carry out other tasks during the periods of inactivity. This digital modulator operator is usually implemented within linear parts, close to converters and requires a mixed digital/linear technology which is a penalty on the digital part. It is known from the publication FUNKSCHAU, volume 62, no 5, February 23, 1990, "Kompakter Chipsatz für Preiswerte Funktelefone" DRUDE, pp.60-65, a modulator especially for digital cellular telephone system wherein a microcontroller is airectly connectea to a protocol processor, the microcontroller being serviced by separate EPROM and RAM memories. The invention proposes to remedy these drawbacks by creating a modulator/demodulator whose construction does not compromise the operation of digital circuits with which it might be associated. The subject is therefore a modulator especially for digital cellular telephone systems, comprising a programmable peripheral processor having respective circuits for carrying out a modulation function and channel coder/decoder tasks, a memory interposed between said peripheral processor and a main processor, and an address bus and a data bus interconnecting said memory between said peripheral processor and the main processor, characterized in that the circuits of said peripheral processor for carrying out the modulation function and the channel coder/decoder tasks are the same circuits, and the memory is a partitioned RAM/ROM memory containing local variables and symbols which are to be modulated, the ROM part of said partitioned memory including a table for storing the basic configurations for the modulator. Such an arrangement allows optimum utilisation of the circuit resources and, by this fact, improves the efficiency of the silicon featuring in the construction of the corresponding integrated circuits. The invention will be better understood with the aid of the description which will follow, given solely by way of example and given by referring to the attached drawings, in which: Fig. 1 represents the block diagram of a terminal of the time division multiple access type; Fig. 2 represents the block diagram of the known digital modulator; Fig. 3 represents the block diagram of the processor associated, according to the invention, with the modulator of Fig. 2; Fig. 4 is a block diagram of an embodiment of an N-state convolution circuit; Fig. 5 is a diagram of the general structure of the filter featuring in the construction of the modulator according to the invention; Fig. 6 is a detailed diagram of a GMSK modulator; Fig. 7 is a diagram representing a trellis beginning with a phase reset to zero; Fig. 8 represents a GMSK phase constellation; and Fig. 9 represents a GMSK phase trellis. The terminal of the time division multiple access type represented in Fig. 1 comprises a vocoder 1 receiving an audio signal on one input 2 and delivering an audio signal on an output signal on an output 3. The vocoder 1 is, for example, of the RPE - LTP 13 KBT/S of the GSM type. It is linked to a coder-decoder 4 one output of which is linked to a modulator 5 delivering, at its outputs, I and Q signals to a linear circuit and one input of which is linked to a demodulator 6 whose inputs receive the I and Q signals originating from the linear circuit. The coder-decoder 4 is, for example, a bit manipulation coder with convolution coding and Viterbi decoding. The modulator 5 is based on a ROM while the demodulator 6 comprises a complex-type short-word processor. The circuits 1, 4 and 6 are connected to a control circuit 7 which also comprises a communication output with an external application. The modulator 5 represented in more detail in Fig. 2 mainly comprises a three-stage shift register 8 whose input receives binary data from the coder-decoder 4 (Fig. 1) and which comprises an output linked to a phase  state counter 9. A modulo 4 counter 10, receives input signals from the sampling clock. The shift register 8 delivers 3-bit signals on a second output. The  state counter 9 delivers 2-bit signals at its output. The modulo 4 counter 10 delivers 2-bit signals at its output. The 3- and 2- bit outputs, of the three abovementioned circuits are connected to corresponding inputs of a 7-bit decoder 11. The output of the decoder 11 is linked to a coded wave form memory 12 which is subdivided into a I-coded 128 word ROM memory 13 and a Q-coded 128 word ROM memory 14. The outputs of the ROM memories 13 and 14 are connected to a bus control circuit 15 whose outputs are, in their turn, linked to digital-analog converters 16 and 17 for the Q and I signals controlled by the sampling clock signals applied to the modulo 4 counter 10. The analog output of the Q signals from the converter 16 is linked to the input of a linear phase filter 18 while the output of the converter 17 is connected to the input of another linear phase filter 19. The outputs of the filters 18 and 19 are connected respectively to multipliers 20 and 21 which moreover receive signals sin[ωot] and cos[ωot] and which deliver Q and I signals at their outputs. The peripheral processor of the modulator according to the invention is represented diagrammatically in Fig. 3. It comprises a peripheral processor 25 proper connected to a program ROM memory 26 via an address bus 27 and a program bus 28. The program stored in the memory 26 contains the modulation code and the coder code (channel decoder). The processor 25 is linked to a main processor 29, for example of the DSP or microcontroller type, by means of a partitioned memory 30 which is a two-port RAM/ROM memory. It is furthermore linked to the main processor 29 via a test and adjustment line 31 and via interrupt lines 32. The processor 25 is advantageously a protocol processor of the type described in the French Patent No. 91 07 985 filed on 27 June 1991 by the Applicant Company and entitled "Protocol processor intended for executing a set of instructions in a reduced number of operations". The link between the processors 25 and 29, by means of the memory 30 is produced by means of respective address 33, 34 and data 35, 36 buses. The partitioned memory 30 contains local variables as well as the symbols which have to be modulated. It also contains, in its ROM part, a table for storing the basic configurations for the modulator. The peripheral processor 25 is linked to a circuit block 37 which contains a register for the output of the modulated samples (I, Q) which are counted by the peripheral processor. The samples are delivered at a rate which is fixed by the interrupt line 32. The architecture of the assembly has been optimised in order to as far as possible reduce the interrupt latency (2 cycles) and the system time (2 cycles) for employing the modulator. Table 1 which follows represents the modulation process in pseudocode. Table 2 represents a certain part of the corresponding software code in the peripheral processor. In Fig. 4 is represented a variant of the N-state convolution circuit. It employs the implementation of N convolutions cyclically. It comprises an N-level register stack 40 intended to stock N polynomials G i . To the register stack 40 is added a stack pointer 41 which controls the position in the coding cycle and the transfer of the results, G i or I. The N results G i or I are transferred sequentially into an N-bit output register 42. The output of the stack 40 is linked to the output register by means of D n × d n and XOR stages 43, 44. Finally, a D register 45 is linked to the D n × d n circuit 43. One input of the register 45 is a data input and its other input receives the signals R g C k . GMSK modulation is a constant-envelope modulation of the MSK type whose phase transitions are smoothed by a gaussian filter. Let α be the sequence to be transmitted. α = ...α n-2 , α n-1 , α n , α n+1 , α n+2 , .... The signal sent is of the form: s(t,α) = 2E /T cos[2πfot + (t,α) + o] 2E/T represents the energy per symbol sent. The message is contained in the phase information  (t, α). o is an arbitrary phase. In the case of GSM, the αi all have the same probability of appearance and are described by a two-level alphabet. As for the filtering, by definition of the modulation principle, the sequence a passes into a premodulation filter. Let g (t) be the pulse response of the filter. The maximum phase excursion in  (t, α) is normalised by Δ max = (M-1) hπ M=2 (binary alphabet +1,-1) h = modulation index then:  (t,α) = 2 πh Σ +∞ αiq ( t - iT) with Referring to the GSM specifications, it is seen that g(t) is, by definition, a Gauss function whose typical deviation is normalised by the product BT, B being the width of the equivalent filter (at 3db), T, the duration of a symbol. Noting that g(t) is limited in time, g(t) = 0 if t < 0 and constant for t > LT with L = limit length of number of correlated symbols, then : The appearance of the symbols at nT, (t,α) is defined by: Θ (t, α) * correlated state vector which provides transmission of (n-1) T at nT which is as smooth as possible. There will be 2 L-1 possible correlated states. Θn * a phase state Θn The signal to be sent for the modulator will now be examined. This signal may be expressed in the form: s(t, α ) = 2E/T {I (t) cos (2πfot) - Q(t) sin (2πfot) I (t) = cos [ (t, α )] Q(t) = sin [ (t, α )] with  (t, α ) = Θ(t, α ) + Θ n I(t) = cos [Θ(t, α )].cos Θ n - sin [Θ(t, α )].sin Θ n Q(t) = cos [Θ(t, α )].sin Θ n + sin [Θ(t, α )].cos Θ n q(t) is the pulse response of the modulator filter; this response will be modelled by L coefficients, Θ(t, α ) is thus defined by: the sequence of the L αi's the L coefficients of the filter The equivalent structure of this filter is represented in Fig. 5. This filter comprises a column memory 46 containing the coefficients Q1 to QL of the filter, and a row memory 47 containing the data sequence αn ...αn-L+1, linked by line 48 and column 49 conductors. The data and the coefficients are combined by multiplication in multipliers 50 placed at the intersections of the conductors 48, 49 and summed in a summer of 51 which delivers a signal Θ(t, α) at its output. Noting that αi = (+1, -1), the multiplications are replaced either by transfers, or by inversions. According to one variant, it is possible to have 2 L different sequences weighted by the set of coefficients Q i . The 2 L weighted sequences may be acquired in a ROM memory (not represented) whose address vector is equivalent to the αi vector. In order to carry out sampling, it is necessary to generate the signals cos[Θ(t,α)] and sin[Θ(t,α)]. The simplest way is to memorise the cos and sin signals in a table. It is known that 8 to 16 samples would be necessary per symbol, each sample being coded over 8 bits. The GMSK modulator is shown in Fig. 6. It comprises mainly an input shift register 55 for the data ai which is controlled by a data clock signal Ck. The output of the register 55 is connected to an input of a ROM memory 56 for storage of the values of cos[Θ(t, α )] and to an input of a ROM memory 57 for storing values of sin [(t, α )] each moreover having a sampling input connected to the output of a sampling count circuit 58 controlled by a sampling clock signal 59. The output of the ROM memory 56 is applied to one input of a first multiplier 60 another input of which is linked to a generator circuit 61 for a sinΘn {+1,0,-1} signal controlled by the input data of the circuit by means of an up-down counter 62. The output of the ROM memory 56 is applied to one input of a second multiplier 63 another input of which is connected to the output of a generator circuit 64 for a cosΘn {+1,0,-1} signal itself also controlled by the up-down counter 62. The output of the memory 57 is connected to inputs of a third and of a fourth multiplier 65, 66 whose other inputs are connected respectively to the generator circuits 61, 64 for the sinn and cosn signals. The cos.sin n signal appearing at the output of the first multiplier 60 is applied to one input of a first adder 67 another input of which receives the sinΘ.cosΘn output signal from the fourth multiplier 66. The cosΘ.cosΘn output signal from the second multiplier 63 is applied to one input of a second adder 68 another input of which receives the sinΘ.sinΘn output from the third multiplier 65. The outputs of the first and second adders 67 and 68 are connected respectively to the inputs of digital-analog converters 69, 70 controlled by a clock signal applied to their corresponding clock inputs 71, 72. The operation of the modulator described with reference to Fig. 6 is as follows. The sequence α is stored in the shift register 55 whose outputs are decoded in order to generate the 2 L page addresses corresponding to the 2 L different possible sequences. L represents the limit length of the code and the number of bits stored in the register 55. Each symbol is coded by n samples coded over 8 bits. The total number of words is (2 L x η) × 2. The ROM memories 56, 57 for cos[(t,α)] and sin[Θ(t,α)] contain the 2 L × η possible values of cos[Θ(t,α)] and sin[Θ(t,α)], (t,α) representing the correlative part of the phase. The phase states are coded by the two-bit counter 62. A binary symbol "1" corresponds to +1 and "0" to -1. The counter 62 is incremented or decremented by the data clock signal. It is incremented if αi=1 and decremented if αi=0. The four states possible at the output of the counter 62 correspond to nπ/2(2n). The sinn and cosn tables contain only the values {+1,0,-1}. The four multipliers 60,63,65,66, as indicated above, produce the products cos[(t,α)]cosn, cos[(t,α)] sinn, sin[(t,α)] cosn and sin[(t,α)] sinn. The four outputs of the multipliers are added two by two in the adders 67, 68 in order to form the I and Q signals and then converted in order to form the analog I and Q paths. Table III below gives the state of the two-bit up-or/down counter 62. State SinΘn CosΘn 0 0 1 1 +1 0 2 0 -1 3 -1 0 The modulator of Fig. 6, the digital-analog converters excluded, may be broken down into two parts: an operator part comprising the counters 55, 62, 58, the multipliers 60,63,65,66, the adders 67 and 68. an operated or operand part with the tables 56,57,61,64. In the case of the embodiment of Fig. 3, with the processor 25, the operator part is implemented in the peripheral processor, while the operand parts are stored in the partitioned memory 30, the samples of the I and Q signals being stored in the memory 37. Fig. 7 is a graphical representation of a trellis initialised with a phase set to 0. As this figure shows, the binary data are converted by the modulator into a constant-envelope signal whose phase may follow a certain number of different trajectories. The figure shows all the possible trajectories which the phase can follow over the first four data items sent. The initial phase has been set to zero for convenience. From the first data item, the first two trajectories corresponding either to the binary "1" for the straight-line trajectory, or to the "0" for the arched trajectory can be seen. Subsequently, sending of a "1" will tend to augment the phase, while sending of a "0" will tend to reduce it. Fig. 8 represents the constellation of phases obtained with the GMSK modulator of Fig. 6. The modulated signal is assimilated to a rotating vector in the complex plane. The figure shows the different positions of the end of the vector taken in the middle of the data item. Fig. 9 is a diagram representing the phase trellis of the GMSK modulator. This figure represents the "eye" diagram over the phase of the signal sent. Here the phase is counted between -π/2 and 1.5π.

Claims: A modulator especially for digital cellular telephone systems, comprising : a programmable peripheral processor (25) having respective circuits for carrying out a modulation function and channel coder/decoder tasks, a memory interposed between said peripheral processor and a main processor, and an address bus (33,34) and a data bus (35,36) interconnecting said memory between said peripheral processor and the main processor, characterized in that the circuits of said peripheral processor for carrying out the modulation function and the channel coder/decoder tasks are the same circuits, and the memory is a partitioned RAM/ROM memory (30) containing local variables and symbols which are to be modulated, the ROM part of said partitioned memory including a table for storing the basic configurations for the modulator. A modulator as set forth in claim 1, further characterized by a circuit block (37) linked to said peripheral processor, said circuit block including a register for receiving the output of modulated samples (I,Q) counted by said peripheral processor. A modulator as set forth in either of claims 1 or 2, further characterized by respective counters (55,58,62), multipliers (60,63,66) and adders (67,68) implemented in said peripheral processor for carrying out the modulation function, said partitioned RAM/ROM memory including : a first read-only-memory (56) for storing values of cos[(t,α)], a second read-only-memory (57) for storing values of sin[(t,α)], a first generator circuit (61) for producing a sin n (+1,0,-1) signal, and a second generator circuit (64) for producing a cos n (+1,0,-1) signal.

Inventors: CHAUVEL GERARD, CLAVE GAEL, COUVRAT MARC, CHAUVEL, GERARD, CLAVE, GAEL, COUVRAT, MARC, Chauvel, Gérard
Applicants: TEXAS INSTRUMENTS FRANCE, TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1992
Main classification: H04L27
IPC codes: H04L27, H04B7, H04B1