Homebrew spectrum analyser

Back to projects

I decided to try my hand at building a spectrum analyser after seeing the design by Roger Blackwell, G4PMK, in the Radio Communication Handbook5. I had to adapt the design because I couldn't get the Motorola MC 3356 IC he used. This is an account of what I came up with, how it performed and how it could be improved.


Fig 1

Figure 1 is a block diagram of the analyser. It's a dual conversion superhet. Input signals in the range DC to 50 MHz are up converted to a first IF of 170 MHz where they are amplified and filtered before being down converted to a second IF of 10.7 MHz. The first IF was chosen to suit a helical filter I had in stock. There's no reason why another frequency (e.g. 145 MHz) couldn't be used instead.

The crystal filter determines the resolution bandwidth. The helical filter has a bandwidth of 2MHz and serves only to remove spurious responses. Without it there are spurs at 26.45, 31.8, 38.833, 45.967 and 63.6 MHz where VCO harmonics fall exactly 10.7 MHz above or below harmonics of the second local oscillator. The 31.8 MHz response is generated via an amazing intermediate frequency of 4 * (170 + 31.8) = 10.7 + 5 * 159.3 = 807.2 MHz showing what the NE602 mixer is capable of.

The prototype was constructed as 6 modules:

Why so many? The design was experimental. I didn't know how much gain would be needed to raise the VCO output to the required level until I'd built and tested it; and I didn't want to put too much on one board in case something went wrong! Each module was tested separately. I built two versions of the second IF to try different crystal filters.

The VCO is a varicap-controlled FET LC oscillator with an emitter-follower buffer. The amplifier is a pair of cascaded MSA-0404 MMICs. I'm not going to describe these two modules in greater detail because I recommend using a commercial VCO such as the Mini-Circuits POS-300 instead. This can be mounted adjacent to the first mixer. Its compactness, frequency span and linearity are unbeatable.

I won't describe the second local oscillator either except to say it was a 5th overtone butler circuit using a made to order 159.3 MHz crystal. Next time, I'll use the NE602 internal oscillator, which, according to a Philips application note3, is reliable up to the 7th overtone. It isn't the best mixer at 170 MHz, it's noisy and the input match is tricky from 50 ohms, but it's simple. You could even use a LC oscillator.

See addendum for missing oscillator schematics.

Components & Construction

Ground plane construction was used for all RF circuitry. The front-end was built on double-sided copper clad board. Single sided board was used for the other RF modules. SMA connectors and mini coax were used to route signals between the boards.

Drilling templates were marked out on 0.1" graph paper. These could be done on a computer but one-offs are quicker by hand. I just pushed the legs of the helical filter through the paper. The boards were drilled with a craft drill. Copper was cleared around the holes using a Vero tool. Heat breaks were scored with a scalpel to make soldering to the top easier.

Regarding sourcing of components, the DIP16 packaged NE604 has been discontinued; but the pin-compatible SA614AN is a superior alternative. I find Barend Hendriksen1 in Holland a very useful source for specialist RF components. I recommend Sycom2 in the UK. SMA bits can often be picked up cheaply at rallies.

Sweep Generator

The sweep generator schematic is shown in figure 2. 555 timer U1 controls the sweep rate. VR1 sets the speed. Integrator U2 generates the ramp. VR2 sets the sweep width. VR3 and VR4 set the display centre frequency. A 10-turn pot could be used instead, but large frequency changes are faster with separate coarse and fine controls.

Fig 2

The sweep output on U4 pin 6 is directly connected to the VCO control input. The oscilloscope is triggered using the flyback pulses on U1 pin 3. Spectrum analyser circuits usually show the 'scope's X input driven by a ramp but my 'scope doesn't have an X input!

Smoothing on U5 pin 3 is essential for a sharp, steady display when zooming in. C2, 3 and 4 are 270nF metallised polyester film capacitors. I used three parallel capacitors because I had no higher value non-polarised types to hand. Integrator capacitor C1 is a polyester layer type. Electrolytics are suitable for power supply decoupling here. A ceramic disc decouples pin 5 of U1.

The sweep generator was built on 0.1" perforated board using Molex for external connections. The layout is illustrated in figures 3. The circuitry around U1 and U2 is from Roger Blackwell's design5.

Fig 3a Fig 3b

The 741 is adequate in this application except for its limited output swing. A rail to rail output would be better. The 12V rail itself is a limitation; some varicap diodes need up to 30V. The POS-300 VCO mentioned earlier requires a 1 to 16V control voltage.


The front-end schematic is shown in figure 4. L1 is 2 turns of 26swg enameled copper wire on a ferrite bead. The helical filter, a Toko 272MT-1007A, was purchased from Barend Hendriksen1.

Fig 4

The IF and RF ports of the SBL-1 mixer are reversed in this application. The analyser input is fed to pins 3 and 4 because they are DC-coupled to the diode ring. This enables very low input frequencies to be up-converted to the first IF. The transformer-coupled ports don't work down to DC. A low pass filter is required at the input.

For optimum balance, the SBL-1 requires a 50-ohm broadband resistive termination on all ports. The 4dB attenuator at the output was an attempt to provide this. A 2.5dB pad was used on the VCO input. The SBL-1 requires +7 dBm of LO drive and the output of my VCO amplifier is +9.5 dBm. The POS-300 output level is +10 dBm so a 3dB pad would be required if that were used.

The MMIC provides 20dB of gain to compensate for insertion losses: the signal suffers 6dB through the mixer, 4dB through the attenuator and 9dB through the filter. I placed the gain before the filter to improve overall sensitivity. Conveniently, the MMIC is powered through the filter. Resistor R-BIAS sets the current at 45mA. Unfortunately, the MMIC doesn't see a broadband match. A better solution might be to place the attenuator after the MMIC or to use a diplexer.

Fig 5a Fig 5b

The front-end was built on double-sided copper clad board. The layout and construction are illustrated in figure 5. The MAR-6 was surface mounted by burring out a shallow recess with a sanding bit. Underneath, unwanted copper was removed by peeling it up whilst simultaneously applying heat.

IF Strip

Figure 6 shows the second mixer, crystal filter and logarithmic amplifier, which comprise the second IF. The NE60x devices were originally developed for analogue cellular 'phones. Although still popular with amateur constructors, regrettably, both are now obsolete although the NE602 (NE612, SA602 are equivalents) is still readily available. The NE602 contains a RF amplifier, oscillator transistor and balanced mixer. The NE604 is an IF amplifier and FM demodulator.


RF choke 4.7H


Toko S18 series WHITE 1.5 turns 0.040H with ferrite slug


5 turns 26swg enameled copper wire on ferrite bead


Toko KACSK3894A

Fig 6

I adjusted the input matching circuit by connecting a terminated 'scope to the input whilst injecting a signal into L2 using a GDO. The NE602 input impedance at pin 1 is 1K5. The optimum oscillator drive level into pin 6 is 200mV peak-to-peak i.e. −10dBm across R1. The 1K5 termination impedance of the 10M15A crystal filter is compatible with the single-ended output impedance of the NE602.

The matching of the crystal filter to the NE604 via T1, and the purpose of resistors R2 and R3 require explanation. The NE604 has over 100dB of gain. To ensure stability, the manufacturer's data sheet recommends the use of external shunt resistors. The 1K6 input resistance at pin 16 is shunted by R2. The filter sees 1660 ohms across half the primary of T1, which has a turns ratio of 7+7 to 4. The 82p capacitor is integral to the Toko coil.

No attempt is made to match the 1K output impedance of the first IF amplifier at pin 14 to the 330 ohm termination impedance of the ceramic filter, however, the 1K6 input impedance of the limiter at pin 12 in parallel with R3 correctly terminates the filter output. R3 also aids stability. A 12dB insertion loss is required between pins 12 and 14 for maximum RSSI linearity. This was not achieved.

Good power supply decoupling is essential with so much gain. Monolithic ceramics were used throughout. An RSSI output greater than 250mV with no input signal is an indication of unwanted oscillation. Pleasingly, it was well below 200mV on the prototype. Fortunately, a quadrature coil is not required in this application, as the audio output is not used. This probably helps to reduce feedback.

Fig 7a Fig 7b

The IF strip was built on single sided copper clad board with the copper acting as a ground plane. Figure 7 illustrates the layout and construction method. A few components, including R3, are mounted underneath the board.

A second strip was built to try the 10F15D 8-pole filter. To match this filter's 3K-termination impedance, a 1K5 resistor was inserted in series with the filter input, and the value of R2 was increased to 2K7.

Performance / Results

The spectrum analyser is fun to play with! Activity in the HF spectrum can be seen using a short antenna. I've also connected the analyser to the panoramic adapter output of a RACAL RA1217 Receiver. It's sometimes possible to simultaneously see and hear individual CW signals. Without an antenna, I can see the base and handset carriers of my cordless telephone at 31 and 40 MHz; and I can see my neighbour's wireless baby alarm at 49 MHz.

Signals down to 1V e.m.f (−113dBm) are visible above the noise lawn. The RSSI is fairly logarithmic up to −30dBm where it limits. The dynamic range is about 80dB. Inputs above −20dBm increase the noise level across the band except near the carrier. Could it be the MAR-6 only sees a 50-ohm load in this quiet zone? Figure 8(a) shows a −10dBm signal at 4 MHz per division.

aFig. 8(a) Overload bFig. 8(b) -85dBm Carrier cFig. 8(c) FM
dFig. 8(d) 2-pole filter eFig. 8(e) 8-pole filter fFig. 8(f) Square wave

Figure 8(b) shows an un-modulated −85dBm carrier at 50 KHz per division using the 2-pole filter. The display is very stable. Figure 8(c) shows a FM signal with a deviation of 50 KHz modulated by a 1 KHz sine wave. Varying the deviation, modulating frequency and sweep rate produces interesting effects!

The analyser can curve trace its own crystal filter. Figure 8(d) is the response of the 2-pole 10M15A at approximately 50 KHz per division; the second peak is 34dB below the top. Figure 8(e) is the narrower, steeper sided passband of the 8-pole 10F15D at 20 KHz per division. Passband ripple is visible. The character of these filters is not ideal for a spectrum analyser! They were designed for FM communications.

Figure 8(f) shows a comb of markers produced by a 1 MHz TTL crystal oscillator. The span was 0.5 to 13.5 MHz. Note the level of the first few even harmonics relative to the other peaks. A perfect square wave is composed of only odd harmonics.

Further reading

There are many interesting articles about spectrum analysers on the Internet. Remember to search for both the English and American spellings of the word analyser! I recommend the following: -


Spectrum analyser links



An interesting analyser design from QST4   Update1 Update2


Photos of homebrew analysers!


A sophisticated 500 MHz design by JG1AED


1GHz spectrum analyser and more links


Synthesized GHz analyzer by Scotty Sprowls


100MHz Spectrum Analyzer using SA605; by Iulian Rosu, va3iul/yo3dac


  1. Barend Hendriksen http://www.xs4all.nl/~barendh
  2. Sycom: 01372 372587
  3. Philips application note AN1983 "Crystal oscillators and frequency multipliers using the NE602 and NE5212"
  4. Wes Hayward, W7ZOI, and Terry White, K7TAU, "A Spectrum Analyzer for the Radio Amateur," QST, August and September of 1998
  5. Roger Blackwell, "Simple Spectrum Analyser" (SSA), Radio Communication Handbook, 6th Edition, RSGB.

This article was first published in Practical Wireless, May 2003. Copyright is retained by the author.

JABDOG is the best source in the UK for obsolete Toko components.


The following diagrams were not included in the original article.

159.3 MHz Butler XCO

Butler XCO schematic

170 - 220 MHz VCO

VCO schematic

The 1.3 to 1 frequency range of this circuit was dissappointing. I haven't attempted to optimise the component values and wouldn't recommend the circuit be copied as is. It was just a quick lash-up to get the analyser working.

It should be possible to achieve a 2 to 1 range i.e. 170 to 340 MHz enabling the analyser to display inputs right up to its IF. I recently constructed a UHF colpitts oscillator using a bipolar transistor in the common base configuration which easily exceeded this.

UHF Oscillator schematic

This circuit was built to try out a bag of 1 GHz transistors I picked up cheaply at a rally not realising they were PNP! It should work equally well with NPN!

Over the full adjustment range of trimmer VC1, it covered 210 to 550 MHz. To make a VCO, a varicap can be added in parallel with a smaller trimmer. The output level was about 0dBm (1mW).

I used a split supply to be sure the base was well grounded and to control the operating point using my bench supply. For single supply operation, I would bias the base using a preset. The base needs to be well de-coupled.

UHF Oscillator

The colpitts feedback capacitors are mounted under the board.