WAVE-FORM GENERATOR

Abstract: A waveform generator incorporated in a radio transmitter of quadrature type for binary continuous phase modulation (CPM). It is previously known to store the waveforms of the two quadrature channels I and Q in two addressable table units, wherein the one unit stores sin Θ and the unit stores cos Θ, where Θ is the phase angle. The table units are addressed by means of a bit history register (BHR) which stores the instantaneous phase, and a quadrant memory which stores the accumulated phase. According to the invention, the two table units are replaced with a single table unit (SCT) which stores curve segments (A-H) solely for one of the waveforms sin Θ or cos Θ. The table unit (SCT) is addressed by means of an address conversion (ADR) between the bit history register/quadrant memory (BHR and QM respectively) and the table unit (SCT). The generator also includes a controllable negation unit (NP) and a latching circuit (LS) upstream of D/A-converters (DA1, DA2) and the modulator circuits (M1, M2, ADD) of the trans­ mitter.

Description: The present invention relates to a waveform generator of the kind set forth in the preamble of Claim 1 and intended for generating those waveforms required by a radio transmitter of the quadrature type in binary continuous phase modulation (CPM). BACKGROUND ART In binary continuous phase modulation, a binary "one" is permitted to correspond to a given positive phase-shift and a corresponding zero to a given negative phase-shift of the transmitted radio signal. The phase-shifts always depart from the phase position of the preceding bit, so that the curve formed by the phase of the transmitted radio signal will be continuous, with no abrupt transitions, as opposed to QPSK, for instance, where the transitions between the various phase positions occur in an abrupt manner. Continuous-phase modulation is essentially a narrow-band frequency-shift keying operation. In principle, a CPM-modulator comprises the building blocks illustrated in Figure 1. The binary data-flow is converted in the converter 1 to an analog NRZ signal and is low-pass filtered through a premodulation filter 2. The signal is then fed into an FM-modulator 3 having a given, fixed modulation index. This constant phase-continuity is contributory in obtaining a transmitted radio signal of narrow spectrum and the memory which the signal obtains as a result of this phase continuity can be utilized for signal detection purposes. The premodulation filter 2 contributes to a further increase in spectrum economy, by the introduction of intentional intersymbol interference (ISI). The filter 2 has a low-pass character. Various compromises can be obtained between transmitted band width and interference immunity, by varying the impulse response of this filter. A Gaussian low-pass filter having a 3dB-band width corresponding to half the bit-frequency is an example of a conventional premodulation filter. It would be very expensive to construct a CPM-modulator of the kind illustrated in Figure 1 with the precise degree of modulation required, for instance, with coherent reception. When transmitting seven ones followed by seven zeros, the signal vector must be found on the original site in the signal space, which requires an exact modulation index. Consequently, it is not realistic to use the principle illustrated in Figure 1 to realize constructions, and very primitive receivers are used instead. Neither is the principle useful for LSI-implementation, because of its analog character. A precise modulation index can be obtained by using a pre-calculated quadrature waveforms stored in table form. When certain limitations are introduced on modulation index (h = 2 K/P where K and P are integers without mutually common factors), it can be shown that the value of the phase of the radio signal during the duration of one data bit can be divided into two independent components, to wit a constant which depends solely on the prehistory and a time variable which depends solely on the bits last transmitted. The component which is dependent on the earlier transmitted bits derives from the fact that each transmitted data symbol leaves a permanent phase contribution of hπ. This contribution is constant throughout the whole of the symbol interval and is called the accumulated phase of the signal or its phase memory. The accumulated phase is, of course, limited to the interval (0,2π) which means that it can only adopt P values. The other component which is dependent solely on the transmitted bit and its nearest neighbour in time derives from the fact that the phase (with intentional intersymbol interference) at a particular point in time does not only depend on the data bit transmitted at that time, but also on the preceding and following symbols. Thus, the number of bits which contribute to the instantaneous phase of the radio signal depend on the duration of the impulse response of the premodulation filter. It is possible to pre-calculate all waveforms capable of being generated by the generator, by using the aforesaid formulae. The table becomes 3-dimensional. Firstly, the table is addressed according to the symbol prehistory (the M latest symbols) and secondly, in accordance with the accumulated phase which has been collected at that moment of time, and thirdly, in accordance with the desired S waveform-samples in the symbol interval. Figure 2 illustrates a known waveform generator for modulation index h = 1/2, published in IEEE COM-26, No. 5, 1978 "Tamed Frequency Modulation" by Jager et al., pages 534 to 542. The shift register BHR stores the M latest data bits, the up-down counter QM is controlled by the last bit in BHR and thus represents the accumulated phase with its output signal. The waveforms for sin Θ and cos Θ are stored in ROM-tables which are addressed an S number of times for each bit interval. The sample counter SR counts repeatedly from O to S-1. D/A-conversion and reconstruction filtering produces the correct analog signals, which are then fed into the quadrature modulator. DISCLOSURE OF THE INVENTION In the case of the aforesaid known waveform generator, a sine and a cosine table recording the various waveforms is addressed by means of an address which comprises the M latest data bits and an address which comprises a value depending on the accumulated phase. It can be established by analysis of the curveforms which occur in the detection eye of the radio signal, that this detection eye contains solely P · 2 M-2 different types of "fundamental-waveforms" (M = the number of symbols stored in the register BHR). The remaining 3P · 2 M-2 waveforms are either the same or the sign-inverse of some curveform among the "fundamental waveforms". According to the present invention, solely these P · 2 M-2 basic waveforms are computed and then stored in one single table memory or table unit, which is thus capable of giving the waveforms for both sin Θ and cos Θ, i.e. for both the I-channel and the Q-channel. The correct waveform can therewith be addressed through a separate addressing unit between an input register and a quadrant memory. The object of the present invention is to provide a waveform generator intended for continuous phase modulation and containing only one single table unit for the waveforms stored. The inventive waveform generator has the characteristic features set forth in the characterizing clause of Claim 1. BRIEF DESCRIPTION OF DRAWINGS The invention will now be described in more detail with reference to the accompanying drawings, in which Figure 1 is a block diagram illustrating a theoretical model of a transmitter for binary continuous phase modulation; Figure 2 is a block diagram illustrating a prior art waveform generator; Figure 3 is a diagram showing the phase variation of a radio signal for given incoming data symbols; Figure 4 is a block diagram illustrating an inventive waveform generator; Figure 5 is a more detailed block diagram of the waveform generator illustrated in Figure 4; Figure 6 is a table of the binary values; and Figure 7 is a time diagram. BEST MODE(S) FOR CARRYING OUT THE INVENTION A brief description of the waveform generator known from the aforesaid literature passage will be given with reference to Figure 2, prior to describing the inventive waveform generator. The known waveform generator includes table units ST and CT for storage of sin Θ and cos, Θ respectively. The table units are of the ROM-type and are addressed by a quadrant memory QM and a bit history register BHR. The output rate from the table units ST and CT is determined by a sample counter SR. Subsequent to digital-analog conversion in the units DA1, DA2 and low-pass filtration in the filters LP1, LP2, the resultant waveform sin Θ and cos Θ respectively is applied to its respective multiplicator M1 and M2 and an addition circuit ADD, so as to form the outgoing modulated signal S(t) = A cos (ω c t + Θ), i.e. the radio wave. The bit history register BHR consists of a shift register which stores a number of incoming data symbols, of which one is the data symbol concerned and the remainder are preceding and following symbols. All data symbols and the output signals of the quadrant memory form an address which indicates a given waveform in the table units ST and CT. The quadrant memory QM is an up-and-down counter which is stepped upwards or downwards by the last data bit from the shift register BHR. The counter value, which is delivered to the sine and cosine table, therewith represents an accumulated phase value. The counter QM thus constitutes a quadrant memory for the phase angle Θ, i.e. stores a binary value which indicates the quadrant in which Θ is located. The number of bits stored in the register BHR depends on the extent of intentional ISI, and the number of steps P carried out by the counter QM depends on modulation index h . The number of samples per bit interval S depends on the desired quality of the analog signals. The total storage requirement of the known waveform generator is 2 · S · P · 2 M , where S = the number of samples per bit interval and M = the number of data bits last stored in BHR. The storage requirement can therefore be large when the quality requirement is high, i.e. when S and M are not small numbers, for instance, S ≧ 8 and M > 3. For example, M = 3 and S = 8. Figure 3 is a diagram showing the phase-angle variation for four data bits entering the register BHR when h = 1/2, M = 1 and when there is no intersymbol interference. It is assumed that Θ is located in the first quadrant and starts from value 0, i.e. the content of the register BHR is zero and the quadrant memory QM is set to zero. When data is introduced into the register BHR during the symbol interval O-T, there is formed an address which indicates sin Θ and cos Θ in the sine table ST and the cosine table CT, such that Θ = π/2 at the end of the interval and the register QM will be set to 01. During the next following interval T-2T, it is assumed that the register BHR is loaded so that the final value at 2T is Θ = π. The value in the register QM will then be 10. It is assumed that the data symbols introduced into the register BHR during the symbol interval 2T-3T were such as to reduce Θ to π /2 at 3T. The value stored in the register QM is then again 01. During the interval 3T-4T, Θ increases to π and the register QM stores the value 10. The tables ST and CT are addressed during all intervals 0, T, 2T, 3T, 4T, so as to point out sine and cosine for Θ = O, π /2, π and 3π/2. Thus, there are stored in the register BHR those data bits which during a symbol interval indicate which instantaneous value of sin Θ and cos Θ is to be addressed, whereas the value in the register QM (the quadrant memory) discloses the value from which the Θ-address shall commence, i.e. the start value. The broken lines in Figure 3 indicate the course or procedure followed for different starting points, i.e. different values stored in the register QM, whereas the variation is the same during the symbol interval O, T, 2T, 3T, 4T for similar data symbols fed to the register BHR. Figure 4 illustrates the inventive waveform generator. In common with the known waveform generator illustrated in Figure 2, the inventive generator includes a shift register BHR, an up-down counter QM on the input side, and converter units DA1, DA2, filters LP1, LP2 and multiplicators M1, M2, and also an addition circuit ADD on the output side. The novel waveform generator distinguishes from the known waveform generator, insomuch that the two table units ST and CT have been replaced with one single table unit SCT for storage of the aforesaid basic waveforms (P · 2 M-2 ) for a given number of bits in the register BHR. This unit may consist of a ROM programmed in the manner described in the accompanying Appendix. The inputs of an address conversion unit ADR are connected to the outputs of the shift register BHR. In addition, the output of BHR, which output represents the oldest bit, is connected to the input of the up-down counter QM, which constitutes the quadrant memory. The counter QM has for h = 1/2 two outputs (most significant and least significant bit) which are connected to the address conversion unit ADR. The address conversion unit ADR has M outputs connected to the address inputs of the table unit SCT to point out the associated waveforms in dependence on the data symbols present in the register BHR during each symbol interval T, and in dependence on the value of the quadrant memory QM. The address conversion unit ADR is also connected to a control input of a logic unit NP which receives across its inputs the output values from the table unit SCT. The unit either inverts the values or allows the values to pass unchanged, depending on the control signal I delivered by the address conversion unit ADR. The table unit SCT is operative to store the values of cos Θ for those Θ which have been addressed to said unit. The value of sin Θ can be obtained by modifying the address and optionally inverting the value of cos Θ obtained from the unit SCT, this inversion being effected in the unit NP in dependence on the control signal I arriving from the address conversion unit ADR. This inversion or passing of the value of the waveform from the table unit SCT is controlled alternately during a sampling period S determined by a sampling unit SR. This unit samples the addressed content (the addressed waveform) in the table unit a number of times S during a symbol interval T, for instance eight times. During one half of a sampling period, the value is fed-out from the table unit SCT in order to obtain cos Θ and during the other half in order to obtain sin Θ. Both sin Θ and cos Θ are therewith digitally represented. A latching circuit LS is operative to latch the value of sin Θ during the period (≈ half the sampling interval) required to form the corresponding cos Θ. Subsequent to the lapse of a sampling interval, these two values occur on the input of respective converters DA1, DA2, i.e. sin Θ appears on the input of the converter DA1 and cos Θ appears on the input of the converter DA2. Upon termination of the sampling interval, both of the converters DA1, DA2 are activated to effect conversion to corresponding analog values, these values being supplied simultaneously to the downstream multiplicators M1, M2. Respective carrier waves -A sin ω c t and A cos ω c t are modulated in the multiplicators M1, M2 in this way and subsequent to addition in the addition circuit ADD, there is obtained the signal which forms the transmitted radio signal. With respect to the inventive waveform generator, all data states, i.e. arrays of data symbols stored in the register BHR during a symbol interval, which result in the same waveform shall result in the same address to the reduced table for cos Θ stored in the table unit SCT. Thus, there is stored in the table unit SCT a plurality fundamental waveforms which can be addressed and subsequently inverted so as to obtain sin Θ and cos Θ for all possible binary combinations of the incoming data symbols. The number of curveforms stored is P · 2 M-2 , where M = the number of binary positions in the register BHR and P is the number of positions in QM. The output signal from the counter QM (two bits) determines the quadrant in which the start value of Θ, i.e. where each Θ = Θ o , is located when addressing the table unit SCT. The output signal from the register BHR determines which of the stored fundamental waveforms shall be pointed out in the table unit SCT. The table unit stores the waveforms for either sin Θ or cos Θ and when, for instance, cos Θ is stored, sin Θ is obtained by address conversion in ADR and conditional inversion in the unit NP. The stored sampled values of the waveform are brought forward S number of times with each symbol interval T. Figure 5 illustrates an embodiment of the inventive waveform generator where M = 3, h = 1/2 and S = 8. The bit history register is a shift register BHR, having three positions and where incoming dataflow in the form of binary values 0 or 1 is fed-in over the data input of the register BHR. The output signal from the register forms an array of binary symbols b₂, b₁ , b o , where b₂ is the most significant bit. This bit is supplied to the counter input of the out/down-counter QM, which forms the quadrant memory. Its two outputs Q₁, Q o produce a binary number having two positions, where Q₁ is the most significant bit. Both the counter QM and the register BHR are clocked with the same clock signal CKB (see Figure 7). An EXLUSIVE-OR gate EX1, EX2 is connected to each of the outputs b₁ and b o of the register BHR for the purpose of inverting b₁ and b o when b₂ is equal to 1. The outputs of the gates EX1, EX2 are each connected to a respective address input a o and a₁ of the table unit SCT. The gates EX1, EX2 form a part ADR1 of the address conversion unit ADR illustrated in Figure 4. The other part of the address conversion unit ADR comprises a unit ADR2 which has four inputs and two outputs. The unit ADR2 is intended to form the signal applied to the third address input a₂ of the unit SCT, and an inverting or non-inverting control signal I applied to the negating unit NP described above. The table in Figure 6 illustrates the relationship between all possible register positions in the register BHR, the counter positions in the memory QM, the address signals a₂, a₁, a o and the control signal I. The addressing unit ADR2 can be constructed on the basis of this table, with the aid, for instance, of a full-adder and associated logic. A binary timing signal designated 1/Q is also applied to the addressing unit, this timing signal controlling the output of the signals I and a₂, so that the value required to form sin Θ is fed-out during one half of a sampling interval and the value required to form cos Θ is fed-out from the unit NP during the other half of the sampling interval and sent to a subsequent locking circuit (sin Θ) and converter DA2 (cos Θ). The logic relationships between the input magnitudes b o , b₁, b₂; Q₁, Q o and the output magnitudes a o , a₁, a₂; I are determined by the following relationships: a o = B₂ + b o , a₁ = b₂ + b₁ I/Q = 0: a₂ = Q o , I = Q₁ + (b₂ΛQ o ) I/Q = 1: a₂ = Q o , I = Q₁ + Q o + (b₂Λ Q o )) which can be written as: a₂ = Q o + I/Q I = Q₁ + (Q o I/Q o + (b₂ΛQ o ) The table in Figure 6 shows all addressing signals a₂, a₁, a o and the inverting control signal I for all possible incoming data-symbol combinations b₂, b₁ , b o with three bits and in the various quadrants for Θ. As before mentioned, all waveforms for sin Θ and cos Θ can be obtained from a plurality of P · 2 M-2 fundamental waveforms stored in the table unit SCT. In the illustrated case, M = 3 and P = 4, and consequently only eight fundamental waveforms are needed, hereinafter called curve segments. These segments are referenced A, B, C, D, E, F, G, H in the table. The value of each of these curve segments is stored in the table unit SCT. For each given value of Q₁, Q o (denotes the quadrant for Θ) and data-symbol array b₂, b₁, b o , there are obtained two address arrays a₂, a₁, a₀ for I/Q = 0 and I/Q = 1, through the address units ADR1, ADR2. The table unit SCT is thus addressed twice for the same array of data. For instance, the data array b₂, b₁, b o = 101 in the first quadrant (Q₁ Q o = 00) obtains the addresses a₂ a₁, a o = 011 for I/ Q = 0 and 110 for I/ Q = 1. This gives the curve segments -C and -G respectively, the values of which are sampled alternately by the sampling unit SR. The time diagram given in Figure 7 discloses the modus operandi of the waveform generator shown in Figure 5 in more detail, in conjunction with the above example. When the clock pulse CKB is high, the register BHR is shifted and a given array of data symbols b₂, b₁, b₀ = 101 is fed to the gates EX1, EX2, to the counter QM and to the address unit ADR2. At the same time, the counter QM is activated by the clock pulse CKB, causing the counter to produce a given value Q₁ Q o (= 00). A given address array a₂, a₁, a o and a given control signal I is obtained. At the same time, I/ Q equals 1 (sin Θ). During the interval t o - t₂, a value is brought forwards from the indicated curve segment G by the sampling pulse CKS1 and this value is fed to the unit NP. Since I = 1, the value is inverted before being sent further to the latching circuit LS. This circuit latches the value at time t₁. The converters are still unactivated, since the control signal LDA has not yet become high. When I/ Q becomes 0 at time t₂, an address array a₂, a₁, a o different than that for I/Q = 1 is obtained, namely the address array which gives the curve segment C and which is brought forward by the sampling unit SR during the time period t₂ - t₄, and which is then fed to the unit NP. Since I = 1, there is obtained an inverted value of curve segment to the converter DA2. At the time point t₃, both of the converters DA1, DA2 are activated and the values deriving from the curve segments -G and -C are converted and applied to the following units M1, M2 and ADD in the manner aforedescribed. Remaining values of the curve segments -G and -C are brought forward in a similar manner in accordance with the example during the whole of the bit clocking interval, until the whole of the curve segment for the input data-symbol array b₁, b₂, b o (= 100) has been processed. This procedure is repeated for all eight sampling pulses during a complete clock interval (= T), whereafter a new data symbol is clocked into the register BHR (the counter QM being stepped up or down) and a new curve segment for sin Θ and cos Θ is fed into the converters DA1, DA2. The proposed waveform generator results in a decrease in waveform storage requirements, namely P · 2 M-2 as compared with 2 · P · 2 M in the case of known generators. Because the surface-area requirement of the generator is greatly reduced, LSI can be readily realized. The surface-area requirement of the proposed generator is about one-eighth of the surface-area requirement of the known waveform generator. The improvement is due partly to the use of symmetries in the modulation schedule and partly because both of the quadrature signals are obtained from one and the same reference table.

Claims: A waveform generator for generating a first waveform sin Θ and a second waveform cos Θ, where Θ is the phase angle of a radio signal when modulating with the aid of digital continuous phase modulation with modulation index h = 2 -n , where n is an integer, from a radio transmitter of quadrature type in dependence on the data symbols to be transmitted, wherein the waveform generator includes: a bit history register (BHR) for storing in given sequence a given number (M) of incoming binary data symbols (b o , b₁, b₂...b M-1 ), which denote the instant phase angle (Θ m ); a memory means (QM) for storing a binary-coded value (Q o , Q₁,...) which gives the accumulated phase (Θ o ); a storage means (SCT), configured to store data in table form, having a number of binary address inputs (a o , a₁, a 2... a M-1 ) for a number of values which denote the waveform in dependence on said number (M) of incoming data symbols and the value stored in said memory means (QM); a sampling unit (SR) for detecting the values stored in the storage device (SCT) and belonging to a given waveform; and output units including digital-analog converters (DA1, DA2) and multiplicator means (M1, M2) and adders (ADD) for compiling the radio signal; characterized in that the storage device (SCT) is adapted to store, in table form, P · 2 M-2 curve segments of said waveforms as the digital values for solely one of said waveforms (cos Θ), wherein M = the number of address inputs on the storage device (SCT), this number being the same as the number of data symbols stored in said bit history register (BHR), and P is the number of states in said memory device (QM); in that an address conversion unit (ADR) is provided for compiling an address to said address inputs in dependence on said number (M) of data symbols and the value (Q o , Q₁, ...) stored in the memory device (QM), wherein a timing signal (I/Q) having two states is effective to cause the address conversion unit to alternate such that said address (a₂, a₁, a o ) will alternately indicate a sin or cosin curve segment (G) belonging to said data symbols for one state of the timing signal and thereafter a cosin or sin curve segment (C) belonging to the same data symbols for the other state of the timing signal; in that an inverting unit (NP) is provided for controlling a signal (I) from said address conversion unit (ADR) such as to invert or not to invert the sine and cosine curve segments obtained from the storage unit (SCT) in dependence on the value of the timing signal and the value stored in the memory device (QM); and in that a latching means (LS) is provided for latching the value of the sin or cosin curve segment while the cosine or sine curve segment is indicated in the storage device (SCT) and is fed-out so that the obtained values of the two curve segments are converted simultaneously in respective digital-analog converters A waveform generator according to Claim 1, characterized in that the P · 2 M-2 stored waveforms in the storage device (SCT) are stored in the form of digital values which are selected so that in the first quadrant (0 <Θ< π /2) of the phase angle, the digital values give P · 2 M-3 determined curve segment for sin Θ and P · 2 M-3 determined curve segment for cos Θ and for the same array of incoming data symbols (b o , b₁, b 2... b M-1 ); in that in the second, third and fourth quadrants ( π /2 ≦ Θ π, π ≦ Θ < 3π /2, 3π/2 + ≦ Θ < 2π) of the phase angle, the stored digital values denote the P · 2 M-3 curve segments for sin Θ which, in the nearest preceding quadrant, applies to cos Θ in the same array of incoming data symbols (b o , b₁, b 2... b M-1 ) and correspondingly for cos Θ, wherein the values of respective quadrants are determined by the value (Q o , Q₁,.....) stored in said quadrant memory (QM).

Inventors: EKELUND, BJOERN OLOF PETER, Ekelund, Björn Olof Peter
Applicants: TELEFONAKTIEBOLAGET L M ERICSSON
Application year: 1990
Main classification: H04L27
IPC codes: H04L27