Background to the Invention
The invention relates to a frequency multiplier system and more particularly to a digital frequency multiplier system suitable for handling a varying input frequency signal typically at relatively low frequencies.
In known frequency multiplication systems use is made of phase locked loops or voltage to frequency and frequency to voltage conversion. Phase locked loop (PLL) techniques commonly used for frequency multiplication have certain drawbacks. The principle drawback at low frequencies is the loop response time due to the low pass filter used in the feedback loop of the PLL. This effectively means that at very low input frequencies the frequency produced by the PLL may drift considerably. Also phase locked loops cannot readily cope with high dynamic ranges coupled with high multiplication factors. For these to be correctly implemented high response times are required which are unacceptable. The further disadvantage is that the phase locked loop is essentially an analogue system and this gives a poor performance when the temperature of the system is subject to change.
The other common method of frequency multiplying is to convert the input frequency to an analogue voltage, process this voltage, probably with an op-amp, and then convert this voltage to a higher frequency using a V/F converter. Again problems occur at low frequencies--the Frequency to Voltage (F/V) converter cannot produce a steady voltage output. A large amount of ripple is produced which may be easily eliminated using some form of DC filter technique. In so doing the response time of the system becomes too high and again this is unacceptable. This system is also an analogue system and thus suffers in the same way as PLL's.
Summary of the Invention
According to the invention there is provided a digital frequency multiplier comprising: a first path and a second path, a first source of clock pulses and a second source of clock pulses for supplying said first and second paths respectively, first counter means in said first path, said first counter means having a first input for receiving an incoming frequency and for determining the number of pulses occuring from said first source during the period between sequential cycles of said incoming frequency, divider means in said first path for dividing the first clock pulses relative to the incoming rate, second counter means in said second path for counting the number of clock pulses from said second source, and comparator means connected to receive the outputs of the first and second paths respectively to produce an output signal having a repetition frequency which is a multiple of the incoming frequency.
The digital frequency multiplier overcomes the difficulties incurred in the conventional methods of frequency multiplication, and two principle advantages are:
1. Fast response time: 1/input frequency
2. Negligible degradation in performance with changing temperature.
The digital technique also offers predictability in that the performance of the system may be repeated. Also all the parameters relevant to the system's operation may be readily calculated, including output jitter (which is a function of the clock frequency), at all times. This means that the systems performance does not drift with time--as occurs in the analogue cases.
The system to be described typically can accept any input frequencies from approximately 1 Hz to 10 KHz and multiply these by an integer from 2 to N to produce an output frequency in the range 2 Hz to 1 MHz (practical value).
Brief Description of Drawings
The invention will now be described by way of example with reference to the accompanying drawings, in which:
FIG. 1 shows an arrangement for providing the digital frequency multiplier of the invention,
FIG. 2 shows one arrangement for realising the system of FIG. 1,
FIG. 3 shows an alternative system to that of FIG. 1.
Description of Preferred Embodiments
The digital frequency multiplier arrangement of FIG. 1 includes a counter 2 which received an incoming frequency f.sub.in which is to be multiplied. The counter is effectively gated by the incoming frequency to allow the number of clock pulses produced by clock generator 5 and passed via divider 6 for receipt by counter 2 to be determined during a cycle of the incoming frequency, the clocks being received at a frequency typically substantially higher than f.sub.in.
The clocks from generator 5 are also received by counter 4 which rate at N times that received by counter 2. The output of counter 4 will be the total number of clocks received since the counter 2 was reset. The outputs of counters 2 and 4 are made available to a comparator 3 which effectively produces a change in level when there is a certain relationship (e.g. coincidence) between the number held by counter 2 and that reached by counter 4. Following coincidence between these counts the system elements can be reset as necessary and the operation repeated. The frequency f.sub.out will be provided at a rate which will be N times f.sub.in. Thus by varying the selection of the ratio in divider 6, the coefficient applied to the input frequency can be varied as desired.
If clock generator 5 provides a fixed frequency for example it would be possible to include an arrangement for varying the selected basic frequency by means of a divider for example as shown by divider block 7 if desired.
The arrangement of FIG. 2 shows one example of how the system of FIG. 1 can be realised.
The incoming frequency F.sub.in is input to the clock counter system 2 shown in broken lines, which includes synchronising latch 20 which is controlled by clocks from clock generator 5. Generator 5 produces fast clock pulses up to 30 MHz for standard TTL logic although this could be increased if ECL logic is used. (The generator 5 also supplies clock pulses to dividing counter 23 and counter 26, as described below).
In this example divider 6 includes a divide by N counter 23 (e.g. 74S169 4 bit synchronous counters). Selector block 22 sets the division integer for these counters. The integer value may be set using switches or wire links, 9 switch outputs providing the possibility of up to 512:1 ratio for counter 23. There are 3.times.74S169 counters used to provide a division ratio of 512. Hence the clock may be divided down by any integer between 2 and 512 in this example (2 and N in the general case with suitable modification of the counter capabilities). The output of dividing counter 23 is used to clock the period counter 24 within block 2. The counter 24 counts down from all binary 1's till reset by the synchronised input pulse derived from F.sub.in. Synchronising block 20 basically comprises a latch which is provided to synchronise the incoming pulses at F.sub.in (typically even mark: space ratio squarewave). The latched output is typically fed via a very fast monostable 21 prior to receipt as the load signal by counter 24. The fast monostable can expediently be constructed by connecting the latched pulse directly to one input of a NAND gate and to the other input of the NAND gate via triple cascaded inverters to provide a pulse of the order of 50 ns.
The output of this monostable 21 is used to load the counter 24 (e.g. 4.times.74LS169). The load pulse to these counters only occurs on positive transitions of the incoming frequency hence, in effect, it is measuring the period of this frequency. The output of these counters (i.e. 16 bit number) is then held in a latch 25 (the period latches).
The period latches 25 are updated whenever the period counters are about to be loaded, hence these latches will store the period of the incoming frequency.
The output of the period latches (i.e. 16 bit number) is used to load the counter 26 (e.g. 4.times.74S169) within block 3, 4. These counters are set to count up from the loaded value. When they reach zero a ripple clock occurs which is used as the output frequency and the value from the period (latches) is again loaded.
Expediently, latching block 27 is provided which is used to inhibit any conflicts between the self loading counters 26 and the clock which updates the latches 25. Thus the latch update is inhibited when an output pulse from counter 26 occurs. Similarly NOR gate 28 is provided to inhibit the fast clock pulses to counter 26 whenever latch block 25 is being loaded to avoid any conflicts resulting in output frequency errors.
The output period is a multiple of the clock period therefore the non linearity caused by the jitter may be precisely determined. Hence the smaller the period the less inaccuracy in linearity. Thus to ensure accuracy in the output frequency, the frequency of the fast clock must be kept high.
It can be seen that the digital system requires that one clock rate is N times the other where N is an integer.
In the example shown this is achieved by dividing the higher clock rate by means of dividing counter 23 in dependence on the ratio selected by selector switches 22.
Although counters 24 and 26 have been described as counting down and up respectively, these operations could be reversed so that the counter 24 counts up from zero and counter 26 is arranged to count down from all 1's.
An alternative system to that of FIGS. 1 and 2 is shown in FIG. 3. In this situation the clocks for counter 2 within F.sub.in period are determined to provide count C.sub.1 and the clocks for counter 4 are established to provide count C.sub.2. Counts C.sub.1 and C.sub.2 can pass via respective modifiers 30 and 31 to coincidence comparator 3. The modifiers can manipulate the counter output by means of a control input (e.g. a clock pulse or binary number) so as to modify the relationship between counts C.sub.1 and C.sub.2 such that f.sub.out is changed. Typically modifiers 30, 31 could comprise an arithmetic divider for providing division in dependence on a selected binary number entered as the control. In such a situation it could be possible for counters 2 and 4 to receive the clock pulses directly from generator 5 of FIG. 1 and to rely on the modifiers to provide the desired ratio for N. In dependence on the values selected for modifiers 30 and 31 it would be possible to provide a ratio between f.sub.in and f.sub.out which is not an integer.
A microprocessor based configuration could be used to generate this control and may also be expanded to replace some of the hardware functions.