Stable sine wave generator
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention in general relates to sine wave generators, and particularly to the generation of a frequency and amplitude stable sine wave by digital means. 
     2. Description of the Prior Art 
     Many systems such as in the control field require the generation of a reference waveform which is of an extremely precise frequency and amplitude. Many sine wave generators provide an output signal which is subject to frequency or amplitude drift and if used for precise measurement applications, can result in erroneous control signals tending to degrade system operation. More accurate sine wave generators tend to be extremely complex and rather costly. 
     The present invention provides for a sine wave generator which is precisely controlled in frequency and amplitude by digital techniques in a relatively simple and inexpensive arrangement. 
     The present invention also finds application in those systems which require two or more precise sine waves which are accurately controlled in phase with respect to one another. 
     SUMMARY OF THE INVENTION 
     An ultrastable sine wave generator is provided and includes means for providing clocking pulses derived from an ultrastable source such as a crystal oscillator. A binary counter is responsive to the clocking pulses to provide a corresponding output count indication in response thereto. A memory means such as a read only memory is operable to store and read out a predetermined pattern of binary digits at a plurality of storage locations addressable by said count indication. 
     Means for sampling the read out binary digits, under control of the clocking pulses, converts the pattern to a corresponding pulse waveform which is then filtered to deliver the fundamental frequency sine wave. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a typical control system in which the present invention may be utilized; 
     FIG. 2 is a block diagram illustrating one type of position sensor; 
     FIG. 3 is a block diagram of one embodiment of the present invention; 
     FIG. 4A illustrates a basic square wave signal and FIG. 4B illustrates a modification to that signal; 
     FIG. 5 illustrates the storage of binary information at various addresses of the PROM of FIG. 3; 
     FIGS. 6A and 6B illustrate the waveforms at two different points in the circuit of FIG. 3; 
     FIGS. 7 and 8 illustrate the storage, and reading out, of binary information in PROM&#39;s; and 
     FIG. 9 is a block diagram of another embodiment of the present invention for deriving phase related multiple signals. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Although there are various systems which require very precise relatively low frequency sine wave signals, the present invention will be described by way of example with respect to a typical control system such as illustrated in FIG. 1. The position of a controlled object 10 is precisely governed by position control circuit or system 12 which, in order to provide the correct command for the controlled object 10, must know its exact position. Accordingly, a position sensor is operatively associated with the controlled object to provide such position signal and in the embodiment of FIG. 1 such function is provided by linear variable differential transformer (LVDT) apparatus 14. 
     The basic system in FIG. 1 is representative of various control systems. By way of example, LVDT apparatus is widely used in the turbine-generator field wherein the flow of a working fluid such as steam is controlled by one or more valves, the precise position of which is required for accurate control purposes. 
     A typical LVDT arrangement 14 is illustrated in somewhat more detail in FIG. 2. The apparatus basically includes an LVDT 20 comprised of a central core member 22 of magnetic material and around which is wound a primary winding P and two secondary windings S1 and S2. Core 22 is mechanically coupled to the moveable member such as the controlled valve and is moveable in the direction of the arrow relative to the three windings. An LVDT excitation circuit 24 provides a relatively low frequency sine wave excitation signal to the primary winding P with the apparatus being such that the induced secondary voltages in windings S1 and S2 are equal and opposite to one another when the core member is in mid position. The secondary voltages are provided to a demodulation circuit 26 which basically compares the secondary signals and provides the position signal, indicative of valve position, for control and/or display purposes. 
     Due to the mechanical coupling, core 22 will move as the valve moves, thus causing an imbalance in the secondary signals provided by windings S1 and S2. The amount of signal unbalance is directly related to the relative position of the core 22, and accordingly, to the relative position of the controlled valve member, with the accurancy of the position signal being directly related to the stability of the sine wave excitation signal provided by LVDT excitation circuit 24. A sine wave generator operable to provide an excitation sine wave of stable frequency and amplitude and which can function as an LVDT excitation circuit is illustrated in FIG. 3, to which reference is now made. 
     The sine wave generator of FIG. 3 utilizes digital techniques and includes a memory means for storing binary digits (ones or zeros) at a plurality of addressable storage locations. One form of memory means which is suitable for this function is a read only memory (ROM) such as a programmable read only memory (PROM) 30, the various storage locations of which are addressed by the output bit pattern of counter 32. 
     Counter 32 is incremented upon the reception of an input pulse derived from a very stable high frequency source in the form of crystal oscillator 34. If the frequency is too high for the desired purpose, a divider 36 may be provided. The crystals utilized in crystal oscillators such as 34 are relatively inexpensive and are fabricated commerically to produce a desired relatively high frequency which typically is accurate to 20 parts per million over a twenty year period of time. 
     The output of divider 36 constitutes clocking pulses which are provided not only to counter 32 but to synchronizer 40 which is additionally operable to receive, on line 42, the output of PROM 30. Synchronizer 40 may simply be a D-type flip-flop which samples the input on line 42 and holds it on output line 44 in response to an input clocking pulse on line 46. 
     Assuming that counter 32 and synchronizer 40 both are activated on the positive transition of an input clock pulse, an inverter 48 is provided so as to ensure that synchronizer 40 reads the PROM output only after a specific location has been addressed, and not during such addressing process. 
     As will be explained, a certain predetermined bit pattern is stored in PROM 30. By way of example, let it be assumed that PROM 30 is a 1K×4 PROM. This means that the PROM can store 1024 digital words, each word being four bits long. In the embodiment of FIG. 3, only one bit location of each digital word is utilized for the storage of the predetermined bit pattern. For example, the first bit location of each of the 1024 digital words may be collectively utilized to store the bit pattern. 
     Since there are 1024 addressable locations, counter 32 is designed as a binary counter with 10 output lines connected to 10 respective PROM inputs A 0  to A 9 . Thus in a well-known manner the binary output of counter 32 changes each time a clock pulse is received to thereby address and cause the reading out of successive stored binary bits in PROM 30. 
     Synchronizer 40 reads the bit outputted from PROM 30 at a precise instant of time dictated by the clock pulse on line 46 provided at a time when the one or zero value from the PROM has stabilized. The synchronizer output on line 44, therefore, is a continous pulse waveform derived from the bit pattern of ones and zeros stored in the PROM 30. 
     The continuous pulse waveform on line 44 is utilized to derive the desired sine wave output, however, the output voltage level of a typical synchronizer may vary. Although the variation may be slight, it may affect the amplitude of the sine wave output signal, which, as before noted, must be extremely stable in both frequency and amplitude. Accordingly, level shift circuitry 50 is provided to impart amplitude stability. If the pulse waveform on line 44 is high, it will be shifted to a first voltage level as determined by a very accurate and precise voltage reference 52. If the pulse waveform on line 44 is low, it will be shifted to, or maintained at, a second voltage level such as ground. The pulse waveform output on line 54 of level shift circuitry 50 is provided to a band-pass filter 56 after having its DC component removed by capacitor 58 to thereby generate the desired sine wave on output line 60 for excitation of the LVDT 20. 
     In operation, suppose by way of example, that a low frequency 1000 hertz (Hz) sine wave is desired and that PROM 30 has a storage capability to accommodate 1024 bits. With additional reference to FIG. 4A, waveform 70 illustrates a square wave of period T. For a 1000 Hz signal, the period T equal one millisecond (ms). A Fourier analysis of waveform 70 would reveal that it is made up of a fundamental sine wave having a certain amplitude and a frequency of 1000 Hz, as well as a plurality of odd harmonics of progressively decreasing amplitude. Thus, as is well known, if waveform 70 is provided to a band-pass filter centered around 1000 Hz, an output sine wave signal of 1000 Hz will be provided. Due to the fact that some of the third harmonic will also pass through the band-pass filter, the sine wave will not be perfectly smooth but will have some objectionable ripples superposed on it. 
     It is known that to reduce the effects of the third harmonic (as well as other close harmonics) the waveform 70 of FIG. 4A may be modified by providing one or more &#34;notches&#34; within every 90 degree segment of waveform. That is, at periodic locations, the waveform, where previously high, is made low for a short predetermined period of time, and where low, is made high for a short predetermined period of time as illustrated, by the notched waveform 70&#39; of FIG. 4B. 
     By way of example, let it be assumed that a 1000 Hz sine wave is desired and that a PROM with 1024 storage locations is available. It may be demonstrated that Nf s  =f c  where N is the number of PROM locations, f s  is the fundamental frequency of the sine wave and f c  is the clock frequency. From the above relationship and for the example given, f c  is determined to be 1.024 megahertz. A notched square wave somewhat similar to that illustrated in FIG. 4B is stored in the PROM 30. More particularly, a basic square wave with nine notches per 90 degree segment is selected and is resolved into 1024 discrete high or low values with each value being stored at a separate one of the 1024 addressable PROM locations as a one or a zero. The one or zero bit values and their corresponding storage location, in hexadecimal code, is illustrated in FIG. 5 wherein the top presentation illustrates the storage locations for the first 90 degrees and with the remaining presentations representing it for subsequent 90 degree increments. 
     An examination of the presentation reveals that it is symmetrical about 90 degrees for the first half and symmetrical about 270 degrees for the second half. Additionally, the first half from zero to 180 degrees is a mirror image of the second half from 180 to 360 degrees. Storage locations one, zero, zero (100) correspond to 90 degrees, two, zero, zero, (200) to 180 degrees, three, zero, zero, (300) to 270 degrees, and zero, zero, zero (000) to zero or 360 degrees. 
     Twelve binary ones are stored in successive PROM locations starting with location 000. Thereafter, 10 successive zeros are stored commencing with storage location 00C. Thereafter, commencing with storage location 016, 13 successive ones are stored after which, commencing at location 023, 9 zeros are stored. The pattern continues with successively more ones and less zeros being stored, up to 90 degrees, whereupon the reverse would be true up to storage location 200. 
     Thus, with each negative going clock pulse from divider 36, counter 32 will increment successive PROM storage locations and with each positive going clock pulse, the synchronizer 40 will transfer the contents of the addressed location to line 44 and provide a continuous pulse waveform which is shifted in voltage level. Waveform 80 of FIG. 6A represents the waveform on line 54 and ranging from a low of zero volts to an unvarying 10 volt voltage level. After level shifting by capacitor 58 and filtering by band-pass filter 56, the resulting sine wave output on line 60 is as illustrated by waveform 82 of FIG. 6B. It is seen that the contents of the PROM 30 has been transformed into one cycle of a corresponding sine wave, and the process is continously repeated to derive a continuous sine wave which is ultrastable not only in frequency but in amplitude as well. 
     FIG. 7 depicts the storage locations of PROM 30 in FIG. 3. It is seen that there are 1024 words, each word being comprised of four bits, B 1  to B 4 , and in the embodiment of FIG. 3 only bit location B 1  of each of the 1024 words is utilized for storing the corresponding bit pattern of the notched square wave. Successive addressing of the 1024 words by counter 32 causes the successive outputting at output O 1  of the one or zero stored bits in position B 1 . 
     FIG. 8 illustrates the more generalized case of a PROM which includes N words, with each word being comprised of n bits in bit locations B 1  to B n . Outputs O 1  to O n  are provided for delivering the respective stored bits in locations B 1  to B n  when a particular word is addressed. One bit location and one output may be utilized, as in FIG. 3, or as an alternative two or more bit locations and their respective outputs may be utilized for the generation of one or more sine waves. With respect to the generation of a single sine wave utilizing multiple bit positions, the first half of the waveform bit pattern may be stored in bit position B 1  while the second half is stored in bit position B 2 . A switch would deliver the output at O 1  to the synchronizer and after all storage locations have been addressed, would switch the output at O 2  to the synchronizer. In this manner, the number of bit positions representing a waveform could be doubled thus increasing resolution, or alternatively, a smaller sized PROM could be utilized for the same resolution. 
     With respect to the generation of multiple sine waves, a bit pattern for a particular sine wave may be stored in bit position B 1  and the identical bit pattern may be stored in one or ore of the other bit locations but displaced by a predetermined number of words relative to the first pattern. In this manner, two or more identical sine waves may be produced, each having the same frequency, but displaced in phase relative to one another. An example of such an arrangement is illustrated in FIG. 9. 
     The arrangement of FIG. 9 is identical to that of FIG. 3 with the addition of two more outputs, O 2  and O 3 , and two more channels of signal processing including the synchronizing, level shifting and filtering, indicated by respective primed and double-primed counterparts. Depending upon how the information is stored in PROM 30, the band-pass filters 56, 56&#39; and 56&#34; may respectively provide three different 1000 Hz sine waves which bear no particular relationship to one another and which are used for three different tasks. Alternatively, as previously discussed, the bit pattern may be stored such that the sine waves assume a set predetermined phase relationship with respect to one another. 
     In yet another arrangement, two outputs may be utilized to derive sine waves which are 90 degrees out of phase with respect to one another, thereby providing a sine and cosine, widely used in in-phase and quadrature signal processing systems. For the specific example of a 1024×4 PROM, the bit pattern for the sine wave may be stored in bit position B 1  starting with the first word and the identical bit pattern stored in bit location B 2  beginning with the 256th word location (and looping around and ending in the 255th location). 
     Accordingly, there has been described a sine wave generator wherein the sine wave is derived from a stored bit pattern in a digital memory means such a PROM with the contents of the bit locations being read out by a very precise clocking frequency and converted to a continuous pulse waveform under control of the same precise clocking frequency. Any undesired voltage level variations of the pulse waveform are eliminated by shifting it to a very precise voltage level and then filtering it to derive the fundamental frequency. The stored bit pattern is representative of a notched square wave so as to reduce the effects of the odd harmonics, close to the fundamental, so that any slight change in any of the components of the band-pass filter utilized will not appreciably affect the desired fundamental. 
     Depending upon the size of the memory device utilized, one or more additional frequency and amplitude stabilized sine waves may be provided and may bear some predetermined phase relationship with respect to one another.