A User-Friendly Phase-Noise Measurement Utility for the HP 8560, HP 8590, HP 70000, and Tek 490 Spectrum Analyzers

PN.EXE is a graphical Win32 application that lets you acquire, display, overlay, caption, and print noise plot (.PNP) files. It offers many of the capabilities provided by Agilentís 85671A phase-noise measurement package. Unlike the Agilent software, PN will work with many older spectrum analyzers.

PN is able to support the ďclassicĒ models like the HP 8566 because it runs on a GPIB-connected host PC, rather than the analyzer's own internal processor. Even when running on a $83,000 HP 8565EC, the Agilent noise-measurement software canít take advantage of the control, display, and connectivity options available on a modern PC.

Although PN is very easy to use, the art of making valid, repeatable noise measurements demands an understanding of the limitations of the instruments and processes involved. HP application note AN 270-2 is strongly recommended to users who are new to PN and phase-noise measurement in general. Don't be put off by its focus on a particular analyzer -- this is the best app note on the subject that I've seen.

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

Running PN

Depending on the options you selected during installation, you can run PN.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 PN.EXE from a DOS-box command line or Windows Start->Run... command, optionally specifying the filenames of one or more existing .PNP files. Use quotes around filenames that contain spaces -- for example,

      PN "synth test.pnp"          ... Display "synth test.pnp" by itself
      PN before.pnp after.pnp      ... Overlay before.pnp and after.pnp
      PN (no command-line options) ... Display the first five .PNP files from the working directory

Menu Commands and Keyboard Shortcuts

Note that many of the menu commands in PN have equivalent keyboard shortcuts, useful on crowded lab benches that donít have room for a mouse.

Key               Menu Command                          Remarks

l File->Load PNP data... Load and display a new .PNP file s File->Save image or PNP data... Save a .GIF, .TGA, .BMP, or .PCX, or a copy of the displayed .PNP file p File->Print image Sends the current display to the default Windows printer Delete File->Close current plot Remove current .PNP file from display list, without deleting it Ctrl-Delete File->Delete current .PNP file Remove current .PNP file from display list, deleting it permanently q or Esc File->Quit b View->Browse sources one at a time Surf through all loaded .PNP files without overlaying them o View->Overlay all sources Display up to six .PNP files at once + or down-arrow View->Next source Advance selection to the next .PNP file - or up-arrow View->Previous source Go back to the previous .PNP file 5 Display->512 x 384 Adjust window area to one of several standard sizes 6 Display->640 x 480 (These commands are particularly useful when youíve 7 Display->800 x 600 selected too many entries with the Legend menu, 8 Display->1024 x 768 causing the table to grow beyond the confines of the 9 Display->1152 x 864 window) 0 Display->1280 x 1024 c Display->Low contrast The suggested display mode for color graphics displays and printers C Display->High contrast Emphasizes intra-decade lines for better (but more cluttered) visibility Ctrl-0 Smoothing->None No smoothing is applied to the visible trace(s) Ctrl-1 - 7 Smoothing->2 Ė 128 Smooth by averaging adjacent 2^n trace points at each pixel g Smoothing->Enable ghosting Show unsmoothed raw trace(s) behind smoothed trace(s) G Smoothing->Disable ghosting Do not show unsmoothed raw trace(s) behind smoothed trace(s) Legend->Trace Display trace caption Legend->Filename Display trace filename Legend->Carrier Hz Display frequency of carrier from which trace was acquired Legend->Carrier dBm Display amplitude of carrier from which trace was acquired Legend->dBc/Hz at Spot Offset Display trace amplitude at spot on graph selected via left click Legend->Residual FM Hz Display DSB residual-FM amplitude between the integration cursors Legend->RMS Integrated Noise (Degs) Display DSB RMS phase jitter in degrees or radians for the area between Legend->RMS Integrated Noise (Rads) the integration cursors Legend->RMS Time Jitter Display the same phase-jitter value in seconds, based on the carrier frequency Legend->SSB Carrier/Noise dB Dislpay SSB power between the integration cursors, relative to the carrier level Legend->Ext Mult Display external frequency multiplication factor Legend->RF Atten dB Display analyzerís RF attenuator setting when trace was acquired Legend->VBW/RBW Display video/resolution bandwidth ratio Legend->Sweep Display total time taken by all sweeps during acquisition Legend->Time/Date Display acquisition time/date stamp Legend->Instrument Display spectrum-analyzer model designator Legend->Rev Display spectrum-analyzer revision designator Legend->All Select all displayable fields above Legend->None Deselect all displayable fields above Acquire->Tektronix 49xP or 275xP ... Acquire noise plot from various spectrum analyzer models Acquire->HP 8566A or HP8568A ... Acquire->HP 8567A ... Acquire->HP 8566B or HP8568B ... Acquire->HP 8567B ... Acquire->HP 8560A-series portables ... Acquire->HP 8560E/EC-series portables ... Acquire->HP 8590-series portables ... Acquire->HP 70000 series ... Space Acquire->Repeat last acquisition ... Shortcut to return to most-recently-used acquisition dialog

Mouse Controls and Integration Features

Left-click anywhere within the graph to place the red "Spot Cursor" at the nearest vertical division. This cursor will be visible only if the Legend->dBc/Hz at Spot Offset option is selected for viewing.

Ctrl-left click within the graph to establish the lower integration-range offset for the Residual FM Hz, RMS Integrated Noise, RMS Time Jitter, and SSB Carrier/Noise options on the Legend menu. The blue integration-boundary cursors will be visible only if at least one of these options is selected for viewing. Like the Spot Cursor, the integration cursors automatically snap to their nearest vertical division.

Ctrl-right click to place the upper integration-range offset cursor used by the features above.

Important note: Like the single-point Spot Cursor, PN's trace-integration algorithm -- used whenever RMS noise, jitter, residual FM, or carrier/noise ratio values are displayed -- works on the displayed data after smoothing (if any) has been applied. This means that any changes you make to either the display resolution or smoothing level can affect the displayed values. Such effects are not usually very significant, but if repeatability is important, you may wish to make a note of the display resolution and smoothing level when logging your noise measurements.

Acquisition Dialog

Selecting a spectrum analyzer model from the Acquire menu will bring up the Acquisition dialog box. Depending on the analyzer type selected, the acquisition dialog's appearance can vary slightly from the example below.

Caption specifies an optional caption for the trace being acquired. To display trace captions beneath the graph in the main window, select the Legend -> Trace menu option.

Carrier specifies the carrier frequency in hertz (e.g., 10000000 = 10 MHz). Scientific notation may also be used (e.g., 1.2E9 = 1.2 GHz). This is the frequency of the source under test, before any external frequency multiplication is applied.

With the HP analyzers, this field may be left blank to cause PN to select the highest onscreen signal for measurement. The desired signal must be higher than any other peak, including the 0-Hz spike if any. The selected frequency will be rounded to the nearest multiple of the minimum offset frequency.

You may also enter the carrier's amplitude level in dBm in the box to the right of the frequency field. This is the amplitude of the source under test as it arrives at the analyzer's input jack, after any external frequency multiplication or conversion is applied. You can leave this field blank with any analyzer model, but if the amplitude is known, specifying it here will reduce measurement time.

The automatic carrier-detection feature is only as "smart" as the analyzer's marker functionality. It can fail to work properly if the 0-Hz spike or negative (mirrored) signals become visible while centering and zooming in on the desired signal.

External Multiplier tells PN that an external frequency multiplier (e.g., 2 for a doubler, 3 for a tripler...) is present between the source under test and the spectrum analyzerís RF input. Enter 1 here if no multiplier is present.

The use of an external xN multiplier improves the analyzerís equivalent phase-noise floor by 20 x log10(N) dB. You can use a microwave "brick" source to multiply your test signal dozens of times if desired, but be sure you understand its loop-bandwidth and inband noise-peaking characteristics!

Measurement Offset Range specifies the minimum and maximum carrier offset frequencies in Hz. Offset frequencies are rounded to the nearest power of 10 and used to determine the left and right boundaries of the log-log plot.

The minimum offset frequency should be at least 10x the analyzerís minimum decade resolution bandwidth. Minimum offsets below this limit will yield meaningless results! For example, a Tektronix 494P with 30-Hz minimum RBW will be treated by PN as having a minimum RBW of 100 Hz. Consequently, its minimum usable measurement offset will be 1000 Hz.

Most applications should specify 1 MHz as the maximum offset frequency.

Carrier Clipping Level specifies the amplitude offset above the analyzerís reference level (top graticule line) at which the carrier will be positioned during the noise measurement. Clipping can improve the accuracy of measurements made near the analyzerís LO or RF noise floor, at the risk of driving its front-end mixer into compression.

10 dB of clipping is recommended for most applications; 20 dB may be helpful on analyzers with 8-division displays such as the Tek 490 and HP 8590 series, or those with very low phase-noise floors such as the HP 8568A/B. Use caution at high signal levels!

VBW:RBW Ratio specifies the video:resolution bandwidth ratio. This determines the compromise between measurement time and repeatability. Most applications will not need to change the default value of 1.0. Lower values can yield better repeatability Ė assuming the analyzer has warmed up thoroughly Ė but can take much longer to execute.

On the Tektronix 49x/275x analyzers, the VBW:RBW ratio is specified by pressing the WIDE or NARROW video bandwidth buttons on the analyzer panel before initiating a measurement.

Noise Response specifies the factor used to correct the measurement for the response of the analyzerís RBW filters and video detector to Gaussian noise. Not all analyzer options permit this value to be specified; when using the Tektronix 49x/275x series, for instance, the noise response values for each resolution-bandwidth filter are stored in a table within PN.EXE and cannot be overridden.

The HP 8566B/8567B/8568B acquisition routine can measure the noise-response characteristic for each sweep automatically if this field is left blank. However, this process can yield misleading results in the presence of spurs, and can adversely impact measurement repeatability under all conditions. Most users should leave this field at its default value of 2 dB.

Instrument GPIB Address specifies the spectrum analyzerís GPIB address as a decimal value.

PN.INI and GPIB Configuration Notes

The directory containing PN.EXE should also contain a file called PN.INI, which provides some configuration defaults that you can change if desired. These entries are normally kept updated by PN's menu system, and should not require manual editing.

The default GPIB address for many of the HP analyzers supported by PN 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 PN.


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.

Analyzer Baseline Traces

Different analyzer models have widely-varying system noise characteristics that must be taken into account when making direct phase-noise measurements. In particular, the source being measured needs to be at least a few dBc/Hz "dirtier" than the spectrum analyzer's own LO subsystem, or the resulting measurement will reveal more about the analyzer's noise profile than that of the source under test! To avoid drawing misleading conclusions from your noise measurements, it's a good idea to display them alongside a baseline plot for the analyzer model you're using.

The C:\Program Files\KE5FX\GPIB directory where PN.EXE is installed by default contains a subdirectory called Composite noise baseline plots. This subdirectory contains a variety of .PNP files that can be loaded and displayed by PN.EXE. These files are representative baseline noise-floor plots for various spectrum-analyzer models. If your analyzer model isn't included, it isn't difficult to make your own baseline plot, as long as you have access to a strong CW signal that's significantly cleaner than the analyzer's baseline response when tuned near the measurement frequency of interest.

In the manual for their HP 85671A noise-measurement package, Hewlett-Packard recommends against using the analyzer's own calibrator for noise baseline plots. The analyzer's LO and calibrator are both derived from the same internal source, potentially leading to correlation effects that misrepresent the analyzer's true noise response. In a pinch, though, your analyzer's calibrator is most likely OK as a noise-reference source. I haven't noticed any meaningful differences when comparing baseline traces taken from various analyzer models' calibrators versus known-uncorrelated sources.

How to Make Good Composite-Noise Measurements

First, read the HP app note cited near the top of this document. Then, read this help file in its entirety. Noise measurement can be tricky -- it's easy to fool yourself (and others) into thinking that bad data is valid!

One good hint: watch the analyzer's trace while PN is working, and try to keep the noise floor out of both the top and bottom graticule divisions. Use 10 dB or 20 dB of carrier clipping if necessary to keep the noise floor above the bottom of the graticule where the analyzer's amplitude accuracy is at its worst. Especially when taking baseline plots, don't measure sources weaker than -20 dBm or so.

Don't forget that you may need to manually select 0 dB of RF attenuation at the analyzer's front panel to keep its front-end noise figure from dominating measurements of weaker signals. And don't forget how easy it is to blow mixer diodes when you do this.

Release Notes

Release 0.90 of 7-Aug-05

Release 0.95 of 22-Aug-05

Release 0.96 of 5-Sep-05

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 5-Jan-06 Release 1.04 of 8-Jan-06 Release 1.05 of 14-Jan-06 Release 1.06 of 10-Mar-06 Release 1.07 of 18-Apr-06 Release 1.08 of 3-May-06 Release 1.09 of 6-Jul-06 Release 1.10 of 24-Aug-06

Acknowledgements and Additional Notes

The assistance (and patience) of Dave Robinson, WW2R, and Vladan Temer of Sonoma Instrument, are gratefully acknowledged.

Released into the public domain 7-Aug-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!