Digital phase locked loop clock synthesizer with image cancellation
10594300 ยท 2020-03-17
Assignee
Inventors
Cpc classification
H03H17/0444
ELECTRICITY
H03L7/093
ELECTRICITY
H03H17/0657
ELECTRICITY
H03L7/0991
ELECTRICITY
International classification
Abstract
A frequency synthesizer includes a hardware digital controlled oscillator (HDCO) running at a first clock rate f.sub.S for generating an output clock signal in response to a control input, and a digital phase locked loop (DPLL) responsive to a reference input sampled at a second clock rate f.sub.samp, the first clock rate f.sub.S being N times greater than the second clock rate f.sub.samp, The DPLL includes a loop filter and a software digital controlled oscillator (SDCO). A first, first order linear interpolation anti-imaging filter running at a clock rate higher than said second clock rate f.sub.samp is coupled to an output of the loop filter for providing the control input to the HDCO. A second, first order linear interpolation anti-imaging filter running at said second clock rate coupled to the output of said loop filter to provide an input to said SDCO.
Claims
1. A frequency synthesizer, comprising: a hardware digital controlled oscillator (HDCO) running at a first clock rate f.sub.S for generating an output clock signal in response to a control input; a digital phase locked loop (DPLL) responsive to a reference input sampled at a second clock rate f.sub.samp, said first clock rate f.sub.S being N times greater than said second clock rate f.sub.samp, and said DPLL comprising a loop filter and a software digital controlled oscillator (SDCO); a first, first order linear interpolation anti-imaging filter running at a clock rate higher than said second clock rate f.sub.samp coupled to an output of said loop filter for providing said control input to said HDCO; and a second, first order linear interpolation anti-imaging filter running at said second clock rate coupled to the output of said loop filter to provide an input to said SDCO.
2. The frequency synthesizer of claim 1, wherein said first, first order linear interpolation anti-imaging filter comprises an accumulator and first adder for incrementally adding fractions of a difference between a current sample and previous sample output of said loop filter to the previous sample output to provide inputs to said HDCO at said higher clock rate.
3. The frequency synthesizer of claim 2, wherein said accumulator comprises a first delay memory and second adder.
4. The frequency synthesizer of claim 3, wherein said higher clock rate is said first clock rate f.sub.s.
5. The frequency synthesizer of claim 4, wherein said second, first order linear interpolation anti-imaging filter comprises an averaging block for obtaining an average of the previous and current sample outputs of the loop filter and a multiplier for multiplying the average by a factor N.
6. The frequency synthesizer of claim 5, wherein said averaging block comprises a second delay memory, a third adder for adding the current output sample of said loop filter to said previous output sample, and a divider-by-2.
7. The frequency synthesizer of claim 6, wherein said second delay memory provides an input via a first sample-hold register to said first adder, and an input to said accumulator via a fourth adder whose other input receives the current output sample of said loop filter, a divider-by-N block, and a second sample-hold register.
8. The frequency synthesizer of claim 2 or 3, wherein said accumulator runs at an intermediate rate f.sub.S1, which is intermediate between said first clock rate f.sub.S and said second clock rate f.sub.samp, and the output of said first adder is applied to said HDCO through an upsampling sample-hold register to bring the output of said first adder up to said first clock rate.
9. The frequency synthesizer of claim 8, wherein f.sub.s/f.sub.s1=M, and N1=N/M, and N=f.sub.s/f.sub.samp, and said second, first order linear interpolation anti-imaging filter comprises an averaging block for obtaining scaled average of the previous and current sample outputs of the loop filter and a multiplier for multiplying the average by M.
10. The frequency synthesizer of claim 9, wherein said averaging block comprises a second delay memory, a third adder for adding the current output sample of said loop filter to said previous output sample, and multiplier for multiplying the output of said third adder by a scaling factor N1, a combiner for combining the output of said multiplier with the difference between the current sample and the previous sample, and a divider for dividing the output of said combiner by a factor of 2.
11. The frequency synthesizer of claim 9, wherein said combiner is an adder.
12. The frequency synthesizer of claim 9, wherein said combiner is a subtractor.
13. The frequency synthesizer of claim 12, wherein said SCDO provides a phase update inputs to said HDCO via a sample-hold register.
14. The frequency synthesizer of claim 10, wherein said second delay memory provides an input via a first sample-hold register to said first adder, and an input to said accumulator via a fourth adder whose other input receives the current output sample of said loop filter, a divider-by-N block, and a second sample-hold register.
15. A method of synthesizing a clock signal from a reference signal, comprising: sampling said reference signal at a clock rate f.sub.samp; locking a digital phase locked loop (DPLL) including a loop filter and software digital controlled oscillator (SDCO) to said sampled reference signal; generating said clock signal from a hardware digital controlled oscillator (HDCO) running at a clock rate f.sub.S, where f.sub.S=N*f.sub.samp; deriving a control input for said HDCO by passing an output of said loop filter through a first, first order linear interpolation anti-imaging filter running at a clock rate higher than said clock rate f.sub.samp; and passing the output of said loop filter through a second, first order linear interpolation anti-imaging filter running at said clock rate f.sub.samp to provide an input to said SDCO.
16. The method of claim 15, comprising incrementally adding fractions of a difference between a current sample and previous sample output of said loop filter to the previous sample output to provide inputs to said HDCO at said higher clock rate.
17. The method of claim 16, wherein said higher clock rate is said clock rate f.sub.S.
18. The method of claim 17, wherein said second, first order linear interpolation anti-imaging filter averages the previous and current sample outputs of the loop filter and multiplies the average by a scaling factor N.
19. The method of claim 18, wherein the difference between a current sample and previous sample output is divided by a scaling factor N and upsampled to provide an input to said first, first order linear interpolation anti-imaging filter.
20. The method of claim 16, wherein said first, first order linear interpolation anti-imaging filter includes an accumulator running at an intermediate rate f.sub.S1, which is intermediate between said clock rate f.sub.S and said clock rate f.sub.samp, and the output of said accumulator after being added to the difference between the current sample and previous sample is upsampled to said clock rate f.sub.s.
21. The method of claim 20, wherein f.sub.s/f.sub.s1=M, and N1=N/M, and N=f.sub.s/f.sub.samp, and said second, first order linear interpolation anti-imaging filter obtains the scaled average of the previous and current sample outputs of the loop filter and multiplies the average by M.
22. The method of claim 21, wherein said SCDO provides phase update inputs to said HDCO via a sample-hold register.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) This invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
(11) It will be appreciated that the present invention falls in the realm of digital signal processing, and there are a number of equivalent ways of representing the same processes and components. For example, as explained above, multiplying samples by N at one rate and then passing them through an SDCO at a given rate is equivalent to upsampling, passing the samples through the SDCO at a rate equal to N times the given rate, wherein N is normally an integer, and subsequently downsampling. The use of a particular representation is not intended to be limiting, and the invention covers all equivalent representations of a particular process or block diagram. Likewise, it will be appreciated that an operation illustrated as /2 followed by xN could equally well be performed in one step as xN/2.
(12)
(13) More effective anti-imaging can be achieved by modifying the design of the anti-imaging filters 30, 32. Whenever an anti-imaging filter is added in the high rate domain, the same type of filter must be added to the DPLL 10 in order to maintain synchronization between the HDCO 22 and the SDCO 18. If different types of filter are employed, synchronization will be lost. The problem is that the presence of the anti-image filter changes the behavior of the DPLL 10. A complicated and effective filter will tend to make the DPLL loop unstable. Also, since upsampling and downsampling are non-linear operations, they will also make the DPLL 10 behave in a non-linear fashion, as a result of which the DPLL can become uncontrollable.
(14) Furthermore, since the anti-image filter 30 runs at the high system clock rate, a complicated filter can be very costly to implement in hardware.
(15) However, if the anti-image filters 30, 32 are first order linear interpolation filters, the inventor has found that enhanced image reduction can be achieved without incurring the instability problems noted above.
(16) An embodiment implementing first order linear interpolation anti-imaging filters is shown in
(17) The current output sample f.sub.c of the loop filter 14 is applied to the input of unit delay memory 40 and to a first input of adder 42 whose second input receives the previous sample f.sub.p, from the unit delay memory 40. The output of the adder 42 f.sub.c+f.sub.p is divided by 2 in divider 44 to derive the average of the current sample f.sub.c and previous sample f.sub.p in averaging block 47, which outputs the average to multiplier-by-N 16, the averaging block 47 and multiplier-by-N thus acting as a first order linear filter 46. The averaging block 47 acts as a first order filter for reasons known in the art. The multiplier-by-N 16 acts as a zero order filter as explained above, and thus does not change the overall order of the combination of the averaging block 47 and multiplier-by-N 16, which together act as a first order filter.
(18) At the start of each low-rate clock cycle, the current output f.sub.c of the loop filter 14 is further applied to the plus input of adder 48 whose minus input is coupled to the output of the unit delay memory 40. The adder 48 outputs the difference f.sub.cf.sub.p between the current and previous samples. This difference f.sub.cf.sub.p is then divided by N in divider 50 to derive the value df before being loaded into sample-hold register 52 running at the high clock rate f.sub.s.
(19) The contents df=f.sub.cf.sub.p/N of the sample-hold register 52 are then output N times on each clock cycle of the higher clock rate f.sub.s and applied to the input of accumulator block 54 comprising adder 56 and unit delay memory 58. In particular, the value df is applied to a first input of adder 56. The contents of the unit delay memory 58 increment by df on each f.sub.s clock cycle up to f.sub.cf.sub.p, whereupon the unit delay memory 58 is reset at the start of the next clock cycle f.sub.samp. The output of the accumulator 54, presented by the output of the unit delay memory 58, is applied to a first input of adder 60 and to a second input of adder 56.
(20) The value of the previous sample f.sub.p is loaded into sample-hold register 62 running at the high rate f.sub.s at the start of each clock cycle at the low rate and applied to a second input of adder 60. As described above, the contents f.sub.p of sample-hold block are then output on each clock cycle at the high rate f.sub.s to the first input of adder 60, which produces an output that during each interrupt cycle at the rate f.sub.samp linearly increments from f.sub.p to f.sub.c. The block 64 comprising sample-hold register 52, accumulator 54, sample-hold register 62, and adder 60 constitutes a first order linear interpolation filter.
(21) As in the previous figure it will be appreciated that upsampling is performed by loading the values df, f.sub.p once for each low-rate clock cycle into the respective sample-hold registers 52, 62 and outputting them N times at the high rate.
(22) In the embodiment shown in
(23)
(24) When H.sub.l(Z.sup.1), which is the transfer function of the loop filter 14, is constant, i.e. a zero order filter, which is the case for normal filter without an integrating part, the transfer function of the DPLL 10 remains first order with one zero and one pole. However, if the loop filter 14 is a first order filter, i.e. it includes the I-part, the DPLL 10 becomes second order. In general, if the loop filter 14 is an nth order filter, the DPLL will be (n+1)th order DPLL, which is one order higher than the original DPLL in
(25)
(26) It will be observed in
(27) The required changes in hardware relative to the prior art are modest. At every interrupt pulse, the sample-hold registers 62, 52 provide the initial frequency f.sub.p and the increment df. The extra circuit cost for frequency interpolation is limited because df is a small fraction of the control frequency input to the HDCO 22 and only relatively modest accumulation hardware is required. The difference df has much smaller dynamic range than the current HDCO control frequency.
(28) The main cost in terms of hardware in the embodiment of
(29) In subsequent embodiments like components performing similar functions, but running at a different clock rate are indicated by like reference numerals with an added prime.
(30) In the embodiment shown in
(31) As in the previous example, the values df, f.sub.p are upsampled by outputting the values from the sample-hold registers 52, 62 on each clock cycle at the rate f.sub.S1.
(32) The output of the adder 60 is then loaded into the sample-hold register 66 and output to the HDCO 22 at the rate f.sub.s, which is equivalent to upsampling by a factor M, where M=f.sub.s/f.sub.s1. The block 67 forms a zero-order filter downstream of the first order linear filter 64.
(33) In the embodiment of
(34) In order to maintain synchronism between the HDCO 22 and the SDCO 18, the DPLL structure is changed. In this embodiment the output of the adder 42 f.sub.c+f.sub.p is multiplied by N.sub.1, where N1=N/M=f.sub.s1/f.sub.samp and added by adder 70 to the difference f.sub.cf.sub.p obtained in subtractor 80 before being divided by two and multiplied by M. If we notionally remove the adder 70, the circuit becomes a first order filter at rate N1 followed by a zero order filter at rate M The adder 70 is required to apply a small correction to maintain synchronism.
(35) Once again, there is no non-linear circuit in the DPLL loop and the frequency response will be very similar to the one in
(36)
(37) A still further embodiment with a minor change is shown in
(38) The DPLL behavior in
(39)
(40) The embodiment shown in
(41) Aspects of the invention may include the use of an anti-image filter in a DPLL clock synthesiser, the architecture for SDCO and HDCO synchronization with anti-image filter present, an anti-image filter that leads a stable DPLL design, and simplified hardware with an anti-image filter running at an intermediate low clock rate.
(42) It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. For example, a processor may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term processor should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. The functional blocks or modules illustrated herein may in practice be implemented in hardware or software running on a suitable processor.