Abstract:
The digital oscillator includes a memory which stores 12 bit words representing sampling points of the analog waveform to be produced and a D/A multiplying converter which receives the bit words and converts them to an analog values, the amplitudes of which are controlled by a reference voltage. The analog output is monitored and compared to a stable reference source in order to generate the controlling reference voltage thus maintaining a constant amplitude digital oscillator output.

Description:
BACKGROUND OF THE INVENTION 
     This invention is directed to a digital oscillator and in particular to a digital oscillator having high amplitude stability. 
     Analog oscillators have been perfected so as to have high amplitude stability with a satisfactory sine waveform. For example, the Wien bridge oscillator when constructed from very high stability components and/or with stabilizing circuits and filters can provide an acceptable output. However, these oscillators are expensive and are not readily frequency variable. 
     Many digital oscillators have been developed which with filters also provide a satisfactory waveform, however their amplitude is not particularly stable and therefore these oscillators cannot be used in measurement circuits without incurring unwanted error. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of this invention to provide a digital oscillator having high amplitude stability of its output. 
     This and other objects are achieved in a digital oscillator which includes a digital to analog multiplying converter which multiplies a parallel binary number by a reference signal to produce an analog output, and a memory which stores a desired waveform in binary numbers, coupled to the converter. A timing and control circuit drives the memory to sequentially transfer binary numbers to the converter at a desired rate. A detector is coupled to the converter output to monitor the amplitude of the analog output and thereby control the reference signal to the converter. 
     In accordance with another aspect of this invention, the detector may include a sample and hold circuit which samples the analog output under the control of the control circuit and a stable reference source. The sample and hold circuit sample is compared to the stable reference source output to generate the reference voltage for the converter. The sample and hold circuit may be a peak value detector to sample the analog output once during each cycle, and the reference source may be a voltage source. 
     Many other objects and aspects of the invention will be clear from the detailed description of the drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the drawings: 
     FIG. 1 illustrates the digital oscillator in accordance with the present invention; and 
     FIG. 2 illustrates the approximation of a sine-wave by stepped levels. 
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     The digital oscillator in accordance with the present invention is described with reference to FIG. 1. 
     Sample points of the waveform which is to be reproduced as an oscillation, are stored as binary numbers in a read only memory (ROM) 1 which is controlled by a timing and control circuit 2. For symmetric waves, and in particular sine waves, these numbers are calculated using a Fourier odd 1/4-wave symmetry coefficients series. ROM 1 may, however, store sample points of one entire cycle of the desired oscillation, or 1/2 cycle or 1/4 cycle if the waveform is half-wave or quarter-wave symmetrical. In all of the cases, the control circuit sequentially reads through the sample points, and depending on the type of storage, this will occur either once, twice or four times for each cycle with the proper inversion and reversal made as required to reconstruct the entire waveform. 
     The number of sample points per cycle will depend on the quality of reproduced waveform required, as well as the type of waveform desired, i.e. a square wave would require many fewer points than a more complex waveform such as a sine wave. In the present case, the number of sampling points per 1/4 waveform to reproduce a pure sine wave is set at 64 samples. In order to obtain a sine wave with little distortion at the output and with very little filtering if at all, the sample points are selected using the following method. 
     The sine wave 20 is approximated by a series of stepped levels, with the level difference at each step 1, 2, 3, . . . being calculated as a function of the angular position number P n  where P n  =(cosine θ n  ×maximum bit number). In the example illustrated in FIG. 2, 1≦n≦64 and the maximum bit number, which is dependent on the word size of 12 bits, is equal to 4096. The binary value of a level is determined by taking the difference between the binary value of the proceeding level and P n , and subtracting this difference value from the number P n  at that step. In this way, the levels immediately proceeding and following a step are equally spaced above and below P n  at that step. Though 8 bit binary numbers can represent the sample points quite satisfactorily, 12 bit binary numbers are preferably used as no filtering of the output signal is required even when a relatively pure sine wave is required. In this manner, only the timing rate of the digital system need be varied to vary the output frequency, and output filters need not be changed. 
     The binary words representing the sample points are fed to a digital to analog multiplying converter 3 which converts each binary word to an analog value. The analog value of the output of a multiplying converter depends directly on the reference voltage V r  applied to it. The converter 3 may be of the type described as the DAC 1220 in the National Semiconductor Interface Handbook, 1979, on I/O devices, section 3, pages 18 to 27. 
     The converter output is fed to a current-to-voltage converter 4 which may also set the zero voltage level such that the output oscillates above and below the zero value. The circuit may also include a filter 5 and an amplifier 6. However, the purity of the signal from converter 4 may be such that filter 5 is redundant. The oscillator output is taken from terminal 7. 
     The stability of the amplitude of the output at terminal 7 will depend on many factors such as temperature, the components, etc. In order to maintain a constant amplitude, the reference voltage V r  is controlled by an error correction circuit 8. Error correction circuit 8 includes a sample and hold circuit 9 which samples the output 7 and holds the sample value under the control of timing circuit 2. For simplicity, the sample and hold circuit 9 may be triggered by timing circuit 2 to sample once per cycle at the peak value of the oscillator, however, sampling may also be carried out at other points on the waveform and/or more often. 
     The output from the sample and hold circuit 9, as well as the output V s  from a stable reference voltage source 10 are both fed to a summing circuit 11 which provides ±V e , the error in the output amplitude at terminal 7. This error voltage is inverted in inverter 12 and combined with the stable reference voltage from source 10 in a second summing circuit 13 to provide the control reference voltage V r  =V s  ±V e . In this manner, when V o  is equal to V s , V e  is zero and V r  =V s  ; when V o  is high, V o  &gt;V r , V e  is positive, is inverted and adds with V s  such that V r  =V s  -V e  to bring down the output V o  ; and when V o  is low, V o  &lt;V r , V e  is negative, is inverted and adds with V s  such that V r  =V s  +V e  to bring up the output V.sub. o. 
     Many modifications in the above described embodiments of the invention can be carried out without departing from the scope thereof and therefore the scope of the present invention is intended to be limited only by the appended claims.