Welcome

This page links you to product and user information for the Keysight N7620B Signal Studio for Pulse Building software.

Technical Overview

Web Page

Free Trial

Installation

Licensing

Using the Software

Release Notes

Software version 3.3.8

Help revised 6/14/2021 - get the latest revision

© Keysight Technologies, Inc. 2007-2021


Installation

Internal Arb Systems (VXG, PSG, MXG, EXG, or ESG)

External Arb Systems (M8190A, N603xA, M933xA, or N824xA)

Internal Arb Systems
(VXG, PSG, MXG, EXG, or ESG)

From the Internet

If you are downloading and installing the Signal Studio software from the Internet, verify or perform each step of the installation procedure in the order shown below.

1. | System Requirements | Verify that your hardware and PC meet the requirements.
2. | .NET Framework | Download and install the .NET framework (version 4.0) onto your PC.
4. | Keysight IO Libraries | Download and install Keysight IO Libraries Suite 18.0 or later onto your PC.
7. | Signal Studio Software | Download and install the N7620B Signal Studio for Pulse Building software.
8. | Equipment Setup | Determine the IO interface, configure the equipment and connect the PC.
9. | Testing Connections | Check that the software communicates with the signal generator and spectrum/signal analyzer.

From the Signal Studio DVD

The Signal Studio DVD automates much of the installation process for internal Arb systems. To install the software from the DVD, do the following:

  1. Perform step 1 above.

  2. Insert the DVD and follow the prompts.

  3. Perform steps 8 and 9 above.

External Arb Systems
(M8190A, N603xA, M933xA, or N824xA)

Performing these installation steps in the proper sequence is especially important when you are using an external arbitrary waveform generator.

From the Internet

If you are downloading and installing the Signal Studio software from the Internet, verify or perform each step of the installation procedure in the order shown below.

1. | System Requirements | Verify that your hardware and PC meet the requirements.
2. | .NET Framework | Download and install the .NET framework (version 4.0) onto your PC.
3. | IVI Compliance Package 4.1 | Download and install IVI Compliance Package 4.1 (N603xA, M933xA, or N824xA only)
4. | Keysight IO Libraries | Download and install Keysight IO Libraries Suite 18.0 or later onto your PC.
5. | External Arbitrary Waveform Generator Software | Install the M8190A, N603xA/M933xA, or N824xA software packages onto your PC.
6. | NI PXI Embedded Controller | Configure the National Instruments PXI embedded controller to support the N603xA/M933xA arbitrary waveform generator with the Pulse Building software.
7. | Signal Studio Software | Download and install the N7620B Signal Studio for Pulse Building software.
8. | Equipment Setup | Determine the IO interface, configure the equipment and connect the PC.
9. | Testing Connections | Check that the software communicates with the arbitrary waveform generator, signal generator, and spectrum/signal analyzer.

From the Signal Studio DVD

For external Arb systems, you can use the Signal Studio DVD to install the Signal Studio software only. To install the software from the DVD, do the following:

  1. Perform steps 1 through 6 above.

  2. Insert the DVD and follow the prompts.

  3. Perform steps 8 and 9 above.


Requirements

Step 1 - System Requirements

Installation Steps: 1 2 3 4 5 6 7 8 9

In order for the N7620B Signal Studio for Pulse Building software to generate signals, you must have a properly configured PC and properly configured signal generation hardware, all of which meet the system requirements. Signal generation hardware includes a vector signal generator, an arbitrary waveform generator (AWG), and a spectrum analyzer or signal analyzer (to measure and correct images, RF flatness, and RF phase linearity).

In general, the N7620B software subdivides the hardware configurations into three groups - Internal I/Q, External I/Q and Wideband I/Q.

  • Internal I/Q − uses the signal generator's baseband generator and can provide 80 to 160 MHz modulation bandwidth.

  • External I/Q − uses the signal generator's external I/Q inputs with an external AWG and can provide up to 250 MHz modulation bandwidth.

  • Wideband I/Q − uses the signal generator's wideband I/Q inputs with an external AWG and can provide up to 4 GHz modulation bandwidth

PC Requirements

200 GB HDD with 2 GB free disk space at runtime (5 GB or higher recommended)

1024 x 768 screen resolution (1280 x 1024 recommended)

If you use a high-resolution display, the GUI's font size may appear too small to read. To resolve this, lower your PC's display resolution, but make sure the display scaling remains set at 100 percent, otherwise portions of the GUI will become truncated and hidden from view.

Windows 10 (64 bit):

  • 2 GHz Pentium 4 or higher (recommended)

  • 8.0 GB of memory or greater

  • 1.5 GB hard disk space (includes 1 GB for Microsoft .NET Framework and 65 MB for the Keysight IO Libraries)

  • Microsoft Internet Explorer 11.0 or later

  • 128 MB graphics memory with DirectX 9 graphics support (recommended)

Windows 7 (64 bit):

  • 2 GHz Pentium 4 or higher (recommended)

  • 8.0 GB of memory or greater

  • 1.5 GB hard disk space (includes 1 GB for Microsoft .NET Framework and 65 MB for the Keysight IO Libraries)

  • Microsoft Internet Explorer 11.0 or later

  • 128 MB graphics memory with DirectX 9 graphics support (recommended)

Microsoft .NET Framework 4.0 only (installed in Step 2)

Keysight IO Libraries, version 18.0 or later (installed in Step 4)

Installed GPIB IO interface card, LAN interface card, or USB/GPIB interface connector

National Instrument GPIB interface card users must install the National Instruments library. (Keysight IO Libraries will cover NI driver.)

Keysight VISA

Microsoft Windows Installer version 2.0 or later

For systems using the N603xA/M933xA or N824xA Arbitrary Waveform Generators:

IVI Compliance Package, version 4.1 (installed in Step 3)

IVI-C N8241A driver, version 1.31.3 or later (N824xA Arbitrary Waveform Generators – installed in Step 5)

IVI-C M9330A driver, version 2.00.0001 or later (N603xA/M933xA Arbitrary Waveform Generators – installed in Step 5)

Vector Signal Generators

Requirements

M9383B VXG-m microwave signal generator

Firmware:

  • Version A.04.00 or later

Required options:

  • M9383B-001 (add channel 1)

  • M9383B-F14, F20, F32, or F44 (frequency range options)

  • M9383B-D05, D06, D10, D11, D20, D21 (RF bandwidth options)

Other options to consider:

  • M9383B-002 (add channel 2; a second channel requires its own frequency and RF bandwidth options)

  • M9383B-1EB, 1EE (higher output power)

  • M9383B-M05, M10 (more ARB memory, recommended for complex scenarios)

  • M9383B-PMR, PME, (pulse modulation, recommended for greater pulse on/off ratio)

  • M9383B-PCH, (phase coherency)

  • M9383B-500, 600 (performance reference)

  • M9383B-ST5, ST6 (phase noise)

M9384B VXG microwave signal generator

Firmware:

  • Version A.04.00 or later

Required options:

  • M9384B-001 (add channel 1)

  • M9384B-F14, F20, F32, or F44 (frequency range options)

  • M9384B-D05, D06, D10, D11, D20, D21 (RF bandwidth options)

Other options to consider:

  • M9384B-002 (add channel 2; a second channel requires its own frequency and RF bandwidth options)

  • M9384B-1EB, 1EE (higher output power)

  • M9384B-M05, M10 (more ARB memory, recommended for complex scenarios)

  • M9384B-PMR, PME, (pulse modulation, recommended for greater pulse on/off ratio)

  • M9384B-PCH, (phase coherency)

  • M9384B-500, 600 (performance reference)

  • M9384B-ST5, ST6 (phase noise)

E4438C ESG Vector Signal Generator

Firmware revision C.05.70 or later (how to upgrade)

One of the following baseband generator options is required for Internal I/Q:

  • E4438C-001 (internal baseband generator with 8 Msample memory)

  • E4438C-002 (internal baseband generator with 32 Msample memory)

  • E4438C-601 (internal baseband generator with 8 Msample memory and digital bus capability)

  • E4438C-602 (internal baseband generator with 64 Msample memory and digital bus capability, recommended)

Additional options to consider:

  • E4438C-005 (6 GB internal hard drive, recommended)

  • E4438C-UNJ (enhanced phase noise performance recommended, required with E4438C-506)

E8267C PSG Vector Signal Generator

Firmware revision C.03.85 or later (how to upgrade)

Required options:

  • E8267C-1E6 (narrow pulse, below 3.2 GHz)

One of the following baseband generator options is required for Internal I/Q:

  • E8267C-001 (internal baseband generator with 8 Msample memory)

  • E8267C-002 (internal baseband generator with 32 Msample memory)

  • E8267C-601 (internal baseband generator with 8 Msample memory and digital bus capability)

  • E8267C-602 (internal baseband generator with 64 Msample memory and digital bus capability, recommended)

The following option is required for Wideband I/Q:

  • E8267C-015 (wideband I/Q inputs, only available above 3.2 GHz)

Additional options to consider:

  • E8267C-005 (6 GB internal hard drive, recommended)

  • E8267C-UNR (enhanced SSB phase noise, recommended)

E8267D PSG Vector Signal Generator

Firmware revision C.06.10 or later (how to upgrade)

Required options:

  • E8267D-UNW (narrow pulse modulation)

One of the following baseband generator options:

  • E8267D-601 (internal baseband generator with 8 Msample memory and digital bus capability)

  • E8267D-602 (internal baseband generator with 64 Msample memory and digital bus capability, recommended)

One of the following options is required for Wideband I/Q:

  • E8267D-015 (wideband I/Q inputs)

  • E8267D-H16 (differential wideband I/Q inputs)

  • E8267D-016 (differential wideband I/Q inputs)

  • E8267D-HBQ (bandwidth-limited differential wideband IQ inputs)

Additional options to consider:

  • E8267D-005 (6 GB internal hard drive, recommended)

  • E8267D-1EH (improved harmonics below 2 GHz, recommended)

  • E8267D-UNX (enhanced SSB phase noise performance, recommended)

  • E8267D-H18 (wideband below 3.2 GHz, recommended)

N5182B MXG Vector Signal Generator

Firmware revision B.01.20 or later (how to upgrade)

Required options:

  • N5182B-UNW (narrow pulse modulation)

One of the following baseband generator options is required for Internal I/Q:

  • N5182B-656 (internal baseband generator, 80 MHz RF bandwidth, 32 Msample memory)

  • N5182B-657 (upgrade baseband generator to 160 MHz RF bandwidth, recommended)

  • N5182B-022 (upgrade baseband generator memory from 32 MSample to 512 MSample, recommended)

  • N5182B-023 (upgrade baseband generator memory from 32 MSample to 1 GSample)

Additional options to consider:

  • N5182B-1EA (high output power)

  • N5182B-UNY (enhanced low phase noise)

  • N5182B-UNV (enhanced dynamic range)

  • N5182B-403 (calibrated AWGN)

  • N5182B-660 (upgrade baseband generator with real-time capability)

N5172B EXG Vector Signal Generator

Firmware revision B.01.20 or later (how to upgrade)

Required options:

  • N5172B-UNW (narrow pulse modulation)

One of the following baseband generator options is required for Internal I/Q:

  • N5172B-653 (internal baseband generator, 60 MHz RF bandwidth, 32 Msample memory)

  • N5172B-655 (upgrade baseband generator to 120 MHz RF bandwidth, recommended)

  • N5172B-021 (upgrade baseband generator memory from 32 MSample to 256 MSample)

  • N5172B-022 (upgrade baseband generator memory from 32 MSample to 512 MSample, recommended)

Additional options to consider:

  • N5172B-1EA (high output power)

  • N5172B-UNV (enhanced dynamic range)

  • N5172B-403 (calibrated AWGN)

  • N5172B-660 (upgrade baseband generator with real-time capability)

N5182A/N5162A MXG Vector Signal Generator

N7620B Signal Studio for Pulse Building is not recommended for use with these signal generator models. There is not enough sequencing memory in N5182A/N5162A vector signal generators for practical use of the software.

N8212A Performance Vector Upconverter

Firmware revision C.06.10 or later (how to upgrade)

Required options:

  • N8212A-UNW (narrow pulse modulation)

This option is required for Wideband I/Q:

  • N8212A-016 (differential wideband I/Q inputs)

Additional options to consider:

  • N8212A-UNX (enhanced SSB phase noise)

Internal I/Q is not supported.

External I/Q and Option 016 are mutually exclusive - they share the same front panel connectors.

Instrument I/O is only available using LAN.

Spectrum/Signal Analyzers

Requirements

PC to Spectrum Analyzer I/O Interface

  • GPIB (GPIB cards or National Instruments GPIB cards compatible with Keysight I/O Libraries)

  • 10 Base-T LAN (for models that support LAN)

  • Keysight USB-GPIB converter

E444xA PSA Series Spectrum Analyzer

Firmware revision A.11.16 (how to upgrade )

  • E4443A (3 Hz to 6.7 GHz)

  • E4445A (3 Hz to 13.2 GHz)

  • E4440A (3 Hz to 26.5 GHz)

  • E4446A (3 Hz to 44.0 GHz)

  • E4448A (3 Hz to 50.0 GHz)

E44xxB ESA-E Series Spectrum Analyzer

Firmware revision A.14.06 with Option B72 (how to upgrade)

  • E4401B (9 kHz to 1.5 GHz)

  • E4402B (9 kHz to 3.0 GHz)

  • E4404B (9 kHz to 6.7 GHz)

  • E4405B (9 kHz to 13.2 GHz)

  • E4407B (9 kHz to 26.5 GHz)

E44xxB ESA-L Series Spectrum Analyzer

Firmware revision A.14.06 with Option B72 (how to upgrade)

  • E4411B (9 kHz to 1.5 GHz)

  • E4403B (9 kHz to 3.0 GHz)

  • E4408B (9 kHz to 26.5 GHz)

N9010A EXA Signal Analyzer

Firmware revision A.07.06 or later (how to upgrade)

One of the following options:

  • N9010A-503: 9 kHz to 3.6 GHz

  • N9010A-507: 9 kHz to 7.0 GHz

  • N9010A-513: 9 kHz to 13.6 GHz

  • N9010A-526: 9 kHz to 26.5 GHz

N9020A MXA Signal Analyzer

Firmware revision A.07.06 or later (how to upgrade)

One of the following options:

  • N9020A-503: 20 Hz to 3.6 GHz

  • N9020A-508: 20 Hz to 8.4 GHz

  • N9020A-513: 20 Hz to 13.6 GHz

  • N9020A-526: 20 Hz to 26.5 GHz

N9030A PXA Signal Analyzer

Firmware revision A.07.06 or later (how to upgrade)

One of the following options:

  • N9030A-503: 3 Hz to 3.6 GHz

  • N9030A-508: 3 Hz to 8.4 GHz

  • N9030A-513: 3 Hz to 13.6 GHz

  • N9030A-526: 3 Hz to 26.5 GHz

N9010B EXA Signal Analyzer

Firmware revision A.17.55 or later (how to upgrade)

One of the following options:

  • N9010B-503: 9 kHz to 3.6 GHz

  • N9010B-507: 9 kHz to 7.0 GHz

  • N9010B-513: 9 kHz to 13.6 GHz

  • N9010B-526: 9 kHz to 26.5 GHz

  • N9010B-532: 9 kHz to 32 GHz

  • N9010B-544: 9 kHz to 44 GHz

N9020B MXA Signal Analyzer

Firmware revision A.17.55 or later (how to upgrade)

One of the following options:

  • N9020B-503: 20 Hz to 3.6 GHz

  • N9020B-508: 20 Hz to 8.4 GHz

  • N9020B-513: 20 Hz to 13.6 GHz

  • N9020B-526: 20 Hz to 26.5 GHz

N9030B PXA Signal Analyzer

Firmware revision A.17.55 or later (how to upgrade)

One of the following options:

  • N9030B-503: 3 Hz to 3.6 GHz

  • N9030B-508: 3 Hz to 8.4 GHz

  • N9030B-513: 3 Hz to 13.6 GHz

  • N9030B-526: 3 Hz to 26.5 GHz

  • N9030B-544: 3 Hz to 44 GHz

  • N9030B-550: 3 Hz to 50 GHz

N9040B UXA Signal Analyzer

Firmware revision A.15.09 or later (how to upgrade)

One of the following options:

  • N9040B-508: 3 Hz to 8.4 GHz

  • N9040B-513: 3 Hz to 13.6 GHz

  • N9040B-526: 3 Hz to 26.5 GHz

Arbitrary Waveform Generators

Requirements

M8190A Arbitrary Waveform Generator

Revision 1 hardware (Option B02) is not supported.

Firmware revision 2.3.1.0 or later

  • Keysight IO libraries version 18.0 or later

Required options:

  • M8190A-002 (2 channels)

  • M8190A-SEQ (sequencer)

  • M8190A-02G (upgrade baseband generator memory from 128 MSample to 2 GSample, recommended)

Additional options to consider:

  • M8190A-AMP (5 GHz analog bandwidth)

N603xA, M933xA Arbitrary Waveform Generators

  • IVI compliance package 4.1 (includes IVI shared components)

  • IVI-C M933xA driver revision 2.00.0001 or later

    Fundamental DLL 3.0.3

Other requirements:

  • To support the N603xA, you must use the M933xA version 2.00.0001 driver

    (firmware version 3.0.3).

  • IVI Compliance Package 4.1 (or greater) (installed in Step 3)

PC to M933xA I/O Interface

  • IVI-C driver using National Instruments MXI PCI to PXI interface card

  • M933xA drivers must be installed and functional

N824xA Arbitrary Waveform Generator

Required options:

  • N8241A-125 (1.25 GS/s sample rate)

  • N8242A-125 (1.25 GS/s sample rate)

Other requirements:

  • IVI compliance package 4.1 (includes IVI shared components)

  • IVI-C driver revision 1.31.3 or later

PC to N824xA I/O Interface

  • IVI-C driver using LAN

  • N824xA drivers must be installed and functional


.NET Framework

Step 2 - Downloading and Installing the .NET Framework

Installation Steps: 1 2 3 4 5 6 7 8 9

Ensure you have Microsoft .NET Framework Version 4.0 only installed on your PC. If it is already installed, proceed to Installation Step 3. If it is not installed, do the following:

  1. Go to: http://www.microsoft.com/downloads/.

  2. Search the site for .NET Framework 4.0.

  3. Download the Microsoft .NET Framework 4.0 (Web Installer) and install the software.

    If you get a security exception message when you try to open the software, you can adjust security permissions using the steps below. Consult your system administrator if this does not resolve the problem.

Adjusting Security Settings

To adjust the security setting:

  1. From your PC's Control Panel, click Performance and Maintenance in Category View (or click Switch to Classic View).

  2. Double-click Administrative Tools > Microsoft .NET Framework 4.0 Configuration.

  3. In the tree view of the .NET Configuration 1.1 window, expand the following selections by clicking the [image] box:

    Runtime Security Policy > Machine > Code Groups >All_Code.

  4. If the .NET Framework is installed on a shared network drive, click Local Intranet_Zone.

    If the.NET Framework is installed on your C:\ drive click My_Computer_Zone.

  5. Click Edit Code Group Properties.

  6. Select the Permission Set tab.

  7. From the Permission set drop-down list, select Full Trust.

  8. Click Apply > OK


IVI Compliance Package

Step 3 - Installing the IVI Compliance Package

Installation Steps: 1 2 3 4 5 6 7 8 9

Perform this step only if you are using the N603xA/M933xA or N824xA arbitrary waveform generator. Otherwise, proceed to next step.

Visit www.ni.com to download and install IVI Compliance Package 4.1 (includes the IVI Shared Components).

Only use IVI Compliance Package 4.1. The IVI Shared Components included in other versions may not be compatible with the arbitrary waveform generator drivers installed in step 5.


Keysight IO Libraries

Step 4 - Downloading and Installing the Keysight IO Libraries Suite

Installation Steps: 1 2 3 4 5 6 7 8 9

Keysight IO Libraries Are Installed

Verify that Keysight IO Libraries Suite 18.0 (or later) is properly configured for your IO interface connection, then proceed to the next step. (Refer to the IO Libraries online help for assistance.)

Keysight IO Libraries Are Not Installed

If you are using GPIB, this procedure assumes that you have installed a GPIB card.

The Keysight IO Libraries provide the function calls that enable the PC to properly communicate with instruments. The documentation provided with the IO libraries suite comes in two types: PDF files that you access through your Start menu and the online help. If you experience GPIB connectivity problems, see Interface Problems in the Troubleshooting section.

  1. Download Keysight IO Libraries Suite 18.0 from the following Keysight website, free of charge : http://www.keysight.com/find/iolib.

    After installing the IO Libraries Suite, the Keysight Connection Expert utility should automatically start. In addition, the IO Libraries install an Keysight IO Control icon in the Windows notification area on your PC screen.

    The Keysight Connection Expert utility automatically detects most interfaces and instruments that are on, and assigns names and other default configuration settings that you can edit. If you need assistance with the connection expert or the I/O Libraries installation, refer to the Keysight IO Libraries Suite Getting Started documentation.

  2. If you require GPIB connectivity and the Keysight Connection Expert does not automatically start, perform the following steps:

    1. Click the Keysight IO Control icon.

    2. Select Keysight Connection Expert from the pop-up menu

    3. Enter in the information necessary to configure the GPIB connection.


Installing the Arb Waveform Generator Software

Step 5 - Installing the External Arbitrary Waveform Generator Software

Installation Steps: 1 2 3 4 5 6 7 8 9

If you are not using the Pulse Building software with an external Arb (M8190A, N603xA, M933xA, or N824xA), skip to Step 7.

M8190A Arbitrary Waveform Generator

If you are using Pulse Building software with an M8190A arbitrary waveform generator be sure that the M8190A firmware version 2.3.1.0 or later is installed and functional on the AXIe embedded controller or on the PC that is physically connected to the M8190A hardware.

M8190A Arbitrary Waveform Generator Firmware (installed on controlling PC)

Firmware version 2.3.1.0 or later. Requires Keysight IO Libraries version 18.0 or later.

Closed Installation/setup steps

  1. Install Keysight IO libraries version 18.0 or later on the controlling PC.

  2. Install M8190A Firmware Version 2.3.1.0 or later on the PC controlling the M8190A hardware. This may be the AXIe embedded controller. See the M8190A Getting Started Guide for detailed steps.

  3. Start the M8190A firmware.

  4. Open Keysight IO Connection Expert.

  5. Select the LAN interface and create a new instrument for the M8190A using localhost.

The N7620B software can be loaded on the PC running the M8190A firmware or on a PC connected to the PC running the M8190A firmware.

If you are unable to connect to the M8190A from N7620B running on a separate PC see "M8190A FAQ - Making the M8190A A LAN based instrument” under Troubleshooting.

M9330A/N6030A Arbitrary Waveform Generator

If you are using Pulse Building software with an N603xA/M933xA arbitrary waveform generator, install M9330A IVI driver version 2.01.0001 or later on the PC connected to the N603xA/M933xA hardware.

M933xA/N603xA Arbitrary Waveform Generator IVI Drivers

The M9330A IVI driver version 2.01.0001 is used for the N603xA family of arbitrary waveform generators.

N8241A Arbitrary Waveform Generator

If you are using Pulse Building software with an N824xA arbitrary waveform generator, install N8241A IVI driver version 1.31.3 or later on the PC running the Pulse Building software.

N824xA Arbitrary Waveform Generator Synthetic Instrument Module IVI Drivers and Control Utility


Configuring the NI PXI Embedded Controller

Step 6 - Configuring the National Instruments PXI Embedded Controller

Installation Steps: 1 2 3 4 5 6 7 8 9

The N7620B Signal Studio for Pulse Building software supports the N603xA/M933xA PXI Arbitrary Waveform Generator. If the N7620B software is installed on a National Instrument PXI embedded controller it may be necessary to modify the embedded controller software configuration.

Be sure to install the N603xA/M933xA software on the embedded controller before installing the N7620B software. Use the N603xA/M933xA Control Utility to insure that the N603xA/M933xA arbitrary waveform generator is operational. The Control Utility will also display the N603xA/M933xA PXI address. This address is required by the Pulse Building software. If only the PSG/MXG/EXG/ESG internal arbitrary waveform generator is going to be used with the Pulse Building software, the N603xA/M933xA software does not need to be installed.

If I/O control of the PSG/MXG/EXG/ESG Signal Generator will be over LAN or GPIB using a National Instruments USB to GPIB pod Stop Here. No additional configurations are required. The N7620B software will work on the NI embedded controller as is.

If an Keysight 82357A USB to GPIB convertor is used to control the PSG/MXG/EXG/ESG Signal Generator you must do the following:

  1. Install the Keysight I/O Libraries Suite version 18.0 on the embedded controller. Be sure to install the Keysight Libraries as Secondary VISA. Choosing Secondary VISA allows a side by side installation with the existing NI VISA Libraries. Do not install the Keysight Libraries as the Primary VISA.

  2. Open the National Instruments Closed Measurement & Automation Explorer (MAX) and select the VISA Options. VISA Options are found under the Tools > NI-VISA > VISA Options menu.

  3. Select Passports under the General Settings group.

  4. Enable the NI VISA Tulip DLL by placing a check mark in the box. It should be the only .dll not enabled in the default configuration.

  5. Save any changes and re-boot the PC as necessary.


Downloading Signal Studio Software

Step 7 - Downloading and Installing the Signal Studio Software

Installation Steps: 1 2 3 4 5 6 7 8 9

  1. Visit the Software Download web page.

  2. Click the Download button. Select a version of the executable to download, and install the software onto your PC.There are 32 bit and 64 bit versions of the application. Windows XP and Win 7 32 bit use the 32 bit version. Win 7 64 bit requires the 64 bit version. At the prompt, select Run to install the software directly, or select Save to save a copy of the installation software on your PC.

The N7620B software must be installed with administrator privileges. For Windows XP, you must be logged in as administrator. For Windows 7, right-click the installer and select Run as administrator.


Equipment Setup

Step 8 - Equipment Setup

Installation Steps: 1 2 3 4 5 6 7 8 9

  1. Ensure the signal generator, arbitrary waveform generator, and analyzer are turned off.

  2. Connect the equipment to a computer using one of the following methods for instrument control:

    • LAN Network— Closed connect the signal generator, arbitrary waveform generator, analyzer, and computer to an external LAN network using standard LAN cables.

      Equipment Setup

      Equipment Required

      • One 10Base-T cable for the PC and one for each instrument connected to a network LAN

    • Crossover LAN— Closed connect the signal generator directly to the computer using a crossover LAN cable. (You will need to configure your PC using this setup.)

      Equipment Setup

      Equipment Required

      • One 10Base-T crossover cable for the PC

    • Crossover LAN—If Closed connecting more than one instrument (signal generator, analyzer, arbitrary waveform generator):

      • one 10Base-T crossover cable for the PC

      • one 10Base-T cable for each instrument

      • one 10Base-T hub

    • GPIB— Closed connect the signal generator, or signal analyzer directly to the computer using a GPIB cable.

      Equipment Setup

      Equipment Required

      • GPIB cable between PC and signal generator.

      • One of the following interfaces configured using the Keysight IO Libraries:

        • GPIB interface card in PC

        • Keysight 82357A USB/GPIB interface connector for USB port

      You can test the GPIB connections by using either the Connection Expert or the Interactive IO utility that comes with the Keysight IO Libraries. Refer to the Keysight IO Libraries Suite documentation for more information.

    • PXI (M9330A or N6030A only)—connect the computer's MXI/PXI adapter to the PXI mainframe.

Hardware Connections

The N7620B Signal Studio for Pulse Building software supports three general system configurations. Each system requires an PSG/MXG/EXG/ESG vector signal generator, an arbitrary waveform generator (AWG), and a spectrum or signal analyzer. The three systems are designed around the modulation capabilities of the PSG/MXG/EXG/ESG vector signal generators and are:

  • Internal I/Q – Uses the PSG/MXG/EXG/ESG with internal AWG.

  • External I/Q – Uses the PSG/ESG external I/Q, and external AWG.

  • Wideband I/Q – Uses the PSG with a wideband I/Q option (015, 016, H16) and an external AWG.

The following hardware can be used to create a system:

  • Vector Signal Generator

PSG Series

E8267C

E8267C Option 015

E8267D

E8267D Option 015

E8267D Option H16

X-Series

N5172B EXG

N5182B MXG

ESG Series

E4438C

LXI Series

N8212A

N8212A Option 016

  • Arbitrary Waveform Generator

PSG/ESG Internal AWG (Options 001, 002, 601, or 602)

MXG Internal AWG (Options 651, 652, 654, 656, or 657)

EXG Internal AWG (Options 653 or 655)

M8190A Arbitrary Waveform Generator

N603xA Arbitrary Waveform Generator

N824xA Arbitrary Waveform Generator (Option SL1 is not supported by this application.)

M933xA Arbitrary Waveform Generator

  • Spectrum/Signal Analyzer

UXA Signal Analyzer

PXA Signal Analyzer

MXA Signal Analyzer

EXA Signal Analyzer

ESA Spectrum Analyzer

PSA Spectrum Analyzer

N8201A Option H02 Down Converter

Common 10 MHz Reference

In all configurations the hardware must share a common 10 MHz reference.

This reference can be provided by the signal generator, the spectrum/signal analyzer, or by a house standard. The N7620B software always configures the external arbitrary waveform generator to use an external 10 MHz reference. The PSG/MXG/EXG/ESG signal generator has an auto sensing 10 MHz reference input. That is to say, the signal generator will automatically use an external reference if one is connected. The software verifies a common 10 MHz reference during a correction measurement or during the self test. The reference can be selected from the System tab in the Download > Customize... dialog.

System Optimization

To obtain the best performance of your system, it is recommended that you perform the following procedures:

  • I/Q calibration of the instrument (available via the front panel and SCPI commands)

  • Test Signal Image Reduction

  • Pulse Modulation Alignment

Possible System Configurations

Closed Wideband IQ: E8267D PSG Option 016 and M8190A Arb with N9030A PXA

Connections:

  • M8190A Channel 1+ Direct Out to the PSG Wideband I input

  • M8190A Channel 1– Direct Out to the PSG Wideband I– input

  • M8190A Channel 2+ Direct Out to the PSG Wideband Q input

  • M8190A Channel 2– Direct Out to the PSG Wideband Q– input

  • M8190A Channel 2 Sample Mrk Out to the PSG Gate/Pulse/Trigger input

  • M8190A Sync Mrk Out 2 to the PSG ALC Hold Input (E8267D only)

  • PXA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz output to the M8190A 10 MHz reference clock input

  • PSG RF output to the PXA RF input

Closed Wideband IQ: E8267D PSG Option 016 and N8241A or N6030A Arb with PXA

Connections:

  • N8241A Channel 1+ output to the PSG Wideband I input

  • N8241A Channel 1– output to the PSG Wideband I– input

  • N8241A Channel 2+ output to the PSG Wideband Q input

  • N8241A Channel 2– output to the PSG Wideband Q– input

  • N8241A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PXA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz output to the N8241A AUX 10 MHz reference input

  • PSG RF output to the PXA RF input

OR

  • N6030A Channel 1+ output to the PSG Wideband I+ input

  • N6030A Channel 1– output to the PSG Wideband I– input

  • N6030A Channel 2+ output to the PSG Wideband Q+ input

  • N6030A Channel 2– output to the PSG Wideband Q– input

  • N6030A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N6030A Marker 3 output to the PSG ALC Hold Input

  • PXA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz output to the N6030A 10 MHz reference input

  • PSG RF output to the PXA RF input

Closed Wideband IQ: E8267D PSG Option 016, H16 or HBQ, and N8241A or N6030A Arb with PSA

Connections:

  • N8241A Channel 1+ output to the PSG Wideband I input

  • N8241A Channel 1– output to the PSG Wideband I– input

  • N8241A Channel 2+ output to the PSG Wideband Q input

  • N8241A Channel 2– output to the PSG Wideband Q– input

  • N8241A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PSA/ESA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz reference output to the N8241A AUX 10 MHz reference input

  • PSG RF output to the PSA/ESA RF input

OR

  • N6030A Channel 1+ output to the PSG Wideband I+ input

  • N6030A Channel 1– output to the PSG Wideband I– input

  • N6030A Channel 2+ output to the PSG Wideband Q+ input

  • N6030A Channel 2– output to the PSG Wideband Q– input

  • N6030A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N6030A Marker 3 output to the PSG ALC Hold Input

  • PSA/ESA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz reference output to the N6030A 10 MHz reference input

  • PSG RF output to the PSA/ESA RF input

Closed Wideband IQ: E8267D PSG Option 016, H16 or HBQ, and N8241A/N8242A or N6030A/N6031A Arb with PXA, MXA, or EXA

Connections:

  • N8241A/N8242A Channel 1+ output to the PSG Wideband I input

  • N8241A/N8242A Channel 1– output to the PSG Wideband I– input

  • N8241A/N8242A Channel 2+ output to the PSG Wideband Q input

  • N8241A/N8242A Channel 2– output to the PSG Wideband Q– input

  • N8241A/N8242A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N8241A/N8242A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PXA, MXA, or EXA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz reference output to the N8241A/N8242A AUX 10 MHz reference input

  • PSG RF output to the PXA, MXA, or EXA RF input

OR

  • N6030A/N6031A Channel 1+ output to the PSG Wideband I+ input

  • N6030A/N6031A Channel 1– output to the PSG Wideband I– input

  • N6030A/N6031A Channel 2+ output to the PSG Wideband Q+ input

  • N6030A/N6031A Channel 2– output to the PSG Wideband Q– input

  • N6030A/N6031A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N6030A/N6031A Marker 3 output to the PSG ALC Hold Input

  • PXA, MXA, or EXA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz reference output to the N6030A/N6031A 10 MHz reference input

  • PSG RF output to the PXA, MXA, or EXA RF input

Closed Wideband IQ: E8267C/D PSG Option 015 and N8241A or N6030A Arb with PSA

Be sure to enable the spectrum analyzer 10 MHz reference output.

Connections:

  • N8241A Channel 1+ output to the PSG Wideband I input

  • N8241A Channel 2+ output to the PSG Wideband Q input

  • N8241A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PSA/ESA 10 MHz reference output to the PSG 10 MHz input

  • PSG 10 MHz reference output to the N8241A AUX 10 MHz reference input

  • PSG RF output to the PSA/ESA RF input

OR

  • N6030A Channel 1+ output to the PSG I input

  • N6030A Channel 2+ output to the PSG Q input

  • N6030A Marker 4 output to the PSG Gate/Pulse/Trigger Input

  • N6030A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PSA/ESA 10 MHz reference output to the N6030A 10 MHz reference input

  • PSG RF output to the PSA/ESA RF input

Closed Wideband IQ: N8212A Option 016 and N8241A Arb with PSA

Be sure to enable the spectrum analyzer 10 MHz reference output.

  • N8241A Channel 1+ output to the N8212A Wideband I+ input

  • N8241A Channel 1– output to the N8212A Wideband I– input

  • N8241A Channel 2+ output to the N8212A Wideband Q+ input

  • N8241A Channel 2– output to the N8212A Wideband Q– input

  • N8241A Marker 4 output to the N8212A Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the N8212A ALC Hold Input

  • PSA/ESA 10 MHz reference output to the N8212A 10 MHz input

  • N8212A 10 MHz reference output to the N8241A AUX 10 MHz reference input

  • N8212A RF output to the PSA/ESA RF input

Closed Wideband IQ: N8212A Option 016 and N8241A Arb with N8201A

Be sure to enable the spectrum analyzer 10 MHz reference output.

  • N8241A Channel 1+ output to the N8212A Wideband I+ input

  • N8241A Channel 1– output to the N8212A Wideband I– input

  • N8241A Channel 2+ output to the N8212A Wideband Q+ input

  • N8241A Channel 2– output to the N8212A Wideband Q– input

  • N8241A Marker 4 output to the N8212A Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the N8212A ALC Hold Input

  • N8201A 10 MHz reference output to the N8212A 10 MHz input

  • N8212A 10 MHz reference output to the N8241A AUX 10 MHz reference input

  • N8212A RF output to the N8201A RF input

Closed External IQ: E8267C/D PSG and N8241A or N6030A Arb with PXA

Be sure to enable the spectrum analyzer 10 MHz reference output.

Connections:

  • N8241A Channel 1+ output to the PSG I input

  • N8241A Channel 2+ output to the PSG Q input

  • N8241A Marker 4 output to the PSG Gate/Pulse/Trigger input

  • N8241A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PXA 10 MHz output to the PSG 10 MHz input

  • PSG 10 MHz output to the N8241A AUX 10 MHz reference input

  • PSG RF output to the PXA RF input

OR

  • N6030A Channel 1+ output to the PSG I input

  • N6030A Channel 2+ output to the PSG Q input

  • N6030A Marker 4 output to the PSG Gate/Pulse/Trigger Input

  • N6030A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PXA 10 MHz output to the PSG 10 MHz input

  • PSG 10 MHz output to the N6030A 10 MHz reference input

  • PSG RF output to the PXA RF input

Closed External IQ: E8267C/D PSG and N6030A Arb with PSA

Be sure to enable the spectrum analyzer 10 MHz reference output.

Connections:

  • N6030A Channel 1+ output to the PSG I input

  • N6030A Channel 2+ output to the PSG Q input

  • N6030A Marker 4 output to the PSG Gate/Pulse/Trigger Input

  • N6030A Marker 3 output to the PSG ALC Hold Input (E8267D only)

  • PSA/ESA 10 MHz reference output to the N6030A 10 MHz reference input

  • PSG RF output to the PSA/ESA RF input

Closed External IQ: E4438C ESG and N6030A Arb with PSA

Be sure to enable the spectrum analyzer 10 MHz reference output.

Connections:

  • N6030A Channel 1+ output to the ESG I input

  • N6030A Channel 2+ output to the ESG Q input

  • N6030A Marker 1 output to the ESG External 2 Input

  • PSA/ESA 10 MHz reference output to the N6030A 10 MHz reference input

  • ESG RF output to the PSA/ESA RF input

Closed Internal IQ: N5182B MXG with MXA or PXA

Be sure to enable the spectrum analyzer 10 MHz reference output.

Connections:

  • MXA/PXA 10 MHz output to the MXG 10 MHz reference input

  • PSG RF output to the MXA/PXA RF input

The analyzer provides the 10 MHz reference in these configurations.


Connection Test

Step 9 - Testing Connections

Installation Steps: 1 2 3 4 5 6 7 8 9

After starting the N7620B software, the Closed Configuration Wizard is used to configure the I/O interface for the signal generator, arbitrary waveform generator, and spectrum/signal analyzer.

  1. Turn on the equipment and, if necessary, the computer.

  2. If using an external Arbitrary Waveform Generator (M8190A, M9330A, N6030A, or N8241A), turn on the Arb and verify correct functionality using the Closed instrument's soft front panel or control utility.

    M8190A Soft Front Panel

    M9330A/N6030A Control Utility

    N8241A Control Utility

  1. Start the Signal Studio for Pulse Building software.

  2. Establish communications between the software and the equipment by first selecting New hardware configuration in the Closed Welcome to Keysight Signal Studio for Pulse Building dialog box (System Configuration Wizard) that appears.

  3. Select a Closed hardware configuration from the list (Wideband I/Q, External I/Q, or Internal Arb) then click Next.

    Use the configurations that do not include a signal analyzer only if you do not plan to use signal corrections.

  4. Select Closed <New> and click Next.

  5. Enter the GPIB or LAN address for the Closed signal generator.

    To find the signal generator's LAN information, (IP address/hostname), press the following front panel keys:

    Utility > GPIB/RS-232 LAN > LAN Setup.

    To find the signal generator's GPIB address, press the following front panel keys:

    Utility > GPIB/RS-232 LAN > GPIB Address.

  6. Click the Next button to automatically check the Closed I/O connection of the signal generator. Click Next to continue.

  7. Enter the GPIB, LAN or PXI address for the Closed external arb.

    The N603xA/M933xA Control Utility can be run to determine the PXI address of the Arb. The addresses of all N603xA/M933xA Arbs found in the system can be viewed in the Control Utility by looking in the Instrument > Browse menu.

  8. Click the Next button to automatically check the Closed I/O connection of the external arb. Click Next to continue.

  9. Enter the GPIB or LAN address for the Closed spectrum/signal analyzer.

  10. Click Next to automatically check the Closed I/O connection of the analyzer. Click Next to continue.

  11. Enter a Closed system name and click Finish to save the current setup.

  12. After making the connections you can view the Closed system's information by selecting System > View system details from the drop-down menu.

  13. Install the software license.

  14. Run Self Test to make certain the system is configured correctly.

If the connection fails, or for help with error messages, refer to Troubleshooting.

Related Topics

Run System Configuration Wizard

Change Hardware Connection

Run Self Test


Licensing

To play waveforms created with this Signal Studio software, a valid license must be installed on your instrument or controlling PC. Several license configurations are available to meet your specific testing needs.

Use the following tools to ensure that you obtain the type of license that works best for you:

  • Use the Getting a License flow chart to learn how to redeem and install a license.

  • Obtain a free trial license to evaluate all of the capabilities of the Signal Studio software for a limited time.

Related Licensing Topics

Moving a Transportable License

Viewing the Remaining Time on a License

Waveform Licensing


Getting a License

The flowchart below illustrates the process for obtaining a Signal Studio software license and installing it in your instrument. Click a block in the flowchart for details on that step of the process.


Software License Redemption

  1. Go to the Keysight Software License Redemption web page:

    http://www.keysight.com/find/softwarelicense.

  2. Follow the directions on the website and be prepared to enter the following information:

    PSG, ESG, or MXG/EXG signal generator connectivity (internal Arb):

    • order number

    • certificate number

    • signal generator model number (e.g., E8267D)

    • signal generator serial number (e.g., US12345678)

    • a valid email address

    N8241A, N6030A, or M9330A Arb connectivity:

    • order number

    • certificate number

    • Arb model number (e.g., M9330A)

    • Arb serial number (e.g., US12345678)

    • PC Host ID1 (e.g., PCSERNO,AS84542292)

    • a valid email address

    M8190A Arb connectivity:

    • order number

    • certificate number

    • Arb model number (M8190A)

    • PC Host ID1 (e.g., PCSERNO,AS84542292)

    • a valid email address

  3. You will promptly receive an email with the license file attached.

1. The PC Host ID can be obtained by running the Closed Keysight License Manager software on the PC that contains the N8241A, N6030A, or M9330A IVI Driver and Control Utility or the M8190A Firmware and Soft Front Panel.


Installing the License

Your Signal Studio software license file (*.lic) is a text file that is attached to the email message you receive when you redeem your license. The license file is specific to the target instrument’s model and serial number. To view license installation instructions, click the link below for the target instrument you are using.

All trial licenses are installed just like purchased licenses (see available trial licenses).

Before installing the license file, save a backup copy in a safe place.

  • Keysight E8267D PSG Signal Generator

  • Keysight E4438C ESG Signal Generator

  • Keysight N5182B MXG X-Series RF Vector Signal Generator

  • Keysight N5172B EXG X-Series RF Vector Signal Generator

  • Keysight M8190A Arbitrary Waveform Generator

  • Keysight M9330A/M9331A Arbitrary Waveform Generators

  • Keysight M9383B VXG-m and M9384B VXG Microwave Signal Generators

  • Keysight N8241A/N8242A Arbitrary Waveform Generators

  • Keysight N6030A/N6031A/N6032A/N6033A Arbitrary Waveform Generators


Installing the License in a PSG Signal Generator

Before installing the license file, save a backup copy in a safe place.

To install the license file in your signal generator, follow the procedure below for your connection type.

  • For LAN connection between PC and signal generator, see Using Keysight License Manager.

  • For GPIB connection between PC and signal generator, see Using GPIB and SCPI Commands.

Using Keysight License Manager

The Keysight License Manager (KLM) software requires a LAN connection between the PC on which it is installed and the PSG signal generator. If your equipment cannot be connected through a LAN, install the license using a GPIB connection and SCPI commands.

  1. If you do not have KLM installed on your PC, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. Establish a LAN connection between the PC and the instrument, as described in Equipment Setup and Connection.

  3. Copy the license file to your PC. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license.

  4. Obtain the hostname or IP address of your instrument. Refer to the instrument's user's guide to learn how.

  5. On your PC, use the KLM software to install the license file in your instrument. Refer to the KLM help for specific instructions.

Using GPIB and SCPI Commands

If you are unable to establish a LAN connection between your PC and your signal generator, you can manually install the license using a GPIB connection and the Keysight Connection Expert software (or another command line tool).

This method can be used for perpetual licenses only. To install or move a transportable license, you must use the Keysight License Manager software on a PC connected to your signal generator through LAN.

  1. Copy the license file to your PC. The license file is attached to the email message your received when you redeemed your license.

  2. On your PC, start the Keysight Connection Expert software. Click Start > All Programs > Keysight Connection Expert. If you do not have Keysight IO Libraries Suite installed on your PC, you can download it from www.keysight.com/find/iolib.

    If you are not using Keysight Connection Expert, start your command line tool and proceed to step 5.

  3. Select your signal generator, as shown below. If there are a lot of instruments connected to the network, you can use the Filter Instruments field to narrow your search.

  4. Click Send Commands To This Instrument to open the Keysight Interactive IO window.

  5. Open the license file you copied to your PC in Step 1 using Microsoft Notepad, or a similar text editor that creates plain, ASCII text files. Do not use a word processor such as Microsoft Word.

  6. Using the text editor, select and copy the license file text.

  7. Type the following SCPI command into the Command: field in the Keysight Interactive IO window, pasting the license file text you copied in Step 7 at the <license_line> location in the command.

    :SYST:LIC:INST "<license_line>"

  8. Click the Send Command button to send the command, or the Send & Read button to send the command and read the response in the Instrument Session History displayed at the bottom of the window.


Installing the License in an ESG Signal Generator

Before installing the license file, save a backup copy in a safe place.

To install the license file in your signal generator, follow the procedure below for your connection type.

  • For LAN connection between PC and signal generator, see Using Keysight License Manager.

  • For GPIB connection between PC and signal generator, see Using GPIB and SCPI Commands.

Using Keysight License Manager

The Keysight License Manager (KLM) software requires a LAN connection between the PC on which it is installed and the ESG signal generator. If your equipment cannot be connected through a LAN, install the license using a GPIB connection and SCPI commands.

  1. If you do not have KLM installed on your PC, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. Establish a LAN connection between the PC and the instrument, as described in Equipment Setup and Connection.

  3. Copy the license file to your PC. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license.

  4. Obtain the hostname or IP address of your instrument. Refer to the instrument's user's guide to learn how.

  5. On your PC, use the KLM software to install the license file in your instrument. Refer to the KLM help for specific instructions.

Using GPIB and SCPI Commands

If you are unable to establish a LAN connection between your PC and your signal generator, you can manually install the license using a GPIB connection and the Keysight Connection Expert software (or another command line tool).

This method can be used for perpetual licenses only. To install or move a transportable license, you must use the Keysight License Manager software on a PC connected to your signal generator through LAN.

  1. Copy the license file to your PC. The license file is attached to the email message your received when you redeemed your license.

  2. On your PC, start the Keysight Connection Expert software. Click Start > All Programs > Keysight Connection Expert. If you do not have Keysight IO Libraries Suite installed on your PC, you can download it from www.keysight.com/find/iolib.

    If you are not using Keysight Connection Expert, start your command line tool and proceed to step 5.

  3. Select your signal generator, as shown below. If there are a lot of instruments connected to the network, you can use the Filter Instruments field to narrow your search.

  4. Click Send Commands To This Instrument to open the Keysight Interactive IO window.

  5. Open the license file you copied to your PC in Step 1 using Microsoft Notepad, or a similar text editor that creates plain, ASCII text files. Do not use a word processor such as Microsoft Word.

  6. Using the text editor, select and copy the license file text.

  7. Type the following SCPI command into the Command: field in the Keysight Interactive IO window, pasting the license file text you copied in Step 7 at the <license_line> location in the command.

    :SYST:LIC:INST "<license_line>"

  8. Click the Send Command button to send the command, or the Send & Read button to send the command and read the response in the Instrument Session History displayed at the bottom of the window.


Installing the License in an MXG Signal Generator

Installing the License in an MXG/EXG Signal Generator

Before installing the license file, save a backup copy in a safe place.

This topic supports N5172B EXG, N5182B MXG, and N5182A MXG vector signal generators.

To install the license file in your signal generator, follow one of the procedures below.

  • If your signal generator is connected to LAN, see Using Keysight License Manager.

  • If your signal generator is not connected to LAN, see Using a USB Storage Device or Using GPIB and SCPI Commands.

Using Keysight License Manager

The Keysight License Manager (KLM) software requires a LAN connection between the PC on which it is installed and the MXG/EXG signal generator. If your equipment cannot be connected through a LAN, install the license using a USB storage device.

  1. If you do not have KLM installed on your PC, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. Establish a LAN connection between the PC and the instrument, as described in Equipment Setup and Connection.

  3. Copy the license file to your PC. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license.

  4. Obtain the hostname or IP address of your instrument. Refer to the instrument's user's guide to learn how.

  5. On your PC, use the KLM software to install the license file in your instrument. Refer to the KLM help for specific instructions.

Using a USB Storage Device

If you are unable to establish a LAN connection between your PC and your MXG/EXG signal generator, you can manually install the license using a USB storage device.

  1. Copy the license file to a supported USB storage device. The license file is attached to the email message you received when you redeemed your license.

  2. Insert the storage device into the USB port on the front panel of the MXG/EXG signal generator.

  3. Press the Install licenses key to copy the file to the signal generator's memory.

  4. Cycle the signal generator power.

Using GPIB and SCPI Commands

If you are unable to establish a LAN connection between your PC and your signal generator, you can manually install the license using a GPIB connection and the Keysight Connection Expert software (or another command line tool).

This method can be used for perpetual licenses only. To install or move a transportable license, you must use the Keysight License Manager software on a PC connected to your signal generator through LAN.

  1. Copy the license file to your PC. The license file is attached to the email message your received when you redeemed your license.

  2. On your PC, start the Keysight Connection Expert software. Click Start > All Programs > Keysight Connection Expert. If you do not have Keysight IO Libraries Suite installed on your PC, you can download it from www.keysight.com/find/iolib.

    If you are not using Keysight Connection Expert, start your command line tool and proceed to step 5.

  3. Select your signal generator, as shown below. If there are a lot of instruments connected to the network, you can use the Filter Instruments field to narrow your search.

  4. Click Send Commands To This Instrument to open the Keysight Interactive IO window.

  5. Open the license file you copied to your PC in Step 1 using Microsoft Notepad, or a similar text editor that creates plain, ASCII text files. Do not use a word processor such as Microsoft Word.

  6. Using the text editor, select and copy the license file text.

  7. Type the following SCPI command into the Command: field in the Keysight Interactive IO window, pasting the license file text you copied in Step 7 at the <license_line> location in the command.

    :SYST:LIC:INST "<license_line>"

  8. Click the Send Command button to send the command, or the Send & Read button to send the command and read the response in the Instrument Session History displayed at the bottom of the window.


Installing the License in an M8190A Arbitrary Waveform Generator

Before installing the license file, save a backup copy in a safe place.

Using Keysight License Manager

The Keysight License Manager (KLM) must be running on the PC that is physically connected to the M8190A AWG. This PC may be an embedded AXIe controller or a PC connected to the M8190A AWG over PCIe. The PC must have the M8190A firmware running on it.

  1. If you do not have KLM installed on the PC connected to the M8190A, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. Copy the license file to the PC. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license.

  3. Use the KLM software to install the license file. Refer to the KLM help for specific instructions.


Installing the License in an M9330A/N6030A Arbitrary Waveform Generator

Before installing the license file, save a backup copy in a safe place.

Using Keysight License Manager

The Keysight License Manager must be run on the PC that is physically connected to the M9330A/N6030A Arb and hosting the N7620B software. This PC may be an embedded PXIe controller or a PC connected to the Arb over PXI. The PC will have the M9330A/N6030A IVI-Drivers and Control Utility software on it also.

  1. If you do not have Keysight License Manager installed on your PC, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. On the PC connected to the M9330A/N6030A, start the Keysight License Manager software. Click Start > All Programs > Keysight License Manager > Keysight License Manager.

  3. Click File > Install... to open the Install License File(s) dialog box.

  4. Use the Install License File(s) dialog box to navigate to the license file. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license. In this example, the license file is M9330A_1000909321_760041.lic.

  5. Select the desired license file and click Open.

  6. Wait for a message to appear, informing you that the license has been successfully installed.

    Refer to the Keysight License Manager online help for more information about using the software.


Installing the License in an M9383B VXG-m and M9384B VXG Microwave Signal Generator

Before installing the license file, save a backup copy in a safe place.

Installing the License via a USB port

  1. Save the license file to the root directory of a USB storage device.

  2. Insert the storage device into a USB port of the PC or instrument matching the Host ID used in redemption.

  3. The license file should install automatically.

Installing the License via Keysight License Manager 5 (KLM5)

  1. On the PC or PC-based instrument matching the Host ID used in redemption, start the Keysight License Manager 5 (KLM5) software.

    You can download KLM5 at no charge from www.keysight.com/find/KLM5.

  2. From the KLM5 software, click the "Tools" icon > Install License File. Navigate to the license file and open it.

  3. The license file should install automatically.


Installing the License in an N8241A Arbitrary Waveform Generator

Before installing the license file, save a backup copy in a safe place.

Using Keysight License Manager

The Keysight License Manager must be run on the PC that is connected to the N8241A Arb over LAN and be hosting the N7620B software. The PC will have the N8241A IVI-Drivers and Control Utility software on it also.

  1. If you do not have Keysight License Manager installed on your PC, you can download it at no charge from the following website: http://www.keysight.com/find/licensemanager.

  2. On the PC connected to the N8241A, start the Keysight License Manager software. Click Start > All Programs > Keysight License Manager > Keysight License Manager.

  3. Click File > Install... to open the Install License File(s) dialog box.

  4. Use the Install License File(s) dialog box to navigate to the license file. The license file has a .lic extension, and is attached to the email message you received when you redeemed your license. In this example, the license file is N8241A_1000909321_760042.lic.

  5. Select the desired license file and click Open.

  6. Wait for a message to appear, informing you that the license has been successfully installed.

  7. Refer to the Keysight License Manager online help for more information about using the software.


Moving a Transportable License

A transportable license can be moved from one instrument to another up to 10 times per month, but can be used on only one instrument at a time. This topic describes two methods for moving a transportable license between instruments.

Transporting a license requires the Keysight License Manager (KLM) software. If you do not have KLM installed on your PC, download it from the following website: www.keysight.com/find/licensemanager.

Instruments Connected to the Internet (Recommended)

  1. Make sure the source (currently licensed) instrument, the target instrument, and PC are connected to a LAN with Internet access.

  2. On your PC, use the KLM software to move the transportable license between instruments. Refer to the KLM help for specific instructions.

Instruments Not Connected to the Internet

  1. Configure a direct LAN connection between the PC and source (currently licensed) instrument. At this point, the PC does not require an Internet connection.

  2. Open the KLM software.

  3. Delete the transportable license from the source instrument Refer to the KLML help for specific instructions.

  4. A Transport License dialog box appears. In the dialog box, save the license contents to a file with a .url extension (for redemption later).

    If you do not immediately save the license contents to a file, you can later retrieve the license contents in the Application Category of the Windows Event Viewer and use the contents for re-issue on the Keysight Software License Transportation web page: www.keysight.com/find/transportlicense.

  5. Skip this step if your PC is connected to the Internet.

    1. Copy the .url file you created in the previous step to a portable mass storage device, such as a USB flash drive.

    2. Connect the portable mass storage device to a PC that is connected to the Internet.

  6. From Windows Explorer, locate and double-click the .url file on the PC (or portable mass storage device). The .url file appears in a browser that is connected to the Keysight Software License Transportation web page. The fields automatically update with the license contents.

  7. Enter the target instrument's hostid (model number, serial number) and then click the Submit button. A link to the re-issued license is displayed.

  8. Right-click the link and select Save Target As. Save the license file to a location on your PC (or portable mass storage device).

  9. Configure a direct LAN connection between the PC and target instrument.

  10. Skip this step if your PC is connected to the Internet.

    1. Connect the portable mass storage device to the PC that is connected to the target instrument.

  11. Open the KLM software and select the target system in the tree view.

  12. From Windows Explorer, locate the license file and drag (or copy and paste) it into KLM's tree view.


Viewing the Remaining Time on a License

Use any of the following methods to view the time remaining on a time-based license or a trial license on your Keysight instrument.

The instructions below apply only to Keysight EXG, MXG, ESG, and PSG signal generators . To view license information for other Keysight instruments, refer to the user documentation for those instruments.

From the Instrument Front Panel

  1. Use the appropriate key-press sequence for your instrument model:

    EXG/MXG: Local > Utility > Instrument Info > Options Info > Instrument Options

    PSG/ESG: Utility > Instrument Adjustments > Instrument Options > External Software Licenses

  2. Look at the Expiration column for the number of remaining days.

    EXPIRED is displayed when there is no time remaining.

From an Internet Browser

This procedure applies to EXG, MXG, ESG, and PSG signal generators only.

  1. On your PC, open an internet browser.

  2. In the Address field, enter either the hostname or the IP address of the instrument.

  3. Press Enter on the keyboard. The instrument's web page appears.

  4. On the left side of the web page, click Signal Generator Web Control. At this point, you may be prompted to enter a password. For more information on setting the password, refer to the signal generator's Programming Guide.

  5. Click the appropriate key-press sequence for your instrument model:

    EXG/MXG: Utility > Instrument Info > Options Info > Instrument Options

    PSG/ESG: Utility > Instrument Adjustments > Instrument Options > External Software Licenses

  6. Look at the Expiration column for the number of remaining days.

    EXPIRED is displayed when there is no time remaining.

From the Keysight License Manager

  1. On your PC, open the Keysight License Manager. If you do not have the Keysight License Manager installed on your PC, download it at http://www.keysight.com/find/licensemanager.

  2. Click File > Connect.... A dialog box appears.

  3. In the Device Address field, enter either the hostname or the IP address of the instrument.

  4. Click OK. The instrument address and its installed licenses appear in the tree view (left pane). The right pane displays additional information for each license, including the Expiration Date.


Waveform Licensing

Waveform Licensing 5-Pack and 50-Pack

Waveform licensing is a cost-effective solution that lets you license individual waveforms rather than the Signal Studio software. Download any of the N76xxB Arb-based Signal Studio waveform creation software products to create and permanently license up to 545 waveforms to meet your specific test requirements. The latest instrument firmware enables you to evaluate the waveforms for up to 48 hours before choosing the ones you want to keep. Waveform licensing is only available for the following signal generator models:

  • N5172B EXG

  • N5182B MXG

  • E4438C ESG

Waveform licensing 5-pack consists of nine different option numbers (Options 221-229). Each option enables you to license up to five Signal Studio waveforms, one waveform for each of the five available slots per option. By ordering all nine options, you can store a total of 45 Signal Studio waveforms.

Waveform licensing 50-pack consists of ten option numbers (Options 250-259). Each option enables you to license up to 50 Signal Studio waveforms, one waveform for each of the 50 available slots per option. By ordering all ten options, you can store a total of 500 Signal Studio waveforms.

With the latest instrument firmware (see details below), each waveform slot provides a 48-hour trial period to access the full functionality of all N76xxB Arb-based Signal Studio waveform creation software for the purpose of creating and evaluating an unlimited number of Keysight-validated, performance-optimized waveforms.

Getting a Waveform License

Waveform licensing 5-pack and 50-pack are available by contacting Keysight. With each order, you will receive a license:

  • Option 22x—This license allows you to assign 5 waveforms to your signal generator for permanent playback.

  • Option 25x—This license lets you assign 50 waveforms to your signal generator for permanent playback.

When ordering multiple waveform licenses of either 5-pack or 50-pack, be sure to use different option numbers; the same option cannot be licensed to a signal generator more than once. For example, to order two licenses for either license type:

  • 5-pack—order 221 and 222, not two 221 licenses (the option numbers range from 221 to 229)

  • 50-pack—order 250 and 251, not two 250 licenses (the option numbers range from 250 to 259)

Firmware Requirements

Only recent instrument firmware revisions (see below) provide a 48-hour trial period for you to evaluate a waveform prior to permanently locking it to a 5- or 50-pack slot. The trial period begins when you assign a waveform file to a slot. During the trial period you can playback, clear, or replace the waveform in that slot. Earlier firmware revisions do not support a trial period, so once you assign a waveform to a slot, it is permanently locked. To benefit from the trial period, upgrade your firmware to the latest revision.

Instrument | 48-Hour Trial Period | No Trial Period
N5172B EXG | B.01.20 or later (October 2012) | not applicable
N5182B MXG | B.01.20 or later (October 2012) | not applicable
E4438C ESG | C.05.23 or later (February 2009) | C.04.95 (June 2007) to C.04.98 (January 2009)

Redeeming a Waveform License

The following steps outline the process for redeeming a license:

  1. Receive the Entitlement Certificate

  2. Go to the Keysight Software License Redemption web page

  3. Receive Redemption Email and Install the License files

Using Waveform Licenses

After you have installed the Keysight waveform license in your instrument, use this procedure.

  • Use the Signal Studio software to configure, generate, and download waveform files to your instrument

  • Evaluate a waveform in your instrument and then lock it to a 5- or 50-pack license slot


About Pulse Building Software

The Pulse Building application is a tool for creating complex, single-emitter test patterns used to test radar receivers at microwave frequencies.

For many radar receiver test applications Keysight’s Pulse Building software eliminates the need to write custom software programs that create complex pulse patterns. The Pulse Building software provides a graphical user interface (GUI) that makes it easy to create complex pulse signals without requiring extensive mathematical calculations.

The Pulse Building application provides simple CW pulses as well as pulses with shaping and complex phase and frequency-encoding. You can easily build pulses and pulse patterns to simulate a single radar emitter. Once created, the signal configuration can be saved to the signal generator’s internal memory and recalled later without an external PC or software1. In addition, the Pulse Building project file with the signal configuration can be saved to a PC and later retrieved and edited. The Pulse Building application also provides an API (application programming interface) that you can use in your software applications. All of the features of the GUI are accessible using the Pulse Building application's API.

The two data structures used by the Pulse Building application to store pulses and patterns are the Pulse Library and the Pattern Library.

The Pulse Library is used to design and store user-defined custom pulses. Pulse types include trapezoidal, raised-cosine, custom profile, and custom I/Q. A pulse can be designed with specific rise time, fall time, pulse width, and so on, and can include intra-pulse custom modulation. Pulses stored in the Pulse Library are used by the Pulse Building application to create patterns and signals.

The Pattern Library is used to design and store user-defined custom patterns. Each pattern can consist of pulses (from the Pulse Library), patterns, off times, and combinations of patterns, pulses and off times. Once a pattern has been created it is automatically stored in the Pattern Library.

Calibration data, obtained from a spectrum analyzer and signal generator calibration routine, is used by the Pulse Building application to provide corrections for the signal. This results in a higher level of signal accuracy. Corrections can be enabled or disabled as desired. See Correction Settings for more information.

The Pulse Building application enables you to:

  • Create pulses based on user-defined parameters. Pulses can be custom designed using the Pulse Building application's GUI and saved to the Pulse Library.

  • Create patterns. Pulses, other patterns, and off-times can be combined into patterns and saved to the Pattern Library.

  • Save signal definitions on a PC and signal generator's waveform memory.

  • Download and play signals created with the Pulse Building application on an Keysight PSG, ESG, MXG or EXG vector signal generator or on an M8190A, N6030A, N8241A or M9330A arbitrary waveform generator.

1. For internal arbitrary waveform generators only

Related Topics

Frequently Asked Questions

Signal Limits


Frequently Asked Questions

Using the Software with the M9384B VXG

1. How do I configure Pulse Building to run on the VXG?

2. What signal does Pulse Building control when running on a VXG with option 002 (Two RF signals)?

3. How do I change the signal Pulse Building is controlling?

4. How do I get two instances of Pulse Building running on the VXG to control both signal 1 and signal 2?

5. What is the shortest scenario that can be generated?

6. If I reduce the sample rate is the scenario period reduced?

7. What is the timing resolution between pulses?

8. What is the smallest pulse width I can generate with the VXG?

9. What is the maximum scenario time supported by the VXG?

10. What is maximum VXG Arb memory?

11. What is the best way to configure the Pulse Building scenario for the VXG?

12. How do I synchronize two signals?

13. What is the maximum pattern name I can use with the VXG?

14. Where are Pulse Building scenarios installed on the VXG?

15. What is the Pulse Building naming convention?

16. Which file do I select to get my scenario to play?

17. What should I do if I get an out of Arb Memory error?

18. How does Pulse Building configure the VXG ALC?

19. Can I change signal settings in the VXG from Pulse Building without recomputing a waveform?

20. Why doesn’t Pulse Building provide a flatness correction measurement with the VXG?

1. How do I configure Pulse Building to run on the VXG?

Just install in the default directory on the VXG signal generator.

Access the application from the VXG Signal block.

Or access from the Windows Start Menu under Keysight Signal Studio.

Administrator privilege required to install Pulse Building.

2. What signal does Pulse Building control when running on a VXG with option 002 (Two RF signals)?

When starting from the VXG Signal block, Pulse Building is configured for that signal.

When Starting from the Windows Start menu, Pulse Building is configured for signal 1.

When Starting from the VXG Signal block only a single instance of Pulse Building is started. If you go to the other signal block and start Pulse Building it just brings the existing Pulse Building display to the top. Pulse Building is still controlling the other signal.

Pulse Building indicates the signal it is controlling in the status bar.

3. How do I change the signal Pulse Building is controlling?

The active signal is changed under the Pulse Building menu item Download-> Customize…-> Arb.

4. How do I get two instances of Pulse Building running on the VXG to control both signal 1 and signal 2?

From VXG Signal 2 block Launch Pulse Building. This instance controls signal 2.

From Windows Start Menu start Pulse Building. This instance controls signal 1.

You can always change signal each Pulse Building instance is controlling.

Two instances controlling the same signal is probably not a good idea.

5. What is the shortest scenario that can be generated?

The shortest scenario that can be created for the VXG is 4 us.

This is derived from the minimum waveform size used in a sequence that is guaranteed to not underflow at the maximum sample rate.

4us = (10240 samples / 2560 M samples per second)

The scenario can contain 1 or more pulses in the 4 us. To generate a PRI of 100 ns would require 40 pulses.

6. If I reduce the sample rate is the scenario period reduced?

No. The minimum scenario period remains at 4 us. The minimum waveform size is reduced keeping the (sample/sample rate) ratio fairly constant.

7. What is the timing resolution between pulses?

The timing resolution between pulses is 1/(sample rate).

309.625 ps for the maximum sample rate 2.56 G Samples/s

The total scenario period is an integer multiple of (32 samples / sample rate).

This is accomplished by padding the last pulse with zeros if necessary.

The minimum scenario of 4 us uses 10240 samples which is divisible by 32 without remainder.

8. What is the smallest pulse width I can generate with the VXG?

Pulse Building allows the user to specify a pulse width that only requires a single sample, 390.635 ps at the 2.56 GHz sample rate.

However, The VXG baseband signal processing bandwidth is limited to about 2 GHz.

This means at best it can pass a pulse width of about ½ ns. This requires at least two samples in the waveform.

The 0.5 ns pulse width is achievable only using IQ modulation. The RF pulse modulator must be disabled.

Adding rise and fall times of a few ns can reduce the overshoot and ringing of the pulse.

The RF pulse modulator has nominal rise and fall times of about 7 ns.

This means that at best it could be possible to generate a pulse width of 7 ns at the 3 dB point with the pulse modulator.

Pulse Building uses waveform marker 4 to drive the pulse modulator. This can be disabled for very narrow pulse generation (IQ only).

Pulse Building insures marker 4 turns on the pulse modulator at least 7 ns before the IQ pulse and remains on until 7 ns after the IQ turns off.

Pulse Building default is to use the RF pulse modulator with the IQ data to achieve the highest pulse On/Off ratio.

9. What is the maximum scenario time supported by the VXG?

The maximum scenario is determined by the amount of Arb memory in the VXG, the maximum number of packets in the sequence and in some cases by the Pulse Building internal structure.

A scenario is composed of a waveform file and a sequence file.

These two files share the Arb memory when the sequence is playing.

A waveform sample use 5 bytes 2 for I data, 2 for Q data and 1 byte for marker data.

A sequence packet (the part of the waveform to play and how many times) takes 11 bytes.

Pulse Building typically uses 2 packets per pulse.

Pulse Building supports 4 M packets with the VXG.

So in general that’s 2 million pulses.

If the average PRI is 100 us then the scenario period would be 200 seconds.

This period assumes that the unique pulses (IQ & marker data) didn’t exceed the Arb memory.

See the Pulse Building help “About Pulse Building - > Signal Limits” for a complete discussion of this topic.

Pulse building does not use the VXG nested sequence capability.

10. What is maximum VXG Arb memory?

The VXG Arb memory is shared by waveforms and sequences.

Standard 256 M Samples (256000000 * 5 bytes per sample)

Option M05 512 M Samples (512000000 * 5 bytes per sample)

Option M10 1024 M Samples (1024000000 * 5 bytes per sample)

11. What is the best way to configure the Pulse Building scenario for the VXG?

Typically do a new pattern and use those settings. If desired disable the Auto sample rate and enter the desired sample rate.

Reducing the sample rate can conserve waveform memory in some cases but also reduces the signal bandwidth.

12. How do I synchronize two signals?

Pulse Building doesn’t directly support signal synchronization. It may disrupt synchronization when downloading scenarios.

Use Pulse Building to generate the desired scenarios for each signal then synchronize directly from the VXG front panel.

13. What is the maximum pattern name I can use with the VXG?

Pulse Building supports pattern names of up to 20 characters in length.

14. Where are Pulse Building scenarios installed on the VXG?

Pulse Building scenarios (composed of a waveform and a sequence file) are placed in non-volatile memory under

Waveforms\PB1 for signal 1

Waveforms\PB2 for signal 2

15. What is the Pulse Building naming convention?

A Pulse Building pattern named “MyPulseSignal” creates two files:

a sequence “MyPulseSignal.seq” file

a waveform “S_MyPulseSignal.wfm” file.

16. Which file do I select to get my scenario to play?

Always select the sequence file to get the correct RF signal out.

Selecting a waveform file with “S_” at the beginning will play a list of pulses without correct timing between them.

17. What should I do if I get an out of Arb Memory error?

Pulse Building can load multiple scenarios in Arb Memory. This makes it faster to select and play different scenarios.

The VXG Arb memory can become full after repeated downloads.

Use the Pulse Building Clear Arb Memory command under the Download menu item to free memory.

Or, from the Signal block's Waveform Playback Setup properties, click Select and then click Clear Arb Memory.

18. How does Pulse Building configure the VXG ALC?

Pulse Building sets the VXG ALC Auto mode to on when the PB ALC Enable setting is on.

Pulse Building does not directly turn the ALC on.

Pulse Building disables the VXG ALC when the PB ALC Enable setting is off.

Pulse Building disables the ALC when a pattern has an antenna scan applied.

19. Can I change signal settings in the VXG from Pulse Building without recomputing a waveform?

Yes, change the desired settings on the Pulse Building “Advanced” panel and just press play.

This will update frequency, amplitude, and some of the advanced settings.

Typically settings that control the baseband signal accuracy (Sample Rate, RMS voltage, …) require a download and play to update.

This because the waveform must be recalculated.

All setting can be changed from the VXG front panel if desired.

20. Why doesn’t Pulse Building provide a flatness correction measurement with the VXG?

The VXG has an internal flatness correction to the VXG RF output.

It also provides a user flatness correction to the users desired reference plane.

The VXG applies these corrections to the Pulse Building waveform.

The corrections are updated by the VXG automatically when the frequency or other settings are changed.

The VXG provided corrections are much more efficient than using the Pulse Building corrections.

Pulse Building corrections require that a Signal Analyzer be connected to the users reference plane.

Each time an RF setting is changed a new measurement must be made to correct the Pulse Building waveform.

Pulse Building enables the VXG flatness correction by default.


Signal Limits

The N7620B software uses both waveform and sequencer memory to generate patterns. A brief review of how the signals are built will provide an understanding to some of the signal generation limits.

At times, the limits are based on the Arb used, and other times the limits are based on the signal generator used. The following information describes the limits established by the Arb, with regard to the minimum signal period, minimum pulse width and the minimum repetition interval for single and multiple pulses.

In general, each pulse is generated using two waveform segments. One segment contains the pulse on time and the other segment contains the pulse off time. The off time is generated by repeating a small segment with the sequencer to conserve Arb waveform memory.

As the repetition interval becomes shorter and approaches the pulse width, only a single segment is used to define the pulse on time and off time. This will increase the maximum number of unique pulses the Arb can generate in some cases. Also, as the repetition interval continues to shrink, it may be necessary to concatenate multiple pulses into a single segment to meet the Arb minimum segment length.

All of these events are handled automatically by the software and are only described here to help the user understand the signal limits.

Related Topics

Single Pulses

Multiple Pulses

Pulse On Time

Unique Pulses


Single Pulses

This topic describes the minimum times supported when generating a pattern with a single pulse.

The figure below shows how the application views a single pulse. It provides individual control over the rise time, the fall time, the pulse width and the pulse repetition interval. The rise time, pulse width, and fall time combine to form the pulse on time. The pulse on time is an important value in that it is used to generate a marker signal that is used to drive the pulse modulator in the signal generator. Driving the pulse modulator insures a pulse on off ratio of at least 80 dB. The I/Q signal alone provides a pulse on off ratio of about 55 dB. The rise time, fall time, and pulse width can be set to any value, including zero. However, the timing resolution is tied to the Arb Sampling Rate.

The PRI timing resolution for a single pulse is tied to the Arb sample rate and the Arb waveform granularity. The PSG/MXG/EXG/ESG internal Arbs have a waveform granularity of 1. The N8241A/N6030A/M9330A family of Arbs has a waveform granularity of 8 and the M8190A Arb has a waveform granularity of 48.

The single pulse PRI timing resolution is:

PSG/ESG Arb | = 10 ns | (1/100 MHz)
MXG B | = 5 ns | (1/200 MHz)
EXG B | = 6.7 ns | (1/150 MHz)
M8190A | = 12 ns | (48/4 GHz)
N8241A/N6030A/M9330A | = 6.4 ns | (8/1.25 GHz)

The pulse edge times and the pulse on times are independent of the Arb waveform granularity and can be set to any value including zero. Setting the edge times to zero will result in overshoot and ringing. The actual edge times and on times will be rounded to the sample period resolution.

The period after the pulse on time is labeled “End Time” in the figure. The end time is required to re-align the marker signal used to drive the pulse modulator with the I/Q waveform data. The minimum end is only required on the last item in the signal pattern. In this case since there is only one pulse in the pattern, the end time effectively sets the minimum PRI. The amount of off time needed at the end of the signal (End Time) is approximately 130ns. The actual required End Time is hardware specific. The minimum PRI for the PSG/MXG/EXG/ESG internal Arbs is limited by the minimum segment size of 60 sample points.

Minimum times for a single pulse using the Arb default sample rate

 | PRI | End Time | Width1
PSG/ESG (100 MHz) | 610 ns | 130 ns | 30 ns
MXG B (200 MHz) | 310 ns | 130 ns | 15 ns
N8241A/N6030A/M9330A (1.25 GHz) | 150 ns | 140 ns | 10 ns
M8190A (4 GHz) | 125 ns | 120 ns | 5 ns

PRI | Pulse Repetition Interval
PW | Pulse Width (100% Amplitude Time)
RT | Rise Time (0-100% Amplitude Time)
FT | Fall Time (100-0% Amplitude Time)
On Time | (RT + PW + FT)
End Time | (PRI – On Time) Only applies to the last pulse in a Pattern.

When the Pulse shape is Custom Profile or Custom I/Q, the rising edge and falling edge times are assumed to be zero. The pulse On Time is equal to the Custom Profile or Custom I/Q data.

1. The minimum pulse widths shown here require the correct hardware configuration, the correct options (1E6 or UNW) and a correct pulse modulation alignment. Only the PSG signal generator is capable of these minimum pulse widths when using the pulse modulator. The ESG signal generator pulse modulator has rise and fall times of about 100 ns. Disabling the pulse modulator makes it possible to generate narrower pulses at the cost of reduced on/off ratios.


Multiple Pulses

This section describes the minimum times supported when generating two or more pulses in a pattern.

Only three timing constraints must be met when generating two or more pulses:

  1. The End Time after the last pulse must meet the minimum requirement. This period is used to re-align the marker signal to the I/Q waveform data.

  2. The total signal period must be an integer multiple of the Arb waveform granularity as discussed for the Single Pulse configuration.

    PSG/ESG Arb

    = 10 ns

    MXG B

    = 5 ns

    EXG B

    = 6.7 ns

    M8190A

    = 12 ns

    N8241A/N6030A/M9330A

    = 6.4 ns

  3. The total signal period up to the end time must be greater than the specified minimum. The individual times can be set to anything including zero. The actual time resolution is dependent on the Arb sampling rate.

This means that except for the very last PRI, all of the pulse on times, pulse edge times, and pulse off times, are generated with a time resolution equal to the Arb sample period. The on times, edge times and off times can be set to zero. Setting the pulse PRI time equal to the pulse on time makes the pulse off time equal to zero and two pulses will touch each other. The last PRI is rounded to insure that the Arb waveform granularity requirement is met.

Minimum times for multiple pulses using the Arb default sample rate

 | Signal Period | End Time | Off Time
PSG (100 MHz) | 610 ns | 130 ns | 0 ns
MXG B (200 MHz) | 310 ns | 130 ns | 0 ns
N8241A/N6030A/M9330A (1.25 GHz) | 150 ns | 140 ns | 0 ns
M8190A (4 GHz) | 125 ns | 120 ns | 0 ns

PRI | Pulse Repetition Interval
PW | Pulse Width (100% Amplitude Time)
RT | Rise Time (0-100% Amplitude Time)
FT | Fall Time (100-0% Amplitude Time)
On Time | (RT + PW + FT)
Off Time | (PRI – On Time) Applies to all pulses except the last pulse in a pattern.
End Time | (PRI – On Time) Only applies to the last pulse in a Pattern.

When the Pulse shape is Custom Profile or Custom I/Q, the rising edge and falling edge times are assumed to be zero. The pulse On Time is equal to the Custom Profile or Custom I/Q data.


Pulse On Time

The pulse on time is composed of the rising and falling edge times and the pulse width time. The actual pulse signal is generated using I/Q waveform data and a marker signal to drive the signal generator pulse modulator. The marker signal on time is larger than the I/Q signal on time. The marker signal includes an additional time equal to the edge times of the signal generator pulse modulator. This insures that the pulse modulator is fully on before the IQ data rising edge starts. This combination provides the fastest possible edge times while also providing the highest pulse On/Off ratio.

Because the pulse modulator turns on before the I/Q data rising edge and turns off after the I/Q data falling edge there is a slight porch around the pulse. This porch is typically 55 dB down from the pulse. The effects of this porch can be minimized by minimizing I/Q carrier leakage and making sure that the marker signal is properly aligned.

See Pulse On/Off Ratio Verification and Pulse Modulation Alignment.

As the minimum pulse width and minimum PRI are reached the marker signal to the pulse modulator may not have sufficient resolution to represent the individual pulses. In this case the marker signal will remain on until the off time is sufficient to match the marker resolution.

Driving the pulse modulator with the marker signal has the added benefit of preventing the ALC from trying to level the signal when the pulse is off.

Pulse edge times

The minimum pulse edge times are established by the Arb Sample period and limited by the signal generator hardware. The minimum edge times shown were generated by setting the edge times to 0 ns and have over shoot and ringing. The over shoot and ringing can be minimized by setting the rising and falling edge times equal to about 3 sample periods. This is about 30 ns for the PSG internal Arb. For the Arbs with faster sample rates 5 ns is a good edge time to minimize overshoot and ringing.

Minimum edge times are as follows:

PSG Arb | = 10 ns | (Requires option 1E6 or UNW)
ESG Arb | = 100 ns | (Limited by the signal generator pulse modulator)
MXG B | = 7 ns | (Requires optionN5182B-657 and N5182B-UNW)
EXG B | = 10 ns | (Requires option N5172B-021 or N5172B-UNW)
M8190A | = 1 ns | (Requires option E8267D-016 and E8267D-UNW)
N8241A | = 3 ns | (Requires option E8267D-016 and E8267D-UNW)
N6030A | = 3 ns | (Requires option E8267D-016 and E8267D-UNW)
M9330A | = 3 ns | (Requires option E8267D-016 and E8267D-UNW)

The pulses modulator can be disabled to improve the pulse edge times in the ESG. This will reduce the pulse on off ration and require the ALC to be either disabled, or controlled with Event marker 3.

Pulse width

The pulse width specifies the time that the pulse amplitude is 100%. The pulse width can be set to 0 seconds. Any pulse, if generated, is a result of the Rising and Falling edge time properties.

Typically the signal generator will specify a minimum pulse width that can be generated while the ALC is enabled. This is typically 1 to 2 us. It is important to note that it may take hundreds of repetitions of the pulse for the ALC to fully level the output signal. If this is not acceptable the user may disable the ALC. The N7620B software will automatically disable the ALC when the pulse widths are less than the signal generator specified minimum.

The maximum signal on time

The theoretical maximum signal on time is limited by the waveform memory and the Arb sample rate. The on time is composed of all of the unique pulses placed in memory. A single pulse may use all of the waveform memory, or the memory may be divided between unique pulses.

On Time maximum = Waveform Segment maximum1 / Sample Rate maximum.

Under a 32 bit operating system with 4 G bytes of RAM it is typically not possible to generate the maximum on time. In general Windows will throw an “Out of memory” exception when the signal total on time exceeds about 14 million samples.

For the 32 bit operating system and a single pulse this works out to a maximum signal on time of about:

ESG/PSG | = 140 ms
MXG B | = 70 ms
M8190A | = 3.5 ms
N8241A | = 11.2 ms
N6030A | = 11.2 ms
M9330A | = 11.2 ms

The maximum pulse width available on a 64 bit system is limited by the maximum array size that can be allocated in .Net. The maximum array size is set by a signed 32 bit integer. It is 231-1 or 2,147,483,648 bytes. Because pulse builder generates complex I/Q data (8 byte real for I and 8 byte real for Q) the maximum array size is 227 -1 or 134,217,727samples.

For the 64 bit operating system this works out to a maximum pulse width of about:

ESG/PSG | = 671 ms | (Limited by Arb waveform memory)
MXG B | = 671 ms | (Limited by .Net max array size)
M8190A | = 33.5 ms | (Limited by .Net max array size)
N8241A | = 13.4 ms | (Limited by Arb waveform memory)
N6030A | = 13.4 ms | (Limited by Arb waveform memory)
M9330A | = 13.4 ms | (Limited by Arb waveform memory)

1. We will ignore the small section of waveform memory filled with zeros used to generate the pulse off time.


Unique Pulses

A unique pulse means that no other pulse has exactly the same parameters or data. Each pulse in the pulse library is a unique pulse. A pulse used in a pattern library twice can result in two unique pulses in the Arb memory when the frequency offset, phase offset, or power scale values are set differently. Using pulse width jitter results in a number of unique pulses equal to the repetition count in the Pattern library. When an Antenna Scan is applied to a single pulse, the number of unique pulses loaded into memory can be 650 or more.

For Arbs that do not have sequencing by address and do not have a waveform granularity of 1, (M8190A, N6030A, N8241A, and M9330A), additional unique pulses may be created during downloads. These pulses are derived from existing pulses and are padded at the beginning or end with off time samples to preserve one sample point timing resolution of the signal.

The PSG, MXG, EXG, and ESG support sequencing by address so the number of unique pulses is equal to the sequence size divided by two.

The maximum number of unique pulses is as follows:

PSG Arb | = 16384 | (Set by the sequence memory size)
ESG Arb | = 16384 | (Set by the sequence memory size)
MXG B | = 2 M | (Requires option N5182B-022 or N5182B-023)
EXG B | = 2 M | (Requires option N5172B-021 or N5172B-022)
M8190A | = 262144 | (Requires option M8190A-SEQ)
N8241A | = 32768 | (Set by the waveform segment directory size)
N6030A | = 32768 | (Set by the waveform segment directory size)
M9330A | = 32768 | (Set by the waveform segment directory size)

The N8241A, N6030A, and M9330A Arbs have a sequence memory of 1 million packets. This means that while the Arb may only hold 32k unique pulses (waveform segments), the sequence can re-use these pulses for a signal containing 512k pulses (sequence size/2).


Using the Software

User Interface | provides detailed information about the user interface.
Importing and Exporting Patterns | provides detailed information about importing and exporting complex pulse scenarios using Comma Separated Values (CSV) files.
Pulse Building Examples | provides examples of how to use N7620B Pulse Building software to create patterns using different pulse definitions and modulations, create a signal with varying power levels, how to create a pattern within a pattern and how to create a signal using several pattern item types.
Tutorials | provides detailed instructions about building a signal, discusses minimum signal limits, and provides information about verifying the pulse on/off ratio.
System Optimization | provides information about how to maximize your system's performance.
Synchronizing Arbitrary Waveform Generators | provides details on how to synchronize two or more N603xA, N824xA, or M933xA AWGs.
API Control | provides information about the APIs available to control the software.
Troubleshooting | provides suggestions for troubleshooting the software and hardware.

Related Topics

About Pulse Building

Frequently Asked Questions

Signal Limits


User Interface

Pulse Building GUI | describes the main features of the Pulse Building application's GUI (Graphical User Interface).
Menu Bar and Toolbar | shows the selections found in the pull down menus and the various toolbar icons, and provides detailed information about the individual Menu Bar and Toolbar items.
Pulse Library | describes the Pulse Building application's Pulse Library and provides details on using the GUI to create pulses.
Pattern Library | describes the Pulse Building application's Pattern Library and provides details on using the GUI to create patterns.


Pulse Building GUI

The Pulse Building application uses a multiple document interface (MDI). The main window or main form, called an MDI container or parent, contains the child forms: Pulse Library Form, Pattern Library Form and Advanced Form.

You can create a Pulse Building Project file (.pbp). to save your project parameters for future use. You can also save multiple projects under different file names. See the File Menu topic for more information.

Each instance is defined as a running Pulse Building application executable (.exe). You can run multiple instances of the application and therefore have multiple projects running on the PC. However, the Pulse Building application supports copy and paste operations between only two projects. The copy and paste functions are discussed in more detail in the Menu Bar and Tool Bar section of this Help document.

When you start the Pulse Building application or create a new project, the main window displays the Pulse Library Form.

Related Topics

Pulse Library Form

Pattern Library Form

Advanced Form

Menu Bar and Tool Bar

Pulse Library

Pattern Library


Pulse Library Form

There are three ways to access the Pulse Library:

  • Click the Pulse Library tab at the bottom of the main form.

  • Click View on the main window menu bar and select the Pulse Library menu item from the menu.

  • Click View on the main window menu bar and select the Both Libraries menu item.

Main Window

The Pulse Details section of the Pulse Library form has text boxes and drop-down menu selections that let you design a pulse using custom pulse parameters. When you run the Pulse Building application or create a new project, the parameter selections such as Pulse Type in the Pulse Library form are set to default parameters. The Pulse Library section has detailed descriptions on the pulse parameters that can be configured using the Pulse Details section of this form. There are several ways to create a pulse:

  • Click the New Pulse button [image] on the menu bar.

  • Click New - then select the Pulse menu item.

  • Place the mouse pointer in the Pulses section of the form, click the right mouse button and select New.

A new pulse is given a default name, New Pulse 1, and automatically saved in the Pulse Library. The previous figure shows the pulse default name. You can change the default name:

  • Place the mouse pointer on the pulse name you want to change.

  • Click the right mouse button.

  • Select Rename and enter a name for the pulse and press return.

Related Topics

Pattern Library Form

Advanced Form

Menu Bar and Tool Bar

Pulse Library

Pattern Library


Pattern Library Form

There are three ways to access the Pattern Library:

  • Click the Pattern Library tab at the bottom of the main form.

  • Click View on the main window menu bar and select the Pattern Library menu item from the menu.

  • Click View on the main window menu bar and select the Both Libraries menu item.

The Pattern Details section of the Pattern Library form, shown above, has inputs for signal generator frequency, amplitude, and RF output; an Advanced button; a table with column names labeled as parameters with corresponding cells, and panels for antenna scan and PRI pattern properties. The table cells are used to enter parameters associated with the items of a pattern, including the parameters located on the Antenna and PRI panels. These item parameters include: repetition rate, number of repeats, frequency offset, antenna scan patterns, PRI patterns and wobbulation, and so forth. The Pattern Library section has detailed descriptions on each of the column parameters. The Advanced button allows you to configure pattern-specific parameters including markers and triggers, as well as hardware-specific parameters.

A new pattern can be created using three different methods:

  • Select the New Pattern button [image] from the toolbar.

  • Select the New menu, then select the Pattern menu item.

  • Place the mouse pointer in the Patterns section of the form, click the right mouse button and select New.

A new pattern is given a default name and automatically saved in the Pattern Library. The figure above uses the default pattern name New Pattern 1. You can change the default name:

  1. Place the mouse pointer on the pattern name you want to change.

  2. Click the right mouse button.

  3. Select Rename and enter a name for the pattern.

Once a new pattern is created, items can be inserted into the pattern. A pattern can be exported to, and imported from a CSV pattern file. The Pattern Library form with a default pattern name, New Pattern 1, and a single pulse item is shown in the figure above.

Related Topics

Pulse Library Form

Advanced Form

Menu Bar and Tool Bar

Pulse Library

Pattern Library

Importing and Exporting Patterns


Advanced Form

The Pattern Details section has an Advanced form, accessed from the [image] command button.

The Advanced button provides access to pattern specific functionality. It is possible to design several patterns, each with its own specific setup, such as a different frequency and amplitude while also having a different trigger mode.

In cases where patterns are designed using other patterns (nested patterns), the current pattern parameters override the nested pattern parameters.

Signal generator settings are pattern dependent, not project dependent. As a result, each pattern in the pattern library can have unique signal generator parameters.

Each downloaded signal contains waveform and sequence data for the arbitrary waveform generator as well as settings for the signal generator. Many of the signal generator values may be updated by simply pressing the play button. Switching between patterns that have been downloaded is accomplished by selecting the desired pattern from the pattern list and pressing play.

The waveform and sequence data downloaded to the PSG/MXG/EXG/ESG internal Arb is placed in volatile memory. The data may be copied to non-volatile memory for permanent storage. Use the instrument save/recall feature to save the other instrument settings for this signal. When you want to play a previously stored waveform, load the waveform into volatile memory and recall the associated instrument state. Refer to the Download section for more information.

Related Topics

Pulse Library Form

Pattern Library Form

Menu Bar and Tool Bar

Pulse Library

Pattern Library


Menu Bar and Toolbar

Menu Bar

The Pulse Building main menu bar consists of the following pull-down menu items:

Click on any of the menu bar items to navigate to that topic description.

Each of these main menu items gives you access to additional menu items that are used to setup and generate a signal.

Toolbar

In addition to the menu bar, the Pulse Building application has Toolbar shortcuts, shown below, that duplicate many of the functions available on the main menu.

Click on any of the shortcut icons to navigate to that description.

The Toolbar icons have "Tool Tips" that describe the shortcut function. To display the "Tool Tip" hold the mouse pointer close to one of the Toolbar icons and a brief description is displayed. The following figure shows the "Tool Tip" for the Connect to Instrument icon.

Related Topics

Pulse Library

Pattern Library


File

The File menu consists of the following menu items:

These menu items are associated with Pulse Building application's project .pbp file operations.

New

This menu item creates a new Pulse Building project .pbp file. If you are editing a pulse or a pattern and select the New menu item, the editing process terminates and the form appears in its default condition. You will be asked if you want to save work on the current project.

Open...

This menu item uses an Open Dialog box to open the default directory. You can select a previously created project .pbp file from this directory if one is present. If a project file is located elsewhere, the Open Dialog box allows you to navigate to other directories and select the project file. Project files use a .pbp file extension. If you are working on a project, you will be asked if you want to save your work.

When you open an older .pbp file, all of the Hop pattern properties will be set to their default values. There is no effect on existing signals.

Save

This menu item uses a Save dialog box to save the .pbp file to the default Program Files > Keysight > Signal Studio > Pulse Building directory. This menu item saves the .pbp project file using the current file name.

Save As...

This menu item prompts you for a file name and then saves the project file using that file name.

Import Pattern

This menu item allows importation of a *.csv file containing a pulse pattern. The file is imported as the pattern specified within the file. If the specified pattern already exists you are prompted to overwrite it or not.

When you import an older CSV file, all of the Hop pattern properties will be set to their default values. There is no effect on existing signals. When you export, the Hop properties are placed after the Antenna Radiation Properties in the CSV file. See Importing and Exporting Patterns.

Export Pattern

This menu item prompts you for a file name and then exports the complex pulse pattern to a *.csv file using that name. If the file already exists you are prompted to overwrite it or not. Exporting a pulse pattern is the easiest way to generate a CSV file with the correct format. The exported file can be manipulated with Excel or other programs that support the CSV format.

Exit

This menu item closes the Pulse Building application.

The File menu has a Closed history list that displays a listing of previously saved Pulse Building .pbp files. The Pulse Building application writes file history to a AgtPB.cfg file located in the same directory as the .pbp project file.


Edit

The Edit menu consists of the following menu items:

These menu items handle operations that manipulate pulse and pattern objects. The Edit menu items Cut, Copy, Paste, and Delete can be used on a pulse, a pattern, or an individual pattern item. For example, if you are creating a pulse and wish to copy its parameters to another pulse, you would use the Copy and Paste menu items.

Cut

This menu item removes the selected pulse, pattern, or pattern item from the library or pattern definition and places it on the clipboard. In addition, you can use Cut to remove an item from a pattern. You can cut any number of pattern items in any order:

  • Hold down the Ctrl key

  • Select pattern items by clicking the left mouse button

  • Click the right mouse button

  • Select the Cut menu item

If the pattern items you want to cut are sequential:

  • Hold down the Shift key

  • Select the first pattern item in the sequence by clicking the left mouse button

  • Click the last pattern item in the sequence

  • Click the right mouse button

  • Select Cut from the menu items

In either case, a dialog box will ask for verification before the pulse, pattern, or pattern item is cut.

Copy

This menu item copies pulse, pattern item, or pattern parameters and saves the parameters to the PC clipboard. You can then paste the copied pulse, pattern item, or pattern parameters into another pulse, pattern item, or pattern. The Copy operation can save time as manual entries can be tedious to enter. The Copy operation is very useful for complex Custom IQ and Custom Profile pulse types. For example, if you want to use most of the parameters of an existing pulse named pulse_1, in a new pulse named pulse_2 you would:

  • Create a new pulse.

    • Select the [image] icon

  • Rename the New Pulse to pulse_2.

    • Click New Pulse, click the right mouse button, select Rename and type pulse_2.

  • Click pulse_1. Click the right mouse button, select Copy

  • Click pulse_2. Click the right mouse button, select Paste

    Pattern parameters can be copied in the same manner.

Paste

This menu item pastes copied parameters into another pulse, pattern, or pattern item. If the clipboard contains a pattern item, the parameters are pasted into an existing pattern item. If no pulse or pattern is selected (an empty pulse list, for example), pasting is not allowed. For table entries, multiple element copy and paste is allowed. If an item is selected, the paste operation will overwrite the content of the item and any item after this item until all copied elements are pasted. If the pattern item table is empty, copied items will paste from the start of the index.

The Pulse Building application supports cut and paste operations between two projects. You can cut and paste pulses, patterns, and off times between projects only when two instances of the Pulse Building application are running. To generate two instances, the Pulse Building executable (.exe) is run twice. Patterns of patterns cannot be copied between projects.

Delete

This menu item removes the pulse, pattern, or pattern item along with all associated parameters and definitions. If the delete operation is on a pulse or pattern that pulse or pattern is removed from the library.

The Pulse Building application supports cut and paste operations between two projects. You can cut and paste pulses, patterns, and off times between projects only when two instances of the Pulse Building application are running. To generate two instances, the Pulse Building executable (.exe) is run twice. Patterns of patterns cannot be copied between projects.


View

The View menu consists of the following menu items:

These menu items are used to change the appearance of the Pulse Building application's main form. You can select how the interface is presented, what forms (pulse library or pattern library or both) and what parameters you want visible in the pattern library table.

Pattern Library

This menu item displays the Pattern Library form.

Pulse Library

This menu item displays the Pulse Library form.

Both Libraries

This menu item displays both the Pulse and Pattern Library forms.

Customize pattern item table...

This menu item displays the Custom Pattern Detail Tableform. This form, shown below, lists all available pattern parameters using the column titles that appear on the Pattern Details table. You can select which parameters you want to be visible on the table by placing a check in the desired parameter check box. The customized table changes only how the pattern item table appears. Though unselected parameters do not appear on the table, they are not disabled and are still used by the software to calculate the baseband signal. Also, you can still enter values for parameters located on the Pattern Details Antenna and PRI panels, even if they do not appear on the table.

The Select Column Preset provides choices of pre-selected sets of parameters to appear on the Pattern Details table. The figure below shows the Default choice with all parameters selected. The column preset choices include the following:

  • Default - shows all available parameters

  • Classic - shows the original parameters used in the previous Pulse Building version

  • CSV File - shows the parameters in the same order as the CSV export file

  • Favor PRI Patterns - shows fewer columns, emphasizing the PRI Pattern parameters

  • Favor Antenna Patterns - shows fewer columns, emphasizing the Antenna Scan parameters

  • Offsets Only - shows fewer columns, emphasizing the Offset parameters

Selecting Phase Offset in radians or Phase Offset in degrees controls Phase Offset in the Pattern Details table.


New

The New menu consists of the following menu items:

These menu items allow you to create a new pulse, pattern, or pattern item.

Pulse

This menu item creates a new pulse using default parameters and default name, New Pulse 1.

Pattern

This menu item creates a new pattern using a default name, New Pattern 1. A new pattern has no items.

Pattern Item

This menu item allows you to Insert or Append a pattern item (pulse, pattern, or off time) into the pattern.

  • Insert inserts a new pattern item with default parameters at the location of the cursor. The figure below shows the cursor at index 3. Insert will place a new pattern item at index 3. The original index 3 item is pushed down and becomes an index 4 item.

  • Append increments the index and places a new pattern item at that index. The new pattern item becomes the last item in the pattern.


System

The System menu consists of the following menu items:

Click on any of the menu items to navigate to that topic description.

These menu items are used to configure the I/O (input/output) instrument interfaces and establish communication between the PC, signal generator, and spectrum/signal analyzer. Interface connections available include GPIB and LAN. You can also view the system details of the current hardware configuration, view the connection diagrams of supported systems, run an instrument self test, or change to a simulated hardware configuration.

The signal generator menu item uses the dialog window shown below for I/O configuration. The analyzer uses an identical dialog form for I/O connection.

Change hardware connections

This menu item starts the System Configuration Wizard at Closed step 2, where you select a specific system from a list of configured systems, or configure a new hardware system.

Run System Configuration wizard

This menu item starts the System Configuration Wizard, where you configure a new hardware system from a list of supported configurations. You also access this from the Connect to Instrument button [image] on the tool bar.

View system details

This menu item displays specific Closed system details of the currently selected hardware configuration, such as the name and description of the system, instrument type, connection type (LAN or GPIB), model and serial number, firmware revision and installed options.

View system connection diagram

This menu item displays a Closed connection diagram for the selected hardware system. See also Equipment Setup.

Run Self Test

Select this menu item to run an I/O interface connection test between the hardware system and the PC. The Closed Run Self-Tests window appears and displays the results of the tests. If an error occurs, a Closed red X appears next to the failed test and an error message is displayed in the status area of the window.

The N603xA/M933xA or N824xA memory is automatically erased after running Self Test.

Self Test does not support external upconversion or downconversion. The signal generator output should be connected directly to the analyzer input.

  • Signal Generator Tests − Checks the I/O connection of the signal generator, verifies that the model number of the connected signal generator is supported, and validates that the firmware is compatible with the software version.

  • Arbitrary Waveform Generator Tests − Checks the I/O connection of the Arb, verifies that the model number of the target Arb is supported, and validates that the firmware is compatible with the software version.

  • Spectrum Analyzer Tests − Checks the I/O connection of the spectrum/signal analyzer, verifies that the model number of the connected analyzer is supported, and verifies that the firmware is compatible with the software version.

  • System Tests − Verifies that the signal generator and arbitrary waveform generator I/Q ports are connected in preparation for performing a correction, verifies that the signal generator and analyzer RF ports are connected in preparation for performing a correction, and that a common 10 MHz reference is present.

Simulated Hardware

This menu selection opens a dialog window where you select a Closed simulated hardware system from a list of supported configurations. These setups allow you to exercise the user interface without having hardware connected to the PC.

Display Welcome Dialog

This menu selection toggles on and off the opening Closed welcome dialog screen. This menu selection does not take place until the next time the N7620B software is opened.

Enable Antenna Refresh Needed

When this setting is enabled (default is disabled), the Closed Antenna Scan Refresh message is displayed when Antenna Type is not None and when the pattern item duration changes.

The pattern item duration can change when:

  1. The number of Repeats is changed.
  2. PRI Pattern Type changes.
  3. Any of the other PRI pattern properties change.
  4. The object type changes between pulse, pattern and off time.


Download Menu

The Download menu consists of the following menu items:

Click on an item in the menu below to navigate to that description.

These menu items allow you to handle signal download operations. You can:

  • Check the signal's validity before downloading. The Pulse Building application calculates the number of segments describing the signal and verifies the couplings, settings and ranges used for signal parameters.

  • Control download and playback of signals. You have several choices on how to download the signal.

  • Configure marker event delay for triggering other devices.

  • Select the type of correction (calibration) to use for the signal.


Verify Signal

This menu item causes the Pulse Building application to validate the signal and verify that the current pattern configuration can be downloaded and played back by the signal generator. Verifying the signal includes:

  • Checking the available signal generator baseband memory to ensure that it is not exceeded by the memory requirements of the signal. The pattern must be less than the signal generator's baseband memory.

  • Checking signal parameters for valid couplings with signal generator settings. Repeats, object lengths and repetition rates must be valid. For example, the object length must be less than or equal to the Repetition Interval, the object name must be in the pulse or pattern library and so forth.

    Verify does not prevent you from configuring a signal and is not a real-time event.


Download

Verifies the active pattern, creates the pattern signal data (including waveform, sequence and marker data), applies the corrections selected, and downloads the signal to the signal generator's volatile waveform memory.

The downloaded pattern is configured by the Pulse Building application with information needed by the signal generator so that it can be played back. At this point the pattern with the configuration information is referred to as a baseband signal. If you play the signal, the signal generator settings are set up automatically. You can manually save the signal to the signal generator's non-volatile waveform memory.

Only the internal Arb supports saving waveform data to non-volatile memory.


Download & Play

Verifies the active pattern, creates the pattern signal data (including the waveform, sequence and marker data), applies corrections, downloads the signal to the signal generator's volatile waveform memory and sets up signal generator settings associated with the baseband signal and turns on the Arb. The signal generator will automatically play the signal. The Download & Play selection uses the Advanced settings to configure a signal. Refer to the Advanced Command Button section for more information.

Saving Signals

You can manually save the signal to the signal generator's non-volatile waveform memory. In addition, you can save the signal generator parameters and settings, configured in the Advanced setting section, to one of the signal generator's save/recall registers. Recalling the register will set up signal generator parameters to play the signal with the correct settings.

Only the internal Arb supports saving waveform data to non-volatile memory.


Play

Verifies that the signal data for the pattern is present in the signal generator's volatile waveform memory. If it is present, Play selects the signal and plays it. If signal data is not present, Play downloads the signal to the signal generator's volatile waveform memory and plays it. The play selection can be thought of as a start button.

If the trigger mode is set to Continuous, Single, or Pulse signal generation occurs after receiving a valid trigger input. Play is always required after stopping the signal, regardless of the trigger mode selected to restart the signal. The trigger mode can be changed between None, Continuous, and Single. If the trigger mode is changed to or from Pulse, a Download and Play is required to update the pattern waveform and sequence data. See Trigger Mode for more information.

The Play menu item also sets the associated pattern parameters (frequency, amplitude, etc.) and turns on the signal generator's Arb. The signal is defined by sequence, marker, and Arb waveform files and uses the same file names (with different file extensions). All files defining a signal must be present in the signal generator before a signal can be played.

For internal Arbs, the sequence files are stored in the signal generator's non-volatile memory. If an Arb waveform file is deleted, the associated sequence file will remain in the signal generator's memory and over time these unused sequence files can consume much of the signal generator's memory. It is advised therefore that these unused sequence files be removed.

For external Arbs, downloading a pattern with the name of an existing pattern overwrites the sequence and waveform files.

A signal downloaded to the signal generator's memory has a sequence file associated with it. These sequence files are loaded into the signal generator's non-volatile memory and will remain in memory until deleted. The Pulse Building application does not delete a sequence file. If you delete a waveform file, manually delete the associated sequence file. Unused sequence files can consume signal generator memory. See Clear Arb Memory.


Play Test Signal

The test signal is a multitone signal that contains 20 tones with staggered frequencies (so the images are readily seen). The bandwidth of the test signal is set with the Signal Bandwidth parameter. See Test Signal Image Reduction.


Stop

This menu item turns off the signal generator's Arb. The RF output is not turned off unless that selection is made in the Customize.. menu. A CW signal at the current signal generator's frequency setting will be played.


Trigger

This menu item provides a software trigger to the ARB. Refer to Trigger in the Advanced Pattern Details topic for more information about triggering.


Enable Corrections

This menu selection toggles Closed Auto-Correction on and off. Auto-Correction is available from the Correction Settings... menu selection.


Correction Settings...

The MXG and EXG Internal Arbs come equipped with an internal calibration which is comparable to the N7620B corrections. This means that if the MXG or EXG calibration is enabled the Pulse Building corrections are not needed. Enable the MXG/EXG internal calibrations by checking Enable Predistortion on The Arb tab of the Customize… panel.

This menu item displays the Closed Correction Settings dialog. Select the type of corrections to use for the signal.

The Correction Settings... dialog enables and disables corrections. When enabled, corrections are applied to downloaded waveforms and are based on certain system parameters, including:

  • Hardware configuration

  • Mirror spectrum

  • Signal generator model

  • Modulator attenuator value

  • Signal generator serial number

  • Baseband filter

  • Arbitrary waveform generator model

  • Arb Sample clock frequency

  • Frequency

  • Arb output voltage

  • Frequency offset

  • Arb output filter

  • Amplitude

  • Number of calibration points

  • Amplitude offset

  • Signal bandwidth

  • Attenuator value

These parameters are used as a key into the calibration data base kept in the Signal Generator. If an entry exist the corrections are applied to the waveform. If no entry matches the key, a new calibration measurement is made using the ESA/PSA spectrum analyzer. This measurement data is added to the calibration data file and used to correct the waveform as it is downloaded.

Click Closed here to view the signal download flow diagram.

The Pulse Building application provides direct access for calibration. Ensure that the signal generator, the arbitrary waveform generator and spectrum analyzer share a common 10 MHz reference and are connected correctly. Run the system Self Test if you are unsure of the system configuration. The PSG/MXG/EXG/ESG signal generator has an automatic sensing 10 MHz reference input. The ESA/PSA spectrum analyzer is not auto sensing and must be configured to accept an external reference or to output a 10 MHz reference. External arbitrary waveform generators are always configured for an external 10 MHz reference and the PSG/MXG/EXG/ESG internal Arb shares the same reference used by the signal generator (see Equipment Setup).

Auto-Correction

When this check box is enabled, the Pulse Building application's automatic correction routine is used. This routine corrects for RF flatness and image rejection. When Auto-Correction is enabled, both Image Rejection and RF Modulation Flatness and Phase are selected.

For best performance, an I/Q Calibration from the signal generator's front panel is recommended on a regular basis. The I/Q calibration should be done about once a week.

See also System Optimization.

Optimization

The correction measurement can be optimized for accuracy or speed. Optimizing for speed means that fewer measurement points are made. A waveform pre-distorted with fewer data points may provide less correction to the linear distortions in the hardware. Custom optimization lets you specify how many measurements are made across the bandwidth for each correction. The actual number of measurements made for Accuracy and Speed are configuration specific.

 | Speed | Accuracy | Custom
Internal I/Q | 25 | 100 | 25-1000
External I/Q | 25 | 100 | 25-1000
Wideband I/Q | 50 | 200 | 25-1000

Disable Spectrum Analyzer Display

This feature allows the spectrum analyzer display to be blanked during the correction measurement. It can be used to hide operational frequencies from general view.


Generate Correction

Selection of this menu item forces a correction measurement to determine the correction coefficients for the current pattern library settings . The measurement data is stored in the data base and will replace any existing data for the current setup. The signal generator, arbitrary waveform generator, and analyzer must be connected correctly and share a common 10 MHz reference for the measurement to work. The sample clock minimum, maximum, resolution and reset values are system configuration specific:

  • Closed Internal Baseband Generator (Options 001, 002, 601, 602)

    • Default - 100 MHz

    • Minimum - 10 MHz

    • Maximum - 100 MHz

    • Resolution - 0.1 Hz

  • Closed N603xA/M933xA or N824xA Arbitrary Waveform Generator − External I/Q

    • Default - 1.25 GHz

    • Minimum - 156.25 MHz

    • Maximum - 1.25 GHz

    • Resolution - Internal clock only supports these frequencies: 156.25 MHz, 312.5 MHz, 625 MHz, and 1.25 GHz

  • Closed N603xA/M933xA or N824xA Arbitrary Waveform Generator − Wideband I/Q

    • Default - 1.25 GHz

    • Minimum - 156.25 MHz

    • Maximum - 1.25 GHz

    • Resolution - Internal clock only supports these frequencies: 156.25 MHz, 312.5 MHz, 625 MHz, and 1.25 GHz

    If the expected correction results are not achieved, you must perform an I/Q calibration on your signal generator. Instrument I/Q calibration is accessible from the front panel or with SCPI commands.


Clear Calibration Data

This menu item clears calibration data from the signal generator's memory. Clearing the calibration data allows new data to be written to the signal generator. Clearing calibration data is recommended, but not required, if the calibration data is older than 24 hours.

Use Generate Correction to replace a single entry in the calibration data base. Use Clear Calibration Data to clear the entire data base.


Customize...

This menu item displays a dialog window that allows you to configure the system reference and RF output, configure Arb synchronization, select wideband mode, and adjust I/Q calibration.

The choices made in the Customize menu are hardware configuration-specific and are not saved in the Pulse Building setting file <filename.pbp>. The values are saved to the PC when the application is quit. The Arb Synchronization property is also not saved and is always set to Independent when the application is started.

System Tab

Click the Closed System tab and set system configurations.

10 MHz Reference Source

Select the 10 MHz reference source used by the Pulse Building system hardware. The desired selection may not be possible because of the current reference cable routings. Be sure the reference cables are routed to agree with the selection. The Pulse Building application does not care who provides the 10 MHz reference. It only requires that all of the system hardware shares the same reference. The references on some hardware may be auto sensing. Choices for reference sources are:

  • Signal Analyzer - The Signal Analyzer supplies the 10 MHz reference to any other system hardware.

  • Signal Generator - The signal generator supplies the 10 MHz reference to any other system hardware.

  • External - All of the system hardware uses a 10 MHz reference provided by an external source.

  • Arbitrary Waveform Generator - The Arbitrary Waveform Generator supplies the 10 MHz reference to any other system hardware.

  • Not Common - The system hardware is not sharing a common reference.

RF Off on Stop

Set the RF output to be on or off when the signal is stopped.

RF Output On on Play

When enabled, the Pulse Building application automatically turns on the RF output during a play. When disabled the RF output state is left as it was. During a Play, the RF output may be turned off to eliminate signal flickering. The RF output is restored to its previous state at the end of play.

Do Power Search on Play

When enabled, the Pulse Building application automatically executes a power search on play when the ALC is disabled and the RF output is enabled. The application manages the waveform RMS voltage and uses this value to set the signal generator Manual Power Search Reference value. See Getting Correct Output Power for more information.

Arb Tab

Click the Closed Arb tab and select the desired synchronization mode.

Synchronization

See Synchronizing Arbitrary Waveform Generators for information on configuring the hardware.

Maximize DAC values

Supports functionality in the N603xA/M933xA and N824xA AWGs.

The AWG predistortion function is designed to flatten the signal regardless of what the signal is. This flattening may sacrifice dynamic range to ensure that the predistortion doesn’t create data that exceeds the valid DAC range. When enabled, the Maximize DAC values option ensures that the signal is rescaled after the predistortion to use the DAC's full dynamic range. Depending on the signal being generated, this can be a gain of more than 3 dB. This gain transfers directly to more RF output power. Enabling this option can result in different RMS voltages for similar signals. This should not be a problem as the Pulse Building application manages the waveform RMS voltage and uses it when the ALC is disabled to get correct RF output power.

Enable Predistortion

Supports functionality in the MXG and EXG internal Arbs and supports functionality in the N603xA/M933xA and N824xA AWGs.

Checking Enable Predistortion enables the MXG/EXG internal channel correction filter. Deselecting Enable Predistortion disables the MXG/EXG internal channel correction filter.

The N603xA/M933xA and N824xA AWGs have about a 12-dB roll-off from DC to 500 MHz. This roll-off results from a combination of the output alias filters and the sin(x)/x roll-off inherent to all DACs. Enabling predistortion flattens the output from DC to 500 MHz from each AWG channel. The Pulse Building corrections achieves the same results whether the AWG predistortion is enabled or not.

Wideband Tab

Click the Closed Wideband tab to select the desired wideband mode, shift RF filter switch points, and adjust I/Q calibration.

Use Wideband I/Q below 3.2 GHz

Select this option to enable the wideband path below 3.2 GHz. This feature makes it possible to generate 1 GHz bandwidth signals below 3.2 GHz. It also provided better RF flatness below 250 MHz when using the PSG internal Arb. Available for the PSG-D with Option H18 only; not available for the ESG or PSG-C.

Shift RF Filter Switch Points

Select this option for better RF flatness of wideband signals (greater than 50 MHz) by changing the RF filter switch points. There is no effect when using the Use Wideband I/Q below 3.2 GHz feature. Available for ESG and PSG-D only; not available for PSG-C.

The filter switch points are:

  • Normal 250, 396, 628, 1000, 1500, 2400, 4000

  • Switched 170, 316, 548, 920, 1420, 2320, 3120

See also RF Filter Switch Point examples.

I/Q Skew and I/Q Gain Balance

You can adjust I/Q Skew and I/Q Gain Balance when supported by the hardware. The adjustments do not require a calibration measurement and may provide you with enough image suppression that a calibration measurement is no longer required. The N603xA/M933xA and N824xA AWGs do not support I/Q skew. Minimum and maximum values are:

  • I/Q Skew: –10 ns to +10 ns (default = 0 ps)

  • I/Q Gain Balance: –2.0 dB to +2.0 dB (default = 0 dB)


Event Delay...

The dialog form shown below allows you to select an event delay time interval that applies to Event 1, Event 2, and Event 3, set a pulse modulation alignment time to adjust the pulse modulation signal with the I/Q waveform, and set a coarse modulation alignment time to adjust the pulse modulation alignment for the internal Arbs.

Event Delay (ns)

This menu item allows you to specify a time delay within ±50 ns for the user-defined Events 1, 2, and 3 configured in the Pattern Details Advanced section. The time delay resolution is related to sampling rate: time delay resolution = 1/sampling rate. For a 100 MHz sampling rate the resolution is 10 ns. With no delay the event markers are synchronized with the RF output. Setting an event delay allows you to fine tune the timing of the event marker as a trigger for other devices. When the ALC Hold Line is enabled, Event Delay (ns) is not applied to Event 3. Changing this value requires you to Download and Play the signal to view results.

Pulse Modulation Alignment

This parameter is for configurations using the N603xA/M933xA, N824xA, or internal Arbs only. Pulses are generated using both the I/Q waveform as well as the signal generator pulse modulator. The pulse modulator is driven by the marker 4 signal provided by the Arb. The N7620B software has delay times built into its signal calculations to insure that the I/Q pulse reaches the pulse modulator at the same time as the marker signal. This insures that the pulse has the best on/off ratio possible. The I/Q waveform provides a pulse on off ratio of approximately 65 dBc by itself. When combined with the pulse modulator the pulse on/off ratio is better than 80 dBc.

However, it may be necessary to fine-tune the pulse marker delay to insure the I/Q data and the marker data reach the pulse modulator at the same time.

The delay range for the internal Arb is

  • Range –10 ns to 10 ns

  • Resolution 0.01 ns.

The range for the N603xA/M933xA or N824xA Arb is

  • Range: –6.4 ns to 25.6 ns

  • Resolution: 1.6 ns

  • Default: 0 ns

The delay times are based on the I/Q signal path and the marker signal path. For External I/Q and Wideband I/Q it is assumed that the external signal paths are equal. If the external signal paths are equal the Pulse Modulation Alignment should be left at 0 ns. If this is not the case see the Pulse Modulation Alignment procedure.

The pulse modulation alignment resolution for the N603xA/M933xA or N824xA is 1.6 ns, however, the waveform Closed marker resolution is 6.4 ns (8 / Sampling Rate). This results in a stepped pulse shape. The application builds a marker signal that is greater than or equal to the pulse on time as discussed in Pulse Modulation Alignment. Click Closed here to see an exaggerated misalignment to illustrate the step.

Notice that the marker transitions occur at multiples of 6.4 ns, or every 8 samples, while the I/Q signal edges can change at any multiple of 0.8 ns.

The following figure uses an exaggerated misalignment to illustrate the step. The step is the result of the pulse modulator turning on first, followed by the pulse from the I/Q data. The actual step width should be less than or equal to 6.4 ns.

Coarse Pulse Modulation Alignment Low (ns)

This menu item is a coarse alignment adjustment for a low RF signal frequency, with a limit of ±50 ns. It moves the pulse modulation signal an integer number of sample points relative to the I/Q data. This modulation alignment adjustment is for an internal Arb where you cannot physically adjust cable lengths. This can be used with an external Arb, but may not have sufficient range. When adjusting the pulse modulation alignment for an external Arb, adjusting the cable lengths is the preferred method. See below for the frequency range.

Coarse Pulse Modulation Alignment High (ns)

This menu item is a coarse alignment adjustment for a high RF signal frequency, with a limit of ±50 ns. It moves the pulse modulation signal an integer number of sample points relative to the I/Q data. This modulation alignment adjustment is for an internal Arb where you cannot physically adjust cable lengths. This can be used with an external Arb, but may not have sufficient range. When adjusting the pulse modulation alignment for an external Arb, adjusting the cable lengths is the preferred method. See below for the frequency range.

 | Low | High
PSG | <3.2 GHz | >3.2 GHz
ESG | <4.0 GHz | >4.0 GHz


Clear Arb Memory...

Clear Arb memory is provided for cases where you have created multiple patterns that will not fit in the Arb memory at the same time. This state may be indicated by a memory full error while downloading a pattern. Clear the Arb memory and download the pattern again. Multiple patterns can be loaded into the Arb at the same time. Switching between the patterns is done by selecting the desired pattern on the Pattern Details page of the N7620B software and executing a play command.


Help

The Help menu consists of the following menu items:

Contents

This menu item displays the contents of the Help document.

Index

This menu item accesses the Help document index. Topics and information are presented in lexicographic order.

Search

This menu item allows you to enter text. Any items that match the search text will be shown.

About Signal Studio for Pulse Building

This menu item gives the Keysight Signal Studio for Pulse Building copyright information.


Shortcut Menus

The Pulse Building GUI has several shortcut menus in addition to the menus and toolbar icons previously described. Two are shown below.

Pulse Library Shortcut Menus

The Pulse Library shortcut menus include the two menus shown in the following figures.

  1. Place the mouse pointer in the Pulses section or in a text box or table in the Pulse Details section of the form.

  2. Click the right mouse button

Menu item functions, such as Cut and Paste, have been described in previous sections. Some menu items may be disabled depending on whether or not the function can be performed.

Pattern Library Shortcut Menus

The Pattern Library shortcut menus include the two menus shown in the following figures.

  1. Place the mouse pointer in the Patterns section or in the Pattern Details section.

  2. Click the right mouse button.

Menu item functions, such as Play and Rename, have been described in previous sections. Some menu items may be disabled depending on whether or not the function can be performed.

The Comment menu item allows you to enter information on the signal, enter data and so forth, into a simple text editor form. The text editor comments are saved with the .pbp project.

The Append and Insert menu items are available in the Pattern Details section of the Pattern Library form. The Append menu item increments the index number and adds a pattern item to the pattern items table at that index number. The Insert menu item inserts a pattern item into the pattern items table at the index position selected (the pattern item will be highlighted). The original pattern item at the highlighted position and all pattern items following are shifted down. See the section on pattern items for more detail.

The Table Columns menu item cascades to a list of items that control the list of column titles appearing on the Pattern Details table. See Customize pattern item table for information about the preset column choices.


Pulse Library

Pulse Library Overview | describes the Pulse Library form and provides an overview on using the graphical user interface (GUI) to create pulses.
Pulse Types | describes the pulse types used by the Pulse Building software.
Pulse Parameters | describes the parameters used by the Pulse Building application to define the built-in trapezoidal and raised-cosine pulse types.
Modulation Types | describes the built-in modulation formats used by the Pulse Building software.


Pulse Library Overview

Pulses, designed with the tools available in the Pulse Building application, are stored in the Pulse Library. You can also use your own custom profile and custom IQ data to define a pulse and save that definition to the Pulse Library. User-defined parameters describing a pulse include: pulse type, jitter, edge rise and fall times, pulse width, and intra-pulse modulation such as AM Step, Barker codes and linear chirps. Once the pulse is created it can be given a name and is automatically saved to the Pulse Library of the current project.

The Pulse Building application supports cut and paste operations between two projects. You can cut and paste pulses, patterns, and off times between projects only when two instances of the Pulse Building application are running. To generate two instances, the Pulse Building executable (.exe) is run twice. Patterns of patterns cannot be copied between projects.

In the Pulse Building application a pulse is described as the on-time of the signal generator's RF output. The Pulse Building application allows you to define pulse profiles and modulation characteristics that describe the on-time for the signal generator's RF output. No off-time is specified for a pulse. Off-time is described using pattern parameters and is defined as the time between pulses in a pulse train. See the Pattern Library for more information.

The Pulse Building GUI allows the creation of several pulse types: trapezoidal, raised-cosine, custom profile, and custom IQ. In addition, the GUI allows you to select types of modulation including: None, BPSK, Custom BPSK, QPSK, Custom QPSK, Barker, FM Chirp, Custom FM Chirp, FM Step, AM Step, Frank Code, P1 Code, P2 Code, P3 Code, P4 Code, and Custom Phase Pattern.

The Pulse Library form with default parameters and a default pulse name, New Pulse 1, is shown below.

Pulse Library Form

Related Topics

Pulse Types

Modulation Formats

Pulse Parameters


Pulse Types

The Pulse Type menu provides access to the following pulse types:

The Pulse Details section of the form will change depending on the Pulse Type selected. If the Pulse Type is trapezoidal or raised-cosine, the pulse details section is the same as shown in the above Pulse Library form. Custom Profile and Custom I/Q pulse types use different pulse detail parameters.

Trapezoidal

This pulse type is defined by rise time, fall time, width, width jitter type, jitter deviation and modulation type. These parameters are described in the Pulse Parameters section. A trapezoidal pulse has a linear rise and fall time with a characteristic shape shown in the following figure:

Raised-Cosine

This pulse type is defined by the same parameters that describe a trapezoidal pulse. A raised-cosine pulse has sinusoidal rise and fall times with a characteristic shape as shown in the following figure:

Custom Profile

This pulse type is described by user-defined pulse profile data. The pulse is defined by an index number and amplitude value. A pulse can be described using any number of points (index number) representing an amplitude level. The largest amplitude number in the custom profile data table is used to reference all the other amplitude data points. The Pulse Building application normalizes the profile amplitude data so that the maximum amplitude is 1.

The N7620B software will automatically resample the Custom Profile data if its sampling rate is different from the current Arb Sampling Rate. (The current Arb sampling rate is found under the Advanced… button on the Pattern Library display.)

There are two ways to enter custom profile data: manually, or by using the Import function.

  • Manually - Add new items by placing the mouse cursor in the Profile Data section of the form, click the right mouse button, and then select the New Items menu selection.

    The Closed New Items dialog box allows you to enter the number of items (data points) used to define the custom pulse. Once the number of items is entered you can set amplitude levels that define each sample point. New items are added to any items already present. If there are 20 items in the table and you enter 10 in the New Items dialog box, the table will have 30 items. To delete items, select the item or items (use the shift key and mouse pointer to highlight the items you want to delete) then click the right mouse button and select Delete.

  • Import - This command button opens a Closed dialog that allows you to import a .txt file containing custom profile values into the Profile Data table. The text file must be in a tab delimited format. If you are using Microsoft Excel to create custom pulse profiles use the Save as type: Text (Tab Delimited) selection in Excel. The Pulse Building application can then import that .txt file pulse definition. The waveform sample rate for the imported custom profile data must match the sample rate in the Advanced section of the Pattern Details form.

There are 10 amplitude levels defined in the above figure. This example defines a CW pulse; no modulation present. Custom profile data can contain modulation. You can also add modulation by selecting a modulation from the Modulation Type drop-down list box. If a step modulation such as FM Step is used, the time duration for the total number of steps must equal the on time for the pulse. Refer to the section on modulation types for more information.

The pulse width, measured from the first data point to the last data point, should equal the (maximum index number)/sample rate. In the above figure the maximum index number is 10 and the sample rate is 10 MHz; therefore, the pulse width should equal 1000 ns. The waveform sample rate for the imported custom data must match the sample rate in the Advanced section of the Pattern Details form.

The N7620B Pulse Building software will automatically resample the Custom Profile data as necessary to preserve the shape of the user-provided data and minimize distortion at the end points. However, automatic re-sampling can result in a waveform that won't fit into Arb memory.

Custom I/Q

This pulse type is a user-defined pulse definition described by an index with I and Q values. A pulse can be described using any number of points. Each index point represents an I and Q value. The software automatically re-samples the custom I/Q data to match the current Arb sampling rate. The pulse represented by the custom I/Q data can contain complex modulation, frequency offsets, and even complex envelope shapes. In addition, the built-in modulation can be applied to the custom I/Q data.

The re-sampling is accomplished using an FFT and IFFT. The process is designed to preserve the shape of the user provided data and minimize distortion at the end points. The amount of re-sampled data required is calculated as follows:

datanew = Round(datauser * SRpattern/SRuser)

where

datanew = the amount of re-sampled data needed by the application

datauser = the original amount of user custom I/Q or profile data

SRuser = the original user data sample rate

SRpattern = the current pattern sample rate

No re-sampling takes place if the user data sample rate and the pattern sample rate are the same.

Some time/frequency error can be introduced by the re-sampling. This is caused when the re-sampling results in a fractional part of a sample point. It is not possible to generate fractional parts of a sample point, so the fraction is rounded to the closest whole number. The time frequency error is introduced during the rounding. The amount of error can be determined by comparing the original signal period with the re-sampled signal period:

Re-sampled signal period = datanew/SRpattern

Original signal period = datauser/SRuser

When using the Custom I/Q pulse type with rise and fall times > 100 ns, ALC should be turned off, or the ALC Hold feature should be used, in order to avoid overshoot on slow rise times.

There are two ways to enter custom I/Q data: manually, by entering data into the I/Q Data table or using the Import function to read data from an external file.

  • Manually - add new items by placing the mouse cursor in the I/Q Data section of the form, click the right mouse button, and then select the New Items menu selection. The New Items dialog box, as shown previously in the Custom Profile description section, is displayed. Manually enter I and Q values into the I/Q Data table. To change the Sampling Rate, enter a value from 1 Hz to 100 MHz.

  • Import - This command button opens a Closed dialog that allows you to import a .txt file containing I/Q pairs and enter the values into the I/Q Data table. The text file must use tab delimited format. If you are using Microsoft Excel to create custom pulse profiles use the Save as type: Text (Tab Delimited) selection in Excel. The Pulse Building application can then import that .txt file pulse definition. The waveform sample rate for the imported I/Q data must match the sample rate in the Advanced section of the Pattern Details form.

There are 10 I/Q points defined in the above figure. Custom I/Q data can represent a simple pulse profile or complex modulated pulse. You can also add modulation (the I/Q data shown above includes modulation information) to the custom I/Q data by selecting a modulation format from the Modulation Type drop-down list box. Modulation is applied from the first point of the custom I/Q data through the last point of data. If a step modulation such as FM Step is used, the time duration for the total number of steps must equal the on time for the pulse. Refer to the section on modulation types for more information.

The N7620B Pulse Building software will automatically resample the Custom I/Q data as necessary to preserve the shape of the user-provided data and minimize distortion at the end points. However, automatic re-sampling can result in a waveform that won't fit into Arb memory.

Related Topics

Pulse Library Overview

Modulation Formats

Pulse Parameters

Signal Limits


Pulse Parameters

Pulse parameters used by the Pulse Building application to define the built-in trapezoidal and raised-cosine pulse types are described in this section.

  • Rise Time

  • Fall Time

  • Width (100%-100%)

  • Width (6 dB)

  • Jitter Type

  • Jitter Deviation

  • Pulse Width Type

Related Topics

Pulse Library Overview

Pulse Types

Modulation Types

Signal Limits


Rise Time

The Rise Time parameter is the time taken for the rising edge of the pulse to increase from 0% to 100% amplitude.

  • Range is a positive time value

  • Units are:

    s - seconds

    ms - milliseconds

    us - microseconds

    ns - nanoseconds

  • API units are seconds: s


Fall Time

The Fall Time parameter is the time taken for the falling edge of the pulse to decrease from 100% to 0% amplitude.

  • Range is a positive time value

  • Units are:

    s - seconds

    ms - milliseconds

    us - microseconds

    ns - nanoseconds

  • API units are seconds: s


Width (100%-100%)

The Width parameter is the on time of the pulse specified from 100% to 100% of the amplitude. The Width property is coupled to the Pulse Width Start property and is used to help define Pulse Width Patterns.

  • Range is a positive time value

  • Units are:

    s - seconds

    ms - milliseconds

    us - microseconds

    ns - nanoseconds

  • API units are seconds: s

Related Topics

Pulse Width Type

Pulse Width Start


Width (6dB)

The Width (6dB) parameter is the width of the pulse from the 6dB point on the rising edge to the 6dB point on the falling edge. This field is read-only and is calculated from the Rise Time, Fall Time and Width (100% - 100%) parameters.


Jitter Type

The Jitter Type parameter is described as the change in the time duration, or on-time, of the pulse. The width of the pulse is lengthened and shortened by jitter. The jitter is applied to the falling edge of the pulse; the leading edge is not changed by this parameter.

The Pulse Building application provides the following types of jitter:

  • None - no jitter applied to the pulse.

  • Gaussian - jitter on the falling edge of the pulse is applied using a Gaussian probability distribution function model.

  • Uniform - jitter on the falling edge of the pulse is applied using a uniform probability distribution function model.

  • UShaped - jitter deviation is applied using a U-shaped distribution.

The figure below shows how a pulse with a 1 us Width (100%-100%) with jitter applied to the width will vary. In addition the figure shows the effect of width jitter on a pulse train. Note that the pulse repetition rate remains constant. The maximum width excursion depends on the jitter deviation and type of deviation. In the figure below the jitter deviation is 500 ns. The number of pulse widths generated with jitter is specified using the Repeat parameter. See also Pattern Details.


Jitter Deviation

The Jitter Deviation parameter is specified as the maximum ± time excursion for any jitter. The width of the pulse (100%-100%) is changed by jittering the falling edge of the pulse using the selected probability model.

For jitter types the jitter is applied on the falling edge of the pulse as follows.

  • None - no jitter deviation is applied.

  • Uniform - the jitter deviation is centered around the falling edge of the pulse. Any deviation is probable within the time specified by the Jitter Deviation entry. Any jitter deviation has an equal probability of occurring during the time interval specified in the Jitter Deviation text box. The jitter is distributed uniformly around the falling edge of the pulse.

  • Gaussian - the jitter deviation is centered around the falling edge of the pulse. Any deviation is probable within a one sigma of the limits of the jitter deviation time entry and follows a normal distribution model. The mean, mu, is the falling edge of the pulse and any jitter deviation has an equal probability of occurring during a one standard deviation (1 sigma) variance following the probability density function.

  • UShaped - the jitter deviation is centered around the falling edge of the pulse. Any deviation is probable within the time specified by the Jitter Deviation entry. Any jitter deviation has an equal probability of occurring during the time interval specified in the Jitter Deviation text box. The jitter follows a u-shaped distribution around the falling edge of the pulse.

  • Units are:

    s - seconds

    ms - milliseconds

    us - microseconds

    ns - nanoseconds


Pulse Width Type

Overview

The pulse width type parameter allows you to apply patterns to the pulse width when the pulse type is trapezoidal or raised cosine. These patterns include: Linear Ramp, Staggered, and Stepped. A unique pulse width pattern can be applied to each pulse in the Pulse Building application.

The pulse width pattern is generated during a download. The pattern generator will clip values that are out of range. A common example of this is when the pulse width pattern generator calculates a value that is greater than the current PRI. The pattern generator will return the smaller of the value calculated or the current PRI. The signal will be generated unless the target hardware does not have the required capabilities.

The current Pulse Builder Pattern property “Repeats” is used to specify the number of times to repeat the pulse on each line. For example, a Stepped width pattern can be selected, but if the number of Repeats is set to one (1), no pattern is generated. The exception to this is when the given pulse is use on multiple lines within a pattern. See the following example.

A given pulse may be used several times within a pulse pattern. When a given pulse is used throughout the pulse list, its pulse width pattern continues sequentially without reset. In this example two pulses are used in the pattern. New Pulse 1 has a “Stepped” pulse width pattern that increases from 10 us to 20 us using 11 steps of 1 us each. New Pulse 2 has a constant pulse width of 5 us. The following figure shows where New Pulse 1 and New Pulse 2 are used in New Pattern 1.

New Pulse 1 is repeated 8 times, New Pulse 2 is repeated 4 times and finally New Pulse 1 is repeated an additional 14 times. The following figure shows the measured pulse widths generated by New Pattern 1 where the stepped pulse width pattern continues and repeats after the fixed pulse width. Notice how the pulse width pattern for New Pulse 1 continues without reset after New Pulse 2.

When nesting patterns, the pulse width pattern continues when the pattern object is used on multiple lines within the new pattern. The pulse width pattern does not continue when the pattern object is used only once and the Repeat property is greater than one. In this case the pulse width pattern created by the pattern object is repeated only the specified number of times.

Selecting the Pulse Width Type

Changing the Pulse Width Type resets some of the pulse width pattern properties. The actual width can be modified by the pulse width jitter value. Pulse width jitter is an impairment that can be used in addition to the pulse width pattern.

  • None - the pulse width is constant for all pulses generated.

  • LinearRamp - creates a linearly increasing or decreasing pulse width pattern. You can set the Pulse Width Start, Pulse Width Stop, and enter the Number of Pulses in the pattern. The number of repetitions specifies the total number of pulses generated allowing partial and multiple repetitions of the pattern to be generated. Pulse Width Start is coupled to the 100%-100% pulse width property. Changing one will change the other.

  • Staggered - creates a user-defined pulse width pattern by entering 1 to n staggered pulse width values.

    The pulse width values can be added using the Edit menu. The number of repetitions specifies the total number of pulses generated allowing partial and multiple repetitions of the pattern to be generated. The stagger pulse widths are maintained in a variable length double array. The number of pulses is equal to the length of the array.

    You can also import a previously saved file containing the pulse width data. The file format is ASCII and the data is assumed to be in seconds. The number of pulses in the staggered pattern is determined by the number values imported. When importing new values, existing pulse width data is deleted first. Changing the Pulse Width Type deletes the imported pulse width data. The first pulse width in the list is coupled to the 100%-100% pulse width property. Changing one will change the other.

  • Stepped - creates a user-defined stepped pulse width pattern where you can specify the Pulse Width Start, Pulse Width Step size, Number of Steps, and the Pulses per Step in the patten. The total number of pulses in the pattern is calculated by multiplying the number of steps times the pulses per step. The number of repetitions specifies the total number of pulses generated allowing partial and multiple repetitions of the pattern to be generated. Pulse Width Start is coupled to the 100%-100% pulse width property. Changing one will change the other.

Setting Pulse Width Property Values

Pulse Width Start

This property is used by the Linear Ramp and Stepped pulse width patterns. Pulse Width Start also maps to the Width (100% - 100%) property.

Default | Min | Max
1 us/2 usThe default pulse width is 1 us for hardware configurations using the E8267 PSG, and 2 us for configurations using the E4438C ESG. 1 | 0 | 1 s

Pulse Width Stop

This property is used by the LinearRamp pulse width pattern. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
5 us | 0 | 1 s

Number of Pulses

This property is used by the LinearRamp pulse width pattern. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
5 | 1 | 10000

Pulse Width Step

This property is used only by the Stepped pulse width pattern. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
1 us | –1 s | 1 s

Number of Steps

This property is used by the Stepped pulse width pattern. The total pulses in the pattern equals Pulses Per Step x Number of Steps. Maximum pulse limit is hardware dependent. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
4 | 1 | 10000

Pulses Per Step

This property is used by the Stepped pulse width pattern. The total pulses in the pattern equals Pulses Per Step x Number of Steps. The maximum pulse limit is hardware dependent. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
1 | 1 | 10000

Staggered Pulse Width

The first width item in the list is mapped to the Width (100% - 100%) property such that changing the value of one property will change the value of the other. Changing the Pulse Width Pattern Type resets this property.

Default | Min | Max
1 array element | 0 | 1 s


Modulation Formats

Modulation Types

Overview

Radar systems that use modulation within the pulse are referred to as pulse compression radar systems. For a long range radar to "see" a great distance, the radar needs to have a high average output power. However, to obtain good signal resolution, the radar needs a narrow pulse that reduces the average output power. Pulse compression provides a path around this trade-off. Pulse compression radars will transmit a long, high-power pulse with modulation inside the pulse. The returns can be processed through a filter that is matched to the characteristics of the modulation compressing the pulse in time. This compression allows the radar to separate overlapping returns while transmitting a high average power.

The N7620B Signal Studio for Pulse Building software provides several built-in modulation formats available for the available pulse types. For the trapezoidal and raised-cosine pulse types, modulation is applied to the carrier within the 100%-100% pulse width duration (defined for the pulse in the Pulse Library as a Width (100%-100%) parameter). For the Custom Profile and Custom I/Q pulse types, modulation is applied at the first point defining a pulse through to the last point of the pulse.

Modulation Types

Each of the modulation types can have its own parameters such as step size, range and so forth and are unique to a modulation. You can add modulation by selecting a type from the Closed Modulation Type drop-down list box. The Pulse Building application provides the following built-in modulation types:

  • None

  • BPSK

  • Custom BPSK

  • QPSK

  • Custom QPSK

  • Barker

  • FM Chirp

  • Custom FM Chirp

  • FM Step

  • AM Step

  • Frank Code

  • P1 Code

  • P2 Code

  • P3 Code

  • P4 Code

  • Custom Phase Pattern

Related Topics

Pulse Library Overview

Pulse Types

Pulse Parameters


Binary Phase Shift Keying (BPSK)

BPSK (Binary Phase Shift Keying)

Phase shift of 180 degrees between binary states. The Step Size parameter, defined as 1/symbol rate, indicates the time duration of the phase shift for each on/off state.

The figure below shows four BPSK state changes using a 100 us step size during the 800 us pulse width time period for the New Pulse 1 pulse configured in the form above. For the trapezoidal and raised-cosine pulses the modulation is applied during the duration of the pulse (Width (100%-100%)). For custom profile and custom I/Q pulses the modulation is applied from the first point of data through to the last point of data.


Custom BPSK

This modulation type is similar to BPSK but allows for user-defined bit patterns. The step size is automatically determined by the number of state changes indicated by the index number listed in the Custom BPSK table. To add steps (index items) to the table:

  1. Select Custom BPSK from the Modulation Type drop-down list box.

  2. Right mouse click in the Custom BPSK table or select the Edit menu.

  3. Select Closed New items.

  4. Enter the Closed number of steps for the pattern.

The figure below shows the four BPSK state changes described in the form above. The Step Size parameter, defined as 1/symbol rate, indicates the time duration at each phase state and determines the number of index items occurring during the 800 us pulse width time period for the New Pulse 1 pulse. For trapezoidal and raised-cosine pulse types the modulation is applied only during the duration of the pulse (Width (100%-100%)). For custom profile and custom IQ pulses the modulation is applied from the first point of data through to the last point of data.


QPSK

QPSK (Quadrature Phase Shift Keying)

Each state is offset 90 degrees from adjacent states. Step size is the time duration for each I/Q state (defined as 1/symbol rate).

The following figure shows QPSK phase state changes for a trapezoidal or raised-cosine pulse (Width (100%-100%)).For custom profile and custom I/Q pulses the modulation is applied from the first point of data through to the last point of data.


Custom QPSK

This table is used for the QPSK bit pattern. The symbol period is the pulse width (100%-100%) divided by the number of symbols. QPSK has two bits per symbol. The symbol mapping is as follows:

  • 00 = 0°

  • 01 = 90°

  • 11 = 180°

  • 10 = 270°

To add steps (index items) to the table:

  1. Right mouse click in the Custom QPSK table or select the Edit menu.

  2. Select Closed New items

  3. Enter the Closed number of steps for the pattern


Barker

The Pulse Building application supports a number of Barker codes . When this modulation is selected, a drop-down list box, labeled Closed Code Length, is available in the GUI and displays the available Barker Codes.

The figure below represents a 7-digit Barker code

The On and Off levels in this diagram correspond to a 180 degree phase shift (BPSK) in the carrier frequency.


FM Chirp

The carrier is frequency modulated based on the user-defined Chirp Deviation parameter. The Pulse Details form shown below displays the FM Chirp GUI selections.

  • Chirp deviation is the maximum change in the modulation frequency that occurs over the time period of the pulse (Width (100%-100%)) parameter for trapezoidal and raised-cosine pulse types and from the first point of data through the last point of data for custom profile and custom I/Q pulse types. The deviation is a ± value around the carrier frequency, so the actual frequency deviation is twice that indicated in the Chirp Deviation text box.

  • Chirp rate (/uSec.) is calculated and displayed as a read-only reference value. Chirp rate for a trapezoidal and raised-cosine pulse type is calculated as: Chirp Rate = Chirp Deviation / pulse width. The maximum Chirp Rate is 80 MHz/uSec: 80 MHz/uSec > Chirp Deviation / pulse width.

    For example, a pulse width of 0.1 uSec and a Chirp Deviation of 4 MHz has a Chirp Rate of 80 MHz/uSec. (2x4MHz)/0.1 uSec.

  • Chirp direction can be ascending or descending and indicates an increase or decrease in frequency during the FM chirp.

  • Frequency is held constant during pulse rise and fall times and is applied only during the duration of the pulse (Width (100%-100%)). In the form above the Chirp Deviation is ±40 MHz. During the pulse rise time the chirp frequency is 40 MHz below the carrier frequency. During the pulse width (100%-100%) the chirp frequency increases from 40 MHz below the carrier to 40 MHz above the carrier. During the fall time the chirp frequency is held at 40 MHz above the carrier.

The following figure shows the FM chirp deviation for the settings show above in the Pulse Details form.


Custom FM Chirp

This mode allows you to define the Custom FM Chirp (non-linear) modulation within the pulse. The custom FM chirp is generated using a polynomial. This polynomial represents the instantaneous frequency versus time. The polynomial coefficients are entered into the table by right-clicking in the table or selecting the Edit menu. See Custom FM Chirp Example for more information.


FM Step

Step size (time duration at each frequency step) and frequency offset from the carrier are user-defined. The frequency offset must be within the ±40 MHz bandwidth of the signal generator if using the internal Arb, or ±500 MHz if using the N603xA/M933xA or N824xA Arb. Selecting the FM Step Modulation Type displays a table as shown in the figure below.

For the trapezoidal and raised-cosine built-in pulse types the step size should sum to equal the pulse Width (100%-100%). For custom profile and custom I/Q pulse types the step size should sum to equal the time duration from the first point of data through to the last point of data. If the step size does not equal the pulse width the FM steps will be padded (if not enough steps), or truncated (if too many steps). Refer to the padded and truncated diagram for more information.

To create the FM Step table:

  1. Select FM Step from the Modulation Type drop-down list box.

  2. Place the mouse pointer in the FM step table and click the right mouse button.

  3. Click Closed New Items in the menu.

  4. Enter the Closed number of index items desired using the dialog box.

  5. Enter the Step Size and Frequency Offset for each index item.

The following diagram shows the frequency offset and time duration relationship for the table entries in the Pulse Details form shown above.


AM Step

Step size in time and the amplitude of the carrier during the duration of the pulse are user-defined. Note that AM step is an intra-pulse modulation and not amplitude modulation from pulse to pulse. The amplitude offset is a relative parameter and must be within the power limits of the signal generator's baseband generator. The maximum amplitude is used as the reference; all lower power levels are relative to the maximum amplitude step.

For the trapezoidal and raised-cosine built-in pulse types the step size should sum to equal the pulse Width (100%-100%). For custom profile and custom I/Q pulse types the step size should sum to equal the time duration from the first point of data through to the last point of data. Selecting the AM Step Modulation Type displays an AM step table shown in the figure below. If the step size does not equal the pulse width, the AM steps will be padded (if not enough steps), or truncated (if too many steps). Refer to the padded and truncated diagram for more information.

When using the AM Step modulation format the ALC should be turned off, or the ALC Hold feature should be used. This prevents the ALC from trying to level the AM step within the pulse.

To create the AM step table:

  1. Select AM Step from the Modulation Type drop-down list box.

  2. Place the mouse pointer in the AM step table and click the right mouse button.

  3. Click Closed New Items in the menu.

  4. Enter the Closed number of index items desired using the dialog box.

  5. Enter the step size and amplitude for each index item.

In the following diagram the frequency offset and time duration relationship for the table entries in the above figure are shown. Note that modulation is applied only during the pulse Width (100%-100%) time interval and not during rise and fall times. In the diagram below the last half of the –15 dB step, and the entire 0 dB step will not modulate the pulse because they occur after the pulse width of 8 us. See the section on padding and truncating.


Frank Code

This is a polyphase code modulation format used for pulse compression.

The default Frank code Code Order is N = 4.

The Frank Code has N2 elements and is defined as:

i,j

Where i and j range from 1 to N. For example, the Frank Code with N = 4, by taking phase value modulo [image] is given by the following sequence:

0

0

0

0

4x4

0

0

0

0

The figure below shows the spectrum of a 10 us pulse using Frank Coded phase modulation, where N = 10.


P1 Code

The P1 code is a modified version of the Frank code where the DC frequency term is in the middle of the pulse instead of at the beginning.

The default P1 code Code Order is N = 4.

The P1 code has N2 elements and is defined as:

i,j

Where i and j range from 1 to N. For example, the P1 code with N = 4, by taking phase value modulo [image] is given by the following sequence:

0

0

4x4

The figure below shows the spectrum of a 10 us pulse using P1 Coded phase modulation, where N = 10.


P2 Code

The P2 code is a modified version of the Frank code where the DC frequency term is in the middle of the pulse instead of at the beginning. The P2 code is only valid for even code orders (N = 2, 4, 6, 8...)

The default P2 code Code Order is N = 4.

The P2 code has N2 elements and is defined as:

i,j

Where i and j range from 1 to N. For example, the P2 code with N = 4, by taking phase value modulo [image] is given by the following sequence:

4x4

The figure below shows the spectrum of a 10 us pulse using P2 Coded phase modulation, where N = 10.


P3 Code

The P3 code does not require a square matrix like the Frank, P1, and P2 codes. The code order (N) is the number of values in the phase pattern. The number of items in the Frank, P1, and P2 codes patterns is N2.

The default P3 code Code Order is N = 16.

The P3 code has N elements and is defined as:

i [image] 2

Where i ranges from 1 to N. For example, the P3 code with N = 16, by taking phase value modulo [image] is given by the following sequence:

16

=

0

0

The figure below shows the spectrum of a 10 us pulse using P3 Coded phase modulation, where N = 100.


P4 Code

The P4 code does not require a square matrix like the Frank, P1, and P2 codes. The code order (N) is the number of values in the phase pattern. The number of items in the Frank, P1, and P2 codes patterns is N2

The default P4 code Code Order is N = 16.

The P4 code has N elements and is defined as:

i

Where i ranges from 1 to N. For example, the P4 code with N = 16, by taking phase value modulo [image] is given by the following sequence:

16

=

0

0

The figure below shows the spectrum of a 10 us pulse using P4 Coded phase modulation, where N = 100.


Custom Phase Pattern

The custom phase code modulation applies a user-provided phase pattern to the pulse. The user phase code is entered into a table and is assumed to be in degrees. Complex polyphase patterns can be generated with MatLab or other tools.

To add steps (index items) to the table:

  1. Select Custom Phase Pattern from the Modulation Type drop-down list box.

  2. Right mouse click in the Custom Phase Pattern table or select the Edit menu.

  3. Right mouse click in the Custom Phase Pattern table or select the Edit menu.

  4. Select Closed New Items.

  5. Enter the Closed number of steps for the pattern.

To import a phase pattern created elsewhere, use Closed Import... It is assumed that the imported pattern is in degrees.

The figure below shows a simple example using the custom phase code modulation to generate a Barker 13 phase coded signal.

  1. Enter the Barker 13 code pattern ( 1,1,1,1,1,0,0,1,1,0,1,0,1) in degrees ( 180, 180, 180, 180, 180, 0, 0, 180, 180, 0, 180, 0, 180) in the custom phase pattern table.

  2. Select Download and Play.

  3. Save the new pattern.


Padded and Truncated Steps

If a step modulation, such as AM Step or FM Step, is used, the time duration for the total number of steps must equal the on-time for the pulse, measured from the first point to last point for custom profile and custom I/Q pulse data or from 100%-100% of the pulse width for the built-in trapezoidal and raised-cosine pulse types. If the steps do not equal the pulse width, the N7620B Pulse Building software will truncate at the last step completed (ignoring following steps) or pad (use the last step value for the duration of the pulse).

These figures show the effects of Closed truncating and Closed padding on step data.


Pattern Library

This section describes the Pulse Building application's Pattern Library form and provides details on using the GUI to create patterns. Pattern parameters and definitions used by the application are described.

Pattern Library Overview | describes what a pattern is, and how patterns are created with the pulse building application.
Pattern Details | describes the pattern parameters and how to use the Pattern Library form.
Advanced Pattern Details | provides information about the pattern specific functionality and parameters.


Pattern Library Overview

Patterns, created with the Pulse Building application, are automatically stored in the Pattern Library. The Pulse Building application's Pattern Library form displays a list of available patterns in the Patterns section of the form. There is also a Pattern Details section that allows you to edit existing patterns and create new patterns. The Pattern Details section has parameters such as Index, Start Time, Duration, Repetition Interval, Repeats, Freq Offset, Edge Jitter Type, and so forth, that are associated with a pattern.

The Pulse Building application supports cut and paste operations between two projects. You can cut and paste pulses, patterns, and off times between projects only when two instances of the Pulse Building application are running. To generate two instances, the Pulse Building executable (.exe) is run twice. Patterns of patterns cannot be copied between projects.

What is a Pattern?

In its simplest form, a pattern consists of a series or sequence of pulses. A pattern describes how the pulses are combined and played back by the signal generator. The Pulse Building application allows creation of patterns consisting of items such as off-times, pulses, patterns, or patterns within patterns. Each of the off-times, pulses, or patterns within a pattern are called pattern items.

A pattern item can be repeated sequentially or repeated after other items have played. For example, suppose you want to create a pattern consisting of two different pulses, Pulse 1 and Pulse 2, along with another, previously created pattern, Pattern 3. Using the Pulse Building application you can create a pattern that repeats Pulse 1 ten times, plays Pulse 2 once, repeats Pattern 3 twice, and repeats Pulse 1 five times. Any combination of repeats or sequences of patterns and pulses can be created restricted only by the limits of the signal generator's baseband memory.

Pattern items are played out consecutively in time. Each pattern item is played according to the configuration parameters such as repeats and then the next item in the pattern is played.

Only patterns can be downloaded and played back; individual pulses cannot.

Related Topics

Pattern Details

Advanced Pattern Details

Menu Bar and Toolbar


Pattern Details

The Pattern Library form, using default parameters, is shown in the figure below. In it, you see the Pattern Details and Patterns sections of the form. In the figure below the newly created pattern, New Pattern 1, consists of a single pulse New Pulse 1. Each pattern item has parameters such Deviation, Power Scale, and so forth associated with it. The left panel of the pattern form, titled Patterns, lists the names of patterns stored in the Pattern Library. Selecting a pattern name from this list displays the pattern details and parameters for that pattern in the Pattern Details section of the form. The Pattern Details section of the Pattern Library form uses a table with columns to set pattern parameters. The columns are labeled with the name of a parameter, such as Index, Repetition, Interval, and so on. Parameters specific to antenna scans and PRI patterns appear in the table and are duplicated in the Antenna and PRI panels. A pattern item can have parameters that are user-defined as well as default or read-only parameters.

For details about each parameter in the Pattern Details table and panels, click a topic name under Pattern Details in the Help window's Contents pane.

Related Topics

Pattern Library Overview

Advanced Pattern Details

Menu Bar and Toolbar


Index

The index number identifies an item in the pattern. There can be numerous items that make up the pattern. For example, a pattern may consist of 10 different pulses. Each pulse is an item of the pattern and has its own index number The index number is auto-generated and not user-defined.


Start Time

Absolute start time of a pattern item. This is a read-only field calculated from current and previous pattern item parameters.


Duration

This is a read-only field if the item is a pulse or a pattern and displays the calculated value for the duration of a pattern item.

  • For Object Types Pulse or Pattern, this read-only field is calculated from current pattern item parameters.

  • For Object Type Off time, this is a user-defined entry field for the total off time of a pattern item.


Repetition Interval

The Repetition Interval indicates the time duration of the object before the next object. It also indicates the minimum time required before a pulse or pattern, can be repeated. The Repetition Interval must be equal to or greater then the Object Length.

The Repetition Interval is measured from the first point of the object to the last point of the object and includes off time. For example, if the item type is a pattern, the Repetition Interval is the time from the first point on the first pulse to the last point of the last pulse's off time. Specifically, the Repetition Interval is:

  • The distance, in time, from the first point of the object to the first point of the next object. Note that the next object may be the same if the repeat parameter for the object is greater than 1 or the next pattern item is the same object name.

  • For Object Types Pulse and Pattern, Repetition Interval is an entry field (units are time) specifying the time interval at which the object can be repeated. The pulse or pattern starts at the beginning of the repetition interval. Time that is not consumed by a pulse or pattern signal (Repetition Interval – Object Length) is filled with zeros.

  • For Object Type Off time, this field is blank.

  • Units used are:

    • s - seconds

    • ms - milliseconds

    • us - microseconds

    • ns - nanoseconds

The following diagram shows the repetition interval definitions. Note that the off time following the last pulse in the pattern is included as part of the pattern repetition interval.

The repetition interval property is coupled to the PRI pattern property PRI Start. When a PRI pattern is specified the actual time between objects can change and may not equal the repetition interval.

Related Topic

Signal Limits

PRI Pattern

PRI Start


Object Details

The properties in this section include the object type to generate, the object name, the off time in us, and the number of times to repeat the object. Object types include pulses, patterns, and off time. When the object type is off, all other values in the row are ignored except for the Off_Time_us, which is used for the off time length.


Object Type

The Object Type refers to a Pulse, Pattern, or Off time object. Place the mouse cursor in a cell in the Object Type column and click the left mouse button. A pull-down list box, shown in the figure below, allows you to select : Pulse, Pattern, or Off time as the item to insert in the pattern.

When the object is a pattern the object name cannot be the current pattern, as this would cause a circular reference and is not supported.


Object Name

The Object Name refers to the name of the pulse or pattern object as it is named in the Pulse or Pattern library.

Place the mouse cursor in a cell in the Object Name column and click the left mouse button. A pull-down list box, shown in the figure below, lists all the patterns in the Pattern Library, if the Object Name is a pattern type, or lists all the pulses in the Pulse Library if the Object Name is a pulse type.


Object Length

This read-only field describes the total time duration of an object. The time measurement for a pattern is calculated from the repetition interval for the object type. For example, if a pattern has one pattern item that is 10 us long and is repeated twice then the object length is 20 us.

  • For Object Types Pulse, the Object Length is the sum of rise time (0-100%), pulse Width (100%-100%), and fall time (100%-0) as defined in the Pulse Library.

  • For Object Types Pattern, the Object Length is the time duration of the pattern.

  • For Object Type Off time, this field is blank.

  • Units are:

    • s - seconds

    • ms - milliseconds

    • us - microseconds

    • ns - nanoseconds


Repeat

Repeat specifies the number of times to repeat the object. The object may be a pulse or a pattern. Repeat must be greater than 1 when generating patterns with Width Jitter Type, Edge Jitter Type, PRI Pattern Type, PRI Wobbulation Type, or Antenna Pattern Type.

Repeat is disabled when the object is Off time.


RF Offsets Details

These properties are offsets that are applied to the RF output using I/Q modulation. The offsets include Frequency Offset, Phase Offset, and a Power Scale. The offsets for a given line are relative to objects in other lines as well as to the RF frequency and the RF amplitude. The offsets are applied to all objects specified by the number of repetitions. The offsets are additive, so if the Power Scale is set to -10 dB, and an antenna scan is applied to 1000 pulses, the amplitude for each pulse produced by the antenna patterns is reduced by 10 dB. With the Power Scale set to 0 dB, the maximum possible amplitude from the antenna pattern is 0 dB.


Power Scale

Scale the pattern item power relative to the other items in the current pattern. For example, if a pattern with two identical pulses was generated, and the second pulse was scaled by –3dB, the second pulse would have half the power of the first pulse.

The ALC Hold must be enabled or the ALC must be disabled for this example to work. Otherwise, the ALC will try to equalize the power of the two pulses. The Power scaling is done within the I/Q waveform files sent to the Arb. The ALC Hold may be enabled for Internal I/Q or for systems configured with the E8267D or the N8212A. All power scales should be < 0. Values greater than 0 are allowed, but result in the entire signal being scaled relative to the maximum Power Scale.


Freq Offset

This is the difference in the frequency of the pattern item and the frequency of the signal generator. The maximum frequency offset is established by the Arb Sampling Rate. The maximum frequency offsets are:

  • ±40 MHz - E4438C and E8267D Internal Arb 100 MHz sample rate.

  • ±80 MHz - N5182B with Option 657 Internal Arb 200 MHz sample rate

  • ±500 MHz - N6030A, M9330A or N8241A Arb 1.25 GHz sample rate.

  • ±1000 MHz - M8190A Arb 4 GHz sample rate.

This feature allows pulse to pulse frequency agility with a hop bandwidth that is less than or equal to 80% of the Arb sampling rate.

The Pulse Building application allows you to enter any value into the Freq Offset field up to ±5 GHz. However, only values less than or equal to ±40% of the Arb sampling rate are valid.


Phase Offset

This is the phase difference of the carrier phase of a pattern item relative to the carrier phase of another pattern item. If only one pattern item defines a pattern then the phase offset is relative to the carrier.

Phase Offset can be entered in either radians or degrees. To control whether degrees or radians is used, select Closed Phase Offset in radians or Closed Phase Offset in degrees in the Customize Pattern Item Table.


Antenna Scan Details

Pulse Building supports antenna scan modulation patterns. A unique Antenna pattern can be applied to each pulse Object Type in the Pulse Building Pattern. If the Object Type is Off Time then the antenna pattern properties are ignored.

The antenna pattern is applied to the pulsed signal by scaling the individual pulse amplitudes. This means that the antenna pattern is highly coupled and dependent on the pulsed signal pattern. The pulsed signal must contain enough pulses to see the entire amplitude pattern. For example if the pulsed signal has a repetition rate of 100 us and the length of the antenna pattern is 1 s, we must generate 10,000 (1s/100us) pulses to see the entire pattern.

Pulse Building provides accurate output power when the antenna scan is enabled. The ALC is disabled when a signal containing an antenna scan is downloaded. A power search, if enabled, is used to get accurate output power. Pulse Building manages the waveform RMS voltage and uses this for the power search reference. See Getting Correct Output Power for more detail.

Pulse Building generates partial antenna scan patterns based on the number of pulses specified by the Repeat property.

The scan rate limits are dependent on the other antenna modulation properties and the hardware system configuration. The scan rate units are dependent on the scan type.

For an Antenna Scan example, refer to the samples provided with the Pulse Building software at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\antenna_scan_example\PulseBuildingAntennaScanExamples.docx

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\antenna_scan_example\PulseBuildingAntennaScanExamples.docx


Enable Pattern

Enable Pattern allows you to easily disable the current antenna scan modulation without setting the antenna pattern type to None. This preserves your entries for the pattern. Changing the antenna pattern type resets the scan properties to their default values.


Repeats for Full Scan

Repeats for Full Scan returns the number of repeats required for one complete scan of the current antenna pattern. The number of repeats is dependent on the current PRI including any PRI pattern. You must recalculate the scan when you change any of the antenna scan or PRI pattern properties. The number of repeats is clipped to the maximum supported by the current hardware. For the ESG or PSG internal Arb this is 16384. For the N8241A/N6030A/M9330A Arb this is 512k.


Display Pattern (Antenna Scan)

Display Pattern on the Antenna panel provides a simulation of the antenna scan. The plot displayed on the GUI indicates how the antenna pattern should look. The simulated data assumes equally spaced time values and is generated using the current antenna scan properties. The actual antenna pattern is closely tied to the pulse PRI pattern and may not be as smooth as the simulation. Also, you may have specified a small number of pulses that represent only a small portion of the entire scan. The yellow portion of the plot indicates what portion of the antenna scan will be generated based on the number of repeats. If a portion of the plot is grey, increase the number of repeats.

The figure below shows a simulated antenna scan for a circular pattern type.


Antenna Pattern Type

Antenna Pattern Type sets the pattern type for the antenna scan. Changing the antenna pattern type causes the scan properties to be reset to their default values.

Available antenna scan pattern types are:

  • None – No antenna scan modulation is applied to the pulse pattern.

  • Closed Circular – The following property is used with this Type:

    Scan Rate.

  • Closed Conical – The following properties are used with this Type:

    Scan Rate

    Cone Radius

  • Closed Custom – A custom amplitude pattern is provided by importing a file containing amplitude data. The file format is ASCII CSV and the data is assumed to be in dB. The valid data range is from -100 dB to 0 dB. Time is assumed to be constant and equal between data points. It is assumed that the file contains one complete scan of the amplitude pattern. The time increment between data points is established using the scan rate property. The Custom amplitude pattern is not combined with any other antenna properties except Null Depth. The maximum dynamic range of the amplitude pattern is hardware specific and most likely less than 100 dB.

    The following properties are used with this Type:

    Scan Rate

    Interpolation

    User File Name

    The following properties are not available for this Type:

    Radiation Type

    Receiver Location

    Horizontal Beam Width

    Vertical Beam Width

  • Closed Bidirectional Raster – The following properties are used with this Type:

    Scan Rate

    Retrace Time

    Raster Width Angle

    Bar Width Angle

    Number of Raster Bars

    Beam On Retrace

  • Closed Unidirectional Raster – The following properties are used with this Type:

    Scan Rate

    Retrace Time

    Raster Width Angle

    Bar Width Angle

    Number of Raster Bars

    Fly Back Time

  • Closed Bidirectional Sector – The following properties are used with this Type:

    Scan Rate

    Sector Width Angle

  • Closed Unidirectional Sector – The following properties are used with this Type:

    Scan Rate

    Sector Width Angle

    Fly Back Time


Scan Rate

Scan Rate sets the antenna scan rate. Scan Rate is available with the Antenna Pattern Types listed in the following table, using the units and values shown:

Antenna Pattern Type | Units | Default | Min | Max
Bidirectional Raster | deg/s | 100 deg/s | 0.05 | 10E6
Bidirectional Sector | deg/s | 100 deg/s | 0.05 | 10E6
Circular | RPM | 15 RPM | 0.05 | 10E6
Conical | Hz | 100 Hz | 0.05 | 10E6
Custom | Hz | 20 Hz | 0.05 | 10E6
Unidirectional Raster | deg/s | 100 deg/s | 0.05 | 10E6
Unidirectional Sector | deg/s | 100deg/s | 0.05 | 10E6


Cone Radius

Cone Radius sets the cone radius when using a Conical scan. Cone Radius is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Conical | deg | 5 deg | 0 | 180


Raster Width

Raster Width sets the raster width when using Bidirectional or Unidirectional Raster scan. Raster Width is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Bidirectional Raster | deg | 50 deg | 0 | 360
Unidirectional Raster | deg | 50 deg | 0 | 360


Sector Width

Sector Width sets the raster width when using Bidirectional or Unidirectional Sector scan. Sector Width is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Bidirectional Sector | deg | 50 deg | 0 | 360
Unidirectional Sector | deg | 50 deg | 0 | 360


Fly Back Time

Fly Back Time sets the fly back time when using Unidirectional Raster or Unidirectional Sector scan. This is the time it takes to move from the end of the sector or raster to the start of the next sector or raster. Fly Back Time is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Unidirectional Raster | s | 2 ms | 0 | 10
Unidirectional Sector | s | 2 ms | 0 | 10


Number of Bars

Number of Bars, sets the number of raster bars when using Bidirectional Raster or Unidirectional Raster scan. Number of Bars is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Bidirectional Raster | N/A | 3 | 1 | 10000
Unidirectional Raster | N/A | 3 | 1 | 10000


Bar Width

Bar Width sets the angle between the raster bars when using Bidirectional Raster or Unidirectional Raster scan. Bar Width is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Bidirectional Raster | deg | 4 deg | 0 | 360
Unidirectional Raster | deg | 4 deg | 0 | 360


Retrace Time

Retrace Time sets the retrace time when using Unidirectional Raster or Unidirectional Sector scan. This is the time it takes to move from the end of the last raster or sector to the beginning of the first one. Retrace Time is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Units | Default | Min | Max
Unidirectional Raster | s | 500 us | 0 | 10
Unidirectional Sector | s | 500 us | 0 | 10


Beam On Retrace

Beam On Retrace, when enabled (Yes), displays the antenna scan during retrace. When disabled (No), it sets the amplitude level to Null Depth during retrace. Beam On Retrace is available with the Antenna Pattern Type(s) listed in the following table, using the units and values shown.

Antenna Pattern Type | Value | Default
Bidirectional Raster | Yes|No | No
Unidirectional Raster | Yes|No | No


Custom Scan Data

Custom Scan Data is an array that contains the data used for a Custom Antenna Pattern Type. The following figure shows an example of custom scan data.

It is assumed that the array of data represents one complete scan. The time spacing between data points is assumed to be constant and can be determined from the Scan Rate. Values can be interpolated from the custom data based on the Custom Scan Interpolation property. The actual minimum amplitude level is hardware specific and typically will not be –100 dB, the minimum allowed value shown in the following table.

Units | Default | Min | Max
N/A | 0 | –100 dB | 0 dB


Interpolation

Interpolation allows you to select the type of interpolation to use on the Custom Scan Data, which are equally time-spaced amplitude values. The period between amplitude values is 1 divided by the number of points in the custom scan times the scan rate. For example, if the scan rate is 10 Hz and there are 10,000 points in the custom scan data, the time spacing is 1/(10*10000) or 10 us.

Interpolation choices are:

  • None – No interpolation of the custom scan data. The closest point in the custom scan data is used.

  • Linear – Convert the two closest points to linear values (10^(value/20)) and interpolate between them.

  • Logarithmic – Use the two closest points and interpolate between them.

.For an Antenna Scan example, refer to the samples provided with the Pulse Building software at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\antenna_scan_example\PulseBuildingAntennaScanExamples.docx

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\antenna_scan_example\PulseBuildingAntennaScanExamples.docx


Import

A custom amplitude pattern is provided by importing a file containing amplitude data. The file format is ASCII and the data is assumed to be in dB. The valid data range is from -100 dB to 0 dB. Time is assumed to be constant and equal between data points. It is assumed that the file contains one complete scan of the amplitude pattern. The time increment between data points is established using the scan rate property.

The custom amplitude pattern is not combined with any other antenna properties except Null Depth. Import is valid only when Scan Type is set to Custom. Existing Amplitude data is deleted before a new import. Changing Scan Type deletes the imported amplitude data. The actual amplitude dynamic range is hardware specific and most likely less than 100 dB.


Azimuth Beam Width

Azimuth Beam Width sets the azimuth for the 3 dB beam width.

Units | Default | Min | Max
deg | 1 deg | 0.01 | 360


Elevation Beam Width

Elevation Beam Width sets the elevation for the 3 dB beam width.

Units | Default | Min | Max
deg | 2 deg | 0.01 | 360


Null Depth

Null Depth sets the minimum amplitude level that the antenna pattern generator will produce. The maximum null depth is hardware specific and typically greater than –80 dB.

Units | Default | Min | Max
dB | –65 dB | 0 | –100


Radiation Pattern Type

Radiation Pattern Type sets the radiation pattern for the antenna scan. This property is not available for the Custom Antenna Pattern Type.

Available radiation pattern types are:

  • Blackman

  • Cosine1

  • Cosine2 – Hanning.

  • Cosine3

  • Cosine4

  • Cosine5

  • Exact Blackman

  • Hamming

  • Programmable – Allows you to set the properties 1st Side Lobe Level and Roll Off.

  • Rectangular – The default pattern.

  • Three Term

  • Three Term Minimum


1st Side Lobe Level

1st Side Lobe Level sets the level of the first side lobe in the antenna pattern. 1st Side Lobe Level is available with the Radiation Pattern Type(s) listed in the following table, using the units and values shown.

Radiation Pattern Type | Units | Default | Min | Max
Programmable | dB | –13.2 dB | –90 | 0


Roll Off

Roll Off sets the side lobe roll off of the antenna radiation. Roll Off is available with the Radiation Pattern Type(s) listed in the following table, using the units and values shown.

Radiation Pattern Type | Units | Default | Min | Max
Programmable | dB/Octave | 6 dB | 0 | 36


Horizontal Receiver Location

Horizontal Receiver Location sets the receiver horizontal location relative to the main beam at the start of the scan. Horizontal Receiver Location is not available with the Custom Antenna Pattern Type.

Units | Default | Min | Max
deg | 0 deg | –180 | 180


Vertical Receiver Location

Vertical Receiver Location sets the receiver vertical location relative to the main beam at the start of the scan. Vertical Receiver Location is not available with the Custom Antenna Pattern Type.

Units | Default | Min | Max
deg | 0 deg | –180 | 180


PRI Details

The Pulse Repetition Interval (PRI) properties are described in this section and include PRI Pattern properties, PRI Jitter properties, and PRI Wobbulation properties.The PRI pattern properties enable you to vary the signal repetition interval in both random and deterministic ways. The PRI pattern can be applied to either a pulse object type or a pattern object type.You may specify a PRI pattern and apply both Jitter and Wobbulation impairments to it.

The PRI patterns include None, Bursted, Linear Ramp, Staggered, and Stepped. PRI Wobbulation is a periodic function and includes the types None, Sawtooth, Sinusoidal, and Triangular. PRI Jitter includes the types None, Gaussian, Uniformed, and U-Shaped . A unique PRI pattern can be applied to each pulse or pattern Object Type in the Pulse Building Pattern. If the Object Type is Off Time then the PRI pattern properties are ignored.

The PRI pattern is always generated during a download. Conflicts within the PRI pattern, PRI wobbulation, and PRI jitter are resolved in the following manner. Both the wobbulation and jitter impairment values are calculated assuming the current point in time is from an ideal pattern. The wobbulation and jitter impairments are added to the PRI pattern value. The combined PRI value is clipped such that it is equal to or greater than the full on time of the pulse being used. The full on time of the pulse is calculated assuming there is no pulse width pattern. The pulse width pattern is second to the PRI pattern and the full on time pulse width is clipped to the smaller of the pulse width or the actual PRI from the PRI pattern generator. That is to say, the PRI pattern is generated assuming a constant pulse width. The pattern values are clipped such that they are equal to or greater than the pulse width. Next, the pulse width pattern is generated. The pulse width pattern values are clipped such that they are equal to or less than the PRI for each pulse.

PRI patterns are restarted for each new item in the pattern table. This is not the case for pulse width patterns.

PRI Patterns

The Repeat property specifies the number of times to repeat the object type on a line by line basis. For example, a Stepped PRI pattern can be selected, but if the number entered for Repeat is set to one (1), no pattern is generated. The number of repeats is used to specify the number of times to repeat the object.

The PRI pattern is generated during a download. The pattern generator will clip values that are out of range. A common example of this is when the PRI pattern generator calculates a value that is smaller than the current full pulse on time. The pattern generator will return the larger of the value calculated or the full pulse on time. The signal will be generated unless the target hardware does not have the required capabilities.

For a PRI Pattern example, refer to the samples provided with the Pulse Building software at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\pri_pattern_example\PulseBuilderPRIPatternExamples.docx

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\pri_pattern_example\PulseBuilderPRIPatternExamples.docx


Enable Pattern

Enable Pattern allows you to easily disable the current PRI pattern without setting the PRI pattern type to None. This preserves your entries for the pattern. Changing the PRI Pattern type causes PRI pattern properties to be reset to their default values. PRI Wobbulation and PRI Jitter are also disabled when the PRI Pattern is disabled.


Display Pattern (PRI)

Display Pattern on the PRI panel provides a plot of the PRI pattern data, including the jitter and wobbulation impairment if specified. The plot shows PRI versus time. The plot is based on the current PRI Pattern properties. You may zoom in on the PRI pattern plot by clicking and dragging across the area of interest.

The figures below show a Stepped PRI pattern and the corresponding PRI pattern tab settings.


PRI Pattern Type

PRI Pattern Type sets the pattern type for the PRI.

Available PRI pattern types are:

  • None – The repetition interval is constant for all pulses generated.

  • Closed Bursted – The repetition interval is constant for all pulses generated within a given frame interval. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated. The frame interval is preserved in partial bursts by increasing the PRI of the last pulse in the burst.

    The following properties are used with this Type:

    PRI Start (this value is also mapped to the Repetition Interval property)

    Burst Interval

    Number of Pulses

  • Closed Linear Ramp – Creates a linearly increasing or decreasing PRI pattern. You specify PRI Start, PRI Stop, and the number of pulses in the pattern. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated.

    The following properties are used with this Type:

    PRI Start (this value is also mapped to the Repetition Interval property)

    PRI Stop

    Number of Pulses

  • Closed Staggered – Create a user defined PRI pattern by entering 1 to n PRI values. The values can be imported from a file. See Import. The first PRI in the list is also mapped to the Repetition Interval property. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated.

  • Closed Stepped – Creates a stepped PRI Pattern. You specify the Starting PRI, the PRI step size, the number of pulses per step, and the number of steps in the pattern. The total number of pulses in the pattern is calculated by multiplying the number of steps times pulses per step. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated.


PRI Start

PRI Start sets the start value for the PRI pattern. This property is used by the PRI pattern types None, Linear Ramp, and Stepped.

Changing the PRI Pattern Type resets this property. This property value also maps to the current Repetition Interval property.

Units | Default | Min | Max
s | 10.3 us | 50 ns | 10 s


PRI Step

PRI Step sets the step value for the PRI pattern. This property is used only by the Stepped PRI pattern type.

Changing the PRI Pattern Type resets this property.

Units | Default | Min | Max
s | 5 us | -1 | 1


PRI Stop

PRI Stop sets the stop value for the PRI pattern. This property is used only by the Linear Ramp PRI pattern type.

Changing the PRI Pattern Type resets this property.

Units | Default | Min | Max
s | 100 us | 50 ns | 10 s


Burst Interval

Burst Interval sets the interval value for the PRI pattern. This property is used only by the Bursted PRI pattern type. The Burst Interval must be greater than or equal to the Number of Pulses times the PRI Start value.

Changing the PRI Pattern Type resets this property.

Units | Default | Min | Max
s | 100 us | 50 ns | 10 s


Pulses Per Step

Pulses Per Step sets the number of pulses per step for the frequency hop pattern. This property is used only by the Stepped hop pattern type. Total pulses in the pattern equals Pulses Per Step times Number of Steps. The maximum pulse limit is hardware dependent.

Changing the Hop Pattern Type resets this property.

Units | Default | Min | Max
N/A | 1 | 1 | 10000


Number of Steps

Number of Steps sets the number of steps for the frequency hop pattern. This property is used only by the Stepped hop pattern type. Total pulses in the pattern equals Pulses Per Step times Number of Steps. The maximum pulse limit is hardware dependent.

Changing the Hop Pattern Type resets this property.

Units | Default | Min | Max
N/A | 5 | 0 | 10000


Number of Pulses

Number of Pulses sets the number of pulses in the frequency hop pattern. This property is used by the Linear Ramp hop pattern type.

Changing the Hop Pattern Type resets this property.

Units | Default | Min | Max
N/A | 5 | 1 | 10000


Staggered PRI Data

Staggered PRI Data is an array that contains the staggered pulse repetition interval data used for a Staggered PRI Pattern Type. The following figure shows an example of staggered PRI data.

The stagger PRIs are maintained in a variable length double array. The number of pulses is equal to the length of the array. The first value in the array is mapped to PRI Start and Repetition Interval. See Import.

Changing the PRI Pattern Type resets this property.

Units | Default | Min | Max
s | 10.3 us | 0 | 100E6


Import (Staggered PRI)

A staggered PRI pattern is provided by importing a file containing the PRI data. The file format is ASCII and the data is assumed to be in seconds. The valid PRI data range is from 50 ns to 10 seconds. The fist PRI in the Staggered pattern is also mapped to the Repetition Interval property. The number of pulses in the custom pattern is determined by the number of values imported.

Import is available only from the PRI panel, and only when PRI Pattern Type is Staggered. Changing the PRI pattern type deletes the imported PRI data. Existing PRI data is deleted before a new import.


Edge Jitter Type

The Edge Jitter Type parameter describes differences in the repetition intervals of items in a pattern.

Place the mouse cursor in a cell in the Edge Jitter Type column and click the left mouse button. A pull-down list box, shown in the figure below, allows you to select the type of jitter used.

  • None - no jitter applied to the pulse.

  • Gaussian – jitter is applied to the PRI (Pulse Repetition Interval) using a Gaussian probability distribution function model.

  • Uniform – jitter is applied to the PRI using a uniform probability distribution function model.

  • UShaped – jitter is applied to the PRI using a U-shaped probability distribution function model.

For Object Type Off time, this field is blank.

Edge jitter is not applied to the first object of a pattern item. This keeps the absolute time for the start of each pattern item object constant.

For a pattern consisting of identical pulses, edge jitter changes the PRI (pulse repetition interval). In the following figure the PRI of the pulse pattern items is 10 us. The pattern with jitter shows the effect of applying 2 us edge jitter. Edge jitter affects the rising edge of the pulse. The number of pulses generated with jitter is specified using the Repeat parameter.

Related Topic

Signal Limits


Jitter Deviation

This property allows you to choose the maximum ± deviation, in time, for edge jitter.

For Object Types Pulse and Pattern, Deviation is an entry field specifying the variation in time for edge jitter on the rising edge of the pulse or item.

  • Gaussian - thedeviation represents a one sigma variance from the mean Repetition Interval (not applied to the first item in a pattern).

  • Uniform - specifies the full scale Deviation around the rising edge of a pattern item (except the first item in a pattern). Any deviation is probable within the limits specified by the duration time entry.

  • UShaped - the jitter deviation is centered around the falling edge of the pulse. Any deviation is probable within a one sigma of the limits of the jitter deviation time entry and follows a normal distribution model. The mean, mu, is the falling edge of the pulse and any jitter deviation has an equal probability of occurring during a one standard deviation (1 sigma) variance following the probability density function.

For Object Type Off time, this field is blank.

Units are:

  • s - seconds

  • ms - milliseconds

  • us - microseconds

  • ns - nanoseconds


PRI Wobbulation Type

PRI Wobbulation Type sets the wobbulation type that is applied to the PRI pattern. The wobbulation pattern is calculated assuming an ideal signal from the PRI pattern. For a positive deviation, the wobbulation pattern always starts at 0 and increases. For a negative deviation, the wobbulation pattern always starts at 0 and decreases.

Available PRI wobbulation types are:

  • None – The PRI pattern is not affected.

  • Closed Sawtooth Wobbulation – Creates a sawtooth wobbulation impairment that is added to the PRI pattern. You specify the wobbulation deviation, the wobbulation rate, and the start time offset. The number of repeats specifies the total number of pulses generated.

    The following properties are used with this Type:

    Wobbulation Deviation

    Wobbulation Rate

    Wobbulation Start Offset

    A 50 Hz sawtooth wobbulation of 5 us applied to a 100 us PRI.

  • Closed Sinusoidal Wobbulation – Creates a sinusoidal wobbulation impairment that is added to the PRI pattern. You specify the wobbulation deviation, the wobbulation rate, and the start time offset. The number of repeats specifies the total number of pulses generated.

    The following properties are used with this Type:

    Wobbulation Deviation

    Wobbulation Rate

    Wobbulation Start Offset

    A 50 Hz sinusoidal wobbulation of 5 us applied to a 100 us PRI.

  • Closed Triangular Wobbulation – Creates a triangular wobbulation impairment that is added to the PRI pattern. You specify the wobbulation deviation, the wobbulation rate, and the start time offset. The number of repeats specifies the total number of pulses generated.

    The following properties are used with this Type:

    Wobbulation Deviation

    Wobbulation Rate

    Wobbulation Start Offset

    A 50 Hz triangular wobbulation of 5 us applied to a 100 us PRI.


Wobbulation Deviation

Wobbulation Deviation sets the wobbulation deviation for Sawtooth, Sinusoidal, or Triangular PRI Wobbulation impairment. The wobbulation deviation can be a positive or negative value. A positive value causes the pattern to start at zero and increase. A negative value causes the pattern to start at zero and decrease.

Units | Default | Min | Max
s | 0 s | –10 ms | 10 ms

The following figures show the effect of positive and negative wobbulation deviation. The first figure shows that for a positive deviation, the PRI wobbulation impairment starts at zero and increases. The second figure shows that for a negative deviation, the PRI wobbulation impairment starts at zero and decreases.


Wobbulation Rate

Wobbulation Rate sets the wobbulation rate for Sawtooth, Sinusoidal, or Triangular PRI Wobbulation impairment. The wobbulation rate is not forced to be an integer multiple of the Average PRF. Instead it has infinite resolution based on the total time of the signal. It is possible to have a discontinuity at the end of the wobbulation pattern unless you force the wobbulation rate to be an integer multiple of the signal's average PRF.

Units | Default | Min | Max
Hz | 0 kHz | 0 | 1 MHz


Wobbulation Start Offset

Wobbulation Start Offset sets the wobbulation start time offset. This effectively allows you to control the starting point of the wobbulation pattern.

Units | Default | Min | Max
s | 0 us | 0 | 10 s

The following figure shows how the Wobbulation Start Offset property shifts the wobbulation impairment's initial starting point.


Hop Details

Hop Pattern properties are only displayed on the Hop tab. They are not present on the pattern item grid.

The frequency hop pattern is implemented in the I/Q waveform data. The maximum frequency deviation from the RF carrier is about +- (Arb sample rate)/2.5. FM modulation (a.k.a chirps) are implemented in the I/Q waveform data along with hops. This means that the sum of the FM deviation and the hop pattern deviation cannot exceed the limit.

Some properties (e.g., Number of Pulses or Number of Steps) have ranges that are hardware specific.

Hop Patterns

The Repeat property specifies the number of times to repeat the object type on a line by line basis. For example, a Stepped hop pattern can be selected, but if the number entered for Repeat is set to one (1), no pattern is generated. The number of repeats is used to specify the number of times to repeat the object. The hop pattern is generated during a download.


Enable Pattern

Enable Pattern allows you to easily disable the current hop pattern without setting the hop pattern type to None. This preserves your entries for the pattern. Changing the Hop Pattern type causes hop pattern properties to be reset to their default values.


Display Pattern (Hop)

Display Pattern on the Hop panel provides a plot of the frequency hop pattern data. The plot shows frequency versus repetition of pulses. The plot is based on the current Hop Pattern properties. You may zoom in on the hop pattern plot by clicking and dragging across the area of interest.

The figures below show a Linear Ramp hop pattern and the corresponding Hop pattern tab settings.


Hop Pattern Type

Hop Pattern Type sets the pattern type for the frequency hop.

Available hop pattern types are:

  • None – No frequency hop pattern.

    Hop Start = 0 Hz

  • Closed Linear Ramp – Creates a linearly increasing or decreasing frequency hop pattern. You specify Hop Start, Hop Stop, and the number of pulses in the pattern. The number of repeats specifies the total number of hops generated. This allows partial and multiple repetitions of the pattern to be generated.

    The following properties are used with this type:

    Hop Start (Default = -2 MHz)

    Hop Stop (Default = 2 MHz)

    Number of Pulses (Default = 5)

  • Closed Staggered – Create a user defined frequency hop pattern by entering 1 to n hop items. The hop pattern values can be imported from a file. See Import. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated.

  • Closed Stepped – Creates a stepped frequency hop Pattern. You specify the Hop Start, the Hop Step size, the number of pulses per step, and the number of steps in the pattern. The total number of pulses in the pattern is calculated by multiplying the number of steps times pulses per step. The number of repeats specifies the total number of pulses generated. This allows partial and multiple repetitions of the pattern to be generated.

    The following properties are used with this type:

    Hop Start (Default = -2 MHz)

    Hop Stop (Default = 1 MHz)

    Number of Pulses (Default = 5)

    Pulses Per Step (Default = 1)


Hop Start

Hop Start sets the start value for the frequency hop pattern. This property is used by the hop pattern types None, Linear Ramp, and Stepped.

Changing the Hop Pattern Type resets this property.

Units | Default | Range
Hz | 0 Hz | +/- Signal Bandwidth/2*

* Signal Bandwidth is hardware dependent. The absolute maximum bandwidth is +- 2GHz. This bandwidth can only be achieved with a PSG and option 016 and an M8190A arbitrary waveform generator.


Hop Step

Hop Step sets the step value for the frequency hop pattern. This property is used only by the Stepped hop pattern type.

Changing the Hop Pattern Type resets this property.

Units | Default | Range
Hz | 1 MHz | +/- Signal Bandwidth/2*

* Signal Bandwidth is hardware dependent. The absolute maximum bandwidth is +- 2GHz. This bandwidth can only be achieved with a PSG and option 016 and an M8190A arbitrary waveform generator.


Hop Stop

Hop Stop sets the stop value for the frequency hop pattern. This property is used only by the Linear Ramp hop pattern type.

Changing the Hop Pattern Type resets this property.

Units | Default | Range
Hz | -2 MHz | +/- Signal Bandwidth/2*

* Signal Bandwidth is hardware dependent. The absolute maximum bandwidth is +- 2GHz. This bandwidth can only be achieved with a PSG and option 016 and an M8190A arbitrary waveform generator.


Staggered Hop Data

Staggered Hop Data is an array that contains the staggered frequency hopping interval data used for a Staggered Hop Pattern Type. The following figure shows an example of staggered hop data.

The stagger hops are maintained in a variable length double array. The number of hops is equal to the length of the array. The first value in the array is mapped to Hop Start. See Import.

Changing the Hop Pattern Type resets this property.

Units | Default | Min | Max
Hz | 0 Hz | 0 | +/- Signal Bandwidth/2*

* Signal Bandwidth is hardware dependent. The absolute maximum bandwidth is +- 2GHz. This bandwidth can only be achieved with a PSG and option 016 and an M8190A arbitrary waveform generator.


Import (Staggered Hop)

A staggered hop pattern is provided by importing a file containing the hop data. The file format is ASCII and the data is assumed to be in Hz. The number of hops in the custom pattern is determined by the number of values imported.

Import is available only from the Hop panel, and only when Hop Pattern Type is Staggered. Changing the hop pattern type deletes the imported hop data. Existing hop data is deleted before a new import.


Advanced Pattern Details

The Advanced button provides access to pattern-specific functionality. It is possible to design several patterns, each with its own specific setup, such as a different frequency and amplitude while also having a different trigger mode. The Compact button closes the Advanced Pattern Details window and returns to the compact mode.

For details about each parameter, click a topic name under Advanced Pattern Details in the Help window's Contents pane.

Each downloaded signal contains waveform and sequence data for the arbitrary waveform generator as well as settings for the signal generator. Many of the signal generator values may be updated by simply pressing the play button. Switching between patterns that have been downloaded is accomplished by selecting the desired pattern from the pattern list and pressing play.

The waveform and sequence data downloaded to the PSG/MXG/EXG/ESG internal Arb is placed in volatile memory. The data may be copied to non-volatile memory for permanent storage. Use the instrument save/recall feature to save the other instrument settings for this signal. When you want to play a previously stored waveform, load the waveform into volatile memory and recall the associated instrument state. Refer to the Download section for more information.

Related Topics

Pattern Library Overview

Pattern Details

Menu Bar and Toolbar


Frequency

This text box displays the signal generator's carrier frequency. Frequency is also used during Generate Correction to set the analyzer center frequency. Use Frequency Offset and Mirror Spectrum if there is a frequency translation between the signal generator and the analyzer.

The Frequency upper limit for the N8212A Performance Vector Upconverter is 20 GHz.


Amplitude

This text box displays the amplitude (dBm) of the signal generator's carrier. Use the Ampl Offset parameter if there is additional gain or loss between the signal generator and analyzer. See Getting Correct Output Power for more information


RF Output

A check in this box enables the source RF output. The property is passed immediately to the connected hardware.


Arb

The automatic settings, enabled by default when Pulse Building starts up, allow the system to select default values automatically based on the current system hardware.

Auto Sample Rate

A check in this box enables Pulse Building to automatically use the preferred sample rate specified by the Arb in the current hardware configuration. Typically this is the maximum sample rate supported by the Arb. This allows easy sharing of Pulse Building setting files across hardware platforms.

When Auto Sample Rate is disabled, you must enter the correct sample rate for the arbitrary waveform generator, which is used by Generate Correction.

Auto Sample Rate is disabled and External Clock is enabled when using an external sample clock for the Arb, or when synchronizing multiple Arbs. The software does not control the instrument providing the external sample clock. When using an external clock the frequency resolution is dependent on the external clock source.

The sample clock minimum, maximum, resolution, and default values must be specific to your system configuration:

Internal Baseband Generator (Options 001, 002, 601, 602)

Default (Reset) | 100 MHz
Minimum | 10 MHz
Maximum | 100 MHz
Resolution | 0.1 Hz

N603xA/M933xA or N824xA Arbitrary Waveform Generator

 | External I/Q | Wideband I/Q
Default (Reset) | 1.25 GHz | 1.25 GHz
Minimum | 156.25 MHz | 156.25 MHz
Maximum | 1.25 GHz | 1.25 GHz
Resolution (internal clock only supports these frequencies) | 156.25 MHz 312.5 MHz 625 MHz 1.25 GHz | 156.25 MHz 312.5 MHz 625 MHz 1.25 GHz

Closed Click here to view a pulse train sampled at 100 MHz and 50 MHz. A high sampling rate increases the waveform data sample resolution accuracy; rise time and fall time resolution is better with a high sampling rate.

Auto Alias Filter

This parameter is available for any system configured with an external Arbitrary Waveform Generator. It is disabled for any system configured with the internal baseband generator.

A check in this box enables Pulse Building to automatically choose the Arb anti-alias filter based on the current sample rate. The auto capability is hardware dependent and allows easy sharing of Pulse Building setting files across hardware platforms.

When Auto Alias Filter is disabled, you must set the anti-alias filter frequency.

Systems configured with the N603xA/M933xA or N824xA Arbitrary Waveform Generators support:

  • Through

  • 250 MHz

  • 500 MHz (default)

Auto Output Voltage

Sets the Arb peak to peak output voltage. This parameter is available for any system configured with an external Arb. It is disabled for any system configured with the internal baseband generator. The minimum, maximum, and reset values are system specific. This value can be changed to optimize the signal broadband noise versus distortion caused in the I/Q modulation chain.

A check in this box enables Pulse Building to automatically set the Arb output voltage to best match the Signal Generator I/Q inputs. Pulse Building linearly scales the RMS voltage sent to the Signal Generator for power search when the ALC is off. When Auto Output Voltage is disabled, you must set the Arb output voltage. The automatic capability is hardware dependent and allows easy sharing of Pulse Building setting files across hardware platforms.

Systems configured with the N603xA/M933xA or N824xA Arbs support the following peak to peak voltages:

 | Range | Default Value
External I/Q | 0.34 to 0.5 V and 0.68 to 1.0 V | 0.4 V
Option 015 | 0.34 to 0.5 V and 0.68 to 1.0 V | 1.0 V
Option 016/H16 | 0.68 to 1.0 V | 1.0 V

Setting the Arb output voltage too low can result in an unleveled signal and a higher noise floor. Increase the Arb voltage or reduce the signal Amplitude.


Trigger

Trigger Mode

Select the trigger mode. The different trigger modes are achieved by a combination of hardware setup and the Pulse Pattern Waveform and Sequence Data. Switching the trigger mode between None, Continuous, and Single may be accomplished by changing the trigger mode and then pressing play to update the hardware parameters.

Switching the trigger mode to or from Pulse requires a download and play because the waveform and sequence data must be regenerated.

None

No trigger required. Pulse pattern plays automatically after download and repeats until stopped.

Continuous

Pulse pattern plays after receiving a valid trigger and repeats until stopped.

Single

Pulse pattern plays once for each trigger received.

Pulse

The next pulse in the pulse pattern is played. This allows you to step through the pattern one pulse at a time. The effective pulse repetition interval is set by the input trigger rate. When the trigger is in Pulse Mode the following rules are applied to the Pulse Pattern:

  • Nested Patterns are flattened before triggering is applied. This means a nested Pattern is not played through with a single trigger. Instead, a trigger is required for each pulse in the nested pattern.

  • Off time objects are ignored.

Trigger Source

Select the trigger source. This selection is only applicable when Trigger Mode is set to any selection other than None.

Software

Trigger provided by GUI/API over the I/O channel, using the ”Trigger Now” method.

External 1

  • PSG/ESG Opt 001,002,601,602 − External trigger input is ”PATTERN TRIG IN” on the rear panel of the instrument.

  • MXG/EXG Opt 651-657 − External trigger input is ”PAT TRIG” on the rear panel of the instrument.

  • M8190A − External trigger input is "Trigger In" on the front panel of the instrument.

  • N603xA/M933xA or N824xA − External trigger input is ”Trigger 1” on the front panel of the instrument.

External 2

  • PSG/ESG Opt 001,002,601,602 − External trigger input is pin number 17 on the ”AUXILLARY I/O” connector on the rear panel of the instrument .

  • MXG/EXG Opt 651-657 − External trigger input is on the ”AUXILLARY I/O” connector on the rear panel of the instrument .

  • M8190A − External trigger input is "Event In" on the front panel of the instrument.

  • N603xA/M933xA or N824xA − External trigger input is ”Trigger 2” on the front panel of the instrument.

Trigger Polarity

Select the trigger polarity.

Positive

Trigger occurs on the rising edge of trigger signal.

Negative

Trigger occurs on the falling edge of the trigger signal.

Trigger Delay

Set the trigger delay. The maximum trigger delay and the trigger delay resolution are system dependent. Enter a value in this field from 0 to 1.0 ms. Units are s, ms, ms, ps.

PSG/ESG Internal Arb (Option 001, 002, 601, 602)

  • Resolution: 10 ns at 100 MHz, 1/sample rate

  • Maximum: 1.0 ms

N603xA/M933xA or N824xA Arb

  • Resolution: 6.4 ns at 1250 MHz, 8/sample rate

  • Maximum: 1.6 ms at 1250 MHz sample rate, 2000/sample rate

Trigger Level

Set the trigger level. Trigger level should be between > 0 and 5 V, with actual change occurring at about 2.5 V. The Trigger level can be set from -4.3 V to 4.3 V for the N6030A, M9330A or N8241A Arb.

The PSG/ESG internal Arb is TTL and the level cannot be set.


Marker

Event 1, 2, and 3

These event markers can be configured to output the following marker signals:

None

Event marker is not used.

Pulse Start

Event marker indicates the start of a pulse. A high transition, approximately + 2.5 VDC, indicates the start of a pulse.

Pulse Gate

Event marker is present during each pulse in a pattern. A high transition, approximately + 2.5 VDC, and time duration slightly longer than the pulse occurs for each pulse. This marker can be used as a trigger indicating that a pulse is about to be generated. Note in the Closed diagram, that the pulse gate width is wider than the pulse in the pulse train. This allows the pulse gate to be used to trigger other devices.

Signal Start

Event marker indicates the first point at the start of a configured signal. A high transition, approximately + 2.5 VDC, indicates the beginning or start of the signal.

Closed Click here to view the relationship between a pulse train and the marker event types.

Event delay accuracy is determined by the sampling rate. See Event Delay for more information.

Event Marker Outputs

PSG/ESG Internal Arbitrary Waveform Generator

  • Event 1 - Event 1 on the rear panel.

  • Event 2 - Event 2 on the rear panel.

  • Event 3 - Pin #19 of the Auxiliary I/O connector on the rear panel. Can also be used to drive the ALC Hold input (see ALC Hold Line).

  • Event 4 - Pin #18 of the Auxiliary I/O connector on the rear panel. Is also routed internally to the pulse modulator.

MXG/EXG Internal Arbitrary Waveform Generator

  • Event 1 - Event 1 on the rear panel and pin #1 of the Auxiliary I/O connector on the rear panel.

  • Event 2 - Pin #2 of the Auxiliary I/O connector on the rear panel.

  • Event 3 - Pin #3 of the Auxiliary I/O connector on the rear panel. Can also be used to drive the ALC Hold input (see ALC Hold Line).

  • Event 4 - Pin #4 of the Auxiliary I/O connector on the rear panel. Is also routed internally to the pulse modulator.

M8190A Arbitrary Waveform Generator

  • Event 1 - CHANNEL 1 SAMPLE MRK OUT.

  • Event 2 - SYNC MRK OUT 1.

  • Event 3 - SYNC MRK OUT 2. Can also be used to drive the ALC Hold input of the PSG. (see ALC Hold Line).

  • Event 4 - CHANNEL 2 SAMPLE MRK OUT.Must be connected by cable to drive the signal generator pulse modulator.

    PSG – Gate/Pulse/Trigger input on the front panel.

    ESG – EXT 2 input on the front panel.

    MXG/EXG – Pulse input on the rear panel.

N603xA/M933xA or N824xA Arbitrary Waveform Generator

  • Event 1 - Marker 1 on the front panel.

  • Event 2 - Marker 2 on the front panel.

  • Event 3 - Marker 3 on the front panel. Can also be used to drive the ALC Hold input of the PSG. (see ALC Hold Line).

  • Event 4 - Marker 4 on the front panel. Must be connected by cable to drive the signal generator pulse modulator.

    PSG – Gate/Pulse/Trigger input on the front panel.

    ESG – EXT 2 input on the front panel.

    MXG/EXG – Pulse input on the rear panel.

ALC Hold Line On

A check in this box enables the Event 3 marker signal to drive the ALC Hold line so that the ALC is active only during the steady state of the pulse amplitude. Enabling the ALC Hold Line On prevents the ALC from trying to level the signal during rising or falling edges that are greater than 100 ns, and from trying to level the signal during pulses that have a power scale other than 0 dB. When Closed ALC Hold Line On is on, the Event 3 marker displays ALC Hold, and the drop-down choices are disabled. See Getting Correct Output Power for more information.

Enabling or disabling the ALC Hold Line On requires a download and play to regenerate the correct signal for Event 3.

PSG/ESG Internal Arbitrary Waveform Generator

The Event 3 marker is routed internally to the ALC Hold. Event 3 is also available on pin 19 of the Auxiliary I/O connector on the signal generator's rear panel.

MXG/EXG Internal Arbitrary Waveform Generator

The Event 3 marker is routed internally to the ALC Hold. Event 3 is also available on pin 3 of the Auxiliary I/O connector on the signal generator's rear panel.

M8190A External or Wideband Arbitrary Waveform Generator

The SYNC MRK OUT 2 output is routed externally to the E8267D or N8212A ALC Hold input. The hardware configuration is such that:

  • The M8190A SYNC MRK OUT 2 output should be connected to the ALC Hold input on the E8267D rear panel or to the ALC Hold input on the N8212A front panel.

Do not connect the external Arb SYNC MRK OUT 2 to the ALC Hold input line unless the ALC Hold Line On is enabled when using an E8267D or N8241A with firmware revisions prior to C.04.71. Do not connect any signals to the ALC Hold input when using the Internal Arb with firmware revisions prior to C.04.71. In either case, the desired RF output signal may not be present depending on the signal present on the ALC Hold input. This problem has been corrected with E8267D or N8212A firmware, release C.04.71. If using firmware release C.04.71 or later, SYNC MRK OUT 2 can be left connected to the ALC Hold input whether the ALC Hold Line On is enabled or not.

N603xA/M933xA or N824xA External or Wideband Arbitrary Waveform Generator

The Event 3 marker is routed externally to the E8267D or N8212A ALC Hold input. The hardware configuration is such that:

  • The N603xA/M933xA or N824xA Marker 3 output should be connected to the ALC Hold input on the E8267D rear panel or to the ALC Hold input on the N8212A front panel.

Do not connect the external Arb Event 3 to the ALC Hold input line unless the ALC Hold Line On is enabled when using an E8267D or N8241A with firmware revisions prior to C.04.71. Do not connect any signals to the ALC Hold input when using the Internal Arb with firmware revisions prior to C.04.71. In either case, the desired RF output signal may not be present depending on the signal present on the ALC Hold input. This problem has been corrected with E8267D or N8212A firmware, release C.04.71. If using firmware release C.04.71 or later, Event 3 can be left connected to the ALC Hold input whether the ALC Hold Line On is enabled or not.

Pulse Modulator On

A check in this box enables the Event 4 marker, which provides the correct drive signal to the pulse modulator. Enabling Closed Pulse Modulator On improves the on/off ratio of the pulse from approximately 60 dBc to ³80 dBc (or ³64 when using an ESG ³2.8 GHz). This marker is not user-defined. See Getting Correct Output Power for more information.

Removing the check mark from the check box disables the pulse modulator.

Internal I/Q

The Event 4 marker is routed internally in the PSG/MXG/EXG/ESG to the pulse modulator, and is also available on pin 18 (PSG/ESG) or pin 4 (MXG/EXG) of the signal generator's rear panel Auxiliary I/O connector. The alignment resolution is 10 ns when using a 100 MHz sample rate.

External I/Q, Wideband I/Q

The Event 4 marker is routed externally to the PSG/MXG/EXG/ESG pulse modulator. The pulse modulation sub system is enabled and the source is set to "Ext Pulse" on the PSG and to "Ext2 DC-Coupled" on the ESG. The hardware configuration is such that:

  • M8190A CHANNEL 2 SAMPLE MRK OUT should be connected to the "Gate/Pulse/Trigger Input" on the PSG, or to the "Ext 2 Input" on the ESG. The alignment resolution is 250 ps when using a 4 GHz sample rate.

  • N603xA/M933xA or N824xA Marker 4 output should be connected to the "Gate/Pulse/Trigger Input" on the PSG, or to the "Ext 2 Input" on the ESG. The alignment resolution is 6.4 ns when using a 1.25 GHz sample rate.

Related Topics

Pulse Modulation Alignment

Getting Correct Output Power

Event Marker Outputs

Possible System Configurations


Signal

The automatic settings, enabled by default when Pulse Building starts up, allow the system to select default values automatically based on signal properties and the current system hardware.

Auto Signal Bandwidth

The signal bandwidth parameter serves two purposes: The first is to set the bandwidth of the test signal (see Play Test Signal). The second is to help optimize signal corrections.

A check in this box enables Pulse Building to set the signal correction bandwidth automatically to the maximum signal bandwidth based on the current signal properties and the system hardware capabilities. This value is the smaller of 80% of the current sample rate or the actual hardware bandwidth. This allows easy sharing of Pulse Building setting files across hardware platforms. When you disable the automatic setting, you must set the signal correction bandwidth manually.

When setting the signal bandwidth manually, set the value to the maximum RF bandwidth of your signal. The maximum bandwidth of your signal is dependent on any intra-pulse modulation and any frequency offsets specified in the Signal Pattern. The signal bandwidth should typically be < 0.8 × (Sampling Rate).

  • Range: 10 MHz to 1100 MHz (determined by the hardware configuration)

  • Internal I/Q default: 80 MHz

  • External I/Q default: 240 MHz

  • Wideband I/Q default: 1000 MHz

The Signal Bandwidth default value is 1000 MHz when the system is configured for wideband using either an N603xA/M933xA or N824xA Arb. If the Arb has a maximum sample rate of 625 MHz, the Signal Bandwidth is 500 MHz.

Auto RMS Voltage

A check in this box enables Pulse Building to calculate the waveform RMS voltage automatically. The signal generator uses this value when executing a power search during a Play when its ALC is disabled. This value provides accurate output power when the ALC is disabled. See Getting Correct Output Power for more information.

Uncheck the box to enter the RMS voltage manually. A value derived from this starting point is used by the signal generator as the power search reference level when the ALC is turned off. The value entered here is not directly entered into the signal generator Power Search Manual voltage. It is scaled by any corrections and re-scaling that occurs in the Pulse Building application.

Pulse Building does not directly control the Baseband Filter and Modulator Attenuation properties for the source. The source firmware has been optimized to set the modulator attenuator value based on the waveform RMS voltage. You may override this feature by manually setting the modulator attenuator value in the source from the front panel or with SCPI commands. Baseband Filter and Modulator Attenuator discusses these properties.


ALC

ALC Active

A check in this box selects the automatic loop control (ALC) for leveling the amplitude of the signal generator's RF output. The ALC is disabled during a download whenever the pattern contains an Antenna Scan or all of the pulse widths are less than the minimum leveled width supported by the signal generator. For the PSG the minimum leveled pulse width is 1 µs. For the ESG the minimum leveled pulse width is 2 µs. You may override this behavior after a download is complete by re-enabling the ALC and executing a play. See Getting Correct Output Power for more information.

Attenuator Hold

A check in this box holds the attenuator at the level specified in the Attenuator text box. With Attenuator Hold activated the changes to the signal generator's power level are only done using the ALC: the attenuator will not change its level. The attenuator hold circuitry is coupled with the Attenuator andALC Level (dBm) text box settings. The Attenuator Hold function, when enabled, prevents the attenuator from switching levels. Attenuator switching may occur when the ALC Active is enabled and the signal generator RF power level changes. The ALC tries to compensate for these power changes and may set the attenuator to a different attenuation setting. The AttenuatorHold function holds the attenuator at the level indicated in the Attenuator text box and prevents the attenuator level from changing.

The system may be unable to provide the correct output power when the Attenuator Hold is enabled.

Attenuator

The Attenuator text box is enabled when a check mark is placed in the Attenuator Hold check box. The Attenuator text box enables you to enter a value for the signal generator's attenuator level, which decreases the power level at the signal generator's RF output. The ALC Level (dBm) and Amplitude (dBm) settings are coupled to the attenuator so that changes to one can affect the other. For example, if the attenuator level is set to 85 dB and an ALC Level set to 25 dBm the Amplitude (dBm) text box displays -60. If the Attenuator is set to 40, with the same ALC level, the Amplitude (dBm) changes to -15.

Range: 0 to 115 dB, with a 5.0 dB resolution.

The Attenuator value can only be set when Attenuator Hold is On.

ALC Level

The signal generator's ALC level can be set when the Attenuator Hold is enabled. The ALC is enabled when a check mark is placed in the Attenuator Hold check box. RF power can be held constant at the level indicated in the ALC Level text box. The best range for the ALC is 5 to 10 dBm.

Range: –20 to 25 dBm, with a resolution of 0.01 dBm.


Offsets

Freq Offset

Freq Offset alters the visual display on the signal generator and the frequency range limits. Range is from –200 to 200 GHz in 0.01 Hz steps. It allows the source frequency display to account for a system with frequency translation in it. Frequency Offset is also used by Generate Correction.

Ampl Offset

Amplitude Offset is an offset applied to the value and range limits of the signal generator Amplitude. Range is from –200 to 200 dB in 0.01 dB steps. If there is an amplifier with 10 dB of gain on the output of the signal generator, the amplitude offset should be set to 10 dB. Now all entries to the Amplitude value account for this external gain. Amplitude Offset is also used by Generate Correction.

Mirror Spectrum

Mirror Spectrum reverses the spectrum of the waveform when it is downloaded. This is useful for systems with external upconversion and downconversion where the signal spectrum is mirrored by the conversion process. This parameter is also used by Generate Correction.


Importing and Exporting Patterns

The Pulse Building application can export or import complex pulse patterns to and from Comma-Separated Values (CSV) files. The CSV file is an ASCII file and contains all of the information for a single pulse pattern. This is different from the Pulse Building setting file (*.pbp) which is a binary file that contains all of the application information including the entire pulse library and entire pulse pattern library.

CSV Files Introduction | Introduction to importing and exporting CSV files, their purpose, and the location of an example.
CSV File Format | The format and organization of Pulse Building properties in the CSV file.
CSV File Importation Rules | The rules used when importing a CSV file.
CSV File Exportation Rules | The rules used when exporting a CSV file.


CSV Files Introduction

The CSV file format contains all of the Pulse Building application properties for a single pattern. It does not, however, contain hardware-specific configuration properties like those found under the Download menu.

To import an existing CSV file containing pattern data, click the File > Import Pattern menu item. To export pattern data to a CSV file, click the File > Export Pattern menu item. The simplest way to generate a template for a CSV pattern file is to create a new pattern in the Pattern Library with several different objects in it and then export it. Then you can modify the file to re-import later.

An example CSV file and supporting files are installed with the Pulse Building application. Review the files to see how a CSV file is organized. The example is available at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\csv_example

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\csv_example

Related Topics

CSV File Format

CSV File Importation Rules

CSV File Exportation Rules

Import Pattern...

Export Pattern...


CSV File Format

The CSV file contains header information followed by three sections that provide the pattern information. The three sections following the file header are the Signal Properties, Pattern Header, and Pattern Items. Specific keywords are required in each section.

The File Header must begin with the keyword PATTERN_FILE and the header must contain a value for PATTERN_NAME. Each of the three sections that follow the header must appear in the following order, and begin and end with specific keyword pairs:

  • Signal Properties lists the Pulse Building signal properties:

    SIGNAL_PROPERTIES_BEGIN, SIGNAL_PROPERTIES_END

    See Signal Properties for details.

  • Pattern Header lists the order information of the pulse pattern details:

    PATTERN_HEADER_BEGIN, PATTERN_HEADER_END

    See Pattern Header for details.

  • Pattern Items lists the pulse pattern detail data:

    PATTERN_ITEMS_BEGIN, PATTERN_ITEMS_END

    See Pattern Items for details.

In each section, you may insert comments in rows between the two keywords using the symbol # as the first character in the line.

For a CSV file example, refer to the samples provided with the Pulse Building software at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\csv_example\SampleCsvFile

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\csv_example\SampleCsvFile


File Header

The CSV file must start with the PATTERN_FILE keyword and contain PATTERN_NAME, which is the name of the imported pattern. Additional comments may be added as needed and must begin with the symbol # as the first character in the row.

To preserve an existing pattern and import a new pattern, you may change the pattern name in the CSV file, or rename the existing pattern in Pulse Building. After the import, the pattern name from the CSV file is added to the list in the Patterns window.

Here is an example of a Closed CSV file header:

Related Topics

Signal Properties

Pattern Header

Pattern Items


Signal Properties

The first section following the file header is Signal Properties. It contains the signal properties located in the Pulse Building Pattern Library form in the Pattern Details area's Advanced view. The Signal Properties section must begin with the keyword SIGNAL_PROPERTIES_BEGIN and end with the keyword SIGNAL_PROPERTIES_END. The signal properties include the following:

Frequency_MHz | Frequency_Offset_MHz | Amplitude_dBm
Amplitude_Offset_dBm | Mirror_Spectrum_OnOff | Pulse_Modulator_OnOff
ALC_Hold_Line_OnOfff | ALC_Enable | Attenuation_Hold_OnOff
Attenuation_Level_dB | ALC_Level_dBm | Auto_Sampling_Rate_OnOff
Sampling_Rate_MHz | External_Clock_OnOff | Auto_Alias_Filter_OnOff
Alias_Filter_MHz | Auto_Output_Voltage_OnOff | Arb_Output_Voltage
Auto_Signal_Bandwidth_OnOff | Signal_Bandwidth_MHz | Auto_RMS_Voltage_OnOff
RMS_Voltage | Trigger_Mode | Trigger_Source
Trigger_Polarity | Trigger_Delay_us | Trigger_Level
Event1 | Event2 | Event3

As shown in this example of a CSV file's Closed Signal Properties section, the individually listed properties appear on separate lines between the keywords. The property names are listed in the first column and their associated values are listed in the next column. Property names must be labeled correctly.

Unless stated otherwise, all frequency values are in MHz, all time values are in micro-seconds, and all phase values are in degrees.

Related Topics

File Header

Pattern Header

Pattern Items


Pattern Header

The second section following the file header is Pattern Header. It contains the order information for the pattern parameters. The parameter items are located in the parameter table area of the Pattern Library form's Pattern Details. The CSV file's Pattern Header section must begin with the keyword PATTERN_HEADER_BEGIN, and end with the keyword PATTERN_HEADER_END. The pattern header items include the following:

Index | Object_Type
Object_Name | Off_Time_us
Repeat | Freq_Offset_MHz
Power_Scale_dB | Phase_Offset_Deg
Pulse_Type | Pulse_Rise_Time_us
Pulse_Fall_Time_us | Pulse_Width_us
Pulse_Custom_Filename | Pulse_Custom_Sample_Rate_MHz
Pulse_Modulation_Type | Pulse_Chirp_Peak_Deviation_MHz
Pulse_Chirp_Direction | Pulse_Barker_Code_Length
Pulse_BPSK_QPSK_Step_Size_us | Pulse_Custom_Modulation_Filename
PW_Pattern | PW_Start_us
PW_Stop_us | PW_Number_of_Pulses
PW_Step_us | PW_Number_of_Steps
PW_Pulses_Per_Step | PW_Staggered_Filename
PW_Jitter | PW_Jitter_Deviation_us
PRI_Pattern | PRI_Start_us
PRI_Stop_us | PRI_Burst_Interval_us
PRI_Number_of_Pulses | PRI_Step_us
PRI_Number_of_Steps | PRI_Pulses_Per_Step
PRI_Staggered_Filename | PRI_Jitter
PRI_Jitter_Deviation_us | PRI_Wobbulation
PRI_Wobbulation_Deviation_us | PRI_Wobbulation_Rate_MHz
PRI_Wobbulation_Start_Time_Offset_us | Antenna_Scan
Antenna_Scan_Rate_RPM_Hz_Deg_per_s | Antenna_Cone_Radius_Deg
Antenna_Raster_or_Sector_Width_Deg | Antenna_FlyBack_Time_us
Antenna_Bar_Width_Deg | Antenna_Number_of_Bars
Antenna_Retrace_Time_us | Antenna_Beam_On_During_Retrace
Antenna_Custom_Filename | Antenna_Custom_Interpolation
Antenna_Azimuth_3dB_Beam_Width_Deg | Antenna_Elevation_3dB_Beam_Width_Deg
Antenna_Null_Depth_dB | Antenna_Radiation_Type
Antenna_Programmable_First_Sidelobe_Level_dB | Antenna_Programmable_Sidelobe_Roll_Off_dB
Antenna_Horizontal_Azimuth_Receiver_Location_Deg | Antenna_Vertical_Elevation_Receiver_Location_Deg
Hop_Pattern | Hop_Start_MHz
Hop_Stop_MHz | Hop_Number_of_Pulses
Hop_Step_MHz | Hop_Number_of_Steps
Hop_Pulses_Per_Step | Hop_Staggered_Filename

When you import an older CSV file, all of the Hop pattern properties will be set to their default values. There is no effect on existing signals. When you export, the Hop properties are placed after the Antenna Radiation Properties in the CSV file.

As shown in this example of a CSV file's partial Closed Pattern Header section, the header items are listed in a single row between the keywords with one header per column.

The pattern header items are organized into five main groups. Each group contains sub-groups of related parameters as shown in the following figure. While you may reorganize the header items, Keysight recommends that you not do so, since the Export Pattern command uses the order shown here. If you eliminate pattern header items from an imported file, Pulse Building will use default values. See Pattern Items for details.

An easy way to prepare a CSV file that lists the pattern header items in the recommended order, is to create a new pattern in Pulse Building using several pattern parameters, then export the pattern using the menu item (File > Export Pattern).

Click on any of the five main group names to navigate to that topic description.

Figure 1. Compressed view of the Pattern Header groups containing the CSV file's headings for the pattern item data.

Related Topics

File Header

Signal Properties

Pattern Items


Pattern Items

The third section following the file header is Pattern Items. It contains the actual values used for the pattern header parameters. The CSV file's Pattern Items section must begin with the keyword PATTERN_ITEMS_BEGIN and end with the keyword PATTERN_ITEMS_END.

In a CSV file, the pattern item values are listed in rows between the keywords with each value located in the same column as its associated parameter in the pattern header row. One row of pattern items contains more than 50 values, which represent the data for one pulse in the pattern. For details about the pattern header organization and their associated values, see Object, RF Offsets, Pulse Library Details, PRI Details, Antenna Pattern, and Hop Details.

Individual entries for frequency values should be entered in MHz and time values should be entered in microseconds (us) unless specified otherwise by the Pattern Header item. Example: the value for PRI wobbulation rate is in Hz since its associated Pattern Header item is PRI_Wobbulation_Rate_Hz.

Related Topics

File Header

Signal Properties

Pattern Header


Object

The Object group contains the following properties:

Object_Type

Object_Name

Off_Time_us

Repeat

The Object properties are organized as shown in the Closed example pattern items under Object, appearing in the columns after the Index header. The properties in this section include the object type to generate, the object name, the off time in us, and the number of times to repeat the object. Valid objects include pulses, patterns, and off time. When the object type is off, all other values in the row are ignored except for the Off_Time_us, which is used for the off time length. If the object type is Pattern, an empty pattern is created unless a pattern with the specified name already exists in the Pattern Library.

The Index item is shown with the Object group since it is located in the first column immediately preceding the group. The index value is ignored. It is provided as a visual aid when creating pulse patterns in CSV files.

Other Pattern Parameter Groups

RF Offsets

Pulse Library Details

PRI Details

Antenna Pattern

Hop Details

Related Topics

File Header

Signal Properties

Pattern Header


RF Offsets

The RF Offsets group contains the following properties:

Freq_Offset_MHz

Power_Scale_dB

Phase_Offset_Deg

The RF Offsets properties are organized as shown in Closed example pattern items under RF Offsets. These properties are offsets that are applied to the RF output using I/Q modulation. The offsets include Frequency Offset, Phase Offset, and a Power Scale. The offsets for a given line are relative to objects in other lines as well as to the RF frequency and the RF amplitude. The offsets are applied to all objects specified by the number of repetitions. The offsets are additive, so if the Power Scale is set to -10 dB, and an antenna scan is applied to 1000 pulses, the amplitude for each pulse produced by the antenna patterns is reduced by 10 dB. With the Power Scale set to 0 dB, the maximum possible amplitude from the antenna pattern is 0 dB.

Other Pattern Parameter Groups

Object

Pulse Library Details

PRI Details

Antenna Pattern

Hop Details

Related Topics

File Header

Signal Properties

Pattern Header


Pulse Library Details

The Pulse Library Details group contains the following properties:

Pulse_Type | Pulse_Rise_Time_us
Pulse_Fall_Time_us | Pulse_Width_us
Pulse_Custom_Filename | Pulse_Custom_Sample_Rate_MHz
Pulse_Modulation_Type | Pulse_Chirp_Peak_Deviation_MHz
Pulse_Chirp_Direction | Pulse_Barker_Code_Length
Pulse_BPSK_QPSK_Step_Size_us | Pulse_Custom_Modulation_Filename
PW_Pattern | PW_Start_us
PW_Stop_us | PW_Number_of_Pulses
PW_Step_us | PW_Number_of_Steps
PW_Pulses_Per_Step | PW_Staggered_Filename
PW_Jitter | PW_Jitter_Deviation_us

The Pulse Library Details properties are organized into four subsections as shown in the CSV file examples Closed Pulse Type, Closed Pulse Modulation, Closed Pulse Width Pattern, and Closed Pulse Width Jitter (examples appear below). The pulse library details are ignored if the object type is Pattern or Off Time.

If the same pulse object is present on multiple lines in an imported CSV file, the last instance of the pulse is used to set the Pulse Library Details. If the pulse existed before a file is imported, the pulse property values are replaced with the values from the file's last instance of the pulse.

The properties shown in the Closed Pulse Type example specify the pulse edge type, or allows a custom pulse envelope or custom I/Q modulated pulse. When using the ramp or cosine edge, you may specify the rise time, fall time, and the pulse width. When using Custom Profile or Custom I/Q, you must specify a file that contains the appropriate data. You must also specify the sample rate used to generate the data. The default Pulse Type is Trapezoidal.

The properties shown in the Closed Pulse Modulation example set specific intra-pulse modulations. All pulse repetitions on a given line receive the same modulation. Many of the modulations require data from a separate file. See the specific file type for the file format. The default Pulse Modulation Type is none.

The properties shown in the Closed Pulse Width Pattern example enable you to vary the pulse width in random or specific ways. The pulse width pattern is only available when Pulse Type is Trapezoidal or Raised Cosine. The pulse width pattern can be combined with Pulse Width Jitter. The default Pulse Width Pattern is none.

The property PW_Number_of_Pulses defines the pattern; it does not indicate how many pulses will be generated. The Repeat property in the Object section sets the actual number of pulses generated.

The properties shown in the Closed Pulse Width Jitter example can be applied to both the Trapezoidal and Raised Cosine pulse types. Use the Repeat property in the Object section to specify how many pulses to generate with Pulse Width Jitter. If Repeat is set to one, no width jitter will be observed. The default Pulse Width Jitter type is None.

Other Pattern Parameter Groups

Object

RF Offsets

PRI Details

Antenna Pattern

Hop Details

Related Topics

File Header

Signal Properties

Pattern Header


PRI Details

The PRI Details group contains the following properties:

PRI_Pattern | PRI_Start_us
PRI_Stop_us | PRI_Burst_Interval_us
PRI_Number_of_Pulses | PRI_Step_us
PRI_Number_of_Steps | PRI_Pulses_Per_Step
PRI_Staggered_Filename | PRI_Jitter
PRI_Jitter_Deviation_us | PRI_Wobbulation
PRI_Wobbulation_Deviation_us | PRI_Wobbulation_Rate_MHz
PRI_Wobbulation_Start_Time_Offset_us |

The PRI Details properties are organized into three subsections: PRI Pattern, PRI Jitter, and PRI Wobbulation. These subsections are shown in the CSV file examples Closed PRI Pattern and Closed PRI Wobbulation. The PRI pattern properties enable you to vary the signal repetition interval in both random and deterministic ways. The PRI pattern can be applied to either a pulse object type or a pattern object type. The PRI Start value maps to or from the Repetition Interval property and to the first item in the Staggered PRI list. The default value for PRI Pattern Type is None.

The property PRI_Number_of_Pulses defines the pattern; it does not indicate how many pulses will be generated. The Repeat property in the Object section sets the actual number of pulses generated.

The PRI pattern can be combined with PRI Jitter and PRI Wobbulation. The PRI Wobbulation Rate is imported and exported in Hz. The default value for PRI Jitter and PRI Wobbulation is none.

Other Pattern Parameter Groups

Object

RF Offsets

Pulse Library Details

Antenna Pattern

Hop Details

Related Topics

File Header

Signal Properties

Pattern Header


Antenna Pattern

The Antenna Pattern group contains the following properties:

Antenna_Scan | Antenna_Scan_Rate_RPM_Hz_Deg_per_s
Antenna_Cone_Radius_Deg | Antenna_Raster_or_Sector_Width_Deg
Antenna_FlyBack_Time_us | Antenna_Bar_Width_Deg
Antenna_Number_of_Bars | Antenna_Retrace_Time_us
Antenna_Beam_On_During_Retrace | Antenna_Custom_Filename
Antenna_Custom_Interpolation | Antenna_Azimuth_3dB_Beam_Width_Deg
Antenna_Elevation_3dB_Beam_Width_Deg | Antenna_Null_Depth_dB
Antenna_Radiation_Type | Antenna_Programmable_First_Sidelobe_Level_dB
Antenna_Programmable_Sidelobe_Roll_Off_dB | Antenna_Horizontal_Azimuth_Receiver_Location_Deg
Antenna_Vertical_Elevation_Receiver_Location_Deg |

The Antenna Pattern properties are organized into four subsections as shown in the CSV file examples Closed Antenna Scan, Closed Beam Width, Closed Radiation Pattern, and Closed Receiver Location (examples appear below).

The properties shown in the Closed Antenna Scan example enable you to specify the type of antenna scan to use. The default antenna scan is none.

The properties shown in the antenna Closed Beam Width example enable you to specify the horizontal and vertical 3 dB beam width. Additionally, you may specify the minimum amplitude level that the antenna scan can reach. The absolute minimum amplitude level the antenna scan can reach is hardware dependent.

The properties shown in the Closed Radiation Pattern example contains three properties: the radiation type, the desired first side lobe level, and the roll off. Values are required for the first side lobe and the roll off properties only when you select Programmable radiation type. The default radiation pattern is rectangular.

The properties shown in the Closed Receiver Location example set the receiver location relative to the main antenna beam at the start of the scan. Negative values for the horizontal or vertical receiver location mean that the receiver is never directly crossed by the main beam.

Other Pattern Parameter Groups

Object

RF Offsets

Pulse Library Details

PRI Details

Hop Details

Related Topics

File Header

Signal Properties

Pattern Header


Hop Details

The Hop Details group contains the following properties:

Hop_Pattern

Hop_Start_MHz

Hop_Stop_MHz

Hop_Number_of_Pulses

Hop_Step_MHz

Hop_Number_of_Steps

Hop_Pulses_Per_Step

Hop_Staggered_Filename

The Hop pattern properties enable you to vary the frequency hopping interval in deterministic ways. The Hop pattern can be applied to either a pulse object type or a pattern object type. The Hop Start value maps to or from the first item in the Staggered Hop list. The default value for Hop Pattern Type is None.

The property Hop_Number_of_Pulses defines the pattern; it does not indicate how many pulses will be generated. The Repeat property in the Object section sets the actual number of pulses generated.

Other Pattern Parameter Groups

Object

RF Offsets

Pulse Library Details

PRI Details

Antenna Pattern

Related Topics

File Header

Signal Properties

Pattern Header


CSV File Importation Rules

Pulse Building uses the following rules when importing a CSV file.

  • The CSV file import file name and directory are specified by the user.

  • The CSV file import loads the Pulse Building Signal Properties before loading the pulse pattern properties.

  • The CSV file import uses default values when values are left blank. For example if the PRI Pattern Type is left blank, the PRI Pattern Type is set to none.

  • The CSV file import handles properties that contain a variable length data (custom data) with a separate file. These files are referred to as “Support” files. For example, the non-linear chirp requires a list of polynomial coefficients. Instead of trying to read in an indeterminate number of coefficients the property should contain a file name. The file specified by file name contains the coefficients. The import algorithm can read until end-of-file to load the coefficients. If no supporting file name is specified for a variable length property, the property is set to the default. The default is property specific.

  • The CSV file import supporting files do not have to be in the same directory as the base CSV file. The user can specify an absolute or relative path to the support files.

  • The CSV file import maps the values from the CSV file to the correct Pulse Building Properties.

  • The CSV file import is to the named pattern in the Pulse Building Pattern Library.

  • The CSV file import uses version control so that we can add new columns as necessary. If no version number is found the latest file format is assumed. The user can translate files with older version numbers to the latest version by importing and then exporting the file.

  • The CSV file import expects specific column labels. These label names cannot be changed. They are the keyword to identify the properties for the pattern. The column order can be changed and columns may be excluded from the import file. The properties associated with excluded columns are set to their default values.

  • The CSV file import assumes all time values are in us (microsecond), and all frequency values are in MHz except for the Antenna Scan Rate and the PRI wobbulation rate. The Antenna Scan rate units are determined by the antenna scan type and can be RPM (Revolutions per Minute), Hz, or degrees per second. The PRI wobbulation rate is in Hz.

  • The CSV file import is not case sensitive.

  • The CSV file import ignores lines that start with the symbol #. This allows minimal comments in the file.

  • When the CSV file importation fails, Pulse Building generates an error with enough information to help you find and fix the error.

  • Successful CSV file importation does not ensure that the signal can be generated. Final property range checking is performed during a download. (This is normal Pulse Building behavior.)

  • If the import line in the CSV file is a pulse and no pulse name is given, Pulse Building will assign a unique name and create a new pulse in the Pulse library. (This is normal Pulse Building behavior when you create a new pulse.)

  • If the import line in the CSV file is a pulse and the name is not found in the pulse library a new pulse is added to the pulse library using the name and property values in the line.

  • If the import line in the CSV file is a pulse and the name is found in the pulse library the existing pulse properties are updated to agree with the property values in the line. If the pulse appears on multiple lines in the import file the pulse properties from the last instance are used.

  • If the import line in the CSV file is a pattern and the pattern name is not specified or the pattern is not found in the pattern library a new empty pattern is created.

  • If the import line in the CSV file is a pattern and the pattern name is found in the pattern library, the existing pattern item is used.

  • A circular reference of patterns within patterns is an error condition.

  • Some of the values in the import file may be changed based on calculations of certain fields.

Related Topics

CSV Introduction

CSV File Format

CVS File Exportation Rules

Import Pattern


CSV File Exportation Rules

Pulse Building uses the following rules when exporting a CSV file.

  • The CSV file export directory and the CSV file name are user-specified.

  • The CSV file export generates unique file names for all properties containing variable length data. The supporting file names used during an import are not preserved. This means that new supporting files are created after doing an import followed by an export.

  • The CSV file export for the support files are named using the following format including a timestamp:

    Datatype_PatternItemIndex_mmddmmss.csv

    Example: AntennaScanCustomData_3_02035841.csv

    or

    ItemName_CustomDataType_mmddmmss.csv

    Example: New Pulse 1_PolyPhaseCustomData_08141020.csv

  • The CSV file export populates all necessary fields except those containing variable length data that are empty.

  • The CSV file export may overwrite existing support files without prompting you.

  • The CSV file export from the GUI does not overwrite the main file without asking you first.

  • The CSV file export always uses the latest version file format.

  • The CSV file export writes all files to the same directory.

  • The CSV file exports a single pattern. References to patterns have the names saved as line items but the referenced patterns are not exported.

Related Topics

CSV Introduction

CSV File Format

CVS File Importation Rules

Export Pattern


Pulse Building Examples

N7620B Signal Studio for Pulse Building examples can be found at:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples

antenna_scan_example

Create antenna scans with the N7620B Signal Studio for Pulse Building software. These examples were made using a system configuration with corrections – a signal generator, a signal analyzer, and an Arb (either internal or external). The corrections are not required, but the signal analyzer is used to view the Antenna Scan patterns.

AutomaticResample

Create a signal that shows the resampling feature for Pulse Type equals Custom I/Q.

CSharp

Contains 4 C# programming examples:

  • Complex (more information)

  • Executive - Allows user to create one of five signals

  • Frequency Agile (more information)

  • Sensitivity (more information)

VB .Net

Contains 4 Visual Basic .Net programming examples:

  • Complex (more information)

  • Executive - Allows user to create one of five signals

  • Frequency Agile (more information)

  • Sensitivity (more information)

VB6

Contains 4 Visual Basic 6 programming examples:

  • Complex (more information)

  • Executive - Allows user to create one of five signals

  • Frequency Agile (more information)

  • Sensitivity (more information)

csv_example

Contains an exported pattern including all the supporting csv files and an Excel file with all of csv files.

Custom QPSK

Create a pulse with custom QPSK modulation.

MatLab

Contains 3 MatLab examples for creating custom data:

  • Non Linear Chirp 1 (see also Custom FM Chirp)

  • Non Linear Chirp 2 (see also Custom FM Chirp)

  • Pxpolyphasecode

pri_pattern_example

Create PRI Patterns with the N7620B Signal Studio for Pulse Building software.

PulseModAlignment

(more information)


Complex Test Example

If using the Complex Test.pbp setting file in this example, with a system using an external or wideband I/Q configuration, you may have to adjust the Sample Clock Rate, Modulation Bandwidth, Arb Voltage and Arb Filter parameters.

The Complex Test example demonstrates using the Pulse Building GUI to create a signal using several pattern item types. The pattern, from which the signal is derived, uses different pulse types and different patterns. You will copy pulses from other pulse building projects into the Complex Test project. This example demonstrates how to:

  • Build a pattern of pulses

  • Build a pattern of patterns

  • Copy pulses from one pulse building project to another Pulse Building project

  • Use the Import function for file input

  • Use pattern jitter

Creating the Pulses

The following procedure will guide you through the steps necessary to create the pulses used in this example. The technique for copying pulses is demonstrated in the Sensitivity project. The same method is used when copying pulses from the Frequency Agile project.

If you have not created the Sensitivity or Frequency Agile projects, use the same pulse parameters and patterns described in those projects for the Complex Test project.

  1. Run the Pulse Building application.

  2. Save the project. Use the File - Save As menu selection to save the project as Complex Test.pbp

  3. Run a second instance of the Pulse Building application and then open the Sensitivity project created in the Sensitivity Example section. We will copy the pulses from this project into the Complex Test project.

  4. Place the mouse pointer on the BarkerA pulse in the Sensitivity project, click the right mouse button and select Copy from the menu.

  5. Place the mouse pointer on the New Pulse 1 pulse in the Complex Test project, click the right mouse button and select Paste from the menu selections. The BarkerA pulse parameters are pasted into the New Pulse 1 Pulse Details form.

  6. Change the New Pulse 1 name to BarkerA. Place the mouse pointer on New Pulse 1, right mouse click, and select Rename.

  7. Click the New Pulse button [image] in the Complex Test project.

  8. Repeat steps 4 through 6 for the BarkerB pulse.

  9. Close the Sensitivity Pulse Building application.

  10. Run a second instance of the Pulse Building application and then open the Frequency Agile project created in the Frequency Agile Example section. We will copy the pulses in this project into the Complex Test project.

  11. Copy the CW1, CW2, and CW3 pulses in the Frequency Agile project and paste them into the Complex Test project. Use the technique outlined in steps 4 through 6 to copy the pulses from one project to another.

The Pulse Library form below shows the pulses used in the Complex Test project.

Creating the Pattern

There are now five pulses BarkerA, BarkerB, CW1, CW2, and CW3 stored in the Complex Test Pulse Library. This section details the steps needed to create the patterns using these pulses.

  1. Click the Pattern Library tab at the lower left corner of the Pulse Library form.

  2. Click the [image] icon.

  3. Rename New Pattern 1 to Frequency Agile.

    • Click the mouse pointer on New Pattern 1 in the patterns section of the form

    • Click the right mouse button

    • Select Rename from the menu and type in Frequency Agile

  4. Run a second instance of the Pulse Building application and then open the Frequency Agile project

  5. Copy the Frequency Agile pattern from the Frequency Agile Example project.

    • Click the mouse pointer on the Frequency Agile pattern in the Frequency Agile Example project then click the right mouse button and select Copy.

    • Click the mouse pointer on the Frequency Agile pattern in the Complex Test pattern then click the right mouse button and select Paste.

  6. Close the Frequency Agile Pulse Building application.

The Complex Test project now has the Frequency Agile pattern in its Pattern Library. There are two other patterns that need to be copied into the project: the Doublet and Sensitivity patterns from the Sensitivity Example project. The Pulse Building application cannot copy patterns of patterns. So the Scan pattern will need to be created in the Complex Test project.

  1. Click the [image] icon in the Complex Test project

  2. Rename New Pattern 1 to Doublet:

    • Click New Pattern 1 in the Patterns section of the form

    • Click the right mouse button

    • Select Rename from the menu and type in Doublet

  3. Run a second instance of the Pulse Building application and then open the Sensitivity project and copy the Doublet pattern:

    • Place the mouse pointer on the Doublet pattern in the Sensitivity Example project, click the right mouse button, and select Copy.

    • Place the mouse pointer on the Doublet pattern in the Complex Test pattern, click the right mouse button, and select Paste.

  4. Click the [image] icon in the Complex Test project

  5. Rename the New Pattern 1 to Sensitivity.

  6. Copy the pattern parameters from the Pattern Details section of the form shown below and use them in the Complex Test pattern.

    • Index 1 - 10: Object Type: Pattern, Object Name: Doublet, Repetition Interval: 50 us, Repeat: 1, Edge Jitter Type: No Jitter, Power Scale: Use the data from the form above.

The last pattern to create, Complex Test, uses a combination of patterns, patterns within a pattern, and pulses. This section details the steps needed to create this pattern.

  1. Click the [image] icon.

  2. Rename New Pattern 1 to Complex Test:

    • Place the mouse pointer on New Pattern 1 in the patterns section of the form

    • Click the right mouse button, select Rename and type in Complex Text

  3. Add pattern items to the Complex pattern. Click the [image] icon nine times.

  4. Click the mouse pointer in the cell located at Index 1 and Object Name.

  5. Select CW1 from the pull-down menu selections.

  6. Click the mouse pointer in the cell located at Index 1 and Repetition Interval. Enter 5 us in this cell

  7. Copy the pattern parameters for the Complex Test pattern from the pattern details form shown below.

Download and Play

  1. Click the Connect to Instrument button [image].

  2. Enter TCP/IP or GPIB interface parameters for the instrument in the System Configuration wizard.

  3. Click the Test I/O command button. The Status text box in the I/O Connection form should display: Connected

    If errors or a timeout occurs refer to the troubleshooting section in the Help documentation.

  4. Click OK.

If you do not have a spectrum/signal analyzer, you must disable the Auto-Correction routine. Go to Download > Correction Settings and remove the check mark from the Auto-Correction check box.

If you are using a spectrum/signal analyzer, perform the following steps:

  1. Click the Connect to Instrument button [image].

  2. Enter TCP/IP or GPIB interface parameters for the instrument in the System Configuration wizard.

  3. Click the Test I/Ocommand button. The Status text box in the I/O Connection form should display: Connected

    If an error or a timeout occurs, refer to the troubleshooting section in this Help document or VISA documentation.

  4. Click OK.

Click the Download menu item at the top of the form and select Download & Play. The lower section of the form, labeled VerifySignal Result: indicates the result of the signal creation and download process.

At this point the signal is loaded in the signal generator's volatile waveform memory and the signal generator is playing the signal. You can use the analyzer to view this signal. Use the following analyzer settings:

  • Center Frequency - 15 GHz.

  • Span - 200 MHz

  • Amplitude - Ref Level - Set the reference level to 10 dBm

  • Trace View - select the Max Hold softkey to view the signal

You can save this waveform file in the signal generator's non-volatile waveform memory. When you save the waveform file, instrument state parameters configured in the Advanced settings section such as frequency and amplitude are not included. Use the signal generator's Save/Recall registers to save the signal generator's instrument state. When you want to re-load the signal and play it back:

  1. Load the signal into volatile waveform memory.

  2. Recall the register with the signal generator's instrument state associated with the waveform file.

A signal downloaded to the signal generator's memory has a sequence file associated with it. These sequence files are loaded into the signal generator's non-volatile memory and will remain in memory until manually removed. The Pulse Building application does not remove unused sequence files. If you delete a waveform file, delete the associated non-volatile sequence file. Unused sequence files can consume signal generator memory.

Related Topics

Complex Test API Program Example


Polynomial Chirp

Custom FM Chirp Example

If using the WobbulatingChirp.pbp or DualRateChirp.pbp setting files in this example, with a system using an external or wideband I/Q configuration, you may have to adjust the Sample Clock Rate, Modulation Bandwidth, Arb Voltage and Arb Filter parameters.

The N7620B Signal Studio for Pulse Building software provides Custom FM Chirp modulation, generated by using a polynomial. The polynomial represents the instantaneous frequency verses time. Polynomial coefficients are entered into a table on the Custom FM chirp panel to create the frequency pattern. Data entry into the GUI is shown here. Use the right mouse button to add or delete coefficients from the list.

The formula shown below is used to generate the coefficients.

Assuming that the Custom FM signal is defined by

sin( f(t))

and

where g(t) is the instantaneous frequency verses time. g(t) can be approximated using a polynomial.

where a0, a1, a2, a3, a4 … are the coefficients provided by the user.

The simplest case is where the instantaneous frequency is constant and just provides a frequency offset to the pulse.

It can be represented as

the coefficients are

[ fc, 0, 0, 0, 0, …]

A linear chirp is defined by

where [image] is the frequency rate of change and fc is a constant offset. The polynomial representation of this is

The trailing coefficients of zero are assumed and do not have to be entered by the user.

Almost any frequency pattern can be generated with this technique so long as the physical limits of the hardware are not exceeded. Here are two examples of Custom FM (non-linear) chirps. The frequency patterns were designed using MatLab and compared to a linear chirp. The MatLab scripts used to generate the non-linear chirp coefficients can be found at the end of this section.

The linear chirp has the following characteristics:

  • Arb Sample Rate = 100 MHz

  • PRI = 100 us

  • Pulse Width = 10 us

  • Rise Time = 30 ns

  • Fall Time = 30 ns

  • Peak Deviation = 10 MHz

  • Chirp Rate = 20MHz/10us

The first custom chirp is very similar to the linear chirp except that a sinusoidal wobbulation has been added to its frequency pattern. The red trace is the desired frequency pattern and the green trace is derived using 19 polynomial coefficients.

Figure 1 - Frequency Pattern of Custom Chirp #1

The spectrum generated by this custom frequency pattern is shown in figure 2.

Figure 2 - Spectrum of Custom Chirp #1

It is important to note that the spectrum of custom chirp #1 occupies approximately the same bandwidth as the linear chirp. This bandwidth matching is mostly a result of the two frequency patterns being very similar. The signal bandwidth increases significantly when the amplitude of the sinusoidal wobbulation is increased or as the custom pattern deviates from the linear chirp.

The second custom chirp consists of a frequency pattern with two different linear slopes. The frequency change is slower at the beginning and the end of the pattern as compared to the middle. Figure 3 shows the frequency pattern.

Figure 3 - Frequency Pattern of Custom Chirp #2

The spectrum generated by this custom frequency pattern is shown in figure 4.

Figure 4 - Spectrum of Custom Chirp #2

Figure 5 shows how using fewer coefficients results in a softening or filtering of the sharp transitions in the frequency pattern.

Figure 5 - Insufficient coefficients to follow desired frequency pattern

MatLab Scripts

function p = WobbulatingChirpCoeffs(n,sr,pw,pkdev)

% This function generates the polynomial coefficients

% for a linear chirp with sinusoidal wobulation on it.

%

% INPUT PARAMETERS:

% n - Number of coefficients desired

% sr - Arb Sample Rate (Hz)

% pw - Pulse Width (S)

% pkdev - Peak deviation of the linear chirp (Hz)

%

% OUTPUT PARAMETERS:

% p - Array of coefficients - x0, x1, x2, ...

%

% EXAMPLE:

% p = WobbulatingChirpCoeffs(19,100e6,10e-6,10e6);

s1 = .2*sin(.5*pi*[-1:2/999:1]); % Generate Sinusoidal waveform scaled by 20%

s2 = [-1:2/999:1]; % Generic slope for instantaneous frequency of a linear chirp

lc = s2*pkdev; % Instantaneous frequency for a linear chirp

y = s1 + s2; % add shapes together

y = y / max(y); % Normalize the shape

y = y*pkdev; % Scale for 10 MHz peak deviation

t = [1:length(y)]/sr; % time across pulse width

t = t - max(t)/2; % -pw/2 <= x <= pw/2

p1 = polyfit(t,y,n-1); % Determine coefficients using MatLab polyfit function.

p = p1(end:-1:1); % reverse order of coefficients x(n), x(n-1), ..., x1, x0 to x0, x1, ...

% Plot the Frequency Vs Time

showit = 1;

if (showit == 1)

z = polyval(p1,t); % Use polyval to generate custom frequency shape

t = t*1e6;

figure('Name','Custom Frequency Vs. Time Pattern','Number','Off');

plot(t,lc/1e6);

hold on;

plot(t,y/1e6,'color','red');

plot(t,z/1e6,':g');

hold off;

grid on;

legend('Linear Chirp', 'Custom Chirp',['Poly Fit (' int2str(n) ')'],4);

ylabel('Frequency (MHz)');

xlabel('Time (uS)');

end

function p = DualRateChirpCoeffs(n,sr,pw,pkdev)

% This function generates the polynomial coefficients

% for a chirp where the rate changes from r1 to r2 and back to r1.

%

% INPUT PARAMETERS:

% n - Number of coefficients desired

% sr - Arb Sample Rate (Hz)

% pw - Pulse Width (S)

% pkdev - Peak deviation of the linear chirp (Hz)

%

% OUTPUT PARAMETERS:

% p - Array of coefficients - x0, x1, x2, ...

%

% EXAMPLE:

% p = DualRateChirpCoeffs(19,100e6,10e-6,10e6);

s1 = [-1:2/999:1]; % Generic slope for instantaneous frequency of a linear chirp

lc = s1*pkdev; % Instantaneous frequency for a linear chirp

s1(1:150) = s1(1:150) - [-.1:.1/149:0]; % Initial rate

s1(end-149:end) = s1(end-149:end) - [0:.1/149:.1]; % Final Rate

y = s1*pkdev; % Scale for 10 MHz peak deviation

t = [1:length(y)]/sr; % time across pulse width

t = t - max(t)/2; % -pw/2 <= x <= pw/2

p1 = polyfit(t,y,n-1); % Determine coefficients using MatLab polyfit function.

p = p1(end:-1:1); % reverse order of coefficients x(n), x(n-1), ..., x1, x0 to x0, x1, ...

% Plot the Frequency Vs Time

showit = 1;

if (showit == 1)

z = polyval(p1,t); % Use polyval to generate custom frequency shape

t = t*1e6;

figure('Name','Custom Frequency Vs. Time Pattern','Number','Off');

plot(t,lc/1e6);

hold on;

plot(t,y/1e6,'color','red');

plot(t,z/1e6,':g');

hold off;

grid on;

legend('Linear Chirp', 'Custom Chirp',['Poly Fit (' int2str(n) ')'],4);

ylabel('Frequency (MHz)');

xlabel('Time (uS)');

end

Related Topics

Executive Test API Program Example


Frequency Agile Example

If using the Frequency Agile.pbp setting file in this example, with a system using an external or wideband I/Q configuration, you may have to adjust the Sample Clock Rate, Modulation Bandwidth, Arb Voltage and Arb Filter parameters.

The Frequency Agile example demonstrates using the Pulse Building application's GUI to create a frequency hopping pattern. The pattern uses three different pulse definitions and modulations. Each pulse is a trapezoidal pulse type, but created using different methods available in the Pulse Building GUI. The first pulse, CW1, is created using the Pulse Building application's built-in definition parameters for a trapezoidal pulse type. The second pulse, CW2, is created using an I/Q data text file and the third pulse, CW3, uses a custom profile definition defined in a text file. Each pattern item in the frequency agile pattern is offset in frequency and one item uses a 10 dB power scaling offset.

This example demonstrates how to:

  • Create three different trapezoidal pulses

  • Build a pattern of pulses

  • Use pattern parameter properties such as repeats, edge jitter, and so forth

  • Set pattern power level and frequency

  • Use the power scale function to scale the amplitude of a pulse

  • Use the Pulse Building application's Import function

Creating the Pulses

The following procedure will guide you through the steps necessary to create the three pulses used in this example.

  1. Run the Pulse Building application.

  2. Save this project. Use the File > Save As menu selection to save the project as Frequency Agile.pbp.

  3. Enter the following information into the Pulse Library form:

    • Name: CW1. Place the mouse pointer on the New Pulse 1 pulse, click the right mouse button, select Rename, and change the pulse name to CW1.

    • Pulse Type: Trapezoidal

    • Rise Time: 30 ns

    • Fall Time: 30 ns

    • Width (100%~100%): 940 ns

    • Width Jitter Type: None

    • Jitter Deviation: 0 s

    • Modulation Type: None

    The Pulse Library form shown below displays the parameter settings for the CW1 pulse.

  4. Click the New Pulse button [image] in the Pulse Library form.

  5. Enter the following information into the Pulse Library form:

    • Name: CW2. Place the mouse pointer on the New Pulse 1 pulse, click the right mouse button, select Rename, and change the pulse name to CW2.

    • Pulse Type: Custom I/Q

    • Modulation Type: None

  6. Click the Import [image] command button. Use the Open dialog box to navigate to the Freq Agile I/Q.txt file. The file is located in the default Pulse Building application's ...\Samples\VB6\Frequency Agile directory.

  7. Click the Freq Agile I/Q.txt file and select Open. The I/Q data will be imported into the IQ Data table.

  8. Click New pulse [image] in the Pulse Library form.

  9. Enter the following information into the Pulse Library form:

    • Name: CW3. Place the mouse pointer on the New Pulse 1 pulse, click the left mouse button, click the right mouse button, select Rename, and change the pulse name to CW3.

    • Pulse Type: Custom Profile

    • Modulation Type:None

  10. Click the Import command button. Use the Open dialog box to navigate to the Freq Agile Custom Profile.txt file. The file is located in the default Pulse Building application's ...\Samples\VB6\Frequency Agile directory.

  11. Click the Freq Agile Custom Profile.txt file and select Open. The custom profile data will be imported into the Profile Data table.

Creating the Pattern

There are now three pulses CW1, CW2, and CW3 stored in the Frequency Agile project's Pulse Library. This section details the steps needed to create a pattern using these three pulses.

  1. Click the Pattern Library tab at the lower left corner of the Pulse Library form.

  2. If New Pattern 1 is not displayed in the Pattern Library view, click the [image] icon.

  3. Rename New Pattern 1 to Frequency Agile.

    • Click the mouse pointer anywhere in the pattern details section of the form

    • Click the mouse pointer on New Pattern 1 in the patterns section of the form

    • Click the right mouse button

    • Select Rename from the menu and type in Frequency Agile

  4. Add nine pattern items to the Frequency Agile pattern. Click the [image] icon nine times.

  5. Select CW2 for the Frequency Agile pattern item at Index 2:

    • Click the mouse pointer in the cell located at Index 2 and Object Name in the table

    • Click the down arrow in the drop-down list box of that cell

    • Select CW2

  6. Select CW3 for the Frequency Agile pattern item at Index 3:

    • Click the mouse pointer in the cell located at Index 3 and Object Name in the table

    • Click the down arrow in the drop-down list box of that cell

    • Select CW3

  7. Enter the parameters and information as presented in the Pattern Details form below.

    • Index 1 - Object Name: CW1, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: -10 MHz, Phase Offset 0 rad

    • Index 2 - Object Name: CW2, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 0 MHz, Phase Offset 0 rad

    • Index 3 - Object Name: CW3, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 10 MHz, Phase Offset 0 rad

    • Index 4 - Object Name: CW1, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: -10 MHz, Phase Offset 1.047 rad

    • Index 5 - Object Name: CW2, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 0 MHz, Phase Offset 1.047 rad

    • Index 6 - Object Name: CW3, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 10 MHz, Phase Offset 1.047 rad

    • Index 7 - Object Name: CW1, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: -10 MHz, Phase Offset 2.093 rad

    • Index 8 - Object Name: CW2, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 0 MHz, Phase Offset 2.093 rad

    • Index 9 - Object Name: CW3, Repetition Interval: 3.33 us, Repeat: 1, Edge Jitter Type: None, Deviation: 0, Power Scale: 0, Freq Offset: 10 MHz, Phase Offset 2.093 rad

Download and Play

  1. Click the Connect to Instrument button [image].

  2. Enter TCP/IP or GPIB interface parameters for the instrument in the System Configuration wizard.

  3. Click the Test I/Ocommand button. The Status text box in the I/O Connection form should display: Connected

    If an error or timeout occurs, refer to the troubleshooting section in this Help document or VISA documentation.

  4. Click OK.

If you do not have an analyzer, you must disable the Auto-Correction routine. Go to Download > Correction Settings and remove the check mark from the Auto-Correction check box.

If you are using an analyzer, perform the following steps:

  1. Click the Connect to Instrument button [image].

  2. Enter TCP/IP or GPIB interface parameters for the instrument in the System Configuration wizard.

  3. Click the TestI/Ocommand button. The Status text box in the I/O Connection form should display: Connected

    If an error or a timeout occurs, refer to the troubleshooting section in this Help document or VISA documentation.

  4. Click OK.

Click the Download menu item at the top of the form and select Download & Play. The lower section of the form, labeled VerifySignal Result: indicates the result of the signal creation and download process.

At this point the signal, defined by the Frequency Agile pattern, is loaded in the signal generator's volatile waveform memory and the signal generator is playing the signal. You can use the analyzer to view this signal. Use the following analyzer settings:

  • Center Frequency - 15 GHz.

  • Span - 200 MHz

  • Amplitude - Ref Level - Set the reference level to 10 dBm

  • Trace View - select the Max Hold softkey to view the signal.

You can save this waveform file in the signal generator's non-volatile waveform memory. When you save the waveform file, instrument state parameters configured in the Advanced settings section such as frequency and amplitude are not included. Use the signal generator's Save/Recall registers to save the signal generator's instrument state. When you want to re-load the signal and play it back:

  1. Load the signal into volatile waveform memory.

  2. Recall the register with the signal generator's instrument state associated with the waveform file.

A signal downloaded to the signal generator's memory has a sequence file associated with it. These sequence files are loaded into the signal generator's non-volatile memory and will remain in memory until manually removed. The Pulse Building application does not remove unused sequence files. If you delete a waveform file, delete the associated non-volatile sequence file. Unused sequence files can consume signal generator memory.

Related Topics

Frequency Agile API Program Example


Antenna Scan Example

Sensitivity Example

If using the Sensitivity.pbp setting file in this example, with a system using an external or wideband I/Q configuration, you may have to adjust the Sample Clock Rate, Modulation Bandwidth, Arb Voltage and Arb Filter parameters.

The Sensitivity example demonstrates using the Pulse Building GUI to create a signal with varying pulse power levels. The Sensitivity example also shows how to create a pattern within a pattern. One pattern, called Doublet, consists of two pattern items both of which are pulses. The two pulse types demonstrate pulse compression using Barker Code modulation. The other pattern, Sensitivity, consists of ten pattern items and each of these pattern items is a Doublet pattern. The Sensitivity pattern uses the Doublet pattern for all its pattern items.

This example demonstrates how to:

  • Create pulses with modulation

  • Build a pattern of patterns

  • Use power scaling for pattern items

Creating the Pulses

The following procedure steps through the process of creating the two Barker Code modulated pulse types.

  1. Run the Pulse Building application.

  2. Save this project. Use the File > Save As menu selection to save the project as Sensitivity.pbp.

  3. Rename New Pulse 1 to BarkerA. Place the mouse pointer on the New Pulse 1 pulse, click the right mouse button, select Rename, and change the pulse name to BarkerA.

  4. Enter the following information into the Pulse Library form:

      • Pulse Type: Raised-Cosine

      • Rise Time: 100 ns

      • Fall Time: 100 ns

      • Width (100%~100%): 800 ns

      • Width Jitter Type: None

      • Jitter Deviation: 0 s

      • Modulation Type: Barker

      • Code Length: 13

    The Pulse Library form below shows the configuration details for the BarkerA pulse.

  5. Click the New Pulse [image] icon in the Pulse Library form.

  6. Rename New Pulse 1 to BarkerB. Place the mouse pointer on the New Pulse 1 pulse, click the right mouse button, select Rename, and change the pulse name to BarkerB.

  7. Enter the following information into the Pulse Library form:

    • Pulse Type: Raised-Cosine

    • Rise Time: 100 ns

    • Fall Time: 100 ns

    • Width (100%~100%): 800 ns

    • Width Jitter Type: None

    • Jitter Deviation: 0 s

    • Modulation Type: Barker

    • Code Length: 7

The Pulse Library form will be identical to the BarkerA pulse shown above with the exception of code length and pulse name.

Creating the Patterns

There are now two pulses, BarkerA and BarkerB, stored in the Sensitivity Pulse Library. This section details the steps needed to create the first pattern, named Doublet, using these two pulses. Following sections describe how to use the Doublet pattern as a pattern item in the Sensitivity pattern.

  1. Click the Pattern Library tab at the lower left corner of the Pulse Library form.

  2. Click the [image] icon.

  3. Rename New Pattern 1 to Doublet

    • Click the mouse pointer on New Pattern 1 in the Patterns section of the form

    • Click the right mouse button

    • Select Rename from the menu and type in Doublet

  4. Add a pattern item to the Doubletpattern. Click the [image] icon once. The Pulse Building application automatically selects the first pulse from the Pulse Library. In this example the BarkerA pulse is selected.

  5. Add a second pattern item to the Doublet pattern. Click the [image] icon.

  6. Select BarkerB for the Doublet pattern item at Index 2:

    • Click the mouse pointer in the cell located at the Index 2 row and Object Name column in the table

    • Click the down arrow in the drop-down list box of that cell

    • Select BarkerB

  7. Enter the parameters and information as shown in the form below.

    • Index 1 - Object Name: BarkerA, Repetition Interval: 5 us, Repeat: 1, Edge Jitter Type: None

    • Index 2 - Object Name: BarkerB, Repetition Interval: 45 us, Repeat: 1, Edge Jitter Type: None, Power Scale: -20 dB,

      Phase Offset: 1.57 rad

The Doublet pattern now has two pulses, BarkerA and BarkerB, stored in the pulse building application's Pattern Library. The next section details the steps needed to create the Sensitivity pattern using the Doublet pattern as pattern items.

  1. Click the [image] icon.

  2. Rename New Pattern 1 to Sensitivity.

    * Click the mouse pointer on New Pattern 1 in the Patterns section of the form

    * Click the right mouse button

    * Select Rename from the menu

    * Type in Sensitivity

  3. Add pattern items to the Sensitivity pattern. Click the [image] icon ten times.

  4. Select a pattern as the object type:

    • Click the mouse pointer in the cell located at the Index 1 [image] row and Object Type column in the table and select pattern.

    • Click the mouse pointer in the cell located at the Index 1 row and Object Name column in the table and select Doublet. This selection is the only pattern listed and it will be selected automatically.

  5. Position the mouse pointer in the tab section to the left of Index 1and then click the left mouse button. All item parameters for the row at Index 1 will be highlighted.

  6. Click the right mouse button and select Copy.

  7. Position the mouse pointer in the tab section to the left of Index 2, click the right mouse button, and select Paste. The parameters copied from the item at Index 1 will be pasted to the item at Index 2.

  8. Repeat the process in step 7 for the remaining index items.

  9. Enter the Power Scale values as shown in the figure below.

  10. Enter –10.00 in the Amplitude (dBm) text box

Download and Play

  1. Click the Connect to Instrument button [image].

  2. Enter LAN (TCP/IP) or GPIB interface parameters for the instrument in the System Configuration wizard.

  3. Click the Closed Test I/O Connection command button. The Status text box in the I/O Connection form should display: Connected.

    If errors or a timeout occurs refer to the troubleshooting section in the Help documentation or VISA documentation.

  4. Click OK.

    If you do not have a spectrum/signal analyzer, you must disable the Auto-Correction routine. Go to Download > Correction Settings and remove the check mark from the Auto-Correction check box.

    If you are using a spectrum/signal analyzer, perform the following steps:

  5. Click the Connect to Instrument button [image].

  6. Enter LAN (TCP/IP) or GPIB interface parameters for the instrument in the System Configuration wizard.

  7. Click the Closed Test I/O Connectioncommand button. The Status text box in the I/O Connection form should display: Connected

    If an error or a timeout occurs, refer to the troubleshooting section in this Help document or VISA documentation.

  8. Click OK.

Click the Download menu item at the top of the form and select Download & Play. The lower section of the form, labeled VerifySignal Result: indicates the result of the signal creation and download process.

At this point the signal, defined by the Sensitivity pattern, is loaded in the signal generator's volatile waveform memory and the signal generator is playing the signal. You can use the analyzer to view this signal. Use the following analyzer settings:

  • Center Frequency: 15 GHz.

  • Span: 200 MHz

  • Amplitude - Ref Level: Set the reference level to 10 dBm

  • Trace View - select the Max Hold softkey to view the signal.

You can save this waveform file in the signal generator's non-volatile waveform memory. When you save the waveform file, instrument state parameters configured in the Advanced settings section such as frequency and amplitude are not included. Use the signal generator's Save/Recall registers to save the signal generator's instrument state. When you want to re-load the signal and play it back:

  1. Load the signal into volatile waveform memory.

  2. Recall the register with the signal generator's instrument state associated with the waveform file.

A signal downloaded to the signal generator's memory has a sequence file associated with it. These sequence files are loaded into the signal generator's non-volatile memory and will remain in memory until manually removed. The Pulse Building application does not remove unused sequence files. If you delete a waveform file, delete the associated non-volatile sequence file. Unused sequence files can consume signal generator memory.

Related Topics

Sensitivity API Program Example


Examples

Tutorials

Building a Signal | provides the steps required to create a signal using the Pulse Building GUI.
Getting Correct Output Power | describes how to achieve accurate output power when the ALC is on or off.
External Upconversion Procedure | provides information on how to perform highside and lowside upconversions.


Building a Signal

This section gives a brief overview of the steps used to create a signal using the Pulse Building GUI. Detailed instructions are given in the Pulse Building Examples section of this Help document. The following simplified flow diagram shows the process used to create and download a signal using the Pulse Building GUI.

  1. Start the Pulse Building application. A default pulse named New Pulse 1 is automatically created.

  2. Configure pulse parameters in the Pulse Details section.

  3. Go to the Pattern Library (tab at the bottom of the form) and select New Pattern [image] from the toolbar.

  4. Select New Pattern Item [image] from the toolbar.

  5. Set pattern item parameters such as Object Type (a pulse is the default type) and Object Name.

  6. Select Download & Play from the Download menu.

Related Topics

Pulse Library

Pattern Library

Menu Bar and Tool Bar


Getting Correct Output Power

Correct output power is handled by the signal generator ALC or by the signal generator power search function.

ALC On

In many cases it is possible to leave the Signal Generator ALC enabled to get accurate output power. One or both of the Pulse Modulator On and the ALC Hold Line On properties must be selected to prevent the ALC from trying to level during the pulse off time. Enabling the ALC Hold Line On prevents the ALC from trying to level individual pulses whose power scale values are not zero.

In general the ALC needs hundreds of milliseconds to level. This could translate into thousands of pulses depending on the pulse widths. So if you need accurate output power on the very first pulse or if the pulse width is less than the minimum leveled width supported by the signal generator, the ALC must be disabled.

The ALC is automatically disabled when downloading signals where all of the pulses are less than the minimum leveled pulse width supported by the signal generator, or when Antenna Scans have been enabled.

The ALC may be turned on by manually selecting ALC Active and doing a play. However, enabling ALC Active may not provide the desired results and could cause the output power to be higher than expected.

ALC Off

When the ALC is disabled, accurate output power is achieved using the signal generator's power search function. To provide accurate output power, the signal generator needs to know the RMS voltage of the input signal provided by the Arb.

Pulse Building includes two properties to provide accurate output power when the ALC is disabled:

  • Do Power Search on Play - this system behavior property executes a power search on play when the ALC is disabled. It is available on the Customize dialog box System tab (Download > Customize).

  • Auto RMS Voltage - this signal property automatically keeps track of the signal RMS voltage, which is pattern specific. It is available on the Advanced Pattern Library form.

The initial Pulse Building waveform has an average level of 1 volt (1 VRMS). This level can be affected by the following :

  • Type of intra-pulse modulation

  • Pattern item Power Scale value

  • Type of Antenna Scan

  • Waveform Corrections

  • Arb waveform predistortion

  • Arb output voltage

  • I/Q Gain Balance value (Implemented using Arb output voltage)

  • Maximize DAC value

The application automatically adjusts the waveform RMS voltages to account for all of the items listed. The adjusted value is what is loaded into the signal generator for the power search reference.

You can override the initial waveform RMS voltage. The value you enter manually is not put directly into the signal generator but is subject to all of the same adjustments discussed above.

The maximum RMS voltage allowed is 1.4142 V. The minimum RMS voltage allowed is 1 mV. However, the power search operation will typically fail when the RMS voltage is less than 100 mV. The application clips the RMS voltage between 100 mV and 1.4142 V. When the RMS voltage exceeds these limits the application uses the signal generator Amplitude Offset property to correct the actual output power.

When the RMS voltage is greater than 1.4142 V the power search reference level is set to 1.4142 V and the following adjustment is made through the Amplitude Offset.

Power Adjustment in dB = 20 * log10( 1.4142 / Waveform RMS Voltage )

When the RMS voltage is less than 100 mV the power search reference level is set to 100 mV and the following adjustment is made through the Amplitude Offset.

Power Adjustment in dB = 20 * log10( Waveform RMS Voltage / 0.1 )

The power adjustment is added to any user-specified Amplitude Offset.

If the RMS voltage is greater than 1.4142 V it is assumed that the initial maximum absolute waveform values were less than 1.0. This can occur when antenna scans are enabled or when pattern item Power Scale values are set to less than 0. In these cases the I/Q waveform is normalized between ±1 to provide the best dynamic range of the DACs in the AWG. The normalization adds power to the signal that must be canceled with the Amplitude Offset.

If the RMS voltage is less than 100 mV it means that the I/Q waveform has a large crest factor (peak to average ratio). This can occur for some types of intra-pulse modulation or when using Custom Profile or Custom I/Q pulses. In these cases using 100 mV for the power search implies that the waveform has more power than it really does. The Amplitude Offset is adjusted to make up for the power that is not really in the waveform.

If power search fails when the manual power search reference level has been set to 100 mV there is not enough gain in the signal generator for the Amplitude requested. Lower the Amplitude level and execute play again.


External Upconversion

External Upconversion and Downconversion Procedure

The N7620B Signal Studio for Pulse Building software supports the use of an external mixer for signal frequency upconversion or downconversion. The software can be configured to use the products of the mixer's sum or difference.

The software does not control any hardware associated with the external conversion, nor does it control the external LO frequency or amplitude.

When correctly configured, the N7620B software Frequency and Amplitude values refer to the frequency and amplitude at the Closed output of the external conversion. Three parameters are provided for external conversion: Frequency Offset, Amplitude Offset, and Mirror Spectrum.

The Frequency Offset value is used by the N7620B software to correctly set the analyzer frequency during correction measurements. It also allows you to work using the final output frequency value.

The Amplitude Offset parameter is used by the N7620B software to account for external gain or loss. The correction measurement expects to find the output signal within a +10 dB amplitude window. If additional gain or loss is experienced during the conversion enter the actual value in the amplitude offset parameter

The Mirror Spectrum parameter is used to mirror the frequency spectrum. It is only required when using the mixer difference products to achieve the desired output frequency.

Upconversion Using the Mixer Sum Products

Using the mixer sum products to upconvert the signal frequency is illustrated in the following two figures. A benefit to using the sum products is, that once the Frequency Offset is set in the N7620B software, the Frequency value reflects the actual output frequency after the conversion. A change to the software frequency value results in a one to one change in the actual output frequency. However, this is not the case when using the mixer difference products.

The Frequency Offset is equal to the LO Frequency when using the mixer sum products for upconversion.

Example values for upconversion using the mixer sum products, where:

  • Frequency = N7620B Frequency value, and the actual frequency after conversion

  • Frequency Offset = N7620B Frequency Offset value; also entered into the PSG/MXG/EXG/ESG

  • FSigGen = Actual frequency produced by the PSG/MXG/EXG/ESG

  • FLO = LO Frequency

  • FSigGenDisplay = Frequency displayed on the PSG/MXG/EXG/ESG front panel

Frequency | Frequency Offset | FLO | FSigGen | FSigGenDisplay
17 GHz | 15 GHz | 15 GHz | 2 GHz | 17 GHz
18 GHz | 15 GHz | 15 GHz | 3 GHz | 18 GHz
32 GHz | 20 GHz | 20 GHz | 12 GHz | 32 GHz
33 GHz | 20 GHz | 20 GHz | 13 GHz | 33 GHz
3 GHz | –10 GHz | 10 GHz | 13 GHz | 3 GHz
2 GHz | –10 GHz | 10 GHz | 12 GHz | 2 GHz
1.5 GHz | –10 GHz | 10 GHz | 11.5 GHz | 1.5 GHz

Downconversion Using the Mixer Sum Products

Using the mixer sum products to downconvert the signal frequency is illustrated in the following figure.

The LO frequency must be less than the actual frequency from the PSG/MXG/EXG/ESG signal generator.

As you may recall, once the Frequency Offset is set in the N7620B software, the Frequency value reflects the actual output frequency after the conversion. A change to the software frequency value results in a one to one change in the actual output frequency.

The Frequency Offset is equal to minus the LO frequency when using the mixer sum products for down conversion.

  • Frequency Offset = –FLO.

Conversion Using the Mixer Difference Products

The N7620B software supports upconversion and downconversion with the products of the mixer's difference. However, the Frequency Offset value must be recalculated each time the frequency is changed.

Upconversion requires that the LO frequency be greater than twice the signal generator frequency.

The spectrum is not the same as the PSG/MXG/EXG/ESG. Set Closed Mirror Spectrum to correct this.

The Frequency Offset value is:

  • Frequency Offset = FLO – 2*FSigGen

Example values for upconversion using the mixer difference products, where:

  • Frequency = N7620B Frequency value, and the actual frequency after conversion

  • Frequency Offset = N7620B Frequency Offset value; also entered into the PSG/MXG/EXG/ESG

  • FSigGen = Actual frequency produced by the PSG/MXG/EXG/ESG

  • FLO = LO Frequency

  • FSigGenDisplay = Frequency displayed on the PSG/MXG/EXG/ESG front panel

Frequency | Frequency Offset | FLO | FSigGen | FSigGenDisplay
18 GHz | 16 GHz | 20 GHz | 2 GHz | 18 GHz
17 GHz | 14 GHz | 20 GHz | 3 GHz | 17 GHz
16 GHz | 12 GHz | 20 GHz | 4 GHz | 16 GHz

Downconversion using the mixer difference products is shown in the following figure. The LO frequency must be between the actual PSG/MXG/EXG/ESG frequency and twice the PSG/MXG/EXG/ESG frequency for this condition to occur. Closed Mirror Spectrum must be enabled and the frequency offset must be re-calculated each time the frequency is changed.

Here the Frequency Offset calculation is the same as for the low-side upconversion, except that the result will be a negative number.

  • Frequency Offset = FLO – 2*FSigGen

Example values for downconversion using the mixer difference products, where:

  • Frequency = N7620B Frequency value, and the actual frequency after conversion

  • Frequency Offset = N7620B Frequency Offset value; also entered into the PSG/MXG/EXG/ESG

  • FSigGen = Actual frequency produced by the PSG/MXG/EXG/ESG

  • FLO = LO Frequency

  • FSigGenDisplay = Frequency displayed on the PSG/MXG/EXG/ESG front panel

Frequency | Frequency Offset | FLO | FSigGen | FSigGenDisplay
2 GHz | –6 GHz | 10 GHz | 8 GHz | 2 GHz
2.5 GHz | –5 GHz | 10 GHz | 7.5 GHz | 2.5 GHz
3 GHz | –4 GHz | 10 GHz | 7 GHz | 3 GHz


System Optimization

The N7620B Pulse Building corrections appear to be additive; that is, they can provide X dB improvement. To ensure that the uncorrected system performance is optimized, so that the corrected results are the best possible, there are several things that can improve the raw performance of your system:

  • Running the built-in PSG/MXG/EXG/ESG I/Q calibration

  • Minimizing the Images

  • Minimizing carrier leakage

  • Align the I/Q modulated signal to the PSG/MXG/EXG/ESG pulse modulator

Related Topics

I/Q Calibration

Pulse On/Off Ratio Verification

Test Signal Image Reduction

Pulse Modulation Alignment

Optimization


I/Q Calibration

If the PSG/MXG/EXG/ESG I/Q calibration has not been performed recently, or the instrument's environment has changed, it is recommended that you run the I/Q calibration procedure. The I/Q calibration adjusts the DC offsets into the I/Q modulator to minimize carrier leakage. It also insures that the I/Q modulator is in Quadrature to help minimize images. It may be possible to reduce the carrier leakage even further by using the I and Q offset adjustments on the PSG/MXG/EXG/ESG. The N7620B software does not control the I and Q offset levels.

Make sure there is no signal present at the wideband I/Q inputs of the PSG with Options 015, 016, H16, or HBQ while executing the IQ calibration. There are no internal switches to disconnect the I/Q inputs for Option 015 during a calibration. Having any signal present on the wideband I/Q inputs will cause the calibration to be incorrect and in some cases to fail outright.

The PSG has two I/Q calibrations, one for the normal I/Q path, and one for the wideband I/Q path. Select the desired I/Q path before pressing Execute Cal. Any DC offsets present on the external Arb outputs are not accounted for by the signal generator I/Q Calibration.

E8267D Option H16 and N8212A Option 016 have an improved I/Q calibration, available with firmware Rev C.04.61.


Pulse On/Off Ratio Verification

The pulse on/off ratio verification process is made with a spectrum/signal analyzer in zero span. The process is fairly simple and only requires a signal with a single pulse. Use the default parameter values unless otherwise noted. Corrections are not required and can be disabled.

This example was done using a Wideband I/Q configuration and a PSA Series Spectrum Analyzer.

  1. Start the N7620B software and select the desired configuration (Wideband I/Q, External I/Q or Internal I/Q).

  2. Disable Corrections. Verify that Enable Corrections is not checked on the Download menu.

  3. Set the Pulse Width to 2 ms.

  4. Create a new Pattern.

  5. Add one item to the pattern.

  6. Set the Repetition Interval to 4 ms.

  7. Download and Play the pattern.

Set up the spectrum analyzer (SA) to view the signal.

  1. Preset the spectrum analyzer.

  2. Set the SA Frequency to the frequency of the signal generator (10 GHz in this case).

  3. Set the Span to 0 Hz.

  4. Set the Resolution Bandwidth (RBW) to 8 MHz, or its maximum value.

  5. Set the Sweep Time to 5 ms.

  6. Set up the SA to use an external trigger and use Marker 1 from the Arb as the trigger source. For Internal I/Q use Event 1 output from the signal generator.

  7. Adjust the Trigger Level to get a stable signal.

  8. Reduce the Resolution Bandwidth (RBW) to suppress broadband noise.

As the RBW is reduced some rounding of the pulse edges may occur. This is acceptable because you are only comparing the pulse amplitude at its mid-point to the amplitude at the mid-point of the off time. The following figure illustrates a pulse on/off ratio greater than 80 dBc.

Pulse On/Off Ratio at 10 GHz

To view only the On/Off ratio of the I/Q signal, turn off the ALC and the Pulse modulator and Download and Play the signal again.

The pulse On/Off ratio may appear significantly degraded with the pulse modulator disabled. This degradation can be caused by carrier leakage. Be sure to minimize the carrier leakage by enabling the I/Q Adjustments on the signal generator, and then adjusting both the I Offset and Q Offset values to minimize the carrier leakage.

The following figure illustrates the pulse on/off ratio of just the I/Q signal, before and after the carrier leakage has been minimized. The top trace, between pulses, is before I and Q offset adjustments. The bottom trace, between pulses, is after the adjustments and shows an On/Off ratio of > 65 dBc.

Pulse On/Off Ratio Without the Pulse Modulator at 10 GHz


Test Signal Image Reduction

Overview

Images are caused by differences in the I and the Q signal paths when using I/Q modulation. One component of the differences is a time skew between the I and Q channel. The skew can be caused by different I and Q cable lengths. The images can be minimized by adjusting the cable lengths or by using the I/Q Skew adjustment on the Wideband tab of the Download > Customize... dialog. This adjustment is real time and available for all Arbs except M9330A/N6030A/N8241A. For these Arbs, adjust the skew by swapping cables or by adding some extra connectors to one cable or the other.

Corrections are not required for this procedure and must be disabled. The other component is I and Q gain imbalance. This is where the amplitude of the I and Q signal paths is different. The I/Q gain balance can be adjusted for all Arbs using the I/Q Gain Balance adjustment on the Wideband tab of the Download > Customize... dialog.

The following procedure was done using an External I/Q configuration and an Keysight Technologies PSA Series Spectrum Analyzer. It is used to match the time length of the I and Q signal paths. Following this process will help the correction measurement achieve its best results. This procedure only needs to be done when the I/Q signal paths have changed significantly. It should be done at least once after the initial system is configured. It is done by viewing a simple test signal on the analyzer while physically changing the I and Q signal paths. Matching the I/Q signal path lengths is applicable when using either the internal base band generator (Options 001, 002, 601, 602), or the external N603xA/M933xA AWG. (There is a frequency band switch point at 3.2 GHz in the E8267C/D PSG Signal Generator. As a result, there are two different I/Q signal paths; one path for frequencies below 3.2 GHz and one path for frequencies 3.2 GHz and above). Optimize the I/Q signal path for the frequency range of most interest.

This process is not necessary for the E8267D PSG, N5182B MXG, N5172B EXG, and E4438C ESG when using the internal AWG. These instruments receive a factory calibration to minimize the I/Q skew.

Procedure

Use the following steps to minimize the I/Q skew for the N603xA/M933xA AWG, or other PSG/MXG/EXG/ESG signal generators not listed in the note above.

  1. Start the N7620B software and select the desired configuration (Wideband I/Q, External I/Q, or Internal I/Q).

  2. Create a new Pattern. Use the New menu or use the tool bar. The Pattern Details are used by the Test Signal.

  3. Use the Pattern Detail default values and set the RF frequency as desired.

  4. Disable Corrections. Make sure Enable Corrections is not checked on the Download menu.

  5. Play Test Signal.

  6. Set up the analyzer to view the test signal.

  7. Adjust the I/Q signal paths while viewing the analyzer to minimize the images. Matching the internal I/Q signal paths is accomplished using the I/Q skew Adjustment in the I/Q Adjustment menu on E8267C/D PSG.

    This skew value may be different for frequencies above 3.2 GHz. Matching the external I and Q signal paths for the N603xA/M933xA AWG is accomplished by substituting cables, adding some BNC connectors to the signal path, or both.

The following figure illustrates a test signal for an external I/Q configuration.

Closed Test signal for external I/Q

The signal occupies approximately 250 MHz of RF bandwidth. No attempt has been made to match the I and Q signal path lengths. The tones in the test signal are offset such that their images are easily seen.

Test signal for external I/Q

The following figure illustrates the same signal after the I and Q signal paths have been adjusted using BNC connectors.

Closed Adjusted I/Q signal paths

Notice that the images have been suppressed an additional 10 to 12 dB at 125 MHz offset from the carrier.

Adjusted I/Q signal paths


Pulse Modulation Alignment

The purpose of the pulse modulation alignment is to insure that the I/Q modulated signal and the pulse modulation signal (marker event 4) reach the pulse modulator at exactly the same time. This alignment insures the best on/off ratio and the proper pulse width at the RF output. This alignment works best with the PSG and options 1E6 or UNW. The ESG pulse modulator has longer rise and fall times, making it more difficult to get an exact alignment.

The pulse modulation alignment includes a coarse adjustment and a fine alignment. The coarse adjustment is designed to get the I/Q modulated signal and the pulse modulation signal within the fine alignment tuning range. The coarse adjustment rotates the marker data relative to the IQ data in the actual waveforms. For each course delay change the waveform must be re-downloaded.The coarse and fine adjustments are made by using the Modulation Alignment parameters found on the Event Delay dialog. The coarse adjustment is only necessary if the fine alignment tuning range is exceeded. Start with the fine alignment process assuming the system is configured with matched cables.

The alignment process requires a signal with two pulses, and a high speed digitizing oscilloscope. Use the default parameter values unless otherwise noted below. Corrections are not required and should be disabled. If at any time during the procedure you are unable to see the 20 ns pulse, increase the pulse width to 100 ns or more and perform a coarse adjustment by changing your cable lengths or by entering values in the Coarse Pulse Modulation Alignment parameters. Be sure to download and play the signal after changing the pulse width or after changing the Coarse Pulse Modulation Alignment parameters. The 10 us pulse is needed for the ALC to level correctly.

Pulse modulation alignment signal

The internal Arb may produce a pulse modulation signal that is 10 ns less than the specified, and is only seen on PSGs using firmware revisions earlier than C.04.71. Click here for Closed Signal Generator Adjustment.

This procedure is only for PSGs with firmware revisions earlier than C.04.71

If you fine-tune the pulse modulation alignment and the pulse is always 10 ns instead of 20 ns, perform the following procedure from the front panel of the signal generator:

  1. Select the Pulse menu

  2. Select Pulse Source = External

  3. Turn the pulse On

  4. Select I/Q

  5. Select Burst Envelope On

  6. Perform the fine adjustment to get a 20 ns pulse

Wideband I/Q Configuration

The following procedure was done using a Wideband I/Q configuration (E8267D Option 015 and N6030A) and an Keysight Technologies 54855A Infiniium Oscilloscope.

  1. Start the N7620B software and select the desired configuration (Wideband I/Q or External I/Q).

  2. Disable Corrections. Verify that Enable Corrections is not checked on the Download menu.

  3. Set the Pulse Width to 20 ns.

    It may be necessary to increase the pulse width to 100 ns, just to see a pulse, when the alignment is way out of adjustment.

  4. Set the Rise and Fall time to 0 ns.

  5. Create another pulse.

  6. Set the Pulse Width to 10 μs.

  7. Create a new Pattern.

  8. Add two items to the pattern.

  9. Set the Repetition Interval of the first item to 100 μs.

  10. Set the second item to New Pulse 2 and set the Repetition Interval to 100 μs.

  11. Set the RF Frequency to 4 GHz, or a frequency that the Infiniium scope can capture.

  12. Download and Play the pattern.

  13. Connect the output of the signal generator to Channel 1 of the Infiniium scope.

  14. Connect Marker 1 Out of the Arb to the Auxiliary Trigger input of the scope.

  15. Adjust the scope to view the pulsed signal. Autoscale will get the scope close. You may need to verify that the Trigger is not "Auto" but "Trig'd".

  16. Find the 20 ns pulse and set the Horizontal Time to 5 ns per division.

    If the 20 ns pulse cannot be found, the external I/Q and pulse modulation marker cable lengths must be changed. To find the 20 ns pulse, turn ALC and Pulse Modulation Off. The 20 ns pulse should now be visible. Note the position. Now turn Pulse Modulation On, and I/Q Modulation Off. The 20 ns pulse should reappear but in a different location on the oscilloscope. Measure the time difference between the two signals, then adjust the lengths of the I/Q and pulse modulation cables to align the signals.

  17. From the Closed Download > Event Delay... dialog, adjust the Pulse Modulation Alignment to maximize the pulse width.

    When misaligned, the pulse width is always less than 20 ns. With proper pulse modulation alignment, the pulse width should be 20 ns.

The following figures illustrate the 20 ns pulse before and after proper pulse modulation alignment.

Closed Before proper pulse alignment

Improper Pulse Modulation Alignment

Closed After proper pulse alignment

Proper Pulse Modulation Alignment


Synchronizing Arbitrary Waveform Generators

Hardware Configuration | describes the hardware setup required for synchronizing two N603xA, two N824xA, or two M933xA Arbitrary Waveform Generators.
Software Configuration | describes the software setup for synchronizing two N603xA, two N824xA, or two M933xA Arbitrary Waveform Generators.


Hardware Configuration

Synchronizing Arbitrary Waveform Generators -
Hardware Configuration

The N7620B Signal Studio for Pulse Building software supports synchronization for systems configured with two N603xA or two N824xA, or two M933xA Arbitrary Waveform Generators (Arb). The N603xA, N824xA, and M93xA are designed with synchronization in mind. Review the arbitrary waveform generator's synchronization documentation.

It is important to use matched cables of the proper length as discussed in the arbitrary waveform generator's documentation.

Because Pulse Building uses the Arb marker 4 to drive the pulse modulator in the PSG/MXG/EXG/ESG signal generators, the arbitrary waveform generator's Master/Slave configuration is modified slightly. Arb marker 2 is used as the synchronous trigger instead of Arb marker 4. This is shown in the following figure.

Also note that Trigger 1 and Trigger 2 of the Master Arb are used to start signal generation with an external trigger. The signal into trigger 1 or trigger 2 is synchronized to the SYNC CLK and routed out through marker 2. Marker 2 provides a synchronous trigger to both the master and slave Arbs.

Synchronization of arbitrary waveform generators requires specific cables and adapters like those found in the Keysight N6030A K10 synchronization kit.The Keysight N6030A K10 synchronization kit consists of the following:

  1. Power divider (2 each, 11636B)

  2. SMB adapter Tee M-M-M (1 each, 1250-0670)

  3. SMA conformable cable assembly, 10 in. (4 each, 5062-6685)

  4. SMB cable assembly (3 each, 8120-5016)

  5. SMA adapter M-F (2 each, 1250-1788)

For more information on synchronization, see the arbitrary waveform generator's user documentation.

Related Topics

Synchronizing Arbs - Software Configuration


Software Configuration

Synchronizing Arbitrary Waveform Generators -
Software Configuration

Arb synchronization is configured using the Customize item on the Download menu

The N603xA, N824xA, or M933xA Arbs can be configured from the N7620B software to be Independent (stand alone), to be the Master Arb, or to be the Slave Arb. Independent is the default configuration. Changing the N603xA, N824xA, or M933xA Synchronization mode may result in errors from the Arb. These errors are typically caused by improper length cables or cables not being connected.

When configuring two instances of the N7620B software to be synchronized, be sure to configure the Master Arb first, then configure the Slave Arb. Configuring the Slave Arb first will result in errors as no Sample clock or Sync clock is available from the Master Arb.

An external sample clock can be used with the N603xA, N824xA, or M933xA Arb. N7620B supports using an external clock for all three Arb Synchronization Modes. To use an external clock when synchronizing Arbs, configure the Arbs as Independent first and set their Sample Clocks to External. Generate simple signals with each Arb and verify that the signal is correct. After the simple signals are correct configure the Master Arb and then the Slave Arb. If a signal cannot be generated after configuring the Sample Clock Source to External, try clearing the Arb memory (Item on Download menu) and re-downloading the signal.

Pulse Building supports four modes of triggered operation. These modes are None, Continuous, Single, and Pulse. The Master and Slave trigger mode can be configured the same or differently. The trigger modes are defined here.

  • None − No Trigger required. Pulse Pattern plays automatically after downloaded. Pattern repeats until stopped.

    The Slave Arb will not start until a trigger is received from the Master Arb. In effect, it behaves the same way as if it were in Continuous mode

  • Continuous − Pulse Pattern plays after receiving a valid trigger. Pattern repeats until stopped.

  • Single − Pulse Pattern plays once for each trigger received

  • Pulse − Plays a single pulse for each trigger received. Allow user to step through the pattern a pulse at a time. Effective pulse repetition interval is set by the input trigger rate.

    If the pulse PRI is less than 300 ns adjoining pulses may be built as one waveform file and a single trigger may result in two pulses being generated. The pulse width can be very narrow (ns) but the repetition interval must be greater than 300 ns.

Configuring different trigger modes is allowed but may result in unexpected signals. If the Master Arb is configured as None, only a single trigger is sent to the Slave. If the Master Arb is configured in any of the other modes multiple triggers can be sent to the Slave Arb.

The Arb Synchronization Mode is ignored during the Self Test, and during Play Test Signal.

The Arb Synchronization Mode must be Independent when generating correction data. Once correction data has been generated for a given configuration it can be used in any of the synchronization modes.

Related Topics

Synchronizing Arbs - Hardware Configuration


programming

API Control

API Classes | describes the properties and methods for the Pulse Building class objects.
Programming Examples | provides several programming examples demonstrating the use of the pulse building API.
Enumeration Types | Enumeration Types and identifiers are listed here.
Using the API with LabVIEW | provides instructions on using Signal Studio .NET APIs with LabVIEW.

Loading .NET Mixed-Mode Assemblies

The .NET Framework 4.x allows you to load pure managed assemblies built in any version of the .NET Framework. However, for some Signal Studio applications, API usage involves assemblies that are not pure .NET CLR. In these cases, you must configure your program (e.g. User_App.exe) to load .NET mixed-mode assemblies using the following steps:

  1. Open a text editor.

  2. Copy the following text into the text editor:

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

    <startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v4.0" />

    </startup>

    </configuration>

  3. Save this new configuration file in the same directory as User_App.exe. Name the file User_App.exe.config.

  4. Re-launch User_App.exe.

.NET Version Workaround

If you are using a recent version of Visual Studio, such as VS 2015, the default .NET version will be later than .NET 3.5, which is required for using the Signal Studio API. In this case, if you change the project settings of the Visual Studio program to .NET 3.5, you will not benefit from the latest .NET features. Therefore, it is better to create a .config file in your VS project, enabling you to benefit from the latest .NET features. To do this, follow the exact same steps described in Loading .NET Mixed-Mode Assemblies above.


Classes

API Classes

This section describes the properties and methods associated with the Keysight Signal Studio for Pulse Building API (Application Programming Interface). When developing Visual Basic projects using the Pulse Building API, the Pulse Building COM classes and class members can be viewed using the Object Browser.

The following graphic shows the class headings as well as the class hierarchy.

Click on the area of interest for more information.


AgtPBCorrections

Corrections are applied when a pattern is played with Download or Download & Play and corrections have been enabled. (see Closed Download process) . Corrections are used to give the signal the greatest accuracy.

The following flow diagram describes the download signal process as related to the Auto-Corrections function.

  • Properties

  • Methods


AgtPBCorrections Properties

  • DisableAnalyzerDisplay

  • NumberofCorrectionPoints

  • Enabled

  • Optimization

DisableAnalyzerDisplay As Boolean
Property

Returns or sets a true or false value indicating whether or not to disable the spectrum analyzer display. Turning the display off increases calibration speed.

Enabled As Boolean
Property

Returns or sets a true or false value indicating whether or not to enable correction of the pulsed signal. This setting overrides ImageRejectionCorrectionEnabled and RFFlatnessCorrectionEnabled. If either of these is true, then Enabled is true. Both must be false for Enabled to be false.

NumberofCorrectionPoints As Long
Property

Returns or sets the number of correction points used in conjunction with AgtPBOptimizeType.Custom.

Internal I/Q = 25 to 1000
External I/Q = 25 to 1000
Wideband I/Q = 25 to 1000

Optimization As AgtPBOptimizeType
Property

Returns or sets the Optimization type.

Accuracy
Speed
Custom

Remarks: The number of measurements made for Accuracy and Speed are hardware configuration dependent. The actual number of measurements made for Accuracy and Speed is specific to the system configuration. The number of data points for the Custom type is set using NumberofCorrectionPoints.

Related Topics

Correction Settings
Optimization

Pattern Library


Methods_AgtPBCorrections

AgtPBCorrections Methods

See Correction Settings for more information.

GenerateCorrection (PatternName As String)
Property

Generate correction data for the named Pattern.

Parameter: PatternName is required so that the system can be configured with settings in the same way a Pattern is configured for download and play.


AgtPBProject Class

AgtPBProject

AgtPBProject represents a Pulse Building project. The project class is the only entry point for a project. From there you can navigate to the pulse library, pattern library, signal generator, and spectrum analyzer of the project.

  • Properties
  • Methods
  • Visual Basic Examples


PropertiesProjectClass

AgtPBProject Properties

  • ArbSynchronization

  • PredistortionEnabled

  • CoarsePulseModulationAlignmentHigh

  • PulseLibrary

  • CoarsePulseModulationAlignmentLow

  • PulseModulationAlignment

  • Corrections

  • ReferenceSource

  • DoPowerSearchOnPlay

  • RFFlatnessCorrectionEnabled

  • EventDelaySec

  • RFOffWhileStop

  • FileName

  • RFOnWhilePlay

  • ImageRejectionCorrectionEnabled

  • RFOutputEnabled

  • IQGainBalance

  • SaveCalibrationDataEnabled

  • IQSkew

  • SignalGenerator

  • MaximizeDacValues

  • SpectrumAnalyzer

  • PatternLibrary

  • SystemConfiguration

ArbSynchronization As AgtPBArbSynchronization
Property

Returns or sets the synchronization method of two external arbitrary waveform generators.

Independent - no synchronization takes place.
Master - the arbitrary waveform generator connected to this instance of Pulse Building is the master and controls the slave.
Slave - the arbitrary waveform generator connected to this instance of Pulse Building is the slave.

Remarks: The ArbSynchronization settings are not saved and must be set for every project. See Synchronizing Arbitrary Waveform Generators for more information.

CoarsePulseModulationAlignmentHigh As Double
Property

Returns or sets a high frequency alignment time of the coarse pulse modulation alignment. The alignment time is in nanoseconds.

Default: 0 ns

Range: –50 to 50 ns

CoarsePulseModulationAlignmentLow As Double
Property

Returns or sets the low frequency alignment time of the coarse pulse modulation alignment. The alignment time is in nanoseconds.

Default: 0 ns

Range: –50 to 50 ns

Corrections As AgtPBCorrections
Property

Returns AgtPBProject's Corrections member. With this you can access various Corrections methods and properties.

DoPowerSearchOnPlay As Boolean
Property

Returns or sets a value indicating whether a power search should be automatically executed upon play when the ALC is disabled and the RF output is enabled. The application manages the waveform RMS voltage and uses this value to set the signal generator Manual Power Search Reference value. See Getting Correct Output Power in the Pulse Building help for more information.

EventDelaySec As Double
Property

Returns or sets the event delay time of Events 1, 2, and 3. The event delay time is set in nanoseconds.

FileName As String
read-only Property

Returns the full path name of the Pulse Building project.

ImageRejectionCorrectionEnabled As Boolean
Property

Returns or sets a value indicating whether the image rejection correction procedure should be performed when downloading a signal.

Preferred property is AgtPBCorrections Enabled. This is an old command retained for software revision compatibility.

IQGainImbalance As Double
Property

Returns or sets the IQ Gain Imbalance when connected to a signal generator that supports IQ Gain imbalance. IQ Gain Imbalance is used to reduce images in the output signal, which are often caused by cable mismatch.

Range: –2.0 dB to +2.0 dB (default = 0 dB)

IQSkew As Double
Property

Returns or sets the IQ Skew when connected to a signal generator that supports IQ Skew. IQ Skew is used to reduce images in the output signal, which are often caused by cable mismatch.

Range: –10 ns to +10 ns (default = 0 ps)

IQ Skew is not necessary for the E8267D PSG, N5182B MXG, N5172B EXG, and E4438C ESG when using the internal arbitrary waveform generator. These instruments receive a factory calibration to minimize the I/Q skew.

This adjustment is real time and available for all Arbs except M9330A/N6030A/N8241A. For these Arbs, adjust the skew by swapping cables or by adding some extra connectors to one cable or the other.

MaximizeDacValues As Boolean
Property

Returns or sets the value indicating whether the signal is rescaled after AWG predistortion to use the DAC's full dynamic range.

The AWG predistortion function is designed to flatten the signal regardless of what the signal is. This flattening may sacrifice dynamic range to ensure that the predistortion doesn’t create data that exceeds the valid DAC range. When enabled, the Maximize DAC values option ensures that the signal is rescaled after the predistortion to use the DAC's full dynamic range. Depending on the signal being generated, this can be a gain of more than 3 dB. This gain transfers directly to more RF output power. Enabling this option can result in different RMS voltages for similar signals. This should not be a problem as the Pulse Building application manages the waveform RMS voltage and uses it when the ALC is disabled to get correct RF output power.

Supports functionality in the N603xA/M933xA and N824xA arbitrary waveform generators.

PatternLibrary As AgtPBPatternLibrary
read-only Property

Returns the pattern library of the project.

PredistortionEnabled As Boolean
Property

Returns or sets the value indicating whether the MXG/EXG internal channel correction filter is enabled. Disabling predistortion disables the MXG/EXG internal channel correction filter.

The N603xA/M933xA and N824xA arbitrary waveform generators (AWGs) have about a 12-dB roll-off from DC to 500 MHz. This roll-off results from a combination of the output alias filters and the sin(x)/x roll-off inherent to all DACs. Enabling predistortion flattens the output from DC to 500 MHz from each AWG channel. The Pulse Building corrections achieves the same results whether the AWG predistortion is enabled or not.

Supports functionality in the MXG and EXG internal Arbs and in the N603xA/M933xA and N824xA arbitrary waveform generators.

PulseLibrary As AgtPBPulseLibrary
read-only Property

Returns the pulse library of the project.

PulseModulationAlignment As Double
Property

Returns or sets the time alignment of the Marker 4 signal and the I/Q signal from the arbitrary waveform generator at the input to the pulse modulator of the E8267C/D or N8212A. Used to adjust the alignment of the signal if the I/Q cable and the Marker 4 cable lengths are not equal.

Range: –4 to 20 ns, in 1.6 ns steps.

Available only for the N603xA/M933xA or N824xA arbitrary waveform generators.

ReferenceSource As AgtPBReferenceSource
Property

Returns or sets the 10 MHz reference source used by the Pulse Building system hardware.

RFFlatnessCorrectionEnabled As Boolean
Property

Returns or sets the value indicating whether the RF Flatness Correction procedure should be done when downloading a signal.

Preferred property is AgtPBCorrections Enabled. This is an old command retained for software revision compatibility.

RFOffWhileStop As Boolean
Property

Returns or sets the value indicating whether or not to turn off the RF output while the signal is stopped.

Remarks: The RFOffWhileStop settings are not saved and must be set for every project.

RFOnWhilePlay As Boolean
Property

Returns or sets the value indicating whether the Pulse Building application automatically turns on the RF output while the signal is playing. When disabled, the RF output state is left as it was. During a Play, the RF output may be turned off to eliminate signal flickering. The RF output is restored to its previous state at the end of play.

Remarks: The RFOnWhilePlay settings are not saved and must be set for every project.

RFOutputEnabled As Boolean
Property

Returns or sets the value indicating whether the source RF output is enabled. The property is passed immediately to the connected hardware.

SaveCalibrationDataEnabled As Boolean
Property

Returns or sets a value indicating whether the calibration data should be saved to the signal generator.

Calibration data is always saved. This is an old command retained for software revision compatibility.

SignalGenerator As AgtPBSignalGenerator
read-only Property

Returns the signal generator connected to the project.

SpectrumAnalyzer As AgtPBSpectrumAnalyzer
read-only Property

Returns the spectrum/signal analyzer connected to the project.

SystemConfiguration As AgtPBSystemConfiguration
Property

Returns AgtPBProject's SystemConfiguration member. With this you can access various SystemConfiguration related methods.


MethodsProjectClass

AgtPBProject Methods

  • DownloadAndPlayPattern

  • SaveAsProject

  • DownloadPattern

  • SaveProject

  • NewProject

  • SelfTest

  • OpenProject

  • StopPattern

  • PlayPattern

  • SoftwareTrigger

  • PlayTestSignal

  • VerifyPattern

DownloadAndPlayPattern (PatternName As String)
Method

Downloads and plays the pattern with the specified pattern name. See also Download and Play.

Parameters:

PatternName: The name of the pattern to be downloaded and played.

Remarks: DownloadAndPlayPattern verifies the signal generated according to the pattern settings. It creates and downloads the signal to the signal generator and sets the corresponding settings and turns on the Arb and RF output.

DownloadPattern (PatternName As String)
Method

Downloads the pattern with the specified pattern name.

Parameters:

PatternName: The name of the pattern to be downloaded.

Remarks: DownloadPattern verifies the signal generated according to the pattern settings. It creates and downloads the signal to the signal generator, and changes the instrument settings accordingly.

NewProject (FileName As String)
Method

Creates a new Pulse Building project file.

Parameters:

FileName: The full path name of the created project file.

Remarks: A Pulse Building project (.pbp) file is the current signal definition defined by the pattern and pulse parameters.

OpenProject (FileName As String)
Method

Opens an existing Pulse Building project (.pbp) file.

Parameters:

FileName: The full path name of the Pulse Building project to be opened.

PlayPattern (PatternName As String)
Method

Plays a pattern that has been specified with a pattern name if it has already been downloaded to the signal generator.

Parameters:

PatternName: The name of the specified pattern.

Remarks: Both the sequence file and the waveform file must already exist in the signal generator.

PlayTestSignal (PatternName As String)
Method

Plays a test signal that can be corrected. This is useful for verifying the correction settings. See also Play Test Signal.

Parameters:

PatternName: The name of the specified pattern.

SaveAsProject (FileName As String)
Method

Saves an existing Pulse Building project using a specified file name.

Parameters:

FileName: The full path name of the Pulse Building project to be saved.

SaveProject ( )
Method

Saves the current Pulse Building project on your PC using the current project name as a (.pbp) file.

SelfTest ( )
Method

Run Self Test on the current hardware configuration. Includes signal generator, arbitrary waveform generator and analyzer. See also Run Self Test.

Remarks: The Q Arb memory is automatically erased after running SelfTest.

SoftwareTrigger ( )
Method

Provides a trigger to the Arb over the IO channel. See also Trigger.

StopPattern ( )
Method

Stops a pattern that is being played by turning off the ARB. See also Stop.

VerifyPattern (PatternName As String)
Method

Verifies whether a valid signal can be created from the specified pattern. See also Verify Signal.

Parameters:

PatternName: The name of the specified pattern to be verified.


Visual Basic Examples Project

AgtPBProject Visual Basic Examples

1. Create a new project named myproject.pbp in the application directory

Option Explicit
Dim project As AgtPBProject

Private Sub CreateProject( )
On Error GoTo handlers

Set project = New AgtPBProject
project.NewProject ("myproject.pbp")

Exit sub
handlers:

MsgBox Err.Description

End Sub

2. Open an existing project named myproject.pbp in the C:\temp directory

Option Explicit
Dim project As AgtPBProject

Private Sub OpenAndSaveProject( )
On Error GoTo handlers

Set project = New AgtPBProject
project.OpenProject ("c:\temp\myproject.pbp")
project.SaveAs("c:\temp\myproject2.pbp")

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBPulseLibrary Class

AgtPBPulseLibrary

AgtPBPulseLibrary represents the pulse library in the project. An instance of a pulse library can only be accessed through the PulseLibrary property of AgtPBProject.

  • Methods
  • Visual Basic Examples


MethodsPulseLibraryClass

AgtPBPulseLibrary Methods

CreateNewPulse (PulseName As String) As AgtPBPulse

Creates a new pulse in the pulse library using a specified name.

Parameters:

PulseName: The name of the new pulse. No two pulses can have the same name and an empty string cannot be used as a pulse string.

Return Value: The instance of the pulse.

DeletePulse (PulseName As String)

Deletes a pulse using a specified pulse name from the pulse library.

Parameters:

PulseName: The name of the pulse to be deleted.

GetPulse (PulseName As String) As AgtPBPulse

Returns a pulse from the pulse library using a specified pulse name.

Parameters:

PulseName: The name of the returned pulse.

Return Value: The instance of the pulse.


Visual Basic Examples Pulse Library

AgtPBPulseLibrary Visual Basic Examples

1. Get the pulse library of a project

Option Explicit
Dim project As AgtPBProject
Dim pulselib As AgtPBPulseLibrary

Private Sub GetPulseLibrary( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
Set pulseLib = project.PulseLibrary 'correct
Set pulseLib = new AgtPBPulseLibrary ' compile error

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBPatternLibrary Class

AgtPBPatternLibrary

AgtPBPatternLibrary represents the pattern library in the project. An instance of a pattern library can only be accessed through the PatternLibrary property of AgtPBProject.

  • Methods
  • Visual Basic Examples


MethodsPatternLibrary

AgtPBPatternLibrary Methods

CreateNewPattern (PatternName As String) As AgtPBPattern

Creates a new pattern in the pattern library using a specified name.

Parameters:

PatternName: The name of the new pattern. No two patterns can have the same name and an empty string cannot be used as a pattern string.

Return Value: The instance of the pattern.

DeletePattern (PatternName As String)

Deletes a pattern using a specified pulse name from the pattern library.

Parameters:

PatternName: The name of the pattern to be deleted.

GetPattern (PatternName As String) As AgtPBPattern

Returns a pattern from the pattern library using a specified pattern name.

Parameters:

PatternName: The name of the returned pattern.

Return Value: The instance of the pattern.


Visual Basic Examples Pattern Library

AgtPBPatternLibrary Visual Basic Examples

1. Get the pattern library of a project

Option Explicit
Dim project As AgtPBProject
Dim patternlib As AgtPBPatternLibrary

Private Sub GetPatternLibrary( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
Set patternLib = project.PatternLibrary 'correct
Set PatternLib = new AgtPBPatternLibrary ' compile error

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBPulse Class

AgtPBPulse

AgtPBPulse represents a pulse in the pulse library of the project. An instance of a pulse can only be accessed through the GetPulse( ) or CreateNewPulse methods of AgtPBPulseLibrary.

  • Properties
  • Methods
  • Visual Basic Examples


PropertiesPulseClass

AgtPBPulse Properties

  • DataSizeCustomIQ

  • DataSizeModulationCustomQPSK

  • DataSizeEnvelopeCustom

  • DataSizeModulationFMStep

  • DataSizeModulationAMStep

  • ModulationType

  • DataSizeModulationCustomBPSK

  • Name

  • DataSizeModulationCustomFMChirp

  • PulseType

  • DataSizeModulationCustomPhase Pattern

DataSizeCustomIQ As Long
read-only Property

Returns the size of custom IQ data of the pulse if the current pulse type is Custom IQ.

Remarks: This property is usually called before calling GetCustomIQ, to ensure adequate allocation of the data array size.

DataSizeEnvelopeCustom As Long
read-only Property

Returns the size of custom envelope data of the pulse if the current pulse type is Envelope Custom.

Remarks: This property is usually called before calling GetEnvelopeCustom, to ensure adequate allocation of the data array size.

DataSizeModulationAMStep As Long
read-only Property

Returns the size of the AM step modulation data if the current modulation type is AM Step.

Remarks: This property is usually called before calling GetModulationAMStep, to ensure adequate allocation of the data array size.

DataSizeModulationCustomBPSK As Long
read-only Property

Returns the size of the custom BPSK modulation data if the current modulation type is CustomBPSK.

Remarks: This property is usually called before calling GetModulationCustomBPSK, to ensure adequate allocation of the data array size.

DataSizeModulationCustomFMChirp As Long
read-only Property

Returns the size of the Custom FM Chirp modulation data.

Remarks: This property is usually called before calling GetModulationCustomFMChirp, to ensure adequate allocation of the data array size.

DataSizeModulationCustomPhasePattern As Long
read-only Property

Returns the size of the Custom Phase Pattern modulation data if the current modulation type is Custom Phase Pattern.

Remarks: This property is usually called before calling GetModulationCustomPhasePattern, to ensure adequate allocation of the data array size.

DataSizeModulationCustomQPSK As Long
read-only Property

Returns the size of the Custom QPSK modulation data.

Remarks: This property is usually called before calling GetModulationCustomQPSK, to ensure adequate allocation of the data array size.

DataSizeModulationFMStep As Long
read-only Property

Returns the size of the FM step modulation data if the current modulation type is FM Step.

Remarks: This property is usually called before calling GetModulationFMStep, to ensure adequate allocation of the data array size.

ModulationType As AgtPBModulationType
Property

Returns or sets the current Modulation Type.

Type:

None
AMStep
FMStep
FMChirp
BPSK
CustomBPSK
QPSK
Barker
CustomQPSK
CustomFMChirp
FrankCode
P1Code
P2Code
P3Code
P4Code
CustomPhasePattern

Name As String
Property

Returns the current pulse name or specifies a name for a pulse.

PulseType As AgtPBPulseType
Property

Returns the current Pulse Type or sets the current Pulse Type.


MethodsPulseClass

AgtPBPulse Methods

  • Copy

  • GetCustomIQ

  • SetCustomIQ

  • GetEnvelopeCustom

  • SetEnvelopeCustom

  • GetEnvelopeRaisedCosine

  • SetEnvelopeRaisedCosine

  • GetEnvelopeTrapezoidal

  • SetEnvelopeTrapezoidal

  • GetModulationAMStep

  • SetModulationAMStep

  • GetModulationBarker

  • SetModulationBarker

  • GetModulationBPSK

  • SetModulationBPSK

  • GetModulationCustomBPSK

  • SetModulationCustomBPSK

  • GetModulationCustomFMChirp

  • SetModulationCustomFMChirp

  • GetModulationCustomPhasePattern

  • SetModulationCustomPhasePattern

  • GetModulationCustomQPSK

  • SetModulationCustomQPSK

  • GetModulationFMChirp

  • SetModulationFMChirp

  • GetModulationFMStep

  • SetModulationFMStep

  • GetModulationFrankCode

  • SetModulationFrankCode

  • GetModulationP1Code

  • SetModulationP1Code

  • GetModulationP2Code

  • SetModulationP2Code

  • GetModulationP3Code

  • SetModulationP3Code

  • GetModulationP4Code

  • SetModulationP4Code

  • GetModulationQPSK

  • SetModulationQPSK

Copy (pulse As AgtPBPulse)
Method

Copies the contents of one pulse to another pulse.

Parameters:

Pulse: Pulse to copy.

GetCustomIQ (SamplingRate_Hz As Double, I [ ] As Double, Q [ ] As Double)
Method

Returns the pulse parameter if the current pulse type is Custom IQ.

Parameters:

SamplingRate_Hz: The returned sampling rate of IQ data in Hz

I: The returned I data array.

Q: The returned Q data array.

Remarks: DataSizeCustomIQ should be used prior to GetCustomIQ to ensure adequate allocation of the data array size.

GetEnvelopeCustom (SamplingRate_Hz As Double, Amplitude [ ] As Double)
Method

Returns the pulse parameter if the current pulse type is Custom Envelope.

Parameters:

SamplingRate_Hz: The returned sampling rate in Hz.

Amplitude ( ): The returned amplitude array.

Remarks: DataSizeEnvelopeCustom should be used prior to GetEnvelopeCustom to ensure adequate allocation of the data array size.

GetEnvelopeRaisedCosine (Rise_Sec As Double, Fall_Sec As Double, Width_Sec As Double,
WidthJitterType As AgtPBJitterType, JitterDev_Sec As Double)
Method

Returns the pulse parameter if the current pulse type is Raised Cosine.

Parameters:

Rise_Sec: The returned rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The returned fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The returned pulse width in seconds where the amplitude is 100%.

WidthJitterType: The returned jitter type of the pulse width.

JitterDev_Sec: The returned jitter deviation of the pulse width in seconds.

GetEnvelopeRaisedCosine(out double RiseTime_Sec, out double FallTime_Sec, out double Width_Sec, out AgtPBJitterType WidthJitterType, out double JitterDev_Sec, out AgtPBPulseWidthPatternType PwType, out double WidthStepSize, out int NumberOfSteps, out int PulsesPerStep, out double WidthStop, out int NumberOfPulses, ref double[,] WidthStagger);
Method

Returns a pulse parameter if the current pulse type is Raised Cosine with PulseWidthPattern set.

Parameters:

Rise_Sec: The returned rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The returned fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The returned pulse width in seconds where the amplitude is 100%. This property is also used as the Pulse Width Start value when the pulse width pattern is not None.

WidthJitterType: The returned jitter type of the pulse width.

JitterDev_Sec: The returned jitter deviation of the pulse width in seconds.

PwType: The returned Pulse Width Pattern Type.

WidthStepSize: The step size when the pulse width pattern type is Stepped. Returns 0 otherwise.

NumberOfSteps: The number of steps when the pulse width pattern type is Stepped. Returns 0 otherwise.

PulsesPerStep: The number of pulse per step when the pulse width pattern type is Stepped. Returns 0 otherwise.

WidthStop: The pulse width stop value when the pulse width pattern type is LinearRamp. Returns 0 otherwise.

NumberOfPulses: The number of pulses to use in creating the linear ramp pulse width pattern when the pulse width pattern type is LinearRamp. Returns 0 otherwise.

WidthStagger: Contains the pulse width stagger pattern data when the pulse width pattern type is Staggered. Returns an array with a single element [1,1] with a value of Width_Sec otherwise.

GetEnvelopeTrapezoidal (Rise_Sec As Double, Fall_Sec As Double, Width_Sec As Double,
WidthJitterType As AgtPBJitterType, JitterDev_Sec As Double)
Method

Returns the pulse parameter if the current pulse type is Trapezoidal.

Parameters:

Rise_Sec: The returned rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The returned fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The returned pulse width in seconds where the amplitude is 100%.

WidthJitterType: The returned jitter type of the pulse width.

JitterDev_Sec: The returned jitter deviation of the pulse width in seconds.

GetEnvelopeTrapezoidal(out double RiseTime_Sec, out double FallTime_Sec, out double Width_Sec, out AgtPBJitterType WidthJitterType, out double JitterDev_Sec, out AgtPBPulseWidthPatternType PwType, out double WidthStepSize, out int NumberOfSteps, out int PulsesPerStep, out double WidthStop, out int NumberOfPulses, ref double[,] WidthStagger);
Method

Returns the pulse parameter if the current pulse type is Trapezoidal with PulseWidthPattern set.

Parameters:

Rise_Sec: The returned rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The returned fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The returned pulse width in seconds where the amplitude is 100%. This property is also used as the Pulse Width Start value when the pulse width pattern is not None.

WidthJitterType: The returned jitter type of the pulse width.

JitterDev_Sec: The returned jitter deviation of the pulse width in seconds.

PwType: The returned Pulse Width Pattern Type.

WidthStepSize: The step size when the pulse width pattern type is Stepped. Returns 0 otherwise.

NumberOfSteps: The number of steps when the pulse width pattern type is Stepped. Returns 0 otherwise.

PulsesPerStep: The number of pulse per step when the pulse width pattern type is Stepped. Returns 0 otherwise.

WidthStop: The pulse width stop value when the pulse width pattern type is LinearRamp. Returns 0 otherwise.

NumberOfPulses: The number of pulses to use in creating the linear ramp pulse width pattern when the pulse width pattern type is LinearRamp. Returns 0 otherwise.

WidthStagger: Contains the pulse width stagger pattern data when the pulse width pattern type is Staggered. Returns an array with a single element [1,1] with a value of Width_Sec otherwise.

GetModulationAMStep (Stepsize_Sec [ ] As Double, Amplitude_dB [ ] As Double)
Method

Returns the pulse parameters if the current modulation type is AM Step.

Parameters:

Stepsize_Sec: The returned array of AM stepsize in seconds.

Amplitude_dB: The returned array of modulation amplitude in dB.

Remarks: DataSizeModulationAMStep should be used prior to GetModulationAMStep to ensure adequate allocation of the data array size.

GetModulationBarker (Codelength As Long)
Method

Returns the pulse parameters if the current modulation type is Barker.

Parameters:

Codelength: The returned Barker code length.

GetModulationBPSK (Stepsize_Sec As Double)
Method

Returns the pulse parameters if the current modulation type is BPSK.

Parameters:

Stepsize_Sec: The returned step size of the BPSK modulation in seconds.

GetModulationCustomBPSK (BitPattern [ ] As Long)
Method

Returns the pulse parameters if the current modulation type is Custom BPSK.

Parameters:

BitPattern: The returned custom BPSK pattern data array.

Remarks: DataSizeModulationCustomBPSK should be used prior to GetModulationCustomBPSK to ensure adequate allocation of the data array size.

GetModulationCustomFMChirp (Coefficients [ ] As Double)
Method

Returns the coefficient array that makes up the current Custom FM Chirp modulation.

GetModulationCustomPhasePattern (phasePattern [, ] As Double)
Method

Returns the custom phase pattern data array that if the current modulation type is CustomPhasePattern. The phase data is in degrees. The data array dimension is [1,n].

GetModulationCustomQPSK (Bit 0 [ ] As Long, Bit 1 [ ] As Long)
Method

Returns the bit 0 and bit 1 arrays that make up the current Custom QPSK modulation.

GetModulationFMChirp (ChirpDeviation_Hz As Double, DeviationType As AgtPBFMChirpDeviationType)
Method

Returns the pulse parameters if the current modulation type is FM Chirp.

Parameters:

ChirpDeviation_Hz: The returned FM chirp deviation value in Hz.

DeviationType: The returned FM chirp deviation type.

GetModulationFMStep (StepSize_Sec [ ] As Double, FrequencyOffset_Hz [ ] As Double)
Method

Returns the pulse parameters if the current modulation type is FM Step.

Parameters:

StepSize_Sec: The returned FM step size data array in seconds.

FrequencyOffset_Hz: The returned FM step frequency offset data array in Hz.

Remarks: DataSizeModulationFMStep should be used prior to GetModulationFMStep to ensure adequate allocation of the data array size.

GetModulationFrankCode (CodeOrder As Long)
Method

Returns modulation parameters if the current modulation type is FrankCode.

Parameters:

CodeOrder: The Frank code CodeOrder.

GetModulationP1Code (CodeOrder As Long)
Method

Returns modulation parameters if the current modulation type is P1Code.

Parameters:

CodeOrder: The P1 code CodeOrder.

GetModulationP2Code (CodeOrder As Long)
Method

Returns modulation parameters if the current modulation type is P2Code.

Parameters:

CodeOrder: The P2 code CodeOrder.

GetModulationP3Code (CodeOrder As Long)
Method

Returns modulation parameters if the current modulation type is P3Code.

Parameters:

CodeOrder: The P3code CodeOrder.

GetModulationP4Code (CodeOrder As Long)
Method

Returns modulation parameters if the current modulation type is P4Code.

Parameters:

CodeOrder: The P4 code CodeOrder.

GetModulationQPSK (Stepsize_Sec As Double)
Method

Returns the pulse parameters if the current modulation type is QPSK.

Parameters:

Stepsize_Sec: The returned QPSK modulation step size in seconds.

SetCustomIQ (SamplingRate_Hz As Double, I [ ] As Double, Q [ ] As Double)
Method

Sets a pulse parameter if the current pulse type is Custom IQ.

Parameters:

SamplingRate_Hz: Sampling rate of IQ data in Hz

I: I data array.

Q: Q data array.

Remarks: The I and Q data must be the same size.

SetEnvelopeCustom (SamplingRate_Hz [ ] As Double, Amplitude [ ] As Double)
Method

Sets a pulse parameter if the current pulse type is Custom Envelope.

Parameters:

SamplingRate_Hz: The sampling rate in Hz.

Amplitude ( ): The amplitude array.

SetEnvelopeRaisedCosine (Rise_Sec As Double, Fall_Sec As Double, Width_Sec As Double,
WidthJitterType As AgtPBJitterType, JitterDev_Sec As Double)
Method

Sets a pulse parameter if the current pulse type is Raised Cosine.

Parameters:

Rise_Sec: The rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The pulse width in seconds where the amplitude is 100%.

WidthJitterType: The jitter type of the pulse width.

JitterDev_Sec: The jitter deviation of the pulse width in seconds.

SetEnvelopeRaisedCosine(double RiseTime_Sec, double FallTime_Sec, double Width_Sec, AgtPBJitterType WidthJitterType, double JitterDev_Sec, AgtPBPulseWidthPatternType PwType, double WidthStepSize, int NumberOfSteps, int PulsesPerStep, double WidthStop, int NumberOfPulses, ref double[,] WidthStagger);
Method

Sets a pulse parameter if the current pulse type is Raised Cosine with PulseWidthPattern set.

Parameters:

Rise_Sec: The rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The pulse width in seconds where the amplitude is 100%.

WidthJitterType: The jitter type of the pulse width.

JitterDev_Sec: The jitter deviation of the pulse width in seconds.

PwType: The Pulse Width Pattern Type.

WidthStepSize: The step size when the pulse width pattern type is Stepped.

NumberOfSteps: The number of steps when the pulse width pattern type is Stepped.

PulsesPerStep: The number of pulse per step when the pulse width pattern type is Stepped.

WidthStop: The pulse width stop value when the pulse width pattern type is LinearRamp.

NumberOfPulses: The number of pulses to use in creating the linear ramp pulse width pattern when the pulse width pattern type is LinearRamp.

WidthStagger: Contains the pulse width stagger pattern data when the pulse width pattern type is Staggered. Array dimensions must be [1,n] with at least one element. Width times are in seconds.

SetEnvelopeTrapezoidal (Rise_Sec As Double, Fall_Sec As Double, Width_Sec As Double,
WidthJitterType As AgtPBJitterType, JitterDev_Sec As Double)
Method

Sets a pulse parameter if the current pulse type is Trapezoidal.

Parameters:

Rise_Sec: The rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The pulse width in seconds where the amplitude is 100%.

WidthJitterType: The jitter type of the pulse width.

JitterDev_Sec: The jitter deviation of the pulse width in seconds.

SetEnvelopeTrapezoidal(double RiseTime_Sec, double FallTime_Sec, double Width_Sec, AgtPBJitterType WidthJitterType, double JitterDev_Sec, AgtPBPulseWidthPatternType PwType, double WidthStepSize, int NumberOfSteps, int PulsesPerStep, double WidthStop, int NumberOfPulses, ref double[,] WidthStagger);
Method

Set the pulse parameter if the current pulse type is Trapezoidal with PulseWidthPattern set.

Parameters:

Rise_Sec: The rise time for the pulse defined from 0% to 100% amplitude in seconds.

Fall_Sec: The fall time for the pulse defined from 100% to 0% amplitude in seconds.

Width_Sec: The pulse width in seconds where the amplitude is 100%.

WidthJitterType: The jitter type of the pulse width.

JitterDev_Sec: The jitter deviation of the pulse width in seconds.

PwType: The Pulse Width Pattern Type.

WidthStepSize: The step size when the pulse width pattern type is Stepped.

NumberOfSteps: The number of steps when the pulse width pattern type is Stepped.

PulsesPerStep: The number of pulse per step when the pulse width pattern type is Stepped.

WidthStop: The pulse width stop value when the pulse width pattern type is LinearRamp.

NumberOfPulses: The number of pulses to use in creating the linear ramp pulse width pattern when the pulse width pattern type is LinearRamp.

WidthStagger: Contains the pulse width stagger pattern data when the pulse width pattern type is Staggered. Array dimensions must be [1,n] with at least one element. Width times are in seconds.

SetModulationAMStep (StepSize_Sec [ ] As Double, Amplitude_dB [ ] As Double)
Method

Sets modulation parameters if the current modulation type is AM Step.

Parameters:

StepSize_Sec: The array of AM step size in seconds.

Amplitude_dB: The array of modulation amplitude in dB.

SetModulationBarker (CodeLength As Long)
Method

Sets modulation parameters if the current modulation type is Barker.

Parameters:

CodeLength: The Barker code length (valid lengths are 2, 3, 4, 5, 7, 11, 13).

SetModulationBPSK (StepSize_Sec As Double)
Method

Sets modulation parameters if the current modulation type is BPSK.

Parameters:

StepSize_Second: The BPSK modulation step size in seconds

SetModulationCustomBPSK (BitPattern ( ) As Long)
Method

Sets modulation parameters if the current modulation type is Custom BPSK.

Parameters:

BitPattern: The Custom BPSK modulation bit pattern array.

SetModulationCustomFMChirp (Coefficients [ ] As Double)
Method

Sets the coefficient array that makes up the current Custom FM Chirp modulation.

SetModulationCustomQPSK (Bit 0 [ ] As Long, Bit 1 [ ] As Long)
Method

Sets the bit 0 and bit 1 arrays that make up the current Custom QPSK modulation.

SetModulationFMChirp (ChirpDeviation_Hz As Double, DeviationType As AgtPBFMChirpDeviationType)
Method

Sets modulation parameters if the current modulation type is FM Chirp.

Parameters:

ChirpDeviation_Hz: The FM chirp deviation value in Hz.

DeviationType: The FM chirp deviation type.

SetModulationFMStep (StepSize_Sec [ ] As Double, FrequencyOffset_Hz [ ] As Double )
Method

Sets modulation parameters if the current modulation type is FM Step.

Parameters:

StepSize_Sec: The FM step size data array in seconds.

FrequencyOffset_Hz: The FM step frequency offset data array in Hz.

Remarks: The step size array and the frequency offset array must have the same size.

SetModulationFrankCode (CodeOrder As Long)
Method

Sets modulation parameters if the current modulation type is FrankCode.

Parameters:

CodeOrder: The default Frank code CodeOrder is 4. CodeOrder must be greater than 0.

SetModulationP1Code (CodeOrder As Long)
Method

Sets modulation parameters if the current modulation type is P1Code.

Parameters:

CodeOrder: The default P1 code CodeOrder is 4. CodeOrder must be greater than 0.

SetModulationP2Code (CodeOrder As Long)
Method

Sets modulation parameters if the current modulation type is P2Code.

Parameters:

CodeOrder: The default P2 code CodeOrder is 4. CodeOrder must be greater than 0.

SetModulationP3Code (CodeOrder As Long)
Method

Sets modulation parameters if the current modulation type is P3Code.

Parameters:

CodeOrder: The default P3code CodeOrder is 16. CodeOrder must be greater than 0.

SetModulationP4Code (CodeOrder As Long)
Method

Sets modulation parameters if the current modulation type is P4Code.

Parameters:

CodeOrder: The default P4 code CodeOrder is 16. CodeOrder must be greater than 0.

SetModulationCustomPhasePattern (phasePattern [, ] As Double)
Method

Set the modulation custom phase pattern data array if the current modulation type is CustomPhasePattern. The phase data must be in degrees. The data array dimensions must be [1,n].

SetModulationQPSK (StepSize_Sec As Double)
Method

Enables you to set a modulation parameter if the current modulation type is QPSK.

Parameters:

StepSize_Sec: The QPSK modulation step size in seconds.


Visual Basic Examples Pulse

AgtPBPulse Visual Basic Examples

1. Create a new pulse named "mypulse"

Option Explicit
Dim project As AgtPBProject
Dim pulselib As AgtPBPulseLibrary

Private Sub CreateNewPulse( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
Set pulseLib = project.PulseLibrary
Call pulseLib.CreateNewPulse("mypulse")
Call project.Save( )

Exit sub
handlers:

MsgBox Err.Description

End Sub

2. Get a pulse from an existing project and set the pulse type to Raised Cosine
(In this example, assume that the project already has "mypulse" in the pulse library)

Option Explicit
Dim project As AgtPBProject
Dim pulselib as AgtPBPulseLibrary
Dim pulse As AgtPBPulse

Private Sub CreateNewPulse( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.Open("myproject.pbp")
Set pulseLib = project.PulseLibrary
Set pulse = pulseLib.GetPulse("mypulse")
pulse.PulseType = AgtPBPulseType_RaisedCosine
Call project.Save( )

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBPattern Class

AgtPBPattern

AgtPBPattern represents a pattern in the pattern library of the project. An instance of a pattern can only be accessed through the GetPattern( ) or CreateNewPattern methods of AgtPBPatternLibrary.

  • Properties
  • Methods
  • Visual Basic Examples


PropertiesPatternClass

AgtPBPattern Properties

ItemCount As Long
read-only Property

Returns the number of pattern items in a specified pattern.

Name As String
Property

Returns or sets the pattern name.

Properties As AgtPBSignalProperties
read-only Property

Returns the signal object properties of a specified pattern.


MethodsPatternClass

AgtPBPattern Methods

  • Copy

  • DeleteItemAt

  • CreateNewItem

  • GetItemAt

  • CreateNewItemAt

  • MoveItem

Copy (Pattern As AgtPBPattern)
Method

Copies an existing pattern.

Parameters:

Pattern: Pattern to copy.

CreateNewItem (ObjectType As AgtPBPatternItemObjectType, ObjectName As String)
As AgtPBPatternItem
Method

Creates a new pattern item at the end of the item list.

Parameters:

ObjectType: The type of object to which the item refers.

ObjectfName: The name of the object to which the item refers.

Remarks: If the ObjectType is Pulse, the ObjectName should be a valid pulse name in the pulse library. If the ObjectType is Pattern, the ObjectName should be a valid pattern name in the pattern library. If the ObjectType is Offtime, the ObjectName will be ignored.

CreateNewItemAt (ObjectType As AgtPBPatternItemObjectType, ObjectName As String,
Index As Long) As AgtPBPatternItem
Method

Creates a new pattern item at a specified location in the item list.

Parameters:

ObjectType: The type of object to which the item refers.

ObjectfName: The name of the object to which the item refers.

Index: 0 based position in the pattern item list.

Remarks: If the ObjectType is Pulse, the ObjectName should be a valid pulse name in the pulse library. If the ObjectType is Pattern, the ObjectName should be a valid pattern name in the pattern library. If the ObjectType is Offtime, the ObjectName will be ignored.

DeleteItemAt (Index As Long)
Method

Deletes the pattern item at the specified position.

Parameters:

Index: zero based position in the pattern item list.

GetItemAt (Index As Long) As AgtPBPatternItem
Method

Selects a pattern item at the specified position.

Parameters:

Index: zero based position in the pattern item list.

MoveItem (From As Long, To As Long)
Method

Moves a pattern item from one position (From) to another position (To).

Parameters:

From: The current position of the item to be moved.

To: The target position of the item that is moved.

Remarks: All positions are zero based index values.


Visual Basic Examples Pattern

AgtPBPattern Visual Basic Examples

1. Create a new pattern named "mypattern"

Option Explicit
Dim project As AgtPBProject
Dim patternlib As AgtPBPatternLibrary

Private Sub CreateNewPattern( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
Set patternLib = project.PatternLibrary
Call patternLib.CreateNewPattern("mypattern")
Call project.Save( )

Exit sub
handlers:

MsgBox Err.Description

End Sub

2. Get a pattern from an existing project and add a new pattern item in the project
(In this example, assume the project already has "mypattern" in the pattern library)

Option Explicit
Dim project As AgtPBProject
Dim patternlib As AgtPBPatternLibrary
Dim pattern As AgtPBPattern
Dim pulse As AgtPBPulse
Dim pulselib As AgtPBPulseLibrary

Private Sub CreateNewPattern( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.Open("myproject.pbp")
Call project.PulseLibrary.CreateNewPulse("mypulse")
Set patternLib = project.PatternLibrary
Set pattern = patternLib.GetPattern("mypattern")
Call pattern.CreateNewItem (AgtPBPatternItemObjectType_Pulse, "mypulse")
project.save( )

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBPatternItem Class

AgtPBPatternItem

AgtPBPatternItem represents an item in a pattern. An instance of a pattern can only be accessed through the
CreateNewItem( ), CreateNewItemAt, or the GetItemAt methods of AgtPBPattern.

  • Properties
  • Methods
  • Visual Basic Examples


PropertiesPatternItemClass

AgtPBPatternItem Properties

Object Group

  • DurationSec

  • NumberOfRepeats

  • ObjectName

  • ObjectType

RF Offsets Group

  • FrequencyOffsetHz

  • PhaseOffsetDeg

  • PhaseOffsetRad

PRI Details Group

  • EdgeJitterType

  • FrameInterval

  • JitterDeviationSec

  • NumberOfPulses

  • NumberOfSteps

  • PRIJitterType

  • PRIPatternEnable

  • PRIPatternType

  • PriStaggeredDataSize

  • PRIStart

  • PRIStep

  • PRIStop

  • PulsesPerStep

  • RelativePowerScaleDB

  • RepetitionIntervalSec

  • WobbulationDeviation

  • WobbulationRate

  • WobbulationStartTimeOffset

  • WobbulationType

Antenna Pattern Group

  • AntennaCustomDataSize

  • AntennaScanEnable

  • AntennaType

  • AzimuthBeamWidth

  • BarWidth

  • ConeRadius

  • ElevationBeamWidth

  • FirstSideLobeLevel

  • FlyBackTime

  • NullDepth

  • NumberOfBars

  • Radiation

  • RasterOrSectorWidth

  • ReceiverHorizontalLocation

  • ReceiverVerticalLocation

  • RepeatsRequiredForFullScan

  • RetraceTime

  • ScanRate

  • SideLobeRollOff

Hop Details Group

  • HopNumberOfPulses

  • HopNumberOfSteps

  • HopPatternEnable

  • HopPatternType

  • HopPulsesPerStep

  • HopStaggeredDataSize

  • HopStart

  • HopStep

  • HopStop

Object Group

DurationSec As Double
Property

Returns or sets the duration of a pattern item.

Remarks: You can specify the duration if the Object Type is Off time. If the Object Type is Pulse or Pattern, the duration is calculated from current pattern item parameters.

NumberOfRepeats As Long
Property

Returns or sets the number of times to repeat the pattern item. Used when generating PRI patterns, Pulse Width patterns, Antenna Scan patterns, Wobbulation, or Jitter. The number of repeats is invalid if the object type is Off time.

ObjectName As String
read-only Property

Returns the pattern item object name.

Remarks:
If the Object Type is Pulse, the Object Name will be the name of a pulse from the Pulse Library.
If the Object Type is Pattern, the Object Name will be the name of a pattern from the Pattern Library.
If the Object Type is Off time, there will be no object name.

ObjectType As AgtPBPatternItemObjectType
read-only Property

Returns the pattern item object type. The object type will be Pulse, Pattern, or Off time.

RF Offsets Group

FrequencyOffsetHz As Double
Property

Returns or sets the frequency offset of the pattern item in Hz.

Remarks: Frequency offset specifies the offset in Hz, from the current frequency to the carrier frequency. If the pattern that contains this item is nested in another pattern as a pattern item, the frequency offset will be the additive result of the two frequency offsets.

Example:

Item0 for Pattern1 has a frequency offset of 10 MHz. Item0 for Pattern2 refers to Pattern1 and has a frequency offset of 20 MHz. When generating Pattern1, the frequency offset of item0 will be 10 MHz. When generating Pattern2, the item0 frequency offset of Pattern1 will be 30 MHz.

PhaseOffsetDeg As Double
Property

Returns or sets the phase offset of a pattern item, in degrees, relative to other items in the pattern.

PhaseOffsetRad As Double
Property

Returns or sets the phase offset of a pattern item, in radians, relative to other items in the pattern.

PRI Details Group

EdgeJitterType As AgtPBJitterType
Property

Returns or sets the current Edge Jitter Type.

Remarks: You can specify the type only if the Object Type is Pulse or Pattern. You cannot specify the Edge Jitter Type if the Object Type is Off time.

FrameInterval as double
Property

Get or Set the Frame Interval in seconds.

Remarks: Used by the Bursted PRI pattern.

JitterDeviationSec As Double
Property

Returns or sets the maximum time excursion of the jitter. Jitter deviation is defined for the Trapezoidal and Raised-Cosine pulse types.

Remarks:
If the edge jitter type is None, jitter deviation will not be applied.
If the edge jitter type is Gaussian, jitter deviation is 1 sigma deviation from the ideal position.
If the edge jitter type is Uniform, jitter deviation will be evenly distributed around the falling edge of the pulse.

PRI_JitterType as AgtPBJitterType
Property

Get or Set the PRI Jitter Type

Remarks:

Equivalent to EdgeJitterType. See JitterDeviationSec.

NumberOfPulses as Long
Property

Get or Set the Number of Pulses.

Remarks:

Used by the LinearRamp and Bursted PRI pattern.

NumberOfSteps as Long
Property

Get or Set the Number of Steps.

PRIPatternEnable as bool
Property

Get or Set the PRI Pattern Enable.

Remarks:

Enable or disable PRI pattern, PRI Jitter, and PRI wobbulation without changing pattern, jitter, or wobbulation type. This preserves the PRI pattern properties while allowing the user to check the signal with or without the PRI pattern and impairments.

PRIPatternType as AgtPBPriPatternType
Property

Get or Set the PRI Pattern Type.

Remarks:

Changing the PRI pattern type resets the PRI pattern property values.

PriStaggeredDataSize as Long
read-only Property

Get the size of the PRI Staggered data array when PRI Pattern Type is Staggered.

Remarks:

Use before calling GetPriStaggeredData() to allocate enough space for the Staggered PRI data.

PRIStart as double
Property

Get or Set the PRI Start in seconds. This value is used as the starting point in the PRI pattern.

Remarks:

This property is coupled to RepetitionIntervalSec.

PRIStep as double
Property

Get or Set the PRI Step Time in seconds.

Remarks:

Used by the Stepped PRI pattern.

PRIStop as double
Property

Get or Set the PRI Stop Time in seconds.

Remarks:

Used by the LinearRamp PRI pattern.

PulsesPerStep as Long
Property

Get or Set the Pulses per Step.

Remarks:

Used by the Stepped PRI pattern.

RelativePowerScaleDB As Double
Property

Returns or sets the power scale of a pattern item, in dB, relative to other pattern items.

RepetitionIntervalSec As Double
Property

Returns or sets the repetition interval (pulse or pattern on and off time before the start of the next pulse or pattern). It is measured from the first point of the first pulse or pattern to the first point of the next pulse or pattern. Coupled to PRIStart.

WobbulationDeviation as double
Property

Get or Set the Wobbulation Deviation.

Remarks:

The size of the wobbulation in seconds. A negative deviation inverts the wobbulation pattern. For example, the Sawtooth Pattern of //// would become \\\\.

WobbulationRate as double
Property

Get or Set the Wobbulation Rate.

Remarks:

The wobbulation rate in Hz. The wobbulation rate resolution is not forced to be an integer multiple of DurationSec, the total pattern item period.

WobbulationStartTimeOffset as double
Property

Get or Set the Wobbulation Start Time Offset.

Remarks:

The wobbulation patterns are designed to always start at zero and increase. Use the Start Time Offset to start wobbulation pattern at a different point. Time in seconds.

WobbulationType as AgtPBPriWobbulationType
Property

Get or Set the Wobbulation Type.

Remarks:

Apply wobbulation impairment to PRI pattern. None, SawTooth, Sinusoidal, Triangular. See also NumberOfRepeat.

Antenna Pattern Group

AntennaCustomDataSize as Long
read-only Property

Get the size of the Custom Antenna data array.

Remarks:

Use before calling GetAntennaScanCustomData() to allocate enough space for the custom antenna data.

AntennaScanEnable As Bool
Property

Get or Set the Antenna Scan Enable.

Remarks:

Enable or disable Antenna scan without changing antenna type. This preserves the Antenna scan properties while allowing the user to check signal with or without the antenna scan.

AntennaType As AgtPBAntennaScanType
Property

Get or Set the Antenna Scan Type.

Remarks:

See NumberOfRepeats.

AzimuthBeamWidth as double
Property

Get or Set the Azimuth Beam Width in degrees.

Remarks:

The horizontal 3 dB beam width of the antenna radiation pattern in degrees. Valid range 0.01-360 with 0.001 degree resolution.

BarWidth as double
Property

Get or Set the Bar Width in degrees.

Remarks:

The angle between the raster bars in degrees. Valid range 0 to 360 degrees in 0.001 degree resolution.

ConeRadius as Double
Property

Get or Set the Cone Radius when AntennaScanType is Conical.

Remarks:

Conical scan cone radius in degrees. Valid range 0 to 180 degrees with 0.001 degree resolution.

ElevationBeamWidth as double
Property

Get or Set the Elevation Beam Width in degrees.

Remarks:

The vertical 3 dB beam width of the antenna radiation pattern in degrees. Valid range 0-360 with 0.001 degree resolution.

FirstSideLobeLevel as double
Property

Get or Set the First SideLobe Level in dB.

Remarks:

The first side lobe level when using Programmable Radiation Type. Valid range 0 to -90 dB. Actual minimum level is hardware dependent.

FlyBackTime as double
Property

Get or Set the FlyBack Time in seconds.

Remarks:

The time needed to return for the next raster scan when using UniDirectionalRaster. time needed to return to the start of the sector when using UniDirectionalSector. Valid range 0 to 10 seconds limited by hardware.

NullDepth as double
Property

Get or Set the Null Depth in dB.

Remarks:

The null depth between lobes of the radiation pattern. Valid range is 0 to -80 dB in 0.1 dB steps. lower limit of -80 dB is really hardware dependent.

NumberOfBars as Long
Property

Get or Set the Number of Bars when the AntennaScanType is Uni/Bidirectional Raster.

Radiation as AgtPBRadiationType
Property

Get or Set the Radiation Type.

Remarks:

Not used with Custom antenna scan.

RasterOrSectorWidth as double
Property

Get or Set the Raster or Sector Width when AntennaScanType is BidirectionalRaster, UnidirectionalRaster, BidirectionalSector, or UnidirectionalSector.

Remarks:

Valid range 0 to 360 degrees with 0.001 degree resolution.

ReceiverHorizontalLocation as double
Property

Get or Set the Receiver Horizontal Location in degrees.

Remarks:

The receiver location relative to the antenna bore sight in degrees. Valid range -180 to 180 degrees with 0.001 degree resolution.

ReceiverVerticalLocation as double
Property

Get or Set the Receiver Vertical Location in degrees.

Remarks:

The receiver location relative to the antenna bore sight in degrees. Valid range -180 to 180 degrees with 0.001 degree resolution.

RepeatsRequiredForCompleteScan as Long
read-only Property

Get the Repeats Required For a Complete Scan.

Remarks:

Calculate how many pulses are needed to generate one scan of the current antenna pattern. The number of pulses is based on the current pri pattern. See SetRepeatsForFullScan.

RetraceTime as double
Property

Get or Set the Retrace Time in seconds.

Remarks:

The time needed to return to the start of the antenna scan when using BiDirectionalRaster or UniDirectionalRaster scans. Valid range 0 to 10 seconds limited by hardware.

ScanRate as double
Property

Get or Set the Scan Rate.

Remarks:

Set the Antenna Scan rate. The units depend on the AntennaScantype. DegreesPerSecond for Bi/UniDirectionalRaster and Bi/UniDirectionalSector. Hz for Conical and Custom. RevolutionPerMinute (RPM) for Circular.

SideLobeRollOff as double
Property

Get or Set the SideLobe Roll Off in dB.

Remarks:

The side lobe level roll off when using Programmable Radiation Type. Valid range -6 to -48 dB in 6 dB steps.

Hop Details Group

HopNumberOfPulses as Long
Property

Get or Set the Number of Pulses in the Linear hop pattern.

Remarks:

Used by the LinearRamp hop pattern.

HopNumberOfSteps as Long
Property

Get or Set the Number of Steps in the Stepped hop pattern.

Remarks:

Used by the Stepped hop pattern.

HopPatternEnable as bool
Property

Get or Set the Hop Pattern Enable.

Remarks:

Enable or disable the hop pattern without changing the current pattern configuration. This preserves the hop pattern properties while allowing the user to check the signal with or without the hop pattern.

HopPatternType as AgtPBHopPatternType
Property

Get or Set the frequency hop pattern type.

Remarks:

Changing the hop pattern type resets the hop pattern property values.

HopPulsesPerStep as Long
Property

Get or Set the number of pulse in each step of the Stepped hop pattern.

Remarks:

Used by the Stepped hop pattern.

HopStaggeredDataSize as Long
read-only Property

Get the number of entries in the user hop pattern when Hop Pattern Type is Staggered.

Remarks:

Use before calling GetHopStaggeredData() to allocate enough space for the Staggered hop data.

HopStart as double
Property

Get or Set the hop pattern starting frequency in Hz.

Remarks:

Used by the None, Linear Ramp, and Stepped hop pattern types.

HopStep as double
Property

Get or Set the hop step frequency in Hz.

Remarks:

Used by the Stepped hop pattern type.

HopStop as double
Property

Get or Set the hop pattern stop frequency in Hz.

Remarks:

Used by the LinearRamp hop pattern type.


MethodsPatternItemClass

AgtPBPatternItem Methods

Copy (Item As AgtPBPatternItemObjectType)

Copies the pattern item contents from another pattern item.

Parameters:

Item: The pattern item contents to be copied.

GetAntennaScanCustomData(ref double[,] data);

Get the Antenna Scan custom data when the current Antenna Scan type is Custom.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

See AntennaCustomDataSize.

GetHopStaggeredData(ref double[,] data);

Get the Hop Staggered data when the current hop type is Staggered.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

See HopStaggeredDataSize, Hop stagger frequency values in Hz.

GetPriStaggeredData(ref double[,] data);

Get the PRI Staggered data when the current PRI type is Staggered.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

See PriStaggeredDataSize, PRI stagger times are in seconds.

SetAntennaScanCustomData(ref double[,] data);

Set the Antenna Scan custom data when the current Antenna Scan type is Custom.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

Data is assumed to be in dB. Valid range 0 to -80 dB with the actual depth limited by hardware. See NumberOfRepeats.

SetHopStaggeredData(ref double[,] data);

Set the user frequency hop pattern when the current hop type is Staggered.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

See HopStaggeredDataSize. Hop stagger frequency values in Hz.

SetObject (Type As AgtPBPatternItemObjectType, Name As String)

Sets the Object Type and Object Name of the pattern item.

Parameters:

Type: The object type of the pattern item.

Name: The object name of the pattern item.

Remarks:
If the Object Type is Pulse, the Object Name should be the name of a pulse from the Pulse Library.
If the Object Type is Pattern, the Object Name should be the name of a pattern from the Pattern Library.
If the Object Type is Off time, the Object Name will be ignored.

SetPriStaggeredData(ref double[,] data);

Set the PRI Staggered data when the current PRI type is Staggered.

Parameters:

Data: A two dimensional array where the first dimension is 1. [1,n]

Remarks:

See PriStaggeredDataSize. PRI stagger data is in seconds.

SetRepeatsForFullScan();

Set the NumberOfRepeats to the number required to generate a complete antenna scan.

Parameters:

None

Remarks:

The number of repeats is based on the current item PRI pattern, jitter, and wobbulation. The number of repeats may exceed the current hardware capability. See RepeatsRequiredForCompleteScan.


Visual Basic Examples Pattern Item

AgtPBPatternItem Visual Basic Examples

1. Create a new item with a 10 MHz frequency offset

Option Explicit
Dim project As AgtPBProject
Dim pulselib As AgtPBPulseLibrary
Dim pulse As AgtPBPulse
Dim pattern As AgtPBPattern
Dim patternItem As AgtPBPatternItem

Private Sub CreateNewPulse( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
Set pulseLib = project.PulseLibrary
Call pulseLib.CreateNewPulse ("mypulse")
pulse.PulseType = AgtPBPulseType_RaisedCosine
Set pattern = project.CreateNewPattern("mypattern")
Set patternItem = pattern.CreateNewItem(AgtPBPatternItemObjectType_Pulse,
 "mypulse")
patternItem.FrequencyOffsetHz = 10000000
Call project.Save( )

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBSignalProperties Class

AgtPBSignalProperties

AgtPBSignalProperties represents the property of a pattern to ensure the signal can be generated and played correctly. The instance of a signal property can only be accessed through Properties in the AgtPBPattern class.

  • Properties


PropertiesSignalPropertiesClass

AgtPBSignalProperties Properties

  • ALCActive

  • BasebandFilterHz

  • OutputVoltage

  • ALCHold

  • CustomFilterBandwidth

  • PulseModulatorOn

  • ALCLevelDBm

  • Description

  • RMSVoltage

  • AmplitudeDBm

  • Event1

  • SampleClockSource

  • AmplitudeOffsetDB

  • Event2

  • SamplingRateHz

  • AttenuationDB

  • Event3

  • SignalBandwidthHz

  • AttenuatorHold

  • FrequencyHz

  • TriggerDelay

  • AutoAliasFilter

  • FrequencyOffsetHz

  • TriggerLevel

  • AutoOutputVoltage

  • IntReconstructionFilter

  • TriggerMode

  • AutoRMSVoltage

  • MarkerPolarityPositive

  • TriggerPolarity

  • AutoSampleRate

  • MirrorSpectrum

  • TriggerSource

  • AutoSignalBandwidth

  • ModAttenuationDB

ALCActive As Boolean
Property

Returns or sets the value indicating whether the signal generator's ALC Active is on or off.

ALCHold As Boolean
Property

Returns or sets the value indicating whether the signal generator's ALC Hold is on or off.

Internal IQ:

The Event 3 marker is routed internally in the PSG/MXG/EXG/ESG to the pulse modulator. Event 3 is also available on pin 19 of the Auxiliary I/O connector on the PSG/ESG rear panel or on pin 3 of the Auxiliary I/O connector on the MXG/EXG.

External IQ, Wideband I/Q:

The Event 3 marker is routed externally to the E8267D or N8212A ALC Hold input. The system configuration is such that:

  • The N603xA/M933xA or N824xA ”Marker 3” output should be connected to the ALC Hold input on the E8267D rear panel or to the ALC Hold input on the N8212A front panel.

Remarks:

When enabled, the Event 3 marker signal is programmed to drive the ALC hold line such that the ALC is only active during the pulse steady state amplitude. This feature prevents the ALC from trying to level the signal during rising or falling edges that are greater than 100 ns, and from trying to level the signal during pulses that have a power scale other than 0 dB.

ALCLevelDBm As Double
Property

Returns or sets the ALC level in dBm on the signal generator. The valid range is from –20 dBm to 25 dBm with 0.01 dB resolution. The signal generator's Attenuator Hold must be set to true.

AmplitudeDBm As Double
Property

Returns or sets the amplitude in dBm on the signal generator. The valid range is from –135 dBm to 25 dBm with 0.01 dB resolution.

AmplitudeOffsetDB As Double
Property

Returns or sets the amplitude offset in dB in the signal generator, and is applied to the value and range limits. The valid range is from –200 dB to 200 dB with 0.01 dB resolution.

AttenuationDB As Double
Property

Returns or sets the attenuation on your signal generator. The valid attenuation is from 0 dB to 115 dB with 5.0 dB resolution. The signal generator's Attenuator Hold must be set to true.

AttenuatorHold As Boolean
Property

Returns or sets the value indicating whether the signal generator's Attenuator Hold is on or off.

AutoAliasFilter As Boolean
Property

Returns or sets the AutoAliasProperty. When true the Arb alias filter is chosen automatically based on the SamplingRateHz and the hardware capabilities.

Remarks:

See CustomFilterBandwidth.

AutoOutputVoltage As Boolean
Property

Return or set the AutoOutputVoltage property. When true, automatically choose the best output voltage from the Arb for the Signal Generator I/Q input. When disabled use the OutputVoltage provided.

Remarks:

This value is propagated to the hardware using PlayPattern().

AutoRMSVoltage As Boolean
Property

Return or set the AutoRMSVoltage property. When true the application automatically manages the waveform RMS voltage. The N7620B application uses the signal RMS voltage to provide accurate power search when the PSG/MXG/EXG/ESG ALC is disabled.

Remarks:

See RMSVoltage

AutoSampleRate As Boolean
Property

Return or set the AutoSampleRate property. When true automatically set the Arb sample rate frequency. Typically this is the maximum sample rate. When false let the user specify the sample rate frequency and the sample clock source.

Remarks: This value is propagated to the hardware using PlayPattern().

AutoSignalBandwidth As Boolean
Property

Return or set the AutoSignalBandwidth property. When false, allow user to select the calibration signal bandwidth. When true, automatically choose the hardware appropriate calibration bandwidth. Typically the auto bandwidth will be the lesser of the actual hardware signal path bandwidth or of SampleRate*0.9.

Remarks:

This value is propagated to the hardware using PlayPattern(). See SignalBandwidthHz.

BasebandFilterHz As Double
read-only Property

Returns the frequency in Hz of the signal generator's baseband filter.

Type:

Bw40MHz

BwThrough

Remarks:

The baseband filter default value is system configuration specific:

ESG/PSG internal arb – 40 MHz
ESG/PSG external IQ – Through
PSG Option 015, 016, H16 – Disabled

For legacy support only. Use CustomFilterBandwidth instead. See AutoAliasFilter.

CustomFilterBandwidth As Double
Property

Returns or sets the Arb alias filter frequency.

Remarks:

Must set AutoAliasFilter to false. This value is propagated to the hardware using PlayPattern().

Description As String
Property

Returns or sets a comment for the signal.

Event1 As AgtPBEventType
Property

Returns or sets the event type of Event 1.

Type:

None: No marker will be present at the event output and the event will remain low for the duration of the pattern.
Pulse Start: A marker will be present at the event output at the start of each pulse in the pattern.
Pulse Gate: A marker will be present at the event output for the duration of each pulse in the pattern.
Signal Start: A marker will be present at the event output at the beginning of the first pulse in the pattern.

Event 1 output locations:

Internal Arb | Event 1 out on the instrument's rear panel
N603xA/M933xA | Marker 1 output on the instrument's front panel
N824xA | Marker 1 output on the instrument's front panel

Event2 As AgtPBEventType
Property

Returns or sets the event type of Event 2.

Type:

None: No marker will be present at the event output and the event will remain low for the duration of the pattern.
Pulse Start: A marker will be present at the event output at the start of each pulse in the pattern.
Pulse Gate: A marker will be present at the event output for the duration of each pulse in the pattern.
Signal Start: A marker will be present at the event output at the beginning of the first pulse in the pattern.

Event 2 output locations:

Internal Arb | Event 2 out on the instrument's rear panel
N603xA/M933xA | Marker 2 output on the instrument's front panel
N824xA | Marker 2 output on the instrument's front panel

Event3 As AgtPBEventType
Property

Returns or sets the event type of Event 3.

Type:

None: No marker will be present at the event output and the event will remain low for the duration of the pattern.
Pulse Start: A marker will be present at the event output at the start of each pulse in the pattern.
Pulse Gate: A marker will be present at the event output for the duration of each pulse in the pattern.
Signal Start: A marker will be present at the event output at the beginning of the first pulse in the pattern.

Event 3 output locations:

Internal Arb | Pin 19 of the Auxiliary I/O output on the instrument's rear panel
N603xA/M933xA | Marker 3 output on the instrument's front panel
N824xA | Marker 3 output on the instrument's front panel

When ALC Hold is enabled, Event 3 is disabled and the marker signal is specifically designed to drive the ALC Hold input on the signal generator.

FrequencyHz As Double
Property

Returns or sets the frequency on the signal generator. The valid frequency range depends on the signal generator. The resolution is 1.0 Hz.

FrequencyOffsetHz As Double
Property

Sets or returns the frequency offset on the signal generator. FrequencyOffset alters the visual display and the frequency range limits on the signal generator. The valid frequency range is –200 GHz to 200 GHz. The resolution is 0.01 Hz.

IntReconstructionFilter As AgtPBIntArbFilterType
Property

Returns or sets the internal filter type for the arbitrary waveform generator. For N603xA/M933xA or N824xA only.

Type:

Through: No filter is used.
250 MHz: Use this filter with the 1250 MHz sampling rate where less signal bandwidth is required. Helps limit broadband noise.
500 MHz: Use this filter with a 1250 MHz sampling rate for the most signal bandwidth.

Remarks:

Use the largest filter possible to minimize the affect on the RF phase linearity. For legacy support only. Use CustomFilterBandwidth instead. See AutoAliasFilter.

MarkerPolarityPositive
Property

When true, the marker leading edge is positive. When false, the marker leading edge is negative.

MirrorSpectrum As Boolean
Property

Reverses the spectrum of the waveform when it is downloaded.

Remarks:

Useful for systems with external up conversion where the signal spectrum is mirrored by the up conversion process. See Mirror Spectrum.

ModAttenuationDB As Double
Property

Returns or sets the modulation attenuation on your signal generator. The valid modulation attenuation range is from 0 dB to 40 dB with .01 dB resolution.

Remarks: Direct control of the modulation attenuator is no longer supported by the N7620B software. The PSG/ESG firmware now selects the modulation attenuator value based on the signal RMS voltage. See AutoRMSVoltage and RMSVoltage.

OutputVoltage As Double
Property

Returns or sets the output voltage. Valid for external or wideband I/Q only. Set AutoOutputVoltage to false to manually set the output voltage.

Range: 0.34 to 0.5 V and 0.68 to 1.0 V
External I/Q default: 0.4 V
Wideband I/Q default: 1.0 V
Units: V

Remarks:

The N603xA/M933xA/N824xA Arb has 3 output configurations: Differential, Single Ended, and Single Ended with 2x gain. The N7620B software uses the single ended configurations with the E8267D PSG Signal Generator. Valid Arb peak to peak voltages are from 0.34 to 0.5 V and 0.68 to 1.0 V. The 2x amplifier is used for the 0.68 to 1.0 V range. The default setting is 1.0 V. The only reason to change this value is to improve the non-linear distortion through the system. To do this the voltage must be set to 0.5 V or less to bypass the 2x amplifier in the N603xA/M933xA Arb. Caution must be used when reducing the Arb output voltage as the E8267D may go unleveled. The unleveled condition is caused when the E8267D receives insufficient drive level from the I/Q signal out of the Arb. For constant amplitude pulses it is possible to set the Arb voltage to 0.5 V and still get leveled output at 0 dBm. Higher leveled output power from the PSG is possible with the Arb output voltage set to 0.5 V, but not at all frequencies.

PulseModulatorOn As Boolean
Property

Returns or sets the value indicating whether or not the pulse modulator is turned on. When enabled, the on/off ratio is 80 dBc or better. When disabled, the on/off ration will be ~60 dBc with the internal arbitrary waveform generator, the N603xA/M933xA or the N824xA. The alignment resolution is hardware and sample rate dependent:

Internal IQ

The Event 4 marker is routed to the pulse modulator internally in the ESG/PSG. Event 4 is also available on pin 18 of the "Auxiliary I/O" connector on the instrument's rear panel. Alignment resolution is 10 ns when using a 100 MHz sample rate.

External IQ, Wideband IQ

The Event 4 marker is externally routed to the pulse modulator in the ESG/PSG. the pulse modulation sub-system is enabled and the source is set to "Ext Pulse" on the PSG and to "Ext2 DC-Coupled" on the ESG. The system should be configured so that:

  • The N603xA/M933xA or N824xA "Marker 4" output should be connected to the "Gate/Pulse/Trigger Input" on the PSG, or to the "Ext2 Input" on the ESG. The alignment resolution is 6.4 ns when using a 1.25 GHz sample rate.

Remarks:

When the pulse modulator is on, it is driven by Event 4 routed internally. Event 4 will turn the pulse modulator on as close as possible to the beginning of the pulse, and off as close as possible to the end of the pulse. When Pulse Modulator On and Download are called, the signal will generate marker 4 to drive the pulse modulator. When the pulse modulator is off and Download is called, the signal will not generate marker 4. In this case, if the pulse modulator is turned on without re-downloading the signal, there will be no signal output since Event 4 is empty.

RMSVoltage As Double
Property

Returns or sets the signal RMS voltage. The N7620B application uses the signal RMS voltage to provide an accurate power search when the ESG/PSG ALC is disabled.

Remarks: See AutoRMSVoltage.

SampleClockSource As AgtPBSampleClockSource
Property

Sets or returns the sample clock source. External source may be used when multiple arbitrary waveform generators need to be synchronized. See AutoSampleRate.

Type:

Internal
External

SamplingRateHz As Double
Property

Returns or sets the sampling rate on your signal generator. See AutoSampleRate.

Remarks:

See Generate Correction.

SignalBandwidthHz As Double
Property

Returns or sets the bandwidth used to optimize the correction applied to the waveform. The minimum bandwidth is 10 MHz with the maximum bandwidth being dependent on the arbitrary waveform generator. See AutoSignalBandwidth.

Remarks:

See Signal Bandwidth.

TriggerDelay As Double
Property

Returns or sets the trigger delay. Maximum trigger delay and trigger delay resolution is system dependent.

ESG/PSG internal arb (Option 001, 002, 601, 602)

Resolution: 10 ns at 100 MHz, 1/sample rate
Maximum: 1 s

N603xA/M933xA or N824xA

Resolution: 6.4 ns at 1250 MHz, 8/sample rate
Maximum: 1.6 us at 1250 MHz, 2000/sample rate

Units: s

TriggerLevel As Double
Property

Returns or sets the trigger level. The trigger level range is system dependent.

ESG/PSG internal arb (Option 001, 002, 601, 602)

TTL 2.5 V

N603xA/M933xA or N824xA

-4.3 to 4.3 V

Units: V

TriggerMode As AgtPBTriggerMode
Property

Returns or sets the trigger mode. Types are:

None – No trigger required. Pulse Pattern plays automatically after download, and repeats until stopped.

Continuous – Pulse Pattern plays after receiving a valid trigger. Pattern repeats until stopped.

Single – Pulse Pattern plays once for each trigger received.

Pulse – The next pulse in the Pulse Pattern is played. You can step through pattern one pulse at a time. Effective pulse repetition level is set by the input trigger rate.

Remarks:

When the trigger is in Pulse mode, the following rules are applied to the pulse pattern:

  1. Nested patterns are flattened before triggering is applied. This means a nested Pattern is not played through with a single trigger. Instead, a trigger is required for each pulse in the nested pattern.

  2. Off time objects are ignored.

TriggerPolarity As AgtPBTriggerPolarity
Property

Returns or sets the trigger polarity. Types are:

Positive
Negative

TriggerSource As AgtPBTriggerSource
Property

Returns or sets the trigger source. Types are:

Software:

Trigger provided by API "trigger now" method

External 1:

ESG/PSG Option 001, 002, 601, 602 – External trigger input is "PATTERN TRIG IN" on the instrument's rear panel.

N603xA/M933xA or N824xA – External trigger input is "Trigger 1" on the instrument's front panel.

External 2:

ESG/PSG Option 001, 002, 601, 602 – External trigger input is pin number 17 on the "AUXILIARY I/O" connector on the instrument's rear panel.

N603xA/M933xA or N824xA – External trigger input is "Trigger 2" on the instrument's front panel.


AgtPBSignalGenerator Class

AgtPBSignalGenerator

AgtPBSignalGenerator represents the signal generator connected to the project. An instance of a signal generator can only be accessed through the SignalGenerator property of AgtPBProject.

  • Methods
  • Visual Basic Example


MethodsSignalGeneratorClass

AgtPBSignalGenerator Methods

  • ClearArbMemory

  • SetConnectionGPIB

  • ClearCalibrationData

  • SetConnectionTCPIP

  • Ping

ClearArbMemory ( )

Clears the waveform and sequence memory of the Arb currently configured in the system.

ClearCalibrationData ( )

Clears the correction data from the signal generator.

Ping ( ) As Boolean

Tests the connection between the PC and the signal generator.

SetConnectionGPIB (BoardIndex As Long, PrimaryAddress As Long, SecondaryAddress As Long)

Configures the GPIB connection on your signal generator.

Parameters:

BoardIndex: 0 (default)

Primary Address: 19 (default)

Secondary Address: 0 (default)

Preferred method is AgtPBSystemConfiguration. This is an old command retained for software revision compatibility.

SetConnectionTCPIP (Address As String)

Configures the TCP/IP connection on your signal generator. The VI_ERROR_ALLOC error indicates that an attempt was made to connect to a TCP/IP address that is currently in use by another application.

Parameters:

Address: The IP address of the signal generator.

Preferred method is AgtPBSystemConfiguration. This is an old command retained for software revision compatibility.


Visual Basic Examples Signal Generator

AgtPBSignalGenerator Visual Basic Examples

1. Set up a GPIB connection

Option Explicit
Dim project As AgtPBProject

Private Sub SetSG( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
project.SignalGenerator.SetConnectionGPIB(0,19,0)

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBSpectrumAnalyzer Class

AgtPBSpectrumAnalyzer

AgtPBSpectrumAnalyzer represents the spectrum analyzer connected to the project. An instance of a spectrum analyzer can only be accessed through the SpectrumAnalyzer property of AgtPBProject.

  • Methods
  • Visual Basic Examples


MethodsSpectrumAnalyzerClass

AgtPBSpectrumAnalyzer Methods

Ping ( ) As Boolean

Tests the connection between the PC and the spectrum/signal analyzer.

SetConnectionGPIB ( BoardIndex As Long, PrimaryAddress As Long, SecondaryAddress As Long)

Configures the GPIB connection on your analyzer.

Parameters:

BoardIndex:

PrimaryAddress:

SecondaryAddress:

Preferred method is AgtPBSystemConfiguration. This is an old command retained for software revision compatibility.

SetConnectionTCPIP ( Address As String)

Configures the TCP/IP connection on your analyzer.

Parameters:

Address: The IP address of the analyzer

Preferred method is AgtPBSystemConfiguration. This is an old command retained for software revision compatibility.


Visual Basic Examples Spectrum Analyzer

AgtPBSpectrumAnalyzer Visual Basic Examples

1. Set up a GPIB connection

Option Explicit
Dim project As AgtPBProject

Private Sub SetSA( )
On Error GoTo handlers

Set project = New AgtPBProject
Call project.NewProject("myproject.pbp")
project.SpectrumAnalyzer.SetConnectionGPIB(0,19,0)

Exit sub
handlers:

MsgBox Err.Description

End Sub


AgtPBSystemConfiguration

AgtPBSystemConfiguration represents the system configuration for the current project.

  • Methods

  • Sample Code


Methods_SystemConfiguration

AgtPBSystemConfiguration Methods

  • AddSystemToDatabase

  • SetCurrentSystem

  • DiscoverSystemNames

  • SetCurrentSystemFromDatabase

  • GetCurrentSystemInfo

  • SystemExists

  • RemoveSystemFromDatabase

AddSystemToDatabase (Name As String, systemInfo As AgtPBSystemInfo)
Method

Adds a defined system definition to the database. The application maintains a database for defined systems. This function allows you to create and save a system into the database. The name of the system must be unique. Call DiscoverSystemNames to get the list of existing system names.

RemoveSystemFromDatabase (Name As String)
Method

Removes a system from the database.

SetCurrentSystemFromDatabase (Name As String)
Method

Selects a system from the database and sets it as the current system of the application

SetCurrentSystem (Name As String, systemInfo As AgtPBSystemInfo)
Method

Sets the current system of the application with the defined system and adds it to the database.

GetCurrentSystemInfo( ) As AgtPBSystemInfo
Method

Retrieves the current configuration information for the application.

DiscoverSystemNames( ) Name As String
Method

Retrieves a list of existing system names in the system database.

SystemExists (String Name) As Boolean
Method

Returns a value indicating whether or not a system exists in the system database.


Sample_code_for_hardware_system

AgtPBSystemConfiguration Visual Basic Example

1. Configure a hardware system

Option Explicit

Dim project As AgtPBProject

Dim systemInfo As AgtPBSystemInfo

Private Sub ConnectHardware()

On Error GoTo handlers

Set project = New AgtPBProject

Set systemInfo = New AgtPBSystemInfo

project.NewProject ("MyProject")

systemInfo.SignalGeneratorAddress = "GPIB0::19::INSTR"

systemInfo.SpectrumAnalyzerAddress = "GPIB0::18::INSTR"

systemInfo.ArbGeneratorAddress = "GPIB0::19::INSTR"

systemInfo.UseSpectrumAnalyzer = True

Call project.SystemConfiguration.SetCurrentSystem("MyHardwareSetup", systemInfo)

Exit Sub

handlers:

MsgBox Err.Description

End Sub


AgtPBSysteminfoClass

AgtPBSystemInfo

AgtPBSystemInfo allows you to retrieve system information for the current configuration.

  • Properties


Properties Systeminfo Class

AgtPBSystemInfo Properties

  • ArbGeneratorAddress

  • SpectrumAnalyzerAddress

  • IQInputs

  • UseSpectrumAnalyzer

  • SignalGeneratorAddress

SignalGeneratorAddress As String
Property

Returns or sets the signal generator address.

SpectrumAnalyzerAddress As String
Property

Returns or sets the spectrum/signal analyzer address. This can be null or not set if UseSpectrumAnalyzer = false.

ArbGeneratorAddress As String
Property

Returns or sets the arbitrary waveform generator address.

UseSpectrumAnalyzer As Boolean
Property

Returns or sets whether or not to use a spectrum/signal analyzer to generate correction data. If set to false, the address of the analyzer is ignored.

IQInputs As AgtPBIqInputs
Property

Returns or sets the AgtPBIqInputs type.

Type:

Internal
External
External Wideband


Programming Examples

API Programming Examples

This section contains information on programming, using the Pulse Building API. Several programming examples that demonstrate how to use the pulse building API using Microsoft Visual Basic 6.0 are given. The Pulse Building API is installed on the computer when the Pulse Building software is downloaded.

Refer to the section on Pulse Building Classes for information on the properties, methods and enumeration types associated with the Pulse Building software. The API members can also be viewed using the Object Browser in Microsoft Visual Basic. It is available from the View menu in the Visual Basic project.

The programming examples, with the exception of the Executive Test example, duplicate the examples manually generated in the Pulse Building Examples section of this Help document. You can run the manual examples and compare the results to the results obtained from the programming example.

The following is a list of the contents for this section:

  • Programming Overview

  • COM API

  • Frequency Agile Program Example

  • Sensitivity Program Example

  • Complex Test Program Example

  • Executive Test Program Example


Programming Overview

API Programming Overview

The Pulse Building API uses a COM object model that you can use in your software application to access all features available in the Pulse Building GUI. The Pulse Building installer installs and registers API components (dlls) on your PC and you can access the COM object by making a reference to it in your Visual Basic project. When you develop your Visual Basic program using the Pulse Building COM object, all object properties and methods used by the Pulse Building GUI can be accessed by the application.

The Pulse Building COM object is called AgtPBProject. The Classes section of this Help document has API information that describes in detail the classes, properties, and methods for the object. In addition, you can use the Visual Basic Object Browser to view the methods, properties, and classes associated with the AgtPBProjectobject.

In the Visual Basic integrated development environment (IDE) the Object Browser is available under the View pulldown menu. In this menu select AgtPBProject under Classes to view all of the available properties, methods, and classes of the Pulse Building COM object.

The programming examples, with the exception of the Executive Test example, duplicate the examples manually generated in the Pulse Building Examples section of this Help document. You can run the manual examples and compare the results to the results obtained from the programming example.

Requirements

The Visual Basic IDE must be installed on your computer. In addition you must have the following installed on your computer:

  • Keysight IO libraries

  • GPIB or LAN interface card

  • Microsoft .NET framework

For more information on the requirements for remotely controlling instruments, refer to the Signal Studio Software Installation Guide and the signal generator Programming Guide.

Visual Basic Examples

This section tells you how to use the Pulse Building API in a Visual Basic application and gives example programs for three different signals:

  • Frequency Agile Example

  • Sensitivity Example

  • Complex Test Example

  • Executive Test Example

Developing Your Visual Basic Application

When you install the Pulse Building software, the Pulse Building API will be registered on your computer. To make the Pulse Building COM object available in your Visual Basic application, perform the follow the steps:

  1. Run Microsoft Visual Basic 6.0.

  2. Open a Standard EXE from the New Project window.

  3. Select Project - References from the project window.

  4. Select the Keysight Signal Studio for Pulse Building in the Available References list box. Click the check box to the left of this item.

  5. Click OK.

If you are importing text data from a file you will need to select the Microsoft Scripting Runtimelibrary from the Available References. The Frequency Agile example uses file input to read data from text files and therefore requires this library.

To use the Pulse Building COM object in your application you must declare an object of type AgtPBProject which is the name of the Keysight Pulse Building COM object. To declare the Pulse Building COM object add the following code statement in the General section of the Visual Basic Form1:

Dim project As AgtPBProject

The name, project in this example, can be any name you choose. For example, you could use: Dim Freq_Agile As AgtPBProject .

To access the Pulse Building COM object add the following code to the Form_Load event procedure:

Set project = New AgtPBProject

To initialize a new project add the following code to command button event procedure:

project.NewProject ("Frequency Agile.pbp")

The .NewProject procedure declares default parameters for the .pbp project. If you have an existing .pbp file, such as one generated in the Pulse Building Examples section of this Help document, you can load the file using the .OpenProject procedure. You can then change the project file in your code and save this changed version to a different file name using the .SaveProject procedure.

Running the Visual Basic Examples

These example programs are available in the following default directory:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\VB6

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\VB6

The programs should be run from that location. See the Signal Studio Software Installation Guide for information on the I/O interface and how to connect the signal generator, analyzer, and PC.

It is recommended that the examples shown in the Pulse Building Examples section of this Help document be reviewed and the signals generated by those examples be compared to those created by the program examples. Use the analyzer settings shown in the examples section to view the waveform.

Related Topics

COM API

Frequency Agile Program Example

Sensitivity Program Example

Complex Test Program Example

Executive Test Program Example


COM API

The Keysight N7620B Signal Studio for Pulse Building software provides an Application Programming Interface to its Component Object Model, or COM API. This API, known as COM Callable Wrapper (CCW), is automatically generated from N7620B .NET API during installation.

For help on classes, enumerations, methods, properties and events, please refer to .NET API help content.

You can find COM API example programs (for Visual Basic 6.0 users) in:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\VB6

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\VB6

Example MatLab Script

The following example shows the use of the N7620B ProgID (CCWAPI.AgtPBProject) in a MatLab script.

1 | project = actxserver('CCWAPI.AgtPBProject') | %create the project
2 | invoke(project) | %display all methods
3 | invoke(project, 'NewProject','c:\mine') | %create new project
4 | pulselib = get(project,'PulseLibrary') | %get pulse library
5 | invoke(pulselib) | %display all methods
6 | invoke(pulselib,'CreateNewPulse','mine') | %create a pulse with default values
7 | invoke(project,'SaveProject') | %save project
8 | release(project) | %release handles
9 | release(pulselib) |


Frequency Agile Program Example

The Frequency Agile program generates a signal with a single pattern consisting of three pulses. Each of the pulses use different Pulse Type definitions. The first pulse, CW1, is created using the Pulse Building application's trapezoidal definition. The second pulse, CW2, uses a custom I/Q format to describe the trapezoidal pulse type. The third pulse, CW3, uses a custom profile format to describe the pulse. This program example creates the signal generated in the Frequency Agile Example shown in the Examples section of this Help system and uses the same parameters. Review this example for a description and details on the settings and parameters used to generate the signal. The Frequency Agile program will:

  • Build a pattern of pulses

  • Use pattern parameter properties such as repeats, edge jitter, and so forth

  • Set the signal generator power level and frequency

  • Generate three pulses with different frequency offset values

  • Use the power scale function to scale the amplitude of the third pulse

  • Read I/Q and custom profile data from a text file

Each of the forms that make up this program example is discussed in the following sections:

  • Signal Studio for Pulse Building Form

  • Signal Generator and Spectrum Analyzer Connection Forms

Details on procedures and declarations include:

  • General Section

  • Form Load Event

  • cmdRun Event

  • ReadDataASCIIFile

Pulse Building Form

The Pulse Building form is the first form displayed when the program is run. The Connect to Instrument [image] button on this form starts the Run System Configuration wizard. This wizard allows you to change or create a hardware configuration and select a GPIB or LAN (TCP/IP) connection for I/O instrument communication. You can also access the wizard from the Closed System menu. In addition to the Connect to Instrument button, the Pulse Building form has a Download and Play [image] command button that will generate a waveform, download the waveform, marker, and sequence files to the signal generator, and play the corrected waveform.

The Frequency Agile example uses file input to read data from text files. Select the Microsoft Scripting Runtime library from the Available References in your Visual Basic project. You must reference this library.

A check mark beside Enable Corrections on the Closed Download menu indicates that corrections are applied to the signal. The corrections used are RF Flatness and Image Rejection. You must have an analyzer connected to the signal generator if you want to use corrections. To save the .pbp file in the directory where the Menu Driven Test program is run click the Save button [image] or select File > Save. This .pbp file consists of the Pulse and Pattern Library items along with all associated parameters.

You must have a spectrum or signal analyzer connected to the signal generator if you want to use corrections.

General Section

The following code listing is from the Pulse Building form's General section. Descriptions follow the code lines.

Option Explicit ' It is advised that Option Explicit be used to prevent spelling and declaration errors in the program.

Dim project As AgtPBProject ' Declare an object, project, as type AgtPBProject. All the functionality available in the Pulse Building GUI is available in the AgtPBProject object.

Dim cw1 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw1. This is the first pulse

Dim cw2 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw2.

Dim cw3 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw3.

Dim AgilePattern As AgtPBPattern ' Declare an object, AgilePattern, as type AgtPBPattern.

Dim AgileItem As AgtPBPatternItem' Declare an object AgileItem, as type AgtPBPatternitem for the Agile pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim SpectrumAnalyzer As AgtPBSpectrumAnalyzer ' Declare an analyzer instrument object.

Dim SignalGenerator As AgtPBSignalGenerator ' Declare a signal generator instrument object.

Dim Settings As AgtPBSignalProperties ' Declare a signal generator properties object. Functions such as amplitude and frequency are set using the Settings object.

Dim IData() As Double ' Declare a dynamic array to hold I data values

Dim QData() As Double ' Declare a dynamic array to hold Q data values

Dim customProfile() As Double ' Declare a dynamic array to hold custom profile data

Dim dataType As String ' Declare a string variable to indicate data type; Custom profile or IQ data.

Dim SGConnected As Boolean ' Used to verify signal generator IO connection

Dim SAConnected As Boolean ' Used to verify analyzer IO connection

Form Load Event

The following code listing is from the Pulse Building form'sForm_Load() event. Functions and code descriptions follow or precede the code statements.

Private Sub Form_Load()

On Error GoTo Error_Handler ' sets up an error trap to handle errors. If an error occurs in this procedure, the code execution jumps to the 'Error_Handler line label and a message describing the error is generated.

Set project = New AgtPBProject ' Creates a new project by instantiating an object of type AgtPBProject.

Exit Sub

Error_Handler:

MsgBox Err.Description

End Sub

cmdRun Event

The following code listing is from the Pulse Building form'scmdRun_Click() event. The program creates three pulses; CW1, CW2, and CW3. These three pulses are used to create a pattern named AgilePattern. Comments describing functions follow or precede code statements.

Private Sub cmdRun_Click()

On Error GoTo ErrorHandler ' Sets up an error trap to handle errors. If an error occurs in this procedure, code execution 'jumps to the Error_Handler line label and a message describing the error is generated.

If Not SGConnected Then ' Check to see that the signal generator IO connection is valid

Call MsgBox("Connect Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

If Not SAConnected And chkCorrections.Value = 1 Then ' Check to see that the analyzer IO connection is valid

Call MsgBox("Connect Spectrum Analyzer", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

frmMain.MousePointer = vbHourglass ' Use an hourglass pointer to indicate the procedure is running.

cmdRun.Enabled = False ' Disable the Download and Play button until the process has finished

project.NewProject ("Frequency Agile Pulse.pbp") ' Create a new pbp project file

' Create the first pulse

Set cw1 = project.PulseLibrary.CreateNewPulse("CW1") ' Create a new pulse named cw1

cw1.PulseType = AgtPBPulseType_Trapezoidal ' Set the pulse type to Trapezoidal

' Set the rise time to 30 ns, the fall time to 30 ns, 100% to 100% to 940 ns, the width jitter type to

' Gaussian, and the jitter deviation to 100 ns

Call cw1.SetEnvelopeTrapezoidal(0.00000003, 0.00000003, 0.00000094, AgtPBJitterType_Gaussian, 0.0000001)

cw1.ModulationType = AgtPBModulationType_FMChirp ' Set the modulation type to FM Chirp

' The next code statement sets the chirp deviation to 5MHz, and the chirp direction to Ascending

Call cw1.SetModulationFMChirp(5000000, AgtPBFMChirpDeviationType_Ascending) '

dataType = "IQ" ' Variable to identify the IQ data text file

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file

' Create the second pulse

Set cw2 = project.PulseLibrary.CreateNewPulse("CW2") ' Create a new pulse called cw2

cw2.PulseType = AgtPBPulseType_CustomIQ ' Set the pulse type to Custom IQ

' The next code statement sets the sampling rate to 100 MHz, and uses the IQ data to create the CW2 IQ Profile pulse

Call cw2.SetCustomIQ(100000000, IData(), QData())

cw2.ModulationType = AgtPBModulationType_None ' Set the modulation type to none

' Create the third pulse

Set cw3 = project.PulseLibrary.CreateNewPulse("CW3") ' Create a new pulse named cw3

cw3.PulseType = AgtPBPulseType_CustomEnvelope ' Set the pulse type to custom profile

dataType = "Custom" ' Variable to identify the custom profile data text file

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file

' Set the sampling rate to 100 MHz, and use the customProfile data to create the CW3 Custom Profile pulse

Call cw3.SetEnvelopeCustom(100000000, customProfile())

cw3.ModulationType = AgtPBModulationType_FMChirp ' Set the modulation to FM Chirp

' The next code statement sets the chirp deviation to 5 MHz, and the chirp direction to Ascending

Call cw3.SetModulationFMChirp(5000000, AgtPBFMChirpDeviationType_Ascending)

' Create a Frequency Agile Pulse Pattern

Set AgilePattern = project.PatternLibrary.CreateNewPattern("Frequency Agile")

' Adding the trapezoidal pulse (CW1) as the first pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 0)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.000003 ' Repetition interval set for 3 us

AgileItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter type selected

AgileItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

AgileItem.RelativePowerScaleDB = 0 ' Sets the power scale for the pattern to 0, the signal generator's RF power level

AgileItem.FrequencyOffsetHz = -10000000 ' Decrease the pattern item signal generator RF frequency 10 MHz

AgileItem.PhaseOffsetRad = 0 ' No pattern item phase shift (0 radians)

' Adding the custom I/Q pulse (CW2) as the second pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 1)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.000003 ' Repetition interval set for 3 us

AgileItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item

AgileItem.EdgeJitterType = AgtPBJitterType_Gausian ' Edge Jitter Type set to Gaussian

AgileItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

AgileItem.RelativePowerScaleDB = 0 ' Sets the power scale for the pattern to 0, the signal generator's RF power level

AgileItem.FrequencyOffsetHz = 0 ' No signal generator RF frequency offset

AgileItem.PhaseOffsetRad = 0 ' No pattern item phase shift (0 radians)

' Adding the custom envelope pulse (CW3) as the third pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 2)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.000003 ' Repetition interval set for 3 us

AgileItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter type selected

AgileItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

AgileItem.RelativePowerScaleDB = -10 ' Sets the pattern item signal generator RF power level to -10 dBm

AgileItem.FrequencyOffsetHz = 10000000 ' Increases the signal generator's frequency 10 MHz

AgileItem.PhaseOffsetRad = 0 ' No pattern item phase shift (0 radians)

' Save the .pbp file to the PC

If chkSaveFile.Value = 1 Then

project.SaveProject

End If

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Frequency Agile") ' Download and play the signal on the signal generator

Call MsgBox("Signal Downloaded to Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault ' Use default mouse icon

cmdRun.Enabled = True ' Re-enable the Download and Play button; the process is finished

Exit Sub

ErrorHandler:

frmMain.MousePointer = vbDefault ' Mouse pointer returns to the arrow icon

cmdRun.Enabled = True ' Re-enable the Download and Play button because; an exception occurred

Call MsgBox(Err.Description, vbOKOnly) ' A message box with the error description is displayed.

End Sub

ReadDataASCIIFile Procedure

The following code listing is from the Pulse Building form'sReadDataASCIIFile() procedure. The procedure opens a text data file and reads the text data into a string array. The text files are in the following locations:

Windows 7

C:\Users\Public\Public Documents\Keysight\Pulse Building\Samples\VB6\Frequency Agile

Windows XP

C:\Documents and Settings\All Users\Keysight\Pulse Building\Samples\VB6\Frequency Agile

The IQ data file uses a tab delimited format to hold the I and Q data values describing the pulse. The custom profile data file uses single data values separated by end of line carriage returns to represent the amplitude values describing the pulse. The array data is passed back to the cmdRun() event procedure. Functions and code descriptions follow or precede the code statements.

Private Function ReadDataASCIIFile(IValues() As Double, QValues() As Double, customProfile() As Double, dataType As String)

Dim s As String ' Declare a string variable to hold each line of text data.

Dim i As Integer ' Counter variable..

Dim sArray() As String ' Declare a string array to hold the tab delimited text read from the file.

Dim fso As New FileSystemObject, textFile As File, ts As TextStream ' Declare a file object

On Error GoTo FileError ' Sets up an error trap to handle errors. If an error occurs in this procedure code execution jumps to the FileError line

' label and a message describing the error is generated.

' The following code opens the text data file; either the IQ or Custom Profile data

If dataType = "IQ" Then

Set textFile = fso.GetFile(App.Path & "\Freq Agile IQ.txt")

Else

Set textFile = fso.GetFile(App.Path & "\Freq Agile Custom Profile.txt")

End If

Set ts = textFile.OpenAsTextStream(ForReading) ' Declare a file handle

' The following code uses a loop to read in text data from the open file

Do While Not ts.AtEndOfStream

s = ts.ReadLine ' Read the current line of text data

If dataType = "IQ" Then ' Read IQ data from tab delimited text formated file

ReDim Preserve IValues(i) ' Re-dimension the I data array

ReDim Preserve QValues(i) ' Re-dimension the Q data array

sArray = Split(s, vbTab) ' Read the tab delimited data into sArray

IValues(i) = CDbl(sArray(0)) ' I data at counter is set to the previously read data

QValues(i) = CDbl(sArray(1)) ' Q data at counter is set to the previously read data

Else ' Read Custom Profile data

ReDim Preserve customProfile(i)

customProfile(i) = CDbl(s) ' Read the single data value into the customProfile array

End If

i = i + 1 ' Increment the loop counter

Loop

ts.Close ' Close the file handle

Exit Function

FileError:

MsgBox Err.Description

End Function

Signal Generator and Spectrum Analyzer Connection Forms

The Sensitivity Program Example describes the signal generator and spectrum/signal analyzer I/O connection forms. Refer to that section for details.

Related Topics

API Programming Overview


Antenna Scan Program Example

Sensitivity Program Example

The Sensitivity Program example demonstrates using the Pulse Building API to create a signal that simulates an antenna scan. The Sensitivity example also shows how to create a pattern within a pattern. One pattern, called Doublet, consists of two pattern items both of which are pulses. The other pattern, Sensitivity, consists of ten pattern items and each of these pattern items is a Doublet pattern. This code example creates the signal generated in the Sensitivity Example shown in the Pulse Building Examples section of this Help document and uses the same parameters. Review this example for a description and details on the settings and parameters used to generate this signal. The Sensitivity program will:

  • Create pulses with modulation

  • Build a pattern of patterns

  • Set pattern power level and frequency offset

  • Use power scaling for pattern items

Each of the forms that make up this program example are discussed in the following sections:

  • Signal Studio for Pulse Building Form

  • Signal Generator and Spectrum Analyzer Connection Forms

Details on procedures and declarations include:

  • General Section

  • Form Load Event

  • cmdRun Event

Pulse Building Form

The Pulse Building form is the first form displayed when the program is run. The Connect command buttons on this form use the Signal Generator Connection and Spectrum Analyzer Connection forms to set up the signal generator and analyzer I/O interface. In addition to the Connect command buttons, the Pulse Building form has a Download and Play command button that will generate a waveform, download the waveform, marker, and sequence files to the signal generator, and play the corrected waveform.

There are two check boxes on the form: Apply Corrections and Save File. A check mark in the Apply Corrections check box indicates that corrections are applied to the signal. The corrections used are RF Flatness and Image Rejection. You must have a spectrum or signal analyzer connected to the signal generator if you want to use corrections. A check mark in the Save File check box will save the .pbp file in the directory where the Menu Driven Test program is run. This .pbp file consists of the Pulse and Pattern Library items along with all associated parameters.

You must have a spectrum or signal analyzer connected to the signal generator to use corrections.

General Section

The following code listing is from the Pulse Building form's General section. Descriptions follow the code lines.

Option Explicit ' It is advised that Option Explicit be used to prevent spelling and declaration errors in the program.

Dim project As AgtPBProject ' Declare an object, project, as type AgtPBProject. All the functionality available in the Pulse Building GUI is available in the AgtPBProject object.

Dim BarkerA As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name BarkerA. This pulse will have the Barker Code modulation

Dim BarkerB As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw3. Second Barker Code modulated pulse.

Dim DoubletPattern As AgtPBPattern ' Instantiate a pattern, DoubletPattern as type AgtPBPattern. This is the first pattern.

Dim SensitivityPattern As AgtPBPattern' Declare an object, SensitivityPattern, as type AgtPBPattern.

Dim DoubletItem As AgtPBPatternItem ' Instantiate a pattern item DoubletItem, as type AgtPBPatternItem for the DoubletPattern pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim SensitivityItem As AgtPBPatternItem ' Declare an object SensitivityItem, as type AgtPBPatternItem for the Sensitivity pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim SpectrumAnalyzer As AgtPBSpectrumAnalyzer ' Declare an analyzer instrument object.

Dim SignalGenerator As AgtPBSignalGenerator ' Declare a signal generator instrument object.

Dim Settings As AgtPBSignalProperties ' Declare a signal generator properties object. Amplitude and frequency settings for a pattern item are set using the Settings object.

Dim SGConnected As Boolean ' Used to verify signal generator IO connection.

Dim SAConnected As Boolean ' Used to verify signal generator IO connection.

Form Load Event

The following code listing is from the Pulse Building form's Form_Load() event. Functions and code descriptions follow or precede the code statements.

Private Sub Form_Load()

On Error GoTo Error_Handler ' sets up an error trap to handle errors. If an error occurs in this procedure, the code execution 'jumps to the Error_Handler line label and a message describing the error is generated.

Set project = New AgtPBProject ' Creates a new .pbp project by instantiating an object of type AgtPBProject.

Exit Sub

Error_Handler:

MsgBox Err.Description

End Sub

cmdRun Event

The following code listing is from the Pulse Building form'scmdRun_Click() event. The first part of the cmdRun click event creates two pulses modulated using Barker codes. Comments describing functions follow or precede code statements.

Private Sub cmdRun_Click()

On Error GoTo ErrorHandler ' Sets up an error trap to handle errors. If an error occurs in this procedure, the code execution jumps to the ErrorHandler line label and a message describing the error is generated.

If Not SGConnected Then ' Check to see that the signal generator IO connection is valid.

Call MsgBox("Connect Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

If Not SAConnected And chkCorrections.Value = 1 Then ' Check to see that the analyzer IO connection is valid.

Call MsgBox("Connect Spectrum Analyzer", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

frmMain.MousePointer = vbHourglass ' Use the hourglass icon while running the function.

cmdRun.Enabled = False ' Disable the Download and Play button until the process has finished.

project.NewProject ("Sensitivity Program Example.pbp") ' Create a new pbp project file.

Dim indexItem as Integer ' Declare a counter variable.

Dim powerScale as Double ' Setup power scale variable.

Set BarkerA = project.PulseLibrary.CreateNewPulse("BarkerA") ' BarkerA is instantiated as an AgtPBPulse type object.

BarkerA.PulseType = AgtPBPulseType_RaisedCosine ' Set the pulse type to raised cosine.

'The following code statement sets the pulse rise time to 100 ns, the fall time to 100 ns, 100% to 100% amplitude duration to 800 ns, the width jitter type to None, and the jitter deviation to 0 s

Call BarkerA.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerA.ModulationType = AgtPBModulationType_Barker ' Set Barker code as the modulation type.

BarkerA.SetModulationBarker (13) ' Use Barker code 13 for the pulse modulation.

' The following code statements create a second pulse identical to the BarkerA pulse, except for the modulation: Barker code # 7.

Set BarkerB = project.PulseLibrary.CreateNewPulse("BarkerB")

BarkerB.PulseType = AgtPBPulseType_RaisedCosine

Call BarkerB.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerB.ModulationType = AgtPBModulationType_Barker

BarkerB.SetModulationBarker (7)

' This next section of code creates the Doubletpattern using the two previously created pulses: BarkerA and BarkerB.

Set DoubletPattern = project.PatternLibrary.CreateNewPattern("Doublet") ' Instantiate a pattern object of type AgtPBPattern

' The following code statement sets the BarkerA pulse as the first pattern item by instantiating this item as type AgtPBPatternItem.

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerA", 1)

DoubletItem.RepetitionIntervalSec = 0.000005 ' The repetition interval for the item is set to 5 us.

DoubletItem.NumberOfRepeats = 1 ' The pattern item repeats once.

' The following code statements set pattern item parameters. Refer to Columns in Pattern Details for more information.

DoubletItem.EdgeJitterType = AgtPBJitterType_None

DoubletItem.JitterDeviationSec = 0

DoubletItem.RelativePowerScaleDB = 0

DoubletItem.FrequencyOffsetHz = 0

DoubletItem.PhaseOffsetRad = 0

' The following code statement sets the BarkerB pulse as the second pattern item by instantiating this pattern item as type AgtPBPatternItem. This second pattern item is identical to the first item except for the phase offset and Barker Code modulation.

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerB", 2)

DoubletItem.RepetitionIntervalSec = 0.000045

DoubletItem.NumberOfRepeats = 1

DoubletItem.EdgeJitterType = AgtPBJitterType_None

DoubletItem.JitterDeviationSec = 0

DoubletItem.RelativePowerScaleDB = 0

DoubletItem.FrequencyOffsetHz = 0

DoubletItem.PhaseOffsetRad = 1.57 ' Set a 180 degree phase shift relative to the carrier frequency.

Creating a second pattern named Sensitivity consisting of Doublet pattern items.

Set SensitivityPattern = project.PatternLibrary.CreateNewPattern("Sensitivity") ' Instantiate a pattern object of type AgtPBPattern.

SensitivityPattern.Properties.AmplitudeDBm = -10 ' Set the signal generator output power level to -10 dBm.

The next section of code uses a loop to fill in the pattern item parameters for the Sensitivity pattern.

For indexItem = 0 To 9

Set SensitivityItem = SensitivityPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Doublet", indexItem) ' The pattern item at the counter variable indexItem is instantiated as type AgtPBPatternItem. Each pattern item in the Sensitivity pattern is a Doublet pattern.

SensitivityItem.RepetitionIntervalSec = 0.00005 ' The repetition interval is set to 50 us.

SensitivityItem.NumberOfRepeats = 1 ' Repeat pattern item once.

SensitivityItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied to pattern item.

SensitivityItem.JitterDeviationSec = 0 ' Deviation not applied.

SensitivityItem.RelativePowerScaleDB = PowerScale ' Scale variable increments/decrements within the loop.

SensitivityItem.FrequencyOffsetHz = 0 ' No frequency offset applied.

SensitivityItem.PhaseOffsetRad = 0 ' No phase offset applied.

If indexItem < 5 Then ' Decrease the power scale from 0 dB for the first 5 pattern items.

powerScale = powerScale - 6

Else

powerScale = powerScale + 6 ' Increase the power scale for the last 5 items.

End If

Next ' indexItem end loop

If chkSaveFile.Value = 1 Then ' Save the .pbp file to the PC

project.SaveProject

End If

If chkCorrections.Value = 0 Then ' If no analyzer then corrections must be disabled.

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

' Uncomment the next line of code if you want to download the Doublet pattern.

'project.DownloadPattern ("Doublet") ' Download the Doublet pattern/signal to the signal generator's waveform memory.

project.DownloadAndPlayPattern ("Sensitivity") ' Download the Sensitivity pattern/signal to the signal generator and play it.

Call MsgBox("Signal Downloaded", vbOKOnly) ' Indicate completion of the program.

frmMain.MousePointer = vbDefault ' Return the mouse pointer to the default arrow icon.

cmdRun.Enabled = True ' Re-enable the Download and Play button; the process is finished.

Exit Sub

ErrorHandler:

frmMain.MousePointer = vbDefault ' Mouse pointer returns to the arrow icon.

cmdRun.Enabled = True ' Re-enable the Download and Play button because; an exception occurred.

Call MsgBox(Err.Description, vbOKOnly) ' A message box with the error description is displayed.

End Sub

Signal Generator and Spectrum Analyzer Connection Forms

The Connect to Instrument command button [image] displays the Run System Configuration wizard. This wizard allows you to change or create a hardware configuration and select a GPIB or LAN (TCP/IP) connection for I/O instrument communication. You can also access the wizard from the Closed System menu. Text boxes are used to specify the LAN TCP/IP address or GPIB information. The GPIB values shown in the form are default values and will need to be changed if your computer has several GPIB boards or the signal generator uses an address other than the default address shown. Refer to the installation guide for information on the GPIB or LAN interface. The installation guide is available at: http://www.keysight.com/find/signalstudio.

The OK command button, on the Signal Generator Connection form, sets a boolean value, okSelected, true indicating that the values entered in the Signal Generator Connection form are valid. The Cancel button in the Signal Generator Connection form sets the boolean value, okSelected, to false indicating that the values in the Signal Generator Connection form are not valid. Clicking either of these buttons hides the form and returns you to the Pulse Building form.

The values entered into the Signal Generator Connection form text boxes, if valid, are used to establish communication with the instruments over the selected interface: LAN or GPIB. The ConnectSG_Click event procedure in the Pulse Building form calls the .SignalGenerator.SetConnectionGPIB procedure for GPIB configuration or the SignalGenerator.SetConnectionTCPIP procedure for LAN configuration. These procedures verify that the instrument's I/O configuration, such as TCP/IP or GPIB addresses, are correct. If the communication is not established, the program executes the On Error GoTo statement and an error message is displayed.

  • The parameter list for the .SignalGenerator.SetConnectionTCPIP procedure includes the GPIB board number, GPIB primary address, and GPIB secondary address. An example of a call to this function is as follows:

    Call project.SignalGenerator.SetConnectionGPIB(SGConnection.BoardTextGPIB, SGConnection.PrimaryTextGPIB, SGConnection.SecondaryTextGPIB)

    The GPIB secondary address, in most cases, can remain 0.

  • The single parameter for the .SignalGenerator.SetConnectionTCPIP function is the IP address of the signal generator. An example of a call to this function is as follows:

    Call project.SignalGenerator.SetConnectionTCPIP(SGConnection.AddressText)

    Where SAConnection.AddressText is the Pulse Building form's AddressText box entry.

The Connect command button for the Spectrum Analyzer Configuration displays the Spectrum Analyzer Connection form. This form performs the same functions as described for the Signal Generator Connection form.

Related Topics

API Programming Overview

Frequency Agile Program Example

Complex Test Program Example

Executive Test Program Example


Complex Test Program Example

The Complex Test program demonstrates how to create a signal using several pattern item types. The pattern, from which the signal is derived uses different pulse types and different patterns. The Complex Test program generates a signal consisting of several different patterns.

The pattern definitions used for his example are taken from the Frequency Agile and Sensitivity program examples. This program example creates the signal generated in the Complex Test shown in the Examples section of this Help document and uses the same parameters. Review this example for a description and details on the settings and parameters used to generate the signal. The Complex Test program will:

  • Creates the three pulses used in the Frequency Agile Example

  • Creates the two Barker code modulated pulses from the Sensitivity Example

  • Uses the Frequency Agile pattern as a pattern item

  • Uses the Doublet pattern as a pattern item

  • Uses the Sensitivity pattern as a pattern item

Each of the forms that make up this program example is discussed in the following sections:

  • Signal Studio for Pulse Building Form

  • Signal Generator and Spectrum Analyzer Connection Forms

Details on procedures and declarations include:

  • General Section

  • Form Load Event

  • cmdRun Event

  • ReadDataASCIIFile

Pulse Building Form

The Pulse Building form is the first form displayed when the program is run. The Connect command buttons on this form use the Signal Generator Connection and Spectrum Analyzer Connection forms to set up the signal generator and analyzer I/O interface. In addition to the I/O configuration command buttons, the Pulse Building form has a Download and Play command button that will generate a waveform, download the waveform, marker, and sequence files to the signal generator, and play the corrected waveform.

There are two check boxes on the form: Apply Corrections and Save File. A check mark in the Apply Corrections check box indicates that corrections are applied to the signal. The corrections used are RF Flatness and Image Rejection. You must have a spectrum or signal analyzer connected to the signal generator if you want to use corrections. A check mark in the Save File check box will save the .pbp file in the directory where the Menu Driven Test program is run. This .pbp file consists of the Pulse and Pattern Library items along with all associated parameters.

The Complex Test example uses file input to read data from text files. Select the Microsoft Scripting Runtime library from the Available References in your Visual Basic project. You must reference this library.

General Section

The following code listing is from the Pulse Building form's General section. Descriptions follow the code lines.

Option Explicit ' It is advised that Option Explicit be used to prevent spelling and declaration errors in the program.

Dim project As AgtPBProject ' Declare an object, project, as type AgtPBProject. All the functionality available in the Pulse Building GUI is available in the AgtPBProject object.

Dim cw1 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw1. Each pulse must be declared as an AgtPBPulse type.

Dim cw2 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw2.

Dim cw3 As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw3.

Dim BarkerA As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name BarkerA. This pulse will have the Barker Code modulation

Dim BarkerB As AgtPBPulse ' Declare an object of type AgtPBPulse object with the name cw3. Second Barker Code modulated pulse

Dim ComplexPattern As AgtPBPattern ' Declare an object, ComplexPattern as type AgtPBPattern. Each pattern must be declared as an AgtPBPattern type.

Dim ComplexItem As AgtPBPatternItem ' Declare an object, ComplexItem, as type AgtPBPatternitem for the Complex pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim AgilePattern As AgtPBPattern ' Declare an object, AgilePattern, as type AgtPBPattern.

Dim AgileItem As AgtPBPatternItem' Declare an object AgileItem, as type AgtPBPatternitem for the Agile pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim DoubletPattern As AgtPBPattern' Declare an object, DoubletPattern as type AgtPBPattern.

Dim DoubletItem As AgtPBPatternItem' Declare an object DoubletItem, as type AgtPBPatternitem for the Doublet pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim SensitivityPattern As AgtPBPattern' Declare an object, SensitivityPattern, as type AgtPBPattern.

Dim SensitivityItem As AgtPBPatternItem' Declare an object SensitivityItem, as type AgtPBPatternitem for the Sensitivity pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim SpectrumAnalyzer As AgtPBSpectrumAnalyzer ' Declare an analyzer instrument object

Dim SignalGenerator As AgtPBSignalGenerator ' Declare a signal generator instrument object

Dim Settings As AgtPBSignalProperties ' Declare a signal generator properties object. Amplitude and frequency settings for a pattern item are set using the Settings object.

Dim IData() As Double ' Declare a dynamic array for I values

Dim QData() As Double' Declare a dynamic array for Q values

Dim customProfile() As Double' Declare a dynamic array for custom profile data

Dim dataType As String ' Declare a string variable used to designate data type; either I/Q or custom profile

Dim SGConnected As Boolean ' Used to verify signal generator IO connection

Dim SAConnected As Boolean ' Used to verify signal generator IO connection

Form_Load Event

The following code listing is from the Pulse Building form's Form_Load() event. Functions and code descriptions follow or precede the code statements.

Private Sub Form_Load()

On Error GoTo Error_Handler ' sets up an error trap to handle errors. If an error occurs in this procedure, the code execution 'jumps to the Error_Handler line label and a message describing the error is generated.

Set project = New AgtPBProject ' Creates a new project by instantiating an object of type AgtPBProject.

Exit Sub

Error_Handler:

MsgBox Err.Description

End Sub

cmdRun Event

The following code listing is from the Pulse Building form'scmdRun_Click() event. Comments describing functions follow or precede code statements.

Private Sub cmdRun_Click()

On Error GoTo ErrorHandler:

If Not SGConnected Then ' Check to see that the signal generator IO connection is valid

Call MsgBox("Connect Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

If Not SAConnected And chkCorrections.Value = 1 Then ' Check to see that the analyzer IO connection is valid

Call MsgBox("Connect Spectrum Analyzer", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

frmMain.MousePointer = vbHourglass ' Use the hourglass mouse pointer to indicate program activity

cmdRun.Enabled = False ' Disable the Download and Play button until this process has finished

Dim indexItem As Integer ' Counter variable

Dim powerScale As Integer ' Variable to indicate the power scale setting

project.NewProject ("Complex Test.pbp") ' Create a new .pbp project

Set cw1 = project.PulseLibrary.CreateNewPulse("CW1") ' Instanatiate a new pulse

cw1.PulseType = AgtPBPulseType_Trapezoidal ' Set the pulse type to Trapezoidal

' The next line of code sets the rise time of the pulse to 30 ns, the fall time to 30 ns, 100% to 100% to

' 940 ns, the width jitter type to none, and the jitter deviation to 0 seconds

Call cw1.SetEnvelopeTrapezoidal(0.00000003, 0.00000003, 0.00000094, AgtPBJitterType_None, 0)

cw1.ModulationType = AgtPBModulationType_None ' Set the modulation type to FM Chirp

dataType = "IQ" 'Variable to identify the IQ data text file

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file

Set cw2 = project.PulseLibrary.CreateNewPulse("CW2") 'Instantiate a new pulse

cw2.PulseType = AgtPBPulseType_CustomIQ 'Set the pulse type to CustomIQ

' Set the sampling rate to 100 MHz, and use the I and Q data from the text file as the pulse data

Call cw2.SetCustomIQ(100000000, IData(), QData())

cw2.ModulationType = AgtPBModulationType_None ' Set the modulation type to none

Set cw3 = project.PulseLibrary.CreateNewPulse("CW3") ' Create a new pulse called CW3

cw3.PulseType = AgtPBPulseType_CustomEnvelope 'Set the pulse type to custom profile

dataType = "Custom" 'Variable to identify the custom profile data text file

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file

' Set the sampling rate to 100 MHz, and use the customProfile data to create the CW3 Custom Profile Pulse

Call cw3.SetEnvelopeCustom(100000000, customProfile())

' Instantiate a Frequency Agile Pattern

Set AgilePattern = project.PatternLibrary.CreateNewPattern("Frequency Agile")

' Adding the trapezoidal pulse (CW1) as the first pattern item (0)

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 0)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW1 to a 3 us repetition interval

AgileItem.NumberOfRepeats = 1 ' CW1 is repeated twice; the duration is 6 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW1

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' The item's signal generator RF power level is not changed

AgileItem.FrequencyOffsetHz = -10000000 ' The signal generator frequency is decreased by 10 MHz

AgileItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the custom I/Q pulse (CW2) as the second pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 1)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW1 to a 3 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW2 1 time. The duration of this item with the repeats is 120 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' Set jitter type to gaussian

AgileItem.JitterDeviationSec = 0 ' Set the deviation to 100 ns

AgileItem.RelativePowerScaleDB = 0 ' The item's signal generator RF power level is not changed

AgileItem.FrequencyOffsetHz = 0 ' No frequency offset

AgileItem.PhaseOffsetRad = 0 ' No phase offset applied

' Adding the custom envelope pulse (CW3) as the third pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 2)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW3 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = 10000000 ' The signal generator's frequency is increased 10 MHz

AgileItem.PhaseOffsetRad = 0 ' No phase offset applied

' Adding the trapezoidal pulse (CW1) as the 4th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 3)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = -10000000 ' -10 MHz frequency offset applied

AgileItem.PhaseOffsetRad = 1.047 ' 1.047 radians phase offset applied

' Adding the custom IQ pulse (CW2) as the 5th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 4)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = 0 ' No frequency offset applied

AgileItem.PhaseOffsetRad = 1.047 ' 1.047 radians phase offset applied

' Adding the custom envelope pulse (CW3) as the 6th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 5)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = 10000000 ' 10 MHz frequency offset applied

AgileItem.PhaseOffsetRad = 1.047 ' 1.047 radians phase offset applied

' Adding the trapezoidal pulse (CW1) as the 7th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 6)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = -10000000 ' -10 MHz frequency offset applied

AgileItem.PhaseOffsetRad = 2.093 ' 2.093 radians phase offset applied

' Adding the custom IQ pulse (CW2) as the 8th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 7)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = 0 ' No frequency offset applied

AgileItem.PhaseOffsetRad = 2.093 ' 2.093 radians phase offset applied

' Adding the custom envelope pulse (CW3) as the 9th pattern item

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 8)

' The following code statements set up the pattern item parameters

AgileItem.RepetitionIntervalSec = 0.00000333 'Set CW3 to a 10 us repetition interval

AgileItem.NumberOfRepeats = 1 ' Repeat CW1 1 time. The duration of this item with the repeats is 200 us

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter is applied to CW3

AgileItem.JitterDeviationSec = 0 ' No jitter applied so there is no jitter deviation

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset

AgileItem.FrequencyOffsetHz = 10000000 ' 10 MHz frequency offset applied

AgileItem.PhaseOffsetRad = 2.093 ' 2.093 radians phase offset applied

' Instantiating a new pulse

Set BarkerA = project.PulseLibrary.CreateNewPulse("BarkerA")

BarkerA.PulseType = AgtPBPulseType_RaisedCosine ' Setting the pulse type to raised cosine

' Set the rise time to 100 ns, the fall time to 100 ns, 100% to 100% to 800 ns, the width jitter type to

' none, and the jitter deviation to 0 seconds

Call BarkerA.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerA.ModulationType = AgtPBModulationType_Barker ' Select Barker code modulation for the pulse

BarkerA.SetModulationBarker (13) ' Use Barker code number 13

' Instantiate a new pulse

Set BarkerB = project.PulseLibrary.CreateNewPulse("BarkerB")

BarkerB.PulseType = AgtPBPulseType_RaisedCosine ' Setting the pulse type to raised cosine

' Set the rise time to 100 ns, the fall time to 100 ns, 100% to 100% to 800 ns, the width jitter type to

' none, and the jitter deviation to 0 seconds

Call BarkerB.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerB.ModulationType = AgtPBModulationType_Barker ' Select Barker code modulation for the pulse

BarkerB.SetModulationBarker (7) ' Use Barker code number 7

'Instantiate a new pattern

Set DoubletPattern = project.PatternLibrary.CreateNewPattern("Doublet")

' Instantiate a pattern with the raised cosine (BarkerA) as the first pattern item

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerA", 0)

DoubletItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

DoubletItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1

DoubletItem.EdgeJitterType = AgtPBJitterType_None ' No jitter selected

DoubletItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

DoubletItem.RelativePowerScaleDB = 0 ' The item's signal generator RF power level is not changed

DoubletItem.FrequencyOffsetHz = 0 ' Signal generator RF frequency is not changed

DoubletItem.PhaseOffsetRad = 0 ' Signal generator RF signal phase offset set to 0 degrees

' Instantiate a pattern with the raised cosine (BarkerB) as the second pattern item

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerB", 1)

DoubletItem.RepetitionIntervalSec = 0.000045 ' Repetition interval set for 45 us

DoubletItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1

DoubletItem.EdgeJitterType = AgtPBJitterType_None ' No jitter selected

DoubletItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

DoubletItem.RelativePowerScaleDB = 0 ' The item's signal generator power level is not changed

DoubletItem.FrequencyOffsetHz = 0 ' Signal generator frequency is not changed

DoubletItem.PhaseOffsetRad = 1.57 ' Signal generator RF signal phase is changed by 180 degrees

' Instantiating the Sensitivity pattern that will be used as the last item in the complex test pattern

Set SensitivityPattern = project.PatternLibrary.CreateNewPattern("Sensitivity")

SensitivityPattern.Properties.AmplitudeDBm = -10 ' Set the signal generator power level to -10 dBm for the Sensitivity pattern

' The next section of code uses a loop to fill in the pattern items and parameters for the Sensitivity pattern

' Each of the Sensitivity pattern items is a Doublet pattern. The first line of code in the loop instantiates

' a pattern item object; SensitivityItem using the Doublet pattern and at the counter "indexItem" index position.

For indexItem = 0 To 9

Set SensitivityItem = SensitivityPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Doublet", indexItem)

SensitivityItem.RepetitionIntervalSec = 0.00005 ' Repetition interval set for 50 us

SensitivityItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1

SensitivityItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

SensitivityItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

SensitivityItem.RelativePowerScaleDB = powerScale ' Set the power scale value for this item

SensitivityItem.FrequencyOffsetHz = 0 ' No change to signal generator RF signal

SensitivityItem.PhaseOffsetRad = 0 ' No change to the phase of the signal generator RF signal

If indexItem < 5 Then ' Based on the index, change the power scale value.

powerScale = powerScale - 6

Else

powerScale = powerScale + 6

End If

Next 'indexItem

' Instantiate a Complex Test pattern object

Set ComplexPattern = project.PatternLibrary.CreateNewPattern("Complex Test")

' Instantiate a pattern item object using the trapezoidal pulse (cw1)(put it at index 0)

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 0)

ComplexItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 2 ' Number of repeats for the pattern item set to 2

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the custom I/Q pulse (cw2) as the second pattern item

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 1)

ComplexItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 2 ' Number of repeats for the pattern item set to 2

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the custom profile pulse (cw3)as the third pattern item.

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 2)

ComplexItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 2 ' Number of repeats for the pattern item set to 2

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the raised cosine pulse (BarkerA) as the fourth pattern item.

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerA", 3)

ComplexItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 1 ' Number of repeats

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the raised cosine pulse (BarkerB) as the fifth pattern item.

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerB", 4)

ComplexItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 1 ' Number of repeats

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the Frequency Agile pattern (Agile) as the sixth pattern item.

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Frequency Agile", 5)

ComplexItem.RepetitionIntervalSec = 0.0004 ' Repetition interval set for 400 us

ComplexItem.NumberOfRepeats = 3 ' Number of repeats for the pattern item set to 3

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 5000000 'The frequency of the carrier is increased by 5 MHz

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the Frequency Agile pattern (Agile) as the seventh pattern item.

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Frequency Agile", 6)

ComplexItem.RepetitionIntervalSec = 0.0004 ' Repetition interval set for 400 us

ComplexItem.NumberOfRepeats = 3 ' Number of repeats for the pattern item set to 3

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = -5000000 'The frequency of the carrier is decreased by 5 MHz

ComplexItem.PhaseOffsetRad = 1.57 ' The phase of the signal generator signal is shifted 90 degrees

' Adding the Doublet pattern (Doublet) as the eighth pattern item

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Doublet", 7)

ComplexItem.RepetitionIntervalSec = 0.0001 ' Repetition interval set for 100 us

ComplexItem.NumberOfRepeats = 4 ' Number of repeats

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = 0 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Adding the Sensitivity pattern (Sensitivity) as the ninth pattern item

Set ComplexItem = ComplexPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Sensitivity", 8)

ComplexItem.RepetitionIntervalSec = 0.001 ' Repetition interval set for 5 us

ComplexItem.NumberOfRepeats = 5 ' Number of repeats for the pattern item set to 2

ComplexItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied

ComplexItem.JitterDeviationSec = 0 ' Jitter deviation set to 0

ComplexItem.RelativePowerScaleDB = -3 ' No power scale offset from carrier

ComplexItem.FrequencyOffsetHz = 0 ' No frequency offset from carrier

ComplexItem.PhaseOffsetRad = 0 ' No phase offset

' Save the .pbp file to the PC

If chkSaveFile.Value = 1 Then

project.SaveProject

End If

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Complex Test") 'Download and play the signal on the signal generator

Call MsgBox("Signal Downloaded to Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault ' Use default mouse icon

cmdRun.Enabled = True ' Re-enable the Download and Play button; the process is finished

Exit Sub

ErrorHandler:

frmMain.MousePointer = vbDefault

cmdRun.Enabled = True ' Re-enable the Download and Play button because; an excerption occurred

Call MsgBox(Err.Description, vbOKOnly)

End Sub

Signal Generator and Spectrum Analyzer Connection Forms

The Sensitivity Program Example describes the signal generator and spectrum/signal analyzer I/O connection forms. Refer to that section for details on this form.

ReadDataASCIIFile Function

The code listing for this function is described in the Frequency Agile Program Example. Refer to that example for details and descriptions on the function.

Related Topics

API Programming Overview

Frequency Agile Program Example

Sensitivity Program Example

Executive Test Program Example


Menu Driven Test Example

Executive Test Program Example

The Executive Test example program uses the Pulse Building API to create five signal patterns and demonstrates how to create a test program to download those patterns. The Executive Test program uses a menu from which you can select one of the patterns and download that pattern to the signal generator. This example provides a demonstration on how to control the playback of multiple patterns using the API. The .pbp file created in by this program can be viewed by running the Pulse Building executable and opening the Executive Text.pbp file.

The Frequency Agile, Sensitivity, and Doublet patterns available in the menu were created previously in the Programming and Pulse Building Examples sections of this Help document. Refer to those sections for descriptions and information on these patterns. In addition two new patterns are created in this program example: Variable PRI and Modulation.

The Variable PRI pattern uses a trapezoidal pulse with no modulation as the object type for each of its ten pattern items. The repetition interval is different for each of the pattern items. The repetition interval for the first pattern item is 10 us. The repetition interval for successive pattern items decreases by 1 us with the exception or the last pattern item which has an 11 us repetition interval.

The Modulation pattern uses a raised-cosine pulse with FM Chirp modulation and jitter. This pulse is used as the object type in a pattern consisting of one pattern item. The repetition interval for the pattern item is 20 us and is repeated 100 times. Jitter is applied using a Gaussian probability distribution function model and the leading edge jitter deviation is +/- 100 ns.

The Executive program builds the Pulse Library, the Pattern Library and displays a form showing a listing of all the patterns available in the library. You can select a pattern from the menu, download and play the pattern and stop playing the pattern using command buttons on the form. A downloaded pattern plays continuously on the signal generator until the Stop button is pressed or until another pattern is selected and downloaded.

The Executive Test program will:

  • Create a library of pulses

  • Build a pattern library

  • Display a menu of patterns in a custom user interface

  • Allow the user to select and play different patterns

Each of the forms that make up this program example is discussed in the following sections:

  • Signal Studio for Pulse Building Form

  • Signal Generator and Spectrum Analyzer Connection Forms

Details on procedures and declarations include:

  • General Section

  • Form Load Event

  • cmdRun Event

  • ReadDataASCIIFile

  • RunProgram Procedure

Pulse Building Form

The Pulse Building form is the first form displayed when the program is run. The Connect command buttons on this form are described in detail in the Signal Generator and Spectrum Analyzer Connection Forms section. In addition to the Connect command buttons, the Executive Pulse Building form has the following command buttons:

  • Download and Play - This command button will generate the waveform, download the waveform, marker, and sequence files to the signal generator, and play the corrected waveform.

  • Stop - This command button turns off the signal generator's ARB. The signal generator's RF output will be a CW signal at the current frequency setting.

  • Exit - This command button ends the program

A check mark in the Apply Corrections check box indicates that corrections are applied to the signal. The corrections used are RF Flatness and Image Rejection. You must have an analyzer connected to the signal generator if you want to use corrections.

This example creates and saves the .pbp file in the directory where the Executive Test program is run. The .pbp file consists of the Pulse and Pattern Library items along with all associated parameters.

You must have a spectrum/signal analyzer connected to the signal generator if you want to use corrections.

General Section

The following code listing is from the Pulse Building form's General section. Descriptions follow the code lines.

Option Explicit ' It is advised that Option Explicit be used to prevent spelling and declaration errors in the program.

Dim project As AgtPBProject ' Declare an object, project, as type AgtPBProject. All the functionality available in the Pulse Building GUI is available in the AgtPBProject object.

Dim cw1 As AgtPBPulse ' Declare an object of type AgtPBPulse with the name cw1. Each pulse must be dedclared as an AgtPBPulse type.

Dim cw2 As AgtPBPulse ' Declare an object of type AgtPBPulse with the name cw2.

Dim cw3 As AgtPBPulse ' Declare an object of type AgtPBPulse with the name cw3.

Dim BarkerA As AgtPBPulse ' Declare an object of type AgtPBPulse called BarkerA.

Dim BarkerB As AgtPBPulse ' Declare an object of type AgtPBPulse with the name BarkerB.

Dim FMChirp As AgtPBPulse ' Declare an object of type AgtPBPulse with the name FMChirp.

Dim AgilePattern As AgtPBPattern ' Declare an object of type AgtPBPattern called AgilePattern. Each pattern must be declared as an AgtPBPattern type.

Dim AgileItem As AgtPBPatternItem ' Declare an object, AgileItem, as type AgtPBPatternItem. Each pattern item must be declared as an AgtPBPatternItem type.

Dim DoubletPattern As AgtPBPattern ' Declare an object, DoubletPattern as type AgtPBPattern.

Dim SensitivityPattern As AgtPBPattern' Declare an object, SensitivityPattern, as type AgtPBPattern.

Dim DoubletItem As AgtPBPatternItem ' Instantiate a pattern item DoubletItem, as type AgtPBPatternItem for the DoubletPattern pattern.

Dim SensitivityItem As AgtPBPatternItem ' Declare an object SensitivityItem, as type AgtPBPatternItem for the Sensitivity pattern. Each pattern item must be declared as an AgtPBPatternItem type.

Dim ModulationPattern As AgtPBPattern ' Declare an object, ModulationPattern, as type AgtPBPattern.

Dim ModulationItem As AgtPBPatternItem ' Declare an object, ModulationItem, as type AgtPBPatternItem.

Dim VariablePattern As AgtPBPattern ' Declare an object, VariablePattern as type AgtPBPattern.

Dim VariableItem As AgtPBPatternItem ' Declare an object, VariableItem, as type AgtPBPatternItem.

Dim SpectrumAnalyzer As AgtPBSpectrumAnalyzer ' Declare an analyzer instrument object.

Dim SignalGenerator As AgtPBSignalGenerator ' Declare a signal generator instrument object.

Dim IData() As Double ' Declare an array for I text data.

Dim QData() As Double ' Delcare and array for Q text data.

Dim customProfile() As Double ' Declare an array for custom profile data.

Dim SGConnected As Boolean ' Used to verify signal generator IO connection.

Dim SAConnected As Boolean ' Used to verify signal generator IO connection.

Form Load Event

The following code listing is from the Pulse Building form's Form_Load() event. Functions and code descriptions follow or precede the code statements.

Private Sub Form_Load()

On Error GoTo Error_Handler ' Sets up an error trap to handle errors. If an error occurs in this procedure, the code execution jumps to the Error_Handler line label and a message describing the error is generated.

Set project = New AgtPBProject ' Creates a new .pbp project by instantiating an object of type AgtPBProject.

Call RunProgram ' This call will create the Executive Test project.

Exit Sub

Error_Handler:

MsgBox Err.Description

End Sub

cmdRun Procedure

The following code listing is from the Pulse Building form's cmdRun_click() procedure. Functions and code descriptions follow or precede the code statements. This procedure downloads and plays the selected menu item pattern.

Private Sub cmdRun_Click()

On Error GoTo ErrorHandler ' If errors occur in the procedure, go to the ErrorHandler line label.

' The next lines of code check to see that the Signal generator I/O connection is valid. If the flag SGConnected is false then the If-Then statement executes.

cmdRun.Enabled = False ' Disable the Download and Play button until the process has finished.

If Not SGConnected Then

Call MsgBox("Connect Signal Generator", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

' The next lines of code check to see that the an I/O connection with the analyzer is valid.

' If there is no analyzer and the corrections check box is checked then the If-Then statement is executed.

If Not SAConnected And chkCorrections.Value = 1 Then

Call MsgBox("Connect Spectrum Analyzer", vbOKOnly)

frmMain.MousePointer = vbDefault

Exit Sub

End If

frmMain.MousePointer = vbHourglass ' Use the hourglass mouse pointer to indicate program activity.

cmdRun.Enabled = False ' Disable the Download and Play button until this process has finished.

' Check to see that there is a pattern selected to download.

If optFreq = False And optSensitivity = False And optDoublet = False And optModulation = False And optVariable = False Then

Call MsgBox("Select a Pattern to Download", vbOKOnly)

frmMain.MousePointer = vbDefault

cmdRun.Enabled = True

Exit Sub

End If

project.OpenProject ("Executive Test.pbp") ' Open the project.

' The following lines of code select the pattern menu item to download and play. The option buttons are associated with each pattern.

If optFreq = True Then

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False ' Disable Image Rejection.

project.RFFlatnessCorrectionEnabled = False ' Disable RF Flatness.

End If

project.DownloadAndPlayPattern ("Frequency Agile") ' Download and play the signal on the signal generator.

Call MsgBox("Frequency Agile Pattern Downloaded to Signal Generator", vbOKOnly)

End If

If optSensitivity = True Then

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Sensitivity") ' Download and play the signal on the signal generator.

Call MsgBox("Sensitivity Pattern Downloaded to Signal Generator", vbOKOnly)

End If

If optDoublet = True Then

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Doublet") ' Download and play the signal on the signal generator.

Call MsgBox("Doublet Pattern Downloaded to Signal Generator", vbOKOnly)

End If

If optModulation = True Then

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Modulation") ' Download and play the signal on the signal generator.

Call MsgBox("Modulation Pattern Downloaded to Signal Generator", vbOKOnly)

End If

If optVariable = True Then

' If no analyzer then corrections must be disabled.

If chkCorrections.Value = 0 Then

project.ImageRejectionCorrectionEnabled = False

project.RFFlatnessCorrectionEnabled = False

End If

project.DownloadAndPlayPattern ("Variable PRI") ' Download and play the signal on the signal generator.

Call MsgBox("Variable PRI Pattern Downloaded to Signal Generator", vbOKOnly)

End If

frmMain.MousePointer = vbDefault ' Use default mouse pointer.

cmdRun.Enabled = True ' Enable the cmdRun command button.

Exit Sub

ErrorHandler:

frmMain.MousePointer = vbDefault

cmdRun.Enabled = True ' Re-enable the Download and Play button because; an excerption occurred.

Call MsgBox(Err.Description, vbOKOnly)

End Sub

Signal Generator and Spectrum Analyzer Connection Forms

The Sensitivity Program Example describes the signal generator and spectrum/signal analyzer I/O connection forms. Refer to that section for details.

ReadDataASCIIFile Function

The code listing for this function is described in the Frequency Agile Program Example. Refer to that example for details and descriptions on the function.

RunProgram Procedure

The following code listing is from the RunProgram procedure. Functions and code descriptions follow or precede the code statements. This procedure builds all the pulses and patterns used in the Menu Driven Test example.

Private Sub RunProgram()

Dim indexItem As Integer ' Counter variable.

Dim powerScale As Integer ' Variable to indicate the power scale setting.

Dim RepInterval As Double ' Variable used for repetition interval time duration.

Dim Counter As Integer ' Counter variable.

On Error GoTo Error_Handler ' Sets up an error trap to handle errors. If an error occurs in this procedure, the code execution jumps to the Error_Handler line label and a message describing the error is generated.

project.NewProject ("Executive Test.pbp") ' Create a new .pbp project.

frmMain.MousePointer = vbHourglass ' Use the mouse hourglass to show in process operations.

cmdRun.Enabled = False ' Disable the Download and Play button until the process has finished.

Set cw1 = project.PulseLibrary.CreateNewPulse("CW1") ' Instanatiate a new pulse called cw1.

cw1.PulseType = AgtPBPulseType_Trapezoidal ' Set the pulse type to Trapezoidal.

' The next line of code sets the rise time of the pulse to 30 ns, the fall time to 30 ns, 100% to 100% to 940 ns, the width jitter type to Gaussian, and the jitter deviation to 100 ns.

Call cw1.SetEnvelopeTrapezoidal(0.00000003, 0.00000003, 0.00000094, AgtPBJitterType_None, 0)

cw1.ModulationType = AgtPBModulationType_None ' Set the modulation type to none.

dataType = "IQ" 'Variable to identify the IQ data text file

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file.

Set cw2 = project.PulseLibrary.CreateNewPulse("CW2") ' Instantiate a new pulse.

cw2.PulseType = AgtPBPulseType_CustomIQ ' Set the pulse type to Custom IQ.

' Set the sampling rate to 100 MHz, and use the I and Q data from a text file as the pulse data.

Call cw2.SetCustomIQ(100000000, IData(), QData())

cw2.ModulationType = AgtPBModulationType_None ' Set the modulation type to none.

Set cw3 = project.PulseLibrary.CreateNewPulse("CW3") ' Create a new pulse called cw3.

cw3.PulseType = AgtPBPulseType_CustomEnvelope ' Set the pulse type to custom profile.

dataType = "Custom" ' Variable to identify the custom profile data text file.

Call ReadDataASCIIFile(IData(), QData(), customProfile(), dataType) ' Read pulse data from a text file.

' Set the sampling rate to 100 MHz, and use the customProfile data to create the CW3 Custom Profile Pulse

Call cw3.SetEnvelopeCustom(100000000, customProfile())

cw3.ModulationType = AgtPBModulationType_None ' Set the modulation to none.

' Instantiate a new pattern called Frequency Agile

Set AgilePattern = project.PatternLibrary.CreateNewPattern("Frequency Agile")

' Adding the trapezoidal pulse (CW1) as the first pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 0)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333 ' Set the repetition rate to 3.33 us.

AgileItem.NumberOfRepeats = 1 ' Set number of repeats for the pattern item.

AgileItem.EdgeJitterType = AgtPBJitterType_None ' No jitter type for the pattern item.

AgileItem.JitterDeviationSec = 0 ' No jitter deviation applied.

AgileItem.RelativePowerScaleDB = 0 ' No power scale offset.

AgileItem.FrequencyOffsetHz = -10000000 ' -10 MHz frequency offset for this pattern item.

AgileItem.PhaseOffsetRad = 0 ' No phase offset.

' Adding the custom I/Q pulse (CW2) as the second pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 1)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 0

AgileItem.PhaseOffsetRad = 0

' Adding the custom envelope pulse (CW3) as the third pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 2)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 10000000

AgileItem.PhaseOffsetRad = 0

' Adding CW1 as the 4th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 3)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = -10000000

AgileItem.PhaseOffsetRad = 1.047

' Adding CW2 as the 5th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 4)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 0

AgileItem.PhaseOffsetRad = 1.047

' Adding CW3 as the 6th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 5)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 10000000

AgileItem.PhaseOffsetRad = 1.047

' Adding CW1 as the 7th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", 6)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = -10000000

AgileItem.PhaseOffsetRad = 2.093

' Adding CW2 as the 8th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW2", 7)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 0

AgileItem.PhaseOffsetRad = 2.093

' Adding CW3 as the 9th pattern item.

Set AgileItem = AgilePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW3", 8)

' The following code statements set up the pattern item parameters.

AgileItem.RepetitionIntervalSec = 0.00000333

AgileItem.NumberOfRepeats = 1

AgileItem.EdgeJitterType = AgtPBJitterType_None

AgileItem.JitterDeviationSec = 0

AgileItem.RelativePowerScaleDB = 0

AgileItem.FrequencyOffsetHz = 10000000

AgileItem.PhaseOffsetRad = 2.093

' Instantiating a new pulse named BarkerA.

Set BarkerA = project.PulseLibrary.CreateNewPulse("BarkerA")

BarkerA.PulseType = AgtPBPulseType_RaisedCosine ' Setting the pulse type to raised cosine.

' Set the rise time to 100 ns, the fall time to 100 ns, 100% to 100% to 800 ns, the width jitter type to none, and the jitter deviation to 0 seconds.

Call BarkerA.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerA.ModulationType = AgtPBModulationType_Barker ' Select Barker code modulation for the pulse.

BarkerA.SetModulationBarker (13) ' Use Barker code number 13.

' Instantiate a new pulse called BarkerB.

Set BarkerB = project.PulseLibrary.CreateNewPulse("BarkerB")

BarkerB.PulseType = AgtPBPulseType_RaisedCosine ' Setting the pulse type to raised cosine.

' The following code statement sets the pulse rise time to 100 ns, the fall time to 100 ns, 100% to 100% amplitude duration to 800 ns, the width jitter type to None, and the jitter deviation to 0 seconds.

Call BarkerB.SetEnvelopeRaisedCosine(0.0000001, 0.0000001, 0.0000008, AgtPBJitterType_None, 0)

BarkerB.ModulationType = AgtPBModulationType_Barker ' Select Barker code modulation for the pulse.

BarkerB.SetModulationBarker (7) ' Use Barker code number 7.

' Instantiate a new pattern called Doublet.

Set DoubletPattern = project.PatternLibrary.CreateNewPattern("Doublet")

' Instantiate a new pattern item. The item is the raised cosine (BarkerA) pulse.

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerA", 0)

DoubletItem.RepetitionIntervalSec = 0.000005 ' Repetition interval set for 5 us.

DoubletItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1.

DoubletItem.EdgeJitterType = AgtPBJitterType_None ' No jitter type selected.

DoubletItem.JitterDeviationSec = 0 ' Jitter deviation set to 0.

DoubletItem.RelativePowerScaleDB = 0 ' The item's signal generator RF power level is not changed.

DoubletItem.FrequencyOffsetHz = 0 ' Signal generator RF frequency is not changed.

DoubletItem.PhaseOffsetRad = 0 ' Signal generator RF signal phase offset set to 0 degrees.

' Instantiate a new pattern item. The item is the raised cosine (BarkerB) pulse.

Set DoubletItem = DoubletPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "BarkerB", 1)

DoubletItem.RepetitionIntervalSec = 0.000045 ' Repetition interval set for 45 us.

DoubletItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1.

DoubletItem.EdgeJitterType = AgtPBJitterType_None ' No jitter selected.

DoubletItem.JitterDeviationSec = 0 ' Jitter deviation set to 0.

DoubletItem.RelativePowerScaleDB = -20 ' The item's carrier power level is set 20 dB below the BarkerA pulse.

DoubletItem.FrequencyOffsetHz = 0 ' Signal generator frequency is not changed.

DoubletItem.PhaseOffsetRad = 0 ' Signal generator RF signal phase is not changed.

' Instantiating a new pattern called Sensitivity.

Set SensitivityPattern = project.PatternLibrary.CreateNewPattern("Sensitivity")

' The following code statement sets the power level to -10 dBm for the sensitivity pattern.

SensitivityPattern.Properties.AmplitudeDBm = -10

' The next section of code uses a loop to fill in the pattern items and parameters for the sensitivity pattern.

' Each of the sensitivity pattern items is a Doublet pattern. The first line of code in the loop instantiates a pattern item object; sensitivityItem using the Doublet pattern and at the counter "indexItem" index position.

For indexItem = 0 To 9

Set SensitivityItem = SensitivityPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pattern, "Doublet", indexItem)

SensitivityItem.RepetitionIntervalSec = 0.00005 ' Repetition interval set for 50 us.

SensitivityItem.NumberOfRepeats = 1 ' Number of repeats for the pattern item set to 1.

SensitivityItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied.

SensitivityItem.JitterDeviationSec = 0 ' Jitter deviation set to 0.

SensitivityItem.RelativePowerScaleDB = powerScale ' Set the power scale value for this item.

SensitivityItem.FrequencyOffsetHz = 0 ' No change to signal generator RF signal.

SensitivityItem.PhaseOffsetRad = 0 ' No change to the phase of the signal generator RF.

If indexItem < 5 Then ' Based on the index, change the power scale value.

powerScale = powerScale - 6

Else

powerScale = powerScale + 6

End If

Next 'indexItem

' Instantiate a new pulse called FMChirp.

Set FMChirp = project.PulseLibrary.CreateNewPulse("FMChirp")

FMChirp.PulseType = AgtPBPulseType_RaisedCosine ' Set the pulse type to raised cosine.

' The next code statement sets the rise time to 30 ns, the fall time to 30 ns, 100% to 100% to 2 us, the width jitter type to Gausian, and the jitter deviation to 100 ns.

Call FMChirp.SetEnvelopeRaisedCosine(0.00000003, 0.00000003, 0.000002, AgtPBJitterType_Gaussian, 0.0000001)

' The next code statement applies FM Chirp modulation to the pulse.

FMChirp.ModulationType = AgtPBModulationType_FMChirp

' The next code statement sets the chirp range to 20 MHz and deviation to ascending.

Call FMChirp.SetModulationFMChirp(20000000, AgtPBFMChirpDeviationType_Ascending)

' Instantiate a new pattern named Modulation.

Set ModulationPattern = project.PatternLibrary.CreateNewPattern("Modulation")

' Instantiate a pattern item in the Modulation pattern. The FMChirp is used as the pattern item.

Set ModulationItem = ModulationPattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "FMChirp", 0)

ModulationItem.RepetitionIntervalSec = 0.00002 ' Set the repetition interval for 20 us.

ModulationItem.NumberOfRepeats = 100 ' Set the number of repeats to 100.

ModulationItem.EdgeJitterType = AgtPBJitterType_Gaussian ' Set jitter type to Gaussian.

ModulationItem.JitterDeviationSec = 0.0000001 ' Jitter deviation set to 100 ns.

ModulationItem.RelativePowerScaleDB = 0 ' No power scaling applied to the pattern item.

ModulationItem.FrequencyOffsetHz = 0 ' No frequency offset during the pulse on time.

ModulationItem.PhaseOffsetRad = 0 ' No phase offset applied to the pulse.

' Instantiate a new pattern called Variable PRI.

Set VariablePattern = project.PatternLibrary.CreateNewPattern("Variable PRI")

' The following loop statement adds 10 pattern items to the Variable PRI pattern. Each pattern item has a different repetition interval associated with it.

RepInterval = 0.00001

For Counter = 0 To 9

Set VariableItem = VariablePattern.CreateNewItemAt(AgtPBPatternItemObjectType_Pulse, "CW1", Counter)

If Counter = 9 Then

RepInterval = 0.000011

End If

VariableItem.RepetitionIntervalSec = RepInterval ' The RepInterval starts at .00001 seconds.

VariableItem.NumberOfRepeats = 1 ' Number of repeats.

VariableItem.EdgeJitterType = AgtPBJitterType_None ' No jitter applied.

VariableItem.JitterDeviationSec = 0 ' No jitter deviation.

VariableItem.RelativePowerScaleDB = 0 ' No power scaling of patten item.

VariableItem.FrequencyOffsetHz = 0 ' No frequency offset.

VariableItem.PhaseOffsetRad = 0 ' No phase offset.

RepInterval = RepInterval - 0.000001 ' Repetition interval is decreased by 1 us.

Next ' Counter

' Comment the next line if you don't want to save the .pbp file to the PC.

project.SaveProject ' Save the signal parameters in the Executive Test.pbp file.

frmMain.MousePointer = vbDefault ' Use default mouse icon.

cmdRun.Enabled = True ' Re-enable the Download and Play button; the process is finished.

Exit Sub

Error_Handler:

frmMain.MousePointer = vbDefault ' Use the default mouse pointer.

cmdRun.Enabled = True ' Re-enable the Download and Play button because; an exception occurred.

Call MsgBox(Err.Description, vbOKOnly)

End Sub

Related Topics

API Programming Overview

Frequency Agile Program Example

Sensitivity Program Example

Complex Test Program Example


Enumerated Types

Enumeration Types

The following table lists the Pulse Building enumeration types and identifiers for setting parameters and returning a status.

Enumeration Type | Identifier
Antenna Scan Type (AgtPBAntennaScanType) | None Custom Circular Conical BiDirectionalRaster UniDirectionalRaster BiDirectionalSector UniDirectionalSector
ArbSynchronization (AgtPBArbSynchronization) | Independent Master Slave
ConnectionType (AgtPBConnectionType) | GPIB TCPIP
EventType (AgtPBEventType) | None PulseStart PulseGate SignalStart
ExtArbFilterType (AgtPBExtArbFilterType) | None BLP-150 BLP-200 BLP-250 BLP-300 BLP-450
FMChirpDeviationType (AgtPBFMChirpDeviationType) | Ascending Descending
Hop Pattern Type (AgtPBHopPatternType) | None LinearRamp Staggered Stepped
IntArbFilterType (AgtPBIntArbFilterType) | Through 250 MHz 500 MHz
IqInputs (AgtPBIqInputs) | Internal External External Wideband
JitterType (AgtPBJitterType) | None Gaussian Uniform UShaped
ModFilterType (AgtPBModFilterType) | Bw40MHz BwThrough
ModulationType (AgtPBModulationType) | None AMStep FMStep FMChirp CustomFMChirp BPSK CustomBPSK QPSK CustomQPSK Barker FrankCode P1Code P2Code P3Code P4Code CustomPhasePattern
OptimizeType (AgtPBOptimizeType) | Accuracy Speed Custom
PatternItemObjectType (AgtPBPatternItemObjectType) | Pulse Pattern Offtime
PRI Pattern Type (AgtPBPriPatternType) | None Bursted LinearRamp Staggered Stepped
PRI Wobbulation Type (AgtPBPriWobbulationType) | None SawTooth Sinusoidal Triangular
PulseType (AgtPBPulseType) | Trapezoidal RaisedCosine CustomEnvelope CustomIQ
PulseWidthPatternType (AgtPBPulseWidthPatternType) | None LinearRamp Staggered Stepped
Radiation Type (AgtPBRadiationType) | Blackman Cosine1 Cosine2 Cosine3 Cosine4 Cosine5 ExactBlackman Hamming Programmable Rectangular ThreeTerm ThreeTermMinimum
ReferenceSource (AgtPBReferenceSource) | Arb External NotCommon SignalAnalyzer SignalGenerator
SampleClockSource (AgtPBSampleClockSource) | Internal External
TriggerMode (AgtPBTriggerMode) | None Continuous Single Pulse
TriggerMode (AgtPBTriggerMode) | None Continuous Single Pulse
TriggerPolarity (AgtPBTriggerPolarity) | Positive Negative
TriggerSource (AgtPBTriggerSource) | Software External1 External2


Using API in LabVIEW

Using Signal Studio .NET APIs in LabVIEW

This topic provides instructions (outlined below) for using Signal Studio .Net APIs in LabVIEW.

  • Load .NET Mixed-Mode Assemblies

  • Creating .NET Objects in the Block Diagram

    • Step 1: Configure the Constructor Node

    • Step 2: Configure Properties for Methods for the .NET Object

    • Step 3: Wire the Added .NET Nodes

    • Step 4: Run the VI

  • Example LabVIEW VIs using Signal Studio APIs

  • .NET Topics in LabVIEW Help

Load .NET Mixed-Mode Assemblies

The .NET Framework 4.0 allows you to load pure managed assemblies built in any version of the .NET Framework and LabVIEW loads the .NET Common Language Runtime (CLR) 4.0 by default. However, for some Signal Studio applications, API usage involves assemblies that are not pure .NET CLR. In these cases, you must configure LabVIEW to load .NET mixed-mode assemblies using the following steps:

  1. Open a text editor.

  2. Copy the following text into the text editor:

    <?xml version ="1.0" encoding="utf-8" ?>

    <configuration>

    <startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v4.0.30319"/>

    </startup>

    </configuration>

  3. Save this new configuration file in the same directory as LabVIEW.exe. Typically the directory is C:\Program Files (x86)\National Instruments\LabVIEW 2014. Name the file LabVIEW.exe.config.

  4. Re-launch LabVIEW.

Creating .NET Objects in the Block Diagram

Signal Studio APIs do not provide graphical controls, so most of the usages of APIs should be done in the Block Diagram view of LabVIEW (Window > Show Block Diagram).

Step 1: Configure the Constructor Node

  1. Add the Constructor Node to the block diagram to launch the Select .NET Constructor dialog box.

  2. Select an assembly, objects, and constructors for a .NET object.

    First, right click to “Select Constructor” and in the pop-up window “Browse” to the Signal Studio software installation directory to select the assembly (.dll or .exe) that provides the API interfaces. Then, select the appropriate Object and Constructor.

    Choose which assembly, object, or constructor according to your testing needs and also by looking at the related API help contents shipped with the Signal Studio software.

    • API related topics in the main help file (Help > Contents)

    • API referenc help file (Help > API Reference)

Step 2: Configure Properties for Methods for the .NET Object

Right click the Constructor node to create Property or Method node.

You can also right click the name of the Property to create sub Property or sub Method nodes.

Step 3: Wire the Added .NET Nodes

After all the needed nodes are created, wire them up (using the reference and error input/output connectors of the nodes) to execute the API test flow/procedure.

When wiring the whole test procedure up, you may need to add other nodes (e.g. a numeric constant), or a front panel control (in the Window > Show Front Panel view, to do runtime control) to the block diagram as appropriate.

Some properties may be “Read,” so you may need to “Change To Write” to assign value to the property.

From the context help in LabVIEW, you can know the type of a certain property node, which is helpful to wire the correct type of node/control to the property node.

Step 4: Run the VI

After all the nodes/controls are wired up correctly, you can try to run (click the toolbar button) the VI. Below is a completed small VI whose function is to set some basic configurations of 802.11ac waveform then generate 802.11ac waveforms and download it to a Signal Generator.

Some Signal Studio apps provide Close() and/or Dispose() methods in the constructor class. It is important to add a method node to call Close() or Dispose() as the last step in the block diagram to release/clean up some resources associated with the API usage.

Example LabVIEW VIs using Signal Studio APIs

Attached are two example VIs for a coupleSignal Studio applications:

  • N7614B.vi performs a simple waveform downloading procedure for the Power Amplifier Test application

  • N7617B.vi is a relatively complex example that uses different WLAN 802.11ac waveform configurations, including MIMO

To run the VIs, LabVIEW and the Signal Studio software need to be installed on your PC.

.NET Topics in LabVIEW Help

Refer to the LabVIEW help for more detailed information about using .NET objects. The image below shows where to find this information or you search on "Creating .NET Objects on the Block Diagram."


Troubleshooting

Software Problems | identifies common software problems and solutions.
Waveform Download Problems | provides solutions for problems with downloading generated waveform data to a signal generator for playback.
Interface Problems | provides solutions for communication problems between the PC and the instrument.
Instrument Problems | provides solutions for measurement or operation problems with the instrument.
Printing Problem | provides information about printing popup topics.
User Permissions | describes how to set user permissions for installing and running the software.


Software Problems

"Restricted User" cannot run Signal Studio application

When a "Restricted User" tries to run the Signal Studio application without the correct security permissions, an unhandled exception error message indicates that access is denied.

Cause: The user permissions are not correctly set.

Solution: The administrator must set the correct user permissions in the Signal Studio installation folder. See the instructions in User Permissions.

DAC Over Range Error

After downloading the waveform, the signal generator displays the following error: "Baseband Generator DAC over range".

Cause: The number of frames and some baseband filter selections (such as NONE) can result in a high crest factor, causing digital to analog converter (DAC) overflow.

Solution: Reduce the runtime scaling value to 50 percent or less.

License Error

After clicking Download on the tool bar, or Test I/O Connection in the System Configuration Wizard, an Authorization dialog box or license error message appears.

Cause: A license file for an instrument being used cannot be found in the PC or in the instrument.

Solution: To be fully functional, the software requires a valid license. You must have either a permanent license or a valid 14-day trial license for each instrument being used. To obtain a free, 14-day trial license or purchase a permanent license, see Licensing.

Firmware Error

After clicking Test I/O Connection in the System Configuration Wizard, "FW version is not valid" appears.

Cause: The signal generator firmware needs to be upgraded.

Solution: See System Requirements for information about updating the firmware.

Connection Failure

After clicking Test I/O Connection in the System Configuration Wizard, "Connection failed" appears.

Cause: The LAN or GPIB instrument connection may not be properly enabled.

Solution: Verify that all equipment is properly connected and that the LAN or GPIB interface is correctly installed and configured. (See Keysight IO Libraries.) Ensure that the GPIB or LAN information that you entered in the System Configuration Wizard matches the instrument and interface you are using. See Interface Problems for more troubleshooting information.

Related Topics

Equipment Setup and Connection

Licensing


Waveform Download Problems

License Errors

If you attempt to download a waveform and the waveform license is not found or is expired, an error message displays in the status bar and the status window. See the Licensing topics for more information.

Cannot download waveforms to the signal generator

  1. Verify that N7620B Signal Studio for Pulse Building software is installed.

  2. Verify that the PC can communicate with the equipment.

  3. Remove excess files from volatile memory on your signal generator.

Download Takes a Long Time

If the signal generator connects directly to the PC using a crossover LAN cable and downloading a waveform takes a long time, or there are connection problems even if the ping command is successful, add the signal generator's IP address and hostname to the Hosts file. The Hosts file is a common way to map a hostname to an IP address. (For more information on Hosts files, go to www.microsoft.com and search on "example hosts file.")

Depending on the operating system, you will find the Hosts file in one of the following directory paths:

C:\Winnt\System32\Drivers\Etc\

C:\Windows\System32\Drivers\Etc\

Procedure

  1. In a text editor, such as Notepad, open the Hosts file. (Drag and drop the file directly into Notepad).

  2. Write the IP address and hostname for the signal generator, and any other instruments used in the system (such as a spectrum analyzer), at the end of the file. See the example Hosts file below.

    Do not use "Save As" when saving the Hosts file; this file does not have a file extension.

  3. Save the file and close the text editor.

Example Hosts File

# Copyright (c) 1993-1999 Microsoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows

#

# This file contains the mappings of IP addresses to host names. Each

# entry should be kept on an individual line. The IP address should

# be placed in the first column followed by the corresponding host name.

# The IP address and the host name should be separated by at least one

# space.

# Additionally, comments (such as these) may be inserted on individual

# lines or following the machine name denoted by a '#' symbol.

#

# For example:

#

# 102.54.94.97 rhino.acme.com # source server

# 38.25.63.10 x.acme.com # x client host

127.0.0.xxx localhost

141.xxx.60.xxx signal generator hostname

141.xxx.40.xxx spectrum analyzer hostname


Interface Problems

This section will help you verify GPIB and LAN interface problems.

  • GPIB Interface Problems

  • LAN Interface Problems

It is recommended that you consult the Keysight Signal Studio Software Installation Guide for more information on configuring and troubleshooting the interface.

GPIB Interface Problems

  1. Ensure that the GPIB cables are securely attached to the PC, signal generator, and spectrum/signal analyzer. Ensure that the cables and instrument connectors are not damaged.

  2. Click Connect in the Pulse Building Menu area of the software and select Signal Generator. Verify that the GPIB address entered in the Connect to Signal Generator window is the same as the GPIB address used by your signal generator.

  3. Click Connect in the Pulse Building Menu area of the software and select Spectrum Analyzer. Verify that the GPIB address entered in the Connect to Spectrum Analyzer window is the same as the GPIB address used by your spectrum/signal analyzer.

    NOTE: If you have multiple GPIB boards installed, verify which board is selected.

  4. Review the GPIB setup sections in the Keysight Signal Studio Software Installation Guide.

LAN Interface Problems

  1. Check all LAN cable connections and make sure you are connected to the LAN. The LAN connector you are using may not be active. Check the rear panel of the signal generator and spectrum/signal analyzer for flashing green or yellow lights which indicate LAN activity. Do not use a cross-over LAN cable.

  2. Click Connect in the Pulse Building Menu area of the software and select Signal Generator. Verify that the TCP/IP address entered in the Connect to Signal Generator window is the same as the TCP/IP address used by your signal generator.

  3. Click Connect in the Pulse Building Menu area of the software and select Spectrum Analyzer. Verify that the TCP/IP address entered in the Connect to Spectrum Analyzer window is the same as the TCP/IP address used by your spectrum/signal analyzer.

  4. Run the ping program:

    1. From the computer, go to Start > Run, type command then click OK.

    2. At the C:\> prompt, type ping <IP address>, where <IP address> is the signal generator's IP address or hostname.

    3. If the signal generator does not respond, contact your IP department.

    4. Type exit in the command prompt window then press Enter

  5. For more information on the 'ping' program, or for LAN setup information, refer to the Keysight Signal Studio Software Installation Guide.

    The VI_ERROR_ALLOC error indicates that an attempt was made to connect to a TCP/IP address that is currently in use by another application.


Instrument Problems

No RF Signal Displayed on the Analyzer

If the analyzer display indicates that there is no RF signal, the signal generator, analyzer, or both, could have problems. To isolate the problem it is best to substitute a known good RF source in place of the signal generator. The signal generator may appear to have no or low output. Leave the signal generator connected to the signal analyzer as shown in the instrument setup figure. Turn on the equipment and perform the following steps:

  1. Check the error messages in the signal generator and analyzer. If possible, correct the conditions indicated by the messages.

  2. Ensure that the signal analyzer and signal generator connectors are clean and in good condition. Check to see that the RF cable connecting the signal generator and analyzer is the correct cable and that it is not damaged or broken.

  3. Put the signal generator and signal analyzer in Local mode.

  4. Turn off the signal generator and analyzer and then turn them both back on.

  5. Set the following signal generator parameters:

    Frequency: 1 GHz

    RF Power: 0 dBm

    RF Out: On

    MOD: Off

  6. Set the following analyzer parameters:

    CF Frequency: 1 GHz

    Span: 500 MHz or Start Frequency: 0.5 GHz and Stop Frequency: 1.5 GHz

    Ref Level: 10 dBm

There should be a signal displayed on the analyzer. If there is no signal, perform the following:

  1. Disconnect the RF cable from the analyzer and check the RF power using an RF power meter. If the power meter reads approximately 0 dBm, then the problem is with the analyzer. If the power meter reading is wrong, then continue with step 2.

  2. Disconnect the RF cable from the signal generator and check the signal generator RF output power using an RF power meter. If the power reads approximately 0 dBm, the problem is with the RF cable. If the power level is wrong, the problem is with the signal generator.

You can also substitute a known good signal source in place of the signal generator. If the analyzer displays a signal with the new source, then the signal generator probably has a problem. If there is still no signal on the analyzer, the problem is probably with the analyzer.

No Communication with the Signal Generator or Analyzer

  1. Ensure that the correct IO Libraries are installed on your PC.

  2. Perform the Keysight IO Libraries GPIB and LAN configurations.

    Refer to the Keysight Signal Studio Software Installation Guide for more information on configuring and troubleshooting the interface.

  3. Ensure that you are using a valid TCP/IP address. A long time-out when entering the TCP/IP address may indicate that it is incorrect.

  4. Verify that the Host file is correct.

  5. Run the Closed ping program.

    1. From the computer, go to Start > Run, type command then click OK.

    2. At the C:\> prompt, type ping <IP address>, where <IP address> is the signal generator's IP address or hostname.

    3. If the signal generator does not respond, contact your IP department.

    4. Type exit in the command prompt window then press Enter

  6. For more information on the 'ping' program, refer to the Keysight Signal Studio Software Installation Guide.

M8190A FAQ - Making the M8190A A LAN based instrument

Why can’t I ping the M8190A Arb from my PC? Keysight I/O Manager finds the Arb and even connects to it. *IDN? Query works too. When I try to save the M8190A in the I/O manager it shows an error.

Cant’ ping M8190A AXIe embedded controller from external PC. Why?

The below process will cover enabling ping requests through the Windows Firewall.

  1. After you are in the Windows 7 Firewall you will need to select "Advance Setting" on the left hand side of the window.

  2. Click on Inbound Rules

  3. Next you will need to scroll down the list until you see "File and Printer Sharing (Echo Request - ICMPv4-In)".

    In Windows 7, Microsoft moved the rule under the File and Printer Sharing section. So if you are trying to find the rule for Windows Vista you will want to look under Networking.

  4. After you find the listing you will need to right click and select Enable Rule.

    You will see the listing for each network profile. So you will want to do this for each one. Also at this time you do not need to enable the ICMPv6-In rule because ICMPv6 is not current used as a standard.

  5. Click on the red "x" to close the Windows Firewall with Advance Security window.

You should now be able to send ping requests through the Windows 7 Firewall.

LO Leakage

LO or carrier leakage is caused by DC voltage offsets in the baseband (I/Q) signal. To minimize the LO leakage be sure the signal generator has a current I/Q calibration. The LO leakage can be further reduced by using the I Offset and Q Offset properties in the signal generator. These properties can be found under the I/Q Adjustments Menu of the signal generator.

A large LO leakage can occur when using the External Arb configuration. This configuration uses a wideband Arb, N603xA/M933xA or N824xA) and the external I/Q inputs on the front of the signal generator. To minimize the LO leakage, do the following each time the application is started:

  1. Create a simple pattern then download and play it.

  2. Change the Arb voltage to 0.8 V.

  3. Download and play the pattern again.

  4. Change the Arb voltage back to 0.5 V.

  5. Download and play the pattern again.

  6. Play the Test Signal and check the LO leakage.

  7. Adjust the I and Q offsets on the signal generator to minimize the LO leakage. Be sure that the I/Q Adjustments are enabled on the signal generator.


Printing Popup Topics

Printing Problem

The Popup Text Prints Over Other Text

If you click the print icon ( [image]) while a popup is active, the printer prints the popup text over the existing topic text. Use the following procedure to print the popup text separately.

  1. Activate the popup.

  2. Move the cursor over the popup text.

  3. Right-click.

    If the popup closes, reopen it and make sure that the cursor is over the popup when you right-click.

  4. From the menu that appears, choose Print.


User Permissions

To install and run the N7620B software in a Windows operating environment, appropriate security permission settings are required. If you are not logged onto your PC with the required security permissions, the software displays an error message during installation and when attempting instrument connection. The following list identifies the security levels required to install and run the software.

Software Usage | Security Permissions Required
Install the software | Administrator (Administrator Group)
Run the software | Administrator (Administrator Group) or Standard User (Power User Group). Restricted User (User Group) requires an administrator to reset the permissions.
Develop application with API | Administrator (Administrator Group), Standard User (Power User Group)
Run application with API | Administrator (Administrator Group), Standard User (Power User Group). Restricted User (User Group) requires an administrator to reset the permissions.

Resetting Permissions for a Restricted User

A user with Administrator status can reset the permissions of a Restricted User to enable that user to run the software. The following steps outline the procedure.

  1. In Windows Explorer, navigate to the Signal Studio installation folder. The default directory is:

    C:\Program Files\Keysight\Signal Studio\

  2. Right click the Pulse Building N7600B installation folder.

  3. Select Properties from the popup menu.

  4. Select the Security tab.

  5. In the Group or user names list, select the user for whom you wish to change permissions.

  6. In the Permissions for Users section, check Modify and Write in the Allow column.

  7. Click Apply > OK.


Release Notes

Software 3.3.8 - June 2021

Software 3.3 - August 2020

Software 3.2.13 - December 2017

Software 3.2.8 - May 2016

Software 3.2.4 - October 2015

Software 3.2.2 - August 2015

Software 3.1 - September 2014

Software 3.0.38.0 - November 2013

Software 3.0.32.0 - July 2013

Software 3.0 - August 2012

Software 2.0 - September 2011

Software 1.3.21.0 - November 2009

Software 1.3 - March 2009

Software 1.2.28.0 - April 2008

Software 1.2.26.0 - November 2007

Software 1.2.24.0 - February 2007

Software 1.2.23.0 - April 2006

Software 1.1.19.0 - August 2005

Software 1.0.51.0 - June 2005

Software 1.0.50.0 - October 2004

Software 1.0.49.0 - March 2004

Software 1.0.39.0 - July 2003

Software 1.0.38.0 - June 2003

Software 1.0.34.0 - December 2002

Software 3.3.8 – June 2021

Enhancement:

  • Added support for the M9384B VXG, bandwidth Option D2E

Software 3.3 – August 2020

Enhancement:

  • Added support for the M9383B VXG-m and M9384B VXG microwave signal generators (version A.04.00 or later)

    The active VXG Signal controlled by Pulse Building is selected under the Download > Customize > Arb menu.

    The VXG minimum scenario period is 4 us in Pulse Building. The minimum pattern maybe composed of 1 or more pulses.

    The VXG cannot be configured to use an external Arb. (No External IQ or Wideband IQ configurations.)

    The VXG cannot be configured to use corrections from Pulse Building.

    The VXG Signal Generators implement user corrections directly, independent of Pulse Building.

  • Application is available only as 64 bit.

  • No N7620A license support for M9330A, N8241A and N6030A Arb family.

    N7620A-101 Not Supported

    N7620A-102 Not Supported

    N7620A-117 Not Supported

    N7620A-118 Not Supported

    N7620A-205 Not Supported

    N7620A-206 Not Supported

Software 3.2.13 – December 2017

Bug fixes:

  • The Pattern Item’s Antenna/PRI/Hop tab pages now refresh correctly.

  • Pasting data to the Antenna Custom data table now works correctly.

Software 3.2.8 – May 2016

Enhancement:

  • Added support for N9010B EXA, N9020B MXA, N9030B PXA and N9040B UXA Signal Analyzers

Bug fix:

  • Fixed a problem where the Pulse Building software failed to turn on External IQ with Q-Arb attached when PSG options 601 or 602 were not present.

Software 3.2.4 – October 2015

Bug fix:

  • Added the Dispose() .NET API call to prevent crashes in LabVIEW. See the LabVIEW help topic for more information.

Software 3.2.2 – August 2015

The N7620B Pulse Building software has been updated to support the following features/enhancements:

  • Frequency hop patterns

  • Minor rebranding changes

Bug fixes:

  • The “Enable Pattern” check box (Antenna, PRI, and Hop) does not refresh correctly when switching between pattern items.

  • Corrected the calculated chirp rate for Descending Chirps.

Software 3.1 – September 2014

  • Applied Keysight brand to software.

    As a result of re-branding, certain software installation folders on your PC have been renamed from "Agilent" to "Keysight." This can cause errors with existing API programs attempting to access the old folder name. In these cases, you must modify the reference path in your program.

Software 3.0.38.0 – November 2013

Bug fixes:

  • When importing CSV files, "Off Time" values that include a decimal point are now correctly converted from text to numbers.

  • Corrected an error condition that occurred when downloading waveforms to an N5172B EXG.

  • Corrected a "-222 data out of range" error that occurred when downloading radar pulse sequences to some instruments.

Software 3.0.32.0 – July 2013

Bug fixes:

  • PSGs (E8267C/E8267D) with Option 015 in wideband mode have a settable frequency range of 3.2 GHz and higher. All non-wideband PSG configurations are settable to the instrument's full frequency range.

  • Enabled the API phase offset properties PhaseOffset_Deg and PhaseOffset_Rad. You can now set phase offset from the API and save to/recall from the .pbp setup file.

  • Added an API property for phase offset units. The Boolean property PhaseOffsetInDegrees sets the GUI's phase offset field to display in degrees (true) or Radians (false). The property maps to the phase offset radio buttons in the GUI's Custom Pattern Detail Table settings dialog.

Software 3.0 – August 2012

Introduction of N7620B Pulse Building software with the following new features:

  • Support for Windows 7 (32/64 bit)

  • Additional hardware support

    • M8190A wideband arbitrary waveform generator (FW version 2.3.1.0 or higher)

    • N5172B/N5182B vector signal generator with Internal Arb (FW version B.01.20 or higher)

Software 2.0 – September 2011

The N7620A Pulse Building software has been enhanced to support the following features:

  • Import and export complex pulse scenarios from CSV files

  • Radar antenna patterns and scanning modes

  • Pulse repetition interval patterns with wobbulation and jitter

  • Pulse width patterns with jitter

  • Accurate output power for pulse widths less than 1 us

  • Automatic settings to simplify signal optimization between different hardware

Software 1.3.21.0 – November 2009

The N7620A Pulse Building software now supports the N9030A PXA Signal Analyzer and the N8242A Arbitrary Waveform Generator.

Software 1.3 – March 2009

The N7620A Pulse Building software now supports the E8267D PSG option H18 wideband downconverter and the option HBQ bandwidth-limited wideband differential external I/Q inputs. Additionally, the N9010A EXA Spectrum Analyzer and the N9020A MXA Spectrum Analyzer are supported for the correction measurement.

Bug fixes:

  • The signal analyzer is configured to transmit and receive SCPI commands prior to starting a measurement.

  • Phase offset in the pattern library works correctly for degrees and radians.

  • During download, all Chirp Deviation properties are checked and errors are generated for anything that is out of range.

  • For wideband configurations (E8267D with Option 016, H16 or HBQ), the software reverses the spectrum below 250 MHz to correct for down conversion.

Software 1.2.28.0 – April 2008

Bug fix:

Updated the Custom FM Chirp waveform generation feature. Software revisions 1.2.26.0 and earlier do not generate the correct custom FM chirp waveform.

Software 1.2.26.0 – November 2007

Bug fix:

N7620A Pulse Building application is compatible with Keysight IO Libraries Suite version 15.0 or higher.

Software 1.2.24.0 – February 2007

Updated the help file to clarify minimum pulse width.

Software 1.2.23.0 – April 2006

The N7620A Pulse Building software modifications include bug fixes, new capabilities, and additional system support. A system requires any combination of a Signal Generator, an Arbitrary Waveform Generator, and, if linear corrections are used, a Spectrum Analyzer. The N7620A supports systems composed of the following hardware:

  • Additional hardware support

    • E4438C vector signal generator w/wo Options 001,002,601,602 Internal Arb

    • E8267C/D vector signal generator w/wo Options 001,002,601,602 Internal Arb

    • E8267C/D vector signal generator w/wo Option 015 or H16 Wideband I/Q

    • E8212A vector up converter w/wo Option 016 Wideband I/Q

    • N6030A arbitrary waveform generator

    • N6031A arbitrary waveform generator

    • N8241A arbitrary waveform generator

  • Auto-resampling for Custom Profile and Custom I/Q

  • ALC Hold − E4438C Internal Arb, E8267C/D Internal Arb, E8267D Serial Number > xxxxxxx, and N8212A vector up converter

    • Event 3 marker used to drive the ALC Hold line

  • Improved correction techniques

  • Frequency and amplitude offsets

  • Trigger mode

  • Additional pulse shapes, modulation types, and pattern creation abilities

    • Custom QPSK modulation type

    • Custom FM (Non-linear) chirp modulation type

  • Updated the online help file

Software 1.2.23.0 Bug Fixes

  • More I/O connection examples added

  • Correctly detects all internal and external arbitrary waveform generator configurations

  • Verifies maximum number of segments for Tektronix AWG520 arbitrary waveform generator

Software 1.1.19.0 – August 2005

The N7620A SW1 Pulse Building software has been modified in three main areas to support the N6030A Arb.

  • New system configuration wizard

    • Allows selection of system configuration; Internal I/Q, External I/Q, Wideband I/Q

    • Allows configuration of I/O address for signal generator and spectrum analyzer

    • System configurations and I/O addresses can be named and saved

    • Includes Self Test feature

  • Enhanced waveform corrections

    • Include RF phase correction

    • Can be optimized for accuracy or speed

    • Includes Test Signal to help optimize I and Q cable lengths

  • Supports new hardware configurations and parameters with the N6030A Arb

    • Increase in signal modulation bandwidth

    • External I/Q provides approximately 250 MHz bandwidth

    • Wideband I/Q provides approximately 1 GHz of bandwidth

    • Arb Output Voltage

    • Arb Output Filter

    • Pulse Modulation Alignment

Software 1.0.51.0 – June 2005

Software version 1.0.51.0 is a revised version of E4438C, E8267C and E8267D Option 420 Signal Studio for Pulse Building.

Software 1.0.51.0 Bug Fixes

  • Download and play now works for the following firmware revisions:

    • E8267D with firmware revision C.04.17 or higher

    • E8267C with firmware revision C.03.80 or higher

    • E4438C with firmware revision C.04.10 or higher

  • API now works correctly.

Software 1.0.50.0 – October 2004

Software version 1.0.50.0 is a revised version of E4438C, E8267C and E8267D Option 420 Signal Studio for Pulse Building.

Software 1.0.50.0 Enhancements

  • Added support for the Keysight E8267D vector signal generator.

  • Changed the pulse width specification from 10 ns to 30 ns.

Software 1.0.49.0 – March 2004

Software version 1.0.49.0 is a revised version of E4438C and E8267C Option 420 Signal Studio for Pulse Building.

Software 1.0.49.0 Enhancements

Added support for the E4438C ESG vector signal generator.

Software 1.0.49.0 Issues Resolved

Updated the help file.

Software 1.0.49.0 Hardware and Firmware Compatibility

Supported operating systems:

  • Windows XP Professional (Service Pack 1 or later)

  • Windows 2000 (Service Pack 3 or later)

  • Windows NT4.0 (Service Pack 6a or later)

Microsoft .NET framework (Service Pack 2 or later) must also be installed. See the Signal Studio Installation Guide for details.

Signal Studio software 1.0.49.0 is compatible with the following hardware and firmware options of the E4438C ESG vector signal generator:

Signal Studio Software | E4438C ESG Vector Signal Generator Hardware Options | E4438C ESG Vector Signal Generator Firmware
1.0.49.0 | Works with all hardware options | Firmware C.03.62 and above

Signal Studio software 1.0.49.0 is compatible with the following hardware and firmware options of the E8267C PSG vector signal generator:

Signal Studio Software | E8267C PSG Vector Signal Generator Hardware Options | E8267C PSG Vector Signal Generator Firmware
1.0.49.0 | Works with all hardware options | Firmware C.03.05 and above To upload encrypted waveform files from the signal generator, firmware revision C.03.31 or later is required.

Software 1.0.39.0 – July 2003

Software version 1.0.39.0 is a revised version of E8267C Option 420 Signal Studio for Pulse Building.

Software 1.0.39.0 Issues Resolved

  • Updated the help file.

Software 1.0.38.0 – June 2003

Software version 1.0.38.0 is a revised version of E8267C Option 420 Signal Studio for Pulse Building.

Software 1.0.38.0 Enhancements

  • Added support for Option 602 internal baseband generator with digital bus capability.

  • Added the ability to upload encrypted waveforms from the signal generator. This gives the user the ability to transfer a waveform from the signal generator to a computer and then download this waveform to a different signal generator. Requires firmware C.03.31 or later.

If the waveform was created with an optional signal creation application (i.e. Signal Studio or a waveform created within the PSG), the signal generator is required to have the license key (alpha-numeric code) for that particular option installed before playback of that waveform is allowed.

Software 1.0.38.0 Issues Resolved

  • Waveform plays back at the correct power level. Previously, power cycling would cause the waveform to play out a higher power level than specified in the application.

  • AM and FM step size issues resolved. Previously when the user entered a series of time steps, they were indexed incorrectly.

Software 1.0.38.0 Hardware and Firmware Compatibility

Supported operating systems:

  • Windows XP Professional (Service Pack 1 or later)

  • Windows 2000 (Service Pack 3 or later)

  • Windows NT4.0 (Service Pack 6a or later)

Microsoft .NET framework (Service Pack 2 or later) must also be installed. See the Signal Studio Installation Guide for details.

Signal Studio software 1.0.38.0 is compatible with the following hardware and firmware options of the E8267C PSG vector signal generator:

Signal Studio Software | E8267C PSG Vector Signal Generator Hardware Options | E8267C PSG Vector Signal Generator Firmware
1.0.38.0 | Works with all hardware options | Firmware C.03.05 and above To upload encrypted waveform files from the signal generator, firmware revision C.03.31 or later is required.

Software 1.0.34.0 – December 2002

Software version 1.0.34.0 is the initial version of E8267C Option 420 Signal Studio for Pulse Building and is used to simplify the creation of complex, single-emitter, radar test patterns with custom pulse shaping and pulse compression.

The Pulse Building personality includes the ability to:

  • Create a library of custom pulse shapes by configuring or importing pulses

  • Apply intra-pulse modulation to built-in and imported pulses

  • Build a library of complex pulse patterns for radar receiver test

  • Enhance signal quality using baseband pre-distortion

  • Automate signal configuration and generation using the COM based application programming interface (API)

  • Connect to the E8267C PSG vector signal generator using 10BaseT LAN and GPIB

  • Utilize built-in help with pulse and pattern configuration examples

Software 1.0.34.0 Hardware and Firmware Compatibility

Supported operating systems:

  • Windows XP Professional (Service Pack 1 or later)

  • Windows 2000 (Service Pack 3 or later)

  • Windows NT4.0 (Service Pack 6a or later)

Microsoft .NET framework (Service Pack 2 or later) must also be installed. See the Signal Studio Installation Guide for details.

Signal Studio software 1.0.34.0 is compatible with the following hardware and firmware options of the E8267C PSG vector signal generator:

Signal Studio Software | E8267C PSG Vector Signal Generator Hardware Options | E8267C PSG Vector Signal Generator Firmware
1.0.34.0 | Works with all hardware options | Firmware C.03.05 and above

© Copyright 2003-2006 Keysight Technologies, Inc. All rights reserved.

Other products and company names herein may be the trademarks of their respective owners.


Additional Information

Contacting Keysight Technologies

For more information on Keysight Technologies’ products, applications or services, please contact your local Keysight office.

Americas

Canada (877) 894 4414

Brazil 55 11 3351 7010

Mexico 001 800 254 2440

United States (800) 829 4444

Asia Pacific

Australia 1 800 629 485

China 800 810 0189

Hong Kong 800 938 693

India 1 800 112 929

Japan 0120 (421) 345

Korea 080 769 0800

Malaysia 1 800 888 848

Singapore 1 800 375 8100

Taiwan 0800 047 866

Other AP Countries (65) 6375 8100

Europe & Middle East

Austria 0800 001122

Belgium 0800 58580

Finland 0800 523252

France 0805 980333

Germany 0800 6270999

Ireland 1800 832700

Israel 1 809 343051

Italy 800 599100

Luxembourg +32 800 58580

Netherlands 0800 0233200

Russia 8800 5009286

Spain 0800 000154

Sweden 0200 882255

Switzerland 0800 805353

Opt. 1 (DE)

Opt. 2 (FR)

Opt. 3 (IT)

United Kingdom 0800 0260637

For other unlisted countries:

www.keysight.com/find/contactus

(BP-07-10-14)


Crossover LAN

Configuring for a Crossover LAN

To set up your system for a crossover LAN connection (direct connection between a PC and instrument), do the following:

Configure the PC

This procedure is based on Windows XP. These steps will vary for Windows 2000.

  1. From your PC's Control Panel, double-click Network Connections > Local Area Connection.

  2. In the Local Area Connection Properties dialog box, highlight Internet Protocol (TCP/IP). Ensure that the check box remains selected.

  3. Click Properties.

  4. Select Use the following IP address (radio selection).

  5. Enter 1 once for each of the four areas that make up the IP address. After your entries, the IP address should show 1.1.1.1.

  6. Click the Subnet mask entry field; an address appears.

  7. Click OK to accept the configuration.

  8. Close the Local Area Connection Properties dialog box.

  9. Close the Network Connections window.

To Reconfigure for a LAN Connection

  1. Reconnect the LAN cable.

  2. From your PC's Control Panel, click Network Connections > Local Area Connection.

  3. In the Local Area Connection Status dialog box, click Properties.

  4. In the Local Area Connection Properties dialog box, highlight Internet Protocol (TCP/IP). Ensure that the check box remains selected.

  5. Click Properties.

  6. Select the Obtain an IP address automatically option or enter your system IP address.

  7. Click OK to accept the configuration.

  8. Close the Local Area Connection Properties dialog box.

  9. Close the Local Area Connection Status dialog box and the Network Connections window.

Configure the Signal Generator

  1. Turn on the signal generator.

  2. Use the appropriate key-press sequence for the signal generator you are using:

    EXG or MXG: Utility > I/O Config > LAN Setup > Manual Config Settings > IP Address

    ESG or PSG: Utility > GPIB/RS-232 LAN > LAN Setup > IP Address

  3. Record the current IP address.

  4. Enter 1.1.1.2 as the new IP address.

  5. Press Enter > Proceed with Reconfiguration > Confirm Change.

    The signal generator reboots, completing the LAN reconfiguration.

Configuring Additional Instruments

To configure additional instruments, such as a spectrum analyzer, increment the IP address for each additional instrument by one. For example, use 1.1.1.3 as the IP address for a third instrument and 1.1.1.4 for a fourth instrument. Refer to the user documentation of the instrument you want to add for specific crossover configuration information.


Available Licenses

Free Trial License

A one-time, 14-day, free trial license enables the licensed instrument to play waveforms created with any of the software's optional capabilities. When the trial license expires, the instrument no longer plays the waveforms and the software displays an expiration notice when you attempt to download a waveform to the instrument. After the license expires, you must purchase a valid fixed or transportable license to enable your instrument to play the waveforms. Check trial license availability for your instrument.

Purchased Licenses

Fixed License

A fixed license is assigned to a specific instrument and cannot be transferred to another instrument. Fixed licenses are either perpetual (permanent) or time-based (1-month duration). Only perpetual licenses can be upgraded.

When a time-based fixed license expires, the instrument no longer plays the waveforms and the software displays an expiration notice when you attempt to download a waveform to the instrument. After the license expires, you must purchase a valid fixed or transportable license to enable your instrument to play the waveforms.

Transportable License

A transportable license is transferable from one instrument to another up to 10 times per month, but can be used on only one instrument at a time. Transportable licenses are perpetual (permanent) and can be upgraded. To transport a license, you will need the following:

  • Keysight License Manager (KLM) software

  • PC with an internet connection

  • LAN connection between PC running the KLM software and instruments (direct or networked)

  • Instruments connected to the internet (recommended, but not required)

Related Topics

Moving a Transportable License

Viewing the Remaining Time on a License

Waveform Licensing


Receiving the Entitlement Certificate

When you purchase a software license, you will receive a Software Entitlement Certificate. Redeem this certificate to receive the software license. Keep this certificate in a safe place for future reference.

Record the order number and the certificate number.

You will also need your instrument's model number and serial number.

On EXG, MXG, ESG, and PSG signal generators, press Utility > Instrument Info > Diagnostic Info to view these numbers.


Trial License

To request a trial license, you must provide your contact information along with the model number and serial number of the instrument for which the trial license is being issued.

  • On PSG, MXG, EXG, and ESG signal generators, press Utility > Instrument Info > Diagnostic Info to obtain these numbers.

After completing your request, you will receive an email message that includes the trial license and instructions for installing the license.

Before requesting a trial license, verify that the instrument and PC meet the system requirements.

To request a trial license now, continue to the software licensing website.

Terms and Conditions

A trial license is available that enables you to evaluate this Signal Studio software product prior to purchase. The trial license enables all of the capabilities of the Signal Studio software product for 14 days and will be issued only once per host instrument. The trial period begins when the license is issued through the Keysight Software Licensing website and is non-renewable. To begin your trial, download and install the Signal Studio software and request your trial license as instructed above.

Check trial license availability for your instrument.


Trial License Availability

The N7620B software supports the 14 day Trial license (N7620B-TRL) for all of the supported hardware:

  • PSG/MXG/EXG/ESG Signal Generators
  • M8190A and N8241A/N6030A/M9330A Arbitrary Waveform Generators


Getting the Latest Revision of Help

Keysight frequently updates the Signal Studio online documentation (help system). Your software may not have the latest revision. This topic describes how to access and install the latest revision into your Signal Studio software.

Where to Access the Latest Help

  1. Visit the Signal Studio web page at http://www.keysight.com/find/signalstudio.

  2. At the bottom of the page, click the link for your Signal Studio model.

  3. Under the Technical Support tab, click Manuals. Links to both a downloadable compiled help file (.chm) and a web-viewable help system (webhelp) appear.

  4. Compare the date shown for the .chm file on the web page to the compiled date shown on your software's installed help main menu page.

Installing the Latest Revision of Help in Your Signal Studio Software

If the compiled date of your software's installed help system is earlier than the date shown on the web page, you can update your help file as follows:

  1. Before installing the latest revision of the help file into your software, make sure it still supports the features of your current software revision. You can make this determination by carefully comparing the release notes of your current installed help system with the release notes in the latest help system. If the listed enhancements and bug fixes do not indicate significant feature changes, installing the latest help system is a good choice. Otherwise, you may want to consider downloading the latest version of software instead.

  2. Move the existing installed help file to a safe place on your PC. This ensures you can restore it later if you discover the new help file does not suit your needs. If you installed your Signal Studio software with the default directories, the help file (Help.chm) is located in the following directory:

    C:\Program Files\Keysight\Signal Studio\Pulse Building

  3. Download the latest help file (N7620B.chm) from the Keysight website and copy it to the same directory from which you moved the existing help file in the previous step.

  4. Rename the new help file ("N7620B.chm" to "Help.chm")

  5. Verify that the new help file can be accessed from the software by selecting Contents, Index, or Search from the Help drop-down menu.


ALC

ALC (Automatic Loop Control)

The RF output power of the signal generator is constantly monitored and controlled by the ALC circuit. Its purpose is to hold output power at a desired level in spite of drift due to temperature and time.

Pulse modulation is accomplished using a modulator that precedes the ALC detector. The ALC measures the power of the pulsed signal, and can do this if the pulse width exceeds 1 µs. For narrower pulses, set the ALC Off and use the signal generator's Power Search function.

The ALC is part of the signal generator calibration process. Even when the ALC is turned off, the value for the output gain correction is held (but not updated) in a digital-to-analog converter and applied to the output. If the ALC is turned off for an extended period of time, the output calibration may drift. It is good practice to turn off the IQ modulation and press the manual calibration softkey under the Power hardkey to update the calibration about once a day.


Arb

Arbitrary Waveform Generator (Arb) or dual arbitrary waveform generator. The dual arbitrary waveform generator is designed to provide optimized I and Q signals to the signal generator's I/Q modulator. It consists of three major blocks:

  • Waveform memory - sampled representation of the waveform

  • Sequencer - Controls waveform memory play back

  • Analog signal processing - digital/analog convertors (DACs) and reconstruction filters


Barker Codes

Barker Code

Barker codes are binary numbers using two to 13 bits and have unique auto-correlation functions. The points adjacent to the peak of the correlation function equal zero. This is very useful in a radar system since any spurious response can be misinterpreted as a target. A Barker-coded pulse typically uses binary phase modulation.

The 'chip' rate is the dwell time for each bit within the pulse. A 7-bit Barker code contains the bits [+1 +1 +1 -1 -1 +1 -1]. The following table shows Barker Codes supported by Signal Studio for Pulse Building.

Barker Code 2 | 10
Barker Code 3 | 110
Barker Code 4 | 1011
Barker Code 5 | 11101
Barker Code 7 | 1110010
Barker Code 11 | 11100010010
Barker Code 13 | 1111100110101


Baseband Filter and Modulator Attenuator

Pulse Building does not directly control the Baseband Filter and Modulator Attenuation properties for the source. The source firmware has been optimized to set the modulator attenuator value based on the waveform RMS voltage. You may override this feature by manually setting the modulator attenuator value in the source from the front panel or with SCPI commands.

Baseband Filter

There are 40 MHz low pass filters in the I/Q signal path before the I/Q modulator. The filters help reduce broadband noise and spurs for signals with an 80 MHz or less RF bandwidth. This parameter should be set to Through when using external I/Q inputs and signals that have RF bandwidths greater than 80 MHz. These filters have no affect on the PSG Options 015, 016, H16, or HBQ Wide Band signal path. The baseband filter value is used by Generate Correction. The baseband filter reset value is System configuration specific:

  • PSG/ESG Internal Arb - 40 MHz

  • PSG/ESG External I/Q - Through

  • PSG Option 015, 016, H16, HBQ - Disabled

Modulator Atten

Adjust the signal generator's modulator attenuation level to optimize signal performance at the RF output. When ALC Enable is on, the RF output amplitude will not change while the attenuator value is changed until the ALC range is exceeded. The modulator attenuator is used by Generate Correction.

The range of values is 0 to 40 dB. The attenuation can be set in 0.01 dB increments. Changes to the modulator attenuation levels can affect the corrections applied to the downloaded signal. If this parameter is changed for a pattern definition, clear the calibration data from the signal generator using the Download menu's Clear Calibration Data menu selection. If an I/Q calibration was done at one modulator attenuator level and the level is changed, the I/Q calibration will automatically be initiated.

The default value is system configuration specific:

  • ESG/PSG Internal Arb - 12 dB

  • ESG/PSG External Arb - 4 dB

  • PSG Option 015, 016, H16, HBQ - Disabled


Contacting Keysight Technologies

Contacting Keysight Technologies

For more information on Keysight Technologies’ products, applications or services, please contact your local Keysight office.

Americas

Canada (877) 894 4414

Brazil 55 11 3351 7010

Mexico 001 800 254 2440

United States (800) 829 4444

Asia Pacific

Australia 1 800 629 485

China 800 810 0189

Hong Kong 800 938 693

India 1 800 112 929

Japan 0120 (421) 345

Korea 080 769 0800

Malaysia 1 800 888 848

Singapore 1 800 375 8100

Taiwan 0800 047 866

Other AP Countries (65) 6375 8100

Europe & Middle East

Austria 0800 001122

Belgium 0800 58580

Finland 0800 523252

France 0805 980333

Germany 0800 6270999

Ireland 1800 832700

Israel 1 809 343051

Italy 800 599100

Luxembourg +32 800 58580

Netherlands 0800 0233200

Russia 8800 5009286

Spain 0800 000154

Sweden 0200 882255

Switzerland 0800 805353

Opt. 1 (DE)

Opt. 2 (FR)

Opt. 3 (IT)

United Kingdom 0800 0260637

For other unlisted countries:

www.keysight.com/find/contactus

(BP-07-10-14)


GPIBaddress

To view the signal generator's GPIB connection information:

On the MXG/EXG, press Utility > IO Config > GPIB Setup

On the ESG or PSG, press Utility > GPIB/RS-232 LAN


IP address

To view the signal generator's IP address:

On the PSG/ESG, press Utility > GPIB/RS-232 LAN > LAN SETUP > IP ADDRESS.

On the MXG/EXG, press Utility > I/O Config > LAN Setup.


Pulse Building Classes

Classes

This section describes the properties and methods associated with the Keysight Signal Studio for Pulse Building API (Application Programming Interface). When developing Visual Basic projects using the Pulse Building API, the Pulse Building COM classes and class members can be viewed using the Object Browser. The following graphic shows the class headings as well as the class hierarchy.

Click on the area of interest for more information.


RF Filter Switch Point Examples

The following pictures show the benefit of enabling the Shift RF Filter Switch Points option (Download > Customize > Wideband) using both the external arb and the internal arb for wide bandwidth signals.

400 MHz wide chirp generated using a PSG-D with option 016, N8241A Wideband Arb, Default RF Filter Switch Points

400 MHz wide chirp generated using a PSG-D with option 016, N8241A Wideband Arb, Shift RF Filter Switch Points enabled

Internal Arb, Multitone Signal, 80 MHz BW, 1 GHz

Shifting the filter switch point can also be useful when using an internal arb. The yellow trace shows the shifted switch point; the blue trace shows the default switch point.


Arbitrary Waveform Generator Memory

Internal Arbitrary Waveform Generator (AWG)

The Internal AWG has two types of memory - volatile memory and non-volatile memory. You can access signals stored in the AWG outside of the N7620B Pulse Building software.

Volatile Memory

Data stored in volatile memory cannot be recovered if it is overwritten, or if the power is cycled. This memory is partitioned as waveform memory (WFM1) and marker memory (MKR1).

WFM1 data is stored in the signal generator’s /user/bbg1/waveform/ directory.

MKR1 data is stored in the signal generator’s /user/bbg1/markers/ directory.

Non-volatile Memory

Data stored in non-volatile memory remains until you delete it. Unlike volatile memory, non-volatile memory is not partitioned; non-volatile waveform memory (NVWFM) and non-volatile marker memory (NVMKR) share the same space (along with bit, binary, and state directories).

NVWFM data is stored in the signal generator’s /user/waveform/ directory.

NVMKR data is stored in the signal generator’s /user/markers/ directory.

N603xA/M933xA or N824xA Arbitrary Waveform Generator

The N603xA/M933xA or N824xA AWGs only have volatile memory. You can only access stored signals using the N7620B Pulse Building software.

M8190A Arbitrary Waveform Generator

The M8190A AWGs only have volatile memory. You can only access stored signals using the N7620B Pulse Building software.

Volatile Memory

Data stored in volatile memory cannot be recovered if it is overwritten, or if the power is cycled.

Related Topics

Signal Limits


Upgrading Firmware

Downloading Signal Generator Firmware

Failure to follow this procedure may affect the signal generator's compatibility with other software applications.

You may need to upgrade the firmware in your signal generator to run the software (System Requirements). Use the following steps to load the latest version of firmware:

  1. Go to http://www.keysight.com/find/upgradeassistant.

  2. Click PSG/ESG Upgrade Assistant and install the program.

  3. Select the latest version of firmware for your signal generator model.

  4. Click Enhancements, Issues Resolved, and Hardware Compatibility, and check the compatibility information for the firmware release that you wish to download. If there is a compatibility problem, contact Keysight Technologies for assistance: http://www.keysight.com/find/assist.

  5. If there are no compatibility problems, return to the firmware page and click the firmware update to place the firmware files in the Upgrade Assistant folder.

  6. Run the Upgrade Assistant and follow the program prompts. If you would like more information, click PSG/ESG Firmware Upgrade Guide.

Downloading Analyzer Firmware

Failure to follow this procedure may affect the signal generator's compatibility with other software applications.

You may need to upgrade the firmware in your spectrum or signal analyzer to run the software (System Requirements). Use the following steps to load the latest version of firmware:

  1. Go to http://www.keysight.com/find/spectrumanalyzer.

  2. Click Technical Support, Drivers & Software.

  3. Click Signal & Spectrum Analyzer Firmware/Software Update Center.

  4. Click the latest revision link for your analyzer model.

  5. In the Documents & Downloads area, click the firmware documentation link.

  6. Read and follow the directions in the documentation.

Related Topics

System Requirements