A Real-Time Spectrum Surveillance Utility for the HP 8560, HP 8590, HP 70000, and Tek 490 Analyzers

SSM.EXE is a graphical Win32 program that lets you acquire a succession of spectrum-analyzer display traces over time, with the option to save and replay the acquired data.

Applications include long-term stability testing, RF interference and link-quality surveys, weak-signal communications, and signal intelligence/TSCM work.

You can download a sample .SSM recording file here (10 MB). The image at right was created by scrolling through this recording with the "Display->Accumulate maximum" and "Display->802.11 WLAN channel boundaries" options enabled.

The current version of SSM supports all members of the Tektronix 490P/2750P spectrum analyzer families, the HP 8566/8567/8568 A/B-series analyzers, the HP 8569B, and all HP 8560/8590/70000-series instruments. All National Instruments GPIB adapters are supported, as well as Prologix USB-GPIB adapters (version 3.1 or later).

SSM.EXE is part of the KE5FX GPIB Toolkit. The latest version of the Toolkit is downloadable here.

Running SSM

Depending on the options you selected during installation, you can run SSM.EXE from the Start menu, by clicking on its desktop shortcut, or by using its Quick Launch icon on the taskbar.

You can also run SSM.EXE from a DOS-box command line or Windows Start->Run... command, optionally specifying a GPIB address from which to acquire data, or the name of an existing .SSM file. Use quotes around filenames that contain spaces. Here are a few command-line examples that assume the analyzer's GPIB address is 18:

	SSM "synth test.ssm"          ... Load synth test.ssm for playback
	SSM 18                        ... Begin acquiring data from analyzer at GPIB address 18
	SSM 18 -a                     ... Special option required for use with HP8566A-HP8568A models
	SSM 18 -b                     ... Special option required for use with HP8569B
	SSM 18 -f                     ... Use low-resolution acquisition for faster sweeps (if supported)
	SSM 18 -F                     ... Run in fullscreen mode
	SSM 18 -m                     ... Enable max-hold in X/Y display
	SSM 18 -M                     ... Enable max-accumulation trace in X/Y display
	SSM 18 -n320                  ... Record 320 spectral bins per sweep (instead of 640-bin default)
	SSM 18 -t                     ... Disable GPIB timeout checking during long sweeps
	SSM 18 -w                     ... Display WiFi channel boundaries in sweeps containing 2.4 GHz spectrum
	SSM 18 -a -f                  ... Example using multiple options
	SSM (no filename or address)  ... Open the application in offline mode

Menu Commands and Keyboard Shortcuts

Key               Menu Command                                 Remarks

s File->Save current acquisition to file Saves all recorded data since the beginning of the acquisition session to an .SSM file l File->Play recorded data from file Loads an .SSM file and enables the navigation controls (During playback of a saved .SSM file, you can also use the up/down arrows, Page Up/Page Down keys, and Home/End keys to scroll the display.) File->Load default palette Reloads the default color palette, abandoning any changes made File->Save default palette Saves the current palette as the default color palette Esc File->Quit Points->4 These options adjust the number of visible trace "bins" Points->16 acquired from the spectrum analyzer. In reality, Points->64 the analyzer's trace width is device-dependent, and Points->128 will rarely match any of these options. SSM will resample Points->320 the physical trace points to the specified number of Points->640 output bins using the selected resampling algorithm below. Points->Select minimum When the number of data points available from the analyzer Points->Select maximum trace is not the same as the number of bins selected above, Points->Select average these options determine how multiple adjacent trace points Points->Point-sample contribute to each visible bin. The Min/max/avg options are Points->Cubic spline meaningful only when the trace width is greater than the selected number of points. Most applications should use the more-general trace reconstruction option (Cubic spline). Style->Connected lines These options control the appearance of the X-Y graph Style->Dots at the bottom of the display. Style->Bars Display->Accumulate minimum These options enable and disable various accumulation traces M Display->Accumulate maximum that can be rendered on the X-Y graph. They have no effect Display->Accumulate average on the data sent to the rising-raster display. m Display->X/Y max hold Toggles the max-hold feature on the X-Y graph, clearing any accumulated data. Has no effect on data sent to the rising-raster display. Display->Smooth waterfall colors Enables or disables color interpolation on the rising-raster graph for amplitude values that fall between palette levels. Small changes in signal levels may not be visible unless this option is enabled. Display->Graticule X Toggles graticule lines on the X-Y graph Display->Graticule Y w Display->802.11 WLAN channel boundaries Toggles vertical frequency masks at channels 1, 6, and 11 in the 2.4-GHz WiFi band Display->Show frame rate Toggles frames-per-second display Alt-Enter Display->Toggle fullscreen mode Switches between fullscreen and window mode. Fullscreen mode may be faster on some PCs, but the menu bar at top will not be visible unless the mouse cursor is moved to the top of the screen. Fullscreen mode is not recommended if you use a software mouse cursor. Space Acquire->Stop/restart acquisition This command causes SSM to toggle its GPIB connection to the spectrum analyzer, allowing you to control the analyzer from its front panel. If no GPIB connection has been established by use of the Acquire options below, an internally-simulated test signal will be rendered. Acquire->Acquire data from supported device These commands cause SSM to look for a supported spectrum analyzer at the specified GPIB address and begin acquiring data from it. Current supported models include the HP 8566/8567/8568; 8560-, 8590-, and 70000-series; and Tektronix 490P- and 2750P-series instruments. Acquire->HP 8566A/8567A/8568A mode This option MUST be selected prior to your first attempt to connect to an HP 8566A, 8567A, or 8568A spectrum analyzer. (Alternatively, the -a option may be used on the SSM.EXE command line.) This is necessary because these analyzers cannot be identified automatically by SSM.EXE, and because their GPIB implementations are significantly different from the later B-series models. Acquire->HP 8569B mode This option MUST be selected prior to your first attempt to connect to an HP 8569B spectrum analyzer. (Alternatively, the -b option may be used on the SSM.EXE command line.) Acquire->Acquire at maximum available resolution This option can be deselected to improve acquisition speed slightly on some instruments by reducing the number of data points per sweep. It's enabled by default unless you use the -f (fast acquisition) option on the SSM.EXE command line.

Keyboard-Only Controls

A/Z               Adjusts the border between X/Y and rising-raster display.  Usable only when not acquiring data.

G/H               Save your CRT! During acquisition from the HP 8566/8567/8568 analyzers, you can turn the 
                  analyzer's CRT power supply off and on at any time by pressing the uppercase G and H keys, 
                  respectively.  These keys correspond to the Shift-G and Shift-H commands available via the 
                  85662A display's front panel.  

                  HP analyzer CRTs tend to age by cathode poisoning.  Turning down the Intensity control during 
                  unattended operation will prevent phosphor burn-in, but it will not necessarily extend the useful 
                  life of your CRT!  The G/H commands will.

Up/down arrows    Scroll the rising-raster display up or down one row at a time when playing back a recording.
PgUp / PgDn       Scroll the rising-raster display up or down several rows at a time.
Home / End        Scroll to the beginning or end of the recorded data.

Threshold Cursor Controls

You can drag the purple horizontal-line cursors in the X/Y display to establish threshold values that will exclude data from being passed to the rising-raster display. When the solid cursor is above the broken cursor, values that are below the solid line and above the broken line will be recorded. Otherwise, if the solid cursor is below the broken cursor, values that fall between the two cursors will be excluded. This feature can be helpful when you need to identify amplitude values that fall either outside, or within, certain limits.

It's easier to adjust the cursors if you pause data acquisition (Space bar or Acquire->Stop/restart) first.

Editing the Color Palette

When you left-click any of the color palette blocks next to the rising-raster display, a color-selection dialog box will appear. Any changes you make to the selected color will be copied to the palette block entry.

Normally, you'll use this feature to assign colors to the maximum and minimum amplitudes in a particular range of interest, then create a "gradient" in the palette by left-clicking the entry at one end of the desired range and dragging the mouse cursor to the other before releasing the left button. When you do this, SSM will automatically fill the intervening palette entries with linearly-interpolated color values. You can spread out all of the colors in the palette this way, or create separate gradients between as many color pairs as you like.

Changes to the palette will be saved with any current or future recording made in the session. You can also select File->Save default palette to write your changes to the default SSM palette file, or use File->Load default palette to roll back any changes you've made.

As with other mouse-oriented controls, it's much easier to edit palette colors and gradients if you pause the data-acquisition process first.


The program directory should also contain a file called SERIAL.INI, which specifies the (real or virtual) RS-232 COM port settings for use with a serial GPIB adapter such as Prologix GPIB-USB boards. To use PN with a Prologix adapter, the adapter version must be 3.1 or later, and it must be configured for GPIB Controller mode. Review the comments in SERIAL.INI to learn how to configure PN and the other GPIB Toolkit applications for use with your Prologix or other serial controller. (For more information on the Prologix GPIB-USB board, you can email Prologix here.)

If the COM port specification in SERIAL.INI is commented out with a leading semicolon -- or if SERIAL.INI is missing entirely -- all KE5FX GPIB Toolkit applications will attempt to use the National Instruments NI488.2 programming interface instead. This is the default configuration for most installations.

Note that some versions of Windows hide .INI file suffixes by default. In Windows 2000 and XP, for instance, SERIAL.INI may appear simply as "SERIAL," with the type "Configuration Settings." To turn off this behavior, go to the Tools->Folder Options->View tab in any Explorer window and deselect the "Hide file extensions for known file types" option.

Instrument Configuration Notes

The default GPIB address for many of the HP analyzers supported by SSM.EXE is 18.

Note that if you are using a Tektronix 490P/2750P analyzer, you must set the rear-panel LF-or-EOI switch to '1' for use with SSM.EXE. You may also need to disable the "Acquire->Acquire at maximum available resolution" feature (or use the -f command-line option) for compatibility with older Tektronix 492P/496P models.

If your analyzer is an HP 8566A, 8567A, or 8568A, you must select the "Acquire->HP 8566A/8567A/8568A mode" menu option before trying to connect to the instrument. Similarly, the "Acquire->HP 8569B mode" menu option enables support for the HP 8569B. If you want to place the GPIB address on the command line when using these analyzer models, you'll need to use the equivalent -a or -b option (e.g., c:\>ssm 18 -a.)

Release Notes

Release 1.00 of 13-Dec-05

Release 1.01 of 28-Dec-05

Release 1.02 of 3-Jan-06 Release 1.03 of 8-Jan-06 Release 1.04 of 14-Jan-06 Release 1.05 of 18-Apr-06 Release 1.06 of 3-May-06 Release 1.07 of 28-May-06 Release 1.10 of 3-Jun-06 Release 1.11 of 18-Jun-06 Release 1.12 of 6-Jul-06 Release 1.13 of 10-Jul-06 Release 1.14 of 24-Aug-06

Acknowledgements and Additional Notes

The assistance (and patience) of Dave Robinson, WW2R is gratefully acknowledged.

Released into the public domain 13-Dec-05 by John Miles, KE5FX.
Please contact [email protected] with feedback and enhancements!

Code compilable with any version of MSVC from VS6 to VS2005.NET, including the free Microsoft Visual Studio Express package
No warranties, expressed or implied, are offered with this program.
Use at your own risk!