I have a need for a RF signal generator, but I figured it would be a fun project to design a crude one myself. The main technical challenge I'm stuck on is how to filter out the harmonic content spewed out from the VCO (I'm looking for around -50dBC for the harmonic levels). For reference, I'm mainly working in in HF/VHF bands, roughly 10MHz to 300MHz. Since this is an educational project, I'd also like to keep the components for this project discrete instead of relying on purpose-built ICs. Along the same line... DDS is not allowed!

My concern is this: suppose I have a VCO that is capable of generating frequencies from 10MHz to 300MHz (don't worry about the implementation here). Let's say it is currently generating a 10MHz sine wave. To filter out the harmonics of this signal, I'd design a low pass filter with a cutoff frequency somewhere slightly above 10MHz. Now I want to output a 100MHz sine wave. The filter from before won't work -- I'd need another filter with a cutoff frequency slightly above 100MHz. Continuing with this logic, I'm envisioning a bank of filters, each with a different cutoff frequency that are switched in for their appropriate frequency range.

My question is: is there a better way to accomplish this goal of filtering out the harmonics without relying on a bunch of filters that need to be switched in?

If not, what would be the best mechanism to switch filters in? Ideally, I'd like the control to be electronic (along the lines of PIN diode switches, but would those be practical at these frequencies?).

  • \$\begingroup\$ With such a band spread you will need a tracking filter. Or switchable filters with some overlap. \$\endgroup\$ – user105652 Jul 13 '20 at 2:52
  • \$\begingroup\$ @Sparky256 An electronically controlled tracking filter would basically be my idea of switching filters in, right? Unless it's a digital filter, but I'm trying to avoid getting an IC for this project. I've also read about switched capacitors filters, but I don't know much about them. \$\endgroup\$ – LetterSized Jul 13 '20 at 2:54
  • \$\begingroup\$ Switched capacitors are for use under 10 KHZ mostly. Are these stepped frequencies or infinite points between 10 MHZ and 100 MHZ? Your band-pass filters will need to work the same way. Manually setting the filter will greatly lower the cost. Do you have a good spectrum analyzer and/or oscilloscope? \$\endgroup\$ – user105652 Jul 13 '20 at 3:01
  • 1
    \$\begingroup\$ On the other hand if you’re doing the VCO all analog, you probably already are switching between several actual VCOs, so you can just place the filters so they’ll be switched along with the VCOs. \$\endgroup\$ – The Photon Jul 13 '20 at 3:04
  • 1
    \$\begingroup\$ If you can insure each filter output is 50 ohm or 75 ohm then you can buy off-the-shelf rotary RF switches. 75 ohm stuff is much cheaper than 50 ohms. These switches seldom have more than 8 inputs. These switches isolate better than board-mounted RF relays which can be expensive. Can you work this out as a spreadsheet or list of items per frequency band? (VCO + filter + 75 ohm switch port) \$\endgroup\$ – user105652 Jul 13 '20 at 4:13

This is exactly the sort of problem faced by manufacturers of general purpose signal generators in the 10 MHz to 1 GHz sort of range. What they tend to do is use a top octave VCO/synth, and then use a bunch of divide by 2 ICs to get the lower octaves. While this means a strong 3rd harmonic, with a good balanced output on the divide by 2, the even harmonics can be very well suppressed (better than -40dBc).

If you did elect for selectable VCOs all the way down, then you could expect better 3rds, but you probably would not get better 2nds than with dividers.

The following solution may look big, but it has a number of significant advantages, especially for your requirement of a discrete project. It is cheap, all the components are readily available. It works well, is market tested, and there is flexibility to improve its performance. All the filters can use an identical layout, so you just design one, and then use copy/paste for the rest.

The filters are half octave. Each filter string uses just one 'good' filter, good in this context meaning with a well controlled stopband, filtering out harmonics for many decades. The string then has several switchable filters which only need to have a good stopband for an octave or so, until the good filter takes control of the stopband. In this way, we can effectively control the passband corner frequency with very few, cheap, components, well short of a good filter.

The alternative to these series switched filters would be parallel switched, perhaps selected by RF CMOS switches from the likes of psemi.com or minicircuits. However, then all filters would need a good stopband, raising their complexity.


simulate this circuit – Schematic created using CircuitLab

The switchable filters are controlled by the current direction. The bias resistors source about 10 mA with no significant RF loading. You select which filter string, and which components of the filter string, by driving one of the pull-downs, with an LS145, or LM339, or ULN2803.

What's C11 doing there? It works both with the string off, and on. When off, it adds extra attenuation to the residual Coff of the BA682 switching diodes (BA482 if you want leaded). When the string is on, it tunes out their residual series inductance into a low pass filter.

These are the individual switchable filters.


simulate this circuit

When current flows left, the filter is shorted, with the residual inductance of D3 being tuned out by the residual capacitance of D1 and D2 into a low pass filter. When it flows right, the filter is in circuit. The residual capacitance of D3 makes the filter come back at high frequency, but that's stopped by the good lowpass filter.

The filter implements two stopband zeroes. There are no ready methods of designing a filter like that, so it's easier to start with a 3rd order lowpass of L1, C2, C3, with L3 and L4 set to zero. C1 breaks the DC continuity across the filter. Now, in practice, D1, D2, C2, and C3 will have some residual series inductance, so you get a sniff of L3 and L4 anyway. The zeros they create turn up in the stopband, and the stopband return beyond them would be a problem in a normal filter, but they are clobbered by the good filter at the right of the string. We increase L3 and L4 with some explicit inductance to move those zeros down closer to the passband where they will do more good. A good way to keep the prototype 3rd order lowpass shape reasonably constant as these zeroes move about is to keep the capacitive impedance of the series LC equal to that of the design C at the filter corner frequency. This means increasing the C over the original design C, it's then reduced by the inductance.

It would be worth mentioning the alternative mix-down architecture, which has different tradeoffs, so may suit your specifications better. Consider a sub-octave high frequency VCO/synth like 700 MHz to 1 GHz, and a fixed 1 GHz signal. Through mixing, you would get DC to 300 MHz in a single band. With a good mixer, and a good fixed filter on the signal input to the mixer, you would expect a very harmonically clean lowpass filtered output. One disadvantage is a poorer SNR, due to the low signal at the mixer needed to keep higher order mixing products down, and a poor SFDR due to those residual higher order products. Phase noise can be higher as well for simple synthesiser schemes, you need a more sophisticated synthesiser architecture to get good phase noise, especially at lower output frequencies. However, you get the simplicity of a single wide-band output in a single range.

  • \$\begingroup\$ Thank you for the thoughtful and insightful answer! I have a question regarding the filter diagram you provided. Wouldn't the series C1 and L1 produce some form a bandpass filter, not a lowpass filter? For an elliptical filter, I believe they should be in parallel. And doing so would likely force you to rethink the diode switch arrangement slightly. \$\endgroup\$ – LetterSized Jul 14 '20 at 3:08
  • \$\begingroup\$ Also I just did some experimenting with those elliptic filters, testing different values of L3 and L4. While I haven't gotten around to writing out the transfer function (maybe I should!), it seems that increasing L3 and L4 doesn't really help improve the insertion loss at the 2nd (maybe 3rd) harmonic. Rather past a certain point, it just starts increasing loss in the passband. I think more analysis is required than just plugging in numbers, but do you have any thoughts on choosing proper values for those inductors? \$\endgroup\$ – LetterSized Jul 14 '20 at 3:51
  • \$\begingroup\$ @LetterSized Well done on spotting my deliberate mistake. I've updated the text. Much of the attenuation work is done by the zeroes, you get two per half-octave, as well as the lowpass L1. \$\endgroup\$ – Neil_UK Jul 14 '20 at 5:32
  • \$\begingroup\$ "several switchable filters which only need to have a good stopband" means use a stripboard (or PCB), lineal layout, keep leads short, shield your inductors, watch your parasitic resonance. \$\endgroup\$ – P2000 Jul 14 '20 at 19:02

The HP3326 synthesizer was a delight.

I included the schematic of that VCO, in this answer

Crystal oscillator application

Tuned DC -- 13MHz, in 0.1Hertz steps. I recall tuning it to 3.578 MHz Chroma Carrier, to cause a slow phase rotation, and thus color rotation, in a composite_video experiment.

But the frequency_scheme (signal flow) was this:

  • oscillator tuning 20Mhz to 33MHz. The narrow tuning range allowed high_Q tank and thus lots of harmonic_suppression. The VCO has very defined input DC power, and well defined Power LOSS, thus the internal oscillation AMPLITUDE is very controlled, and there is no clipping so no overt distortion.

  • 20MHz fixed_tune oscillator

  • mixer with lots of double_balanced harmonic_cancellation

  • filter on the Mixer output was just DC__to 13MHz LC lowpass FIXED, not tracking.

Key? the low harmonic_distortion VCO (is a emitter_coupled oscillator, with emitter current set by a resistor, to pin down the maximum power available; also a fixed LOSS element in the extract_signal_for_PLL;

  • the VCO's fixed emitter current and fixed loss element are key for setting the VCO oscillation amplitude, without any clipping


Most oscillators (just about every VCO and every XTAL oscillator) I have seen do NOT control the amplitude of the oscillation; the circuits depend on HARD or on SOFT limiting; whenever limiting is used, harmonics will be generated.

The HP3326 circuit provides a FIXED input power thru the shared emitter resistor.

And the circuit has a well defined LOSS of energy in the circulating current, with currents into that common_base transistor. But this LOSS is not linear; the LOSS is P = V^2 /R.

So far as references, I do not find any. But the old "HP Journal" was the source for my initial appreciation of the circuit, many decades ago.


Notice this is a big change to your topology.

You need a narrow_range VCO (phase_locked to some crystal reference). Say the range is 500 to 800MHz.

You need a clean fixed frequency oscillator at 500MHz.

You need a good double_balanced mixer, so the RF (500 to 800) is mixed with the LO (500MHz) and the input energy (RF and LO) are nearly perfectly cancelled.

And you need a LOW PASS FILTER DC--300MHz.


How does that oscillator work?

  • There is a positive_feedback path. The circuit uses a differential pair, one base grounded, the other base fed from the opposite collector, which is positive feedback.

  • There is a closed path for the circulating resonant current. The arrows show that path, both the highcurrent path straight to Ground and the smaller current into the "load resistor" which serves as energy_absorber and thus defines the steady_state amplitude.

  • Most of the resonant current flows in L1/C4/C1 loop. There are NO LOSSES in this loop. The inductor/C4 node is in parallel with the output impedance of the 2N5179 (a 1,500MHz Ftau bipolar with 1 pF Cob and, depending on which manufacturer you select, quite a good Early Voltage).You want to choose a high quality VDD bypass capacitor, because almost ALL the circulating current flows thru that capacitor; and you want that capacitor to not be microphonic, or mechanical tapping will upset the VCO operation and show up as timing jitter (residual Frequency Modulation).

  • The 2N5179 has 4.5 dB Noise figure in a 50 ohm system. If was 3dB, then the internal Rnoise of the 2N5179 would be 50 ohms. If was 200 ohms, then the noise voltage would be 2x higher and the Noise Figure would be 6dB worse at 9dB.

  • In the plot for reverse transfer admittance, let us find the reactive and the real parts. The real part is 0.1 milliMhos, or 10Kohms. Thus our R_early at 1.5mA is 10Kohms. We can use that ---- 10Kohms ---- as the parallel LOSSY element.

  • \$\begingroup\$ I'll be honest, I'm not following the schematic you sent in that link. Are you saying that the the HP 3326 oscillator manages to have very high linearity even without a filter? I'm not sure how the amplitude is controlled in that circuit...and what the point of the diff pair is. Could you offer further explanation or provide some form of reference? Thanks! \$\endgroup\$ – LetterSized Jul 13 '20 at 5:43

A relatively simple approach is a high Q L-C circuit tuned to the oscillator frequency, passing the fundamental but attenuating harmonics.

Varicap diodes are (or, used to be) available with nearly 10:1 capacitance range up to a few hundred pF. That would give a tuning range of about 3:1. Then you would need to switch in 3 different inductors with relative values 100:10:1 to cover your 10:300MHz range.

(4 or 5 coils and a smaller capacitance range may be more viable if you can't find such wide range varicaps)

The control voltage law for the varicaps is non-linear, but doesn't have to track the oscillator perfectly (if you are allowed a dB or so of amplitude variation). It and the coil switching would be easy in a digitally controlled system - you could automatically trim the filter for maximum fundamental amplitude. (This would typically have been done by hand in an older generation of tool).


While not applicable to the specific question of a RF generator as hobby project, I believe a lot of wideband PLL ICs solve this by simply having dozens of different VCOs (or at least separate tanks) each with a different narrow tuning range. Digital switches are cheap, and it is easier to just add in a high-quality fixed capacitor and do fine trimming with variable capacitors, instead of having to do the entire range (sometimes many tens of GHz) with a single set of tunable capacitors.

EG, the ADF4356 VCO has 4 separate VCOs, each with a large number of separate tanks, in order to give a total of 256 separate bands to work in. Each band (or at least set of bands) can be accompanied with its own filter for getting rid of harmonics. This way the VCO itself has a range from 3400 MHz to 6800 MHz. Lower bands are divided down (they use the high bands and divide instead of lower bands and multiplying because it's a lot easier to make a 3.4 GHz on-chip oscillator than it is to make a 100 MHz one). I imagine (some) other ADI PLL products re-use that same VCO core.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.