Background of the Invention
The present invention relates in general to digital waveform synthesizers and in particular to a waveform synthesizer for generating angle modulated waveforms.
Digital waveform synthesizers of the prior art typically generate a sequential set of digital data representing the desired waveform. This data is applied to a digital-to-analog (D/A) converter which then produces the synthesized analog waveform of voltage magnitude varying according to the magnitude of the applied digital data. A typical such waveform synthesizer employs an offset register, an accumulator and a random access memory (RAM) wherein data representing one period of the selected waveform completely fills all RAM locations. When the RAM address is sequentially updated in selected incremental steps, the data appearing at the output terminals of the RAM varies in proportion to the magnitude of the desired synthesized analog waveform. The frequency of output waveform variation is directly proportional to both the address step size and the address update rate (i.e. system clock frequency), and inversely proportional to the RAM length. The address step size is stored in the offset register and is accumulated by the accumulator, which provides the incremental RAM addresses.
While digital waveform synthesizers of the prior art are well adapted for digitally synthesizing waveforms oscillating according to a single frequency, they are not well adapted for synthesizing angle (e.g. phase or frequency) modulated waveforms. Phase and frequency modulated waveforms oscillate according to two independant frequencies, a higher carrier frequency and a lower modulating frequency. In order to produce a phase or frequency modulated waveform, two digital waveform synthesizers, driving associated D/A converters, could be used with one synthesizing a waveform of the carrier frequency and with another synthesizing a waveform of the modulating frequency. The two analog waveforms thus synthesized could then applied to a conventional analog phase or frequency modulating circuit to produce the angle modulated waveform.
This method therefore uses two D/A converters and a conventional analog modulating circuit. The extra D/A converter and the analog modulating circuit can be expensive and can take up a comparatively large amount of space in an equipment chassis. It would be advantageous if data representing a frequency or phase modulated waveform could be sythesized entirely by digital means such that only a single D/A converter is needed to generate the analog waveform equivalent and such that no analog modulating circuit is required.
Summary of the Invention
According to one aspect of the present invention, a first and a second digital waveform synthesizer are interconnected by a modulation control circuit. A first waveform synthesizer comprises a first offset register, a first accumulator and a first RAM, while a second waveform synthesizer comprises a second offset register, and second accumulator, and a second RAM. The data stored by each accumulator is used to address the associated RAM, and the first and second RAMs are programmed with data representing one period of the selected modulator and carrier waveforms respectively. A selected modulator waveform frequency parameter, stored in the first offset register, is applied to the input of the first accumulator such that each time the accumulator is strobed by a system clock pulse, the accumulator adds this parameter to the number currently stored by the first accumulator. The current address of the first RAM is thereby incremented by the amount of the selected modulator waveform frequency parameter such that the output of the first RAM varies as a periodic function of the number of clock pulses and the magnitude of the modulator waveform frequency parameter.
The time-varying output of the first digital waveform synthesizer is applied to the input of the modulation control circuit. The output of the modulation control circuit, a selected transfer function of the periodic input, is summed with a selected carrier waveform frequency parameter stored in the second offset register, and applied to the input of the second accumulator. A number stored by the second accumulator is thus incremented by this time-varying sum each time the second accumulator is strobed by a system clock pulse. The stored second accumulator number addresses the second RAM such that the data output of the second RAM is a periodic function of the current carrier waveform frequency parameter, while angle modulated according to the modulator waveform frequency parameter.
According to another aspect of the invention, the transfer function associated with the modulation control circuit may be selected such that the output of the modulation control circuit at any given time is proportional to the sum of the last two clocked outputs of the first waveform synthesizer. This causes the magnitude of the data output of the second digital waveform synthesizer to oscillate at a carrier waveform frequency proportional to the carrier waveform frequency parameter, while frequency modulated in proportion to the modulator waveform frequency parameter.
According to another aspect of the invention, the transfer function associated with the modulation control circuit may alternately be selected such that the output of the modulation control circuit at any given time is proportional to the difference between the last two clocked outputs of the first digital waveform synthesizer. This causes the magnitude of the second digital waveform synthesizer output data to oscillate at a carrier waveform frequency proportional to the carrier waveform frequency parameter, while being phase modulated in proportion to the modulator waveform frequency parameter.
According to a still further aspect of the invention, the output of the second digital waveform synthesizer is converted into an analog waveform of magnitude which varies in time according to the magnitude of the input data, with such waveform being subsequently smoothed by a filtering circuit.
It is accordingly an object of the invention to provide a new and improved method and apparatus for producing angle modulated waveforms wherein the carrier and modulator waveform frequencies phase and frequency constants and modulating and carrier waveform types are all controlled by applied digital data.
It is another object of the invention to provide a new and improved method and apparatus for producing an angle modulated waveform wherein the angle modulation may be selectively of the phase or frequency modulation type.
The subject matter of the present invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. However, both the organization and method of operation, together with further advantages and objects of the present invention, may best be understood by reference to the following description taken in connection with accompanying drawings wherein like reference characters refer to like elements.
Brief Description of the Drawing
FIG. 1 is a block diagram of an angle modulated waveform synthesizer according to the present invention.
Description of the Preferred Embodiment
Referring to FIG. 1, an angle modulated waveform synthesizer 10, illustrated in block diagram form, is adapted to generate a sequence of digital data v(n) of magnitude which varies with the number n of regular system clock (CLK) pulses such that when the v(n) data is converted to analog quantities of proportional magnitude by a D/A converter 12, and subsequently smoothed by filtering circuit 14, a resulting waveform v(t) appearing at output terminal 16 is an angle modulated periodic waveform.
The angle modulated waveform synthesizer 10 comprises a first digital waveform synthesizer 18 and a second digital waveform synthesizer 20 interconnected by a modulation control circuit 22. First digital waveform synthesizer 18 comprises first offset register 24, first accumulator 26 and first RAM 28. A selected binary modulator waveform frequency parameter M.sub.m is stored in register 24 prior to circuit operation. This parameter is applied to the input terminals of first accumulator 26. Each time first accumulator 26 is strobed by a clock pulse CLK from a system clock (not shown), first accumulator 26 increases an internally stored binary number by the amount of M.sub.m. The number stored by first accumulator 26 may be reset to a binary 0 by application of an externally generated RESET pulse. If n is the number of CLK pulses since the last RESET pulse, then the number stored by first accumulator 26 after the n.sup.th CLK pulse equals nM.sub.m. The number thus accumulated by first accumulator 26 is carried on an addressing input but 30 to first RAM 28 such that when first RAM 28 is in a read mode, data stored by first RAM 28 at the current address on bus 30 appears on first RAM 28 data output bus 32 having a magnitude a function x(n) of the number of CLK pulses since RESET.
Second digital waveform synthesizer 20, similar to first digital waveform synthesizer 18 comprises second offset register 34, second accumulator 36 and second RAM 38. A selected binary carrier frequency parameter M.sub.c is stored in second offset register 34 prior to circuit operation. M.sub.c is then added by summing circuit 44 to an output y(n) of modulation control circuit 22 appearing on bus 46. The resulting sum, the output of summing circuit 44, is transmitted to the input of second accumulator 36. Each time second accumulator 36 is strobed by a clock pulse CLK second accumulator 36 increases an internally stored binary number A(n) by the amount of M.sub.c +y(n) appearing at its input terminals. The number A(n) stored by second accumulator 36 is carried by the addressing bus 40 to second RAM 38 such that when second RAM 38 is in a read mode, data stored by second RAM 38 at the current address A(n) appears on second RAM 38 data output bus 42 as a function v(n) of the number of CLK pulses since RESET.
Prior to circuit operation, first RAM 28 is loaded with data such that, as it is sequentially addressed by unit steps (M.sub.m =1), the magnitude of x(n) varies periodically with n, passing through one complete cycle as n increases from 0 to N, where N equals the range of first accumulator 26 and the number of first RAM storage locations. Second RAM 38 is also loaded with data in a similar fashion such that v(n) also passes through one complete cycle when the RAM address is incremented by single steps from 0 to N where N is also the range of second accumulator 36 and the number of second RAM storage locations. For purposes of illustration it is assumed that both RAMS are loaded with data whereby they produce output data of magnitude varying as regular sine waves as their addresses are stepped. With both RAMS so loaded, the periods of oscillation of such output data are inversely proportional to the step sizes used to increment the RAM addresses. It follows that the period of oscillation of x(n) on bus 32 is inversely proportional to the magnitude of the M.sub.m parameter stored in register 24. Similarly, the period of oscillation of data v(n) appearing on data bus 42 from second RAM 38 is inversely proportional to the sum of y(n) and M.sub.c applied to the input of second accumulator 36.
Modulation control circuit 22 comprises summing circuit 44, multiplier circuit 48, deviation parameter register 50, delay register 52, and arithmetic logic unit (ALU) 56. The output x(n) of digital waveform synthesizer 18 on bus 32 is multiplied by multiplier 48 with a binary deviation constant K stored in deviation parameter register 50 with the result appearing on bus 58 connected to both an input of delay register 52 and an A input of ALU 56. Delay register 52 stores the last data Kx(n-1) appearing on bus 58 at the time of the last CLK pulse and places the stored data on bus 64, attached to a B input of ALU 56. The stored data is replaced with the current data on bus 58 at the end of each CLK cycle. Depending on the sense of FM/PM control input 62 of ALU 56, the output y(n) of ALU 56 on line 46 is equal either to the sum of the A and B inputs or to the difference between the A and B inputs. Therefore
or
Since y(n) varies with respect to n, y(n) will have a modulating effect on v(n) and v(t). An angle modulated periodic function may be of the form
where f is any periodic function, w.sub.c is the angular frequency constant, and a(t) is an angular modulating function of time t. For example, if v(t) is a phase modulated sine wave, then v(t) is of the form
where x(t) is any unit magnitude periodic function of t and K is a constant. Alternatively, if v(t) is a frequency modulated sine wave, then v(t) is of the form ##EQU1##
Assuming, by way of example, that x(t)=sin (w.sub.m t) where w.sub.m is the modulating frequency, then for frequency modulated sine waves, ##EQU2## and for phase modulated sine waves,
The waveforms v(t) of equations [3] or [4] may be generated at the output terminal 16 of waveform synthesizer 10 by appropriately adjusting the data stored in first RAM 28, second RAM 38, deviation parameter register 50, and offset registers 24 and 34.
If the number stored by first accumulator 26 is initially set to 0 by an applied RESET pulse, then the output of first accumulator 26 on bus 30 after n CLK pulses is nM.sub.m. Assuming that N is the range of first accumulator 26, and that the data in first RAM 28 is adjusted to produce ouput data on bus 32 varying in magnitude in a sine wave fashion with respect to a stepped address, with the output data magnitude passing through one cycle as nM.sub.m increases from 0 to N, the output of first RAM 28 will be
where 2 .pi./N is the phase resolution associated with a unit RAM address change. With x(n) and the binary number K, stored in register 50, applied to the inputs of multiplier 48, the output of multiplier 48 on bus 58 is Kx(n). At any given number of CLK pulses n, the number stored by delay register 52 is Kx(n-1). ALU 56 operation is adjusted by application of the appropriate bit on control line 62 such that the A and B inputs to ALU 56 are differenced or summed, whereby the ALU 56 output y(n) on bus 46, is for frequency modulated waveforms,
or, for phase modulated waveforms,
It is noted that for A and B summed, the stored binary deviation must be halved.
y(n) and M.sub.c are summed by summing circuit 44 and applied to the input of second accumulator 36 such that the output of second accumulator 36 on addressing bus 40 is ##EQU3##
If second RAM 38 is loaded such that ##EQU4## The angular carrier frequency, w.sub.c, is defined as
where .DELTA.t is the time between each clock pulse, and therefore ##EQU5## From [6] for frequency modulated waveforms, ##EQU6## the approximation being the trapezoidal rule of numerical integration, and from [7] for phase modulated waveforms ##EQU7##
Combining [9] and [10], for frequency modulated waveforms ##EQU8## Noting that the deviation value K is an offset value similar to M.sub.c in [8], define the frequency deviation constant as ##EQU9## Substituting t=n.DELTA.t into [13] and [5], letting
so that
and substituting [14] into [13] yields the desired continuous time expression ##EQU10##
From equations [9] and [11], for phase modulated waveforms,
Substituting equation [5] into equation [16] and letting w.sub.m =(2.pi.M.sub.m /N.DELTA.t), t=n.DELTA.t and K'=(2.pi.K/N)
Equations [15] and [17] are of the proper form for frequency and phase modulated waveforms as indicated by equations [1] and [2]. Thus in order to generate a waveform of the form of equation [15] or [17] it is necessary to store in register 24 the number,
and to store in register 34 the number,
Additionally, if a frequency modulated waveform according to the equation [15] is to be synthesized, it is necessary to store in register 50 the number
K'.ident.peak frequency deviation in rads per second per unit x(t).
Alternatively, if a phase modulated waveform according to equation [17] is to be synthesized, it is necessary to store in register 50 the number
K'.ident.peak phase deviation in rads per unit x(t).
In either case, the time between successive clock pulse leading edges should be set at .DELTA.t. In the preferred embodiment, as described hereinabove, both the carrier and modulating functions associated with v(t) were in the form of sine waves. However, frequency or phase modulated waveforms oscillating according to any combination of periodic carrier or modulating functions of the form
may be generated by the waveform synthesizer of the present invention. The desired periodic carrier function f is obtained by loading the appropriate data into RAM 38 such that v(n) approximates the desired carrier function when M.sub.c =1 and y(n)=0. Similarly, any desired periodic modulating function a(t) is obtained by loading the appropriate data into RAM 28 such that, in the case of a phase modulated v(t), x(n) approximates the desired modulating function a(t) with M.sub.m =1, or such that, in the case of a frequency modulated v(t), x(n) approximates the derivative of the desired modulating function a(t) when M.sub.m =1.
While a preferred embodiment of the present invention has been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. The appended claims are therefore intended to cover all such changes and modifications as fall within the true spirit and scope of the invention.