Keysight M9383A Programming Manual

Keysight M9383A Programming Manual

Pxie vector signal generator
Hide thumbs Also See for M9383A:
Table of Contents

Advertisement

Quick Links

Keysight M9383A PXIe
Vector Signal Generator
Programming
Guide

Advertisement

Table of Contents
loading

Summary of Contents for Keysight M9383A

  • Page 1 Programming Guide Keysight M9383A PXIe Vector Signal Generator...
  • Page 2 THIS DOCUMENT OR OF ANY rights in excess of these rights customarily INFORMATION CONTAINED HEREIN. provided to the public to use, modify, SHOULD KEYSIGHT AND THE USER HAVE A reproduce, release, perform, display, or Copyright Notices SEPARATE WRITTEN AGREEMENT WITH...
  • Page 3 This product must be Keysight products are designed for use with used in a normal condition (in which all Before operating an instrument, ensure electrical signals that are rated means for protection are intact) only.
  • Page 4 Annex 1, this product is classified as “Monitoring and Control instrumentation” product. Do not dispose in domestic household waste. To return unwanted products, contact your local Keysight office, The CE mark is a registered trademark of or for more information see http://about.
  • Page 5: Table Of Contents

    Contents What You Will Learn in this Programming Guide ......8 Related Websites ..........8 Related Documentation .
  • Page 6 Working in M9383A List Mode ........
  • Page 7 Keysight M9383A PXIe Vector Signal Generator...
  • Page 8: What You Will Learn In This Programming Guide

    Downloads MSDN Online Related Documentation To access documentation related to the Keysight M9383A PXIe Vector Signal Generator, use one of the following methods: If the product software is installed on your PC, the related documents are also available in the software installation directory.
  • Page 9 IVI drivers in your application development environment. Soft Front Provides product C:\Program Files (x86) Panel (SFP) introduction, tour of \Keysight\M9383\Help\M9383_SFP_Help.chm (Microsoft Help system the SFP user interface, Help how to procedures (for Format) Keysight M9383A PXIe Vector Signal Generator...
  • Page 10 To find the very latest versions of the user documentation, go to the product website www.keysight.com/find/M9383A and download the files from the Manuals support page (go to Support > Document Library > Manuals Keysight M9383A PXIe Vector Signal Generator...
  • Page 11: Documentation Access

    When using the Visual Studio Integrated Development Environment (IDE), the Console Applications you write are stored in conceptual containers called Solutions Projects You can view and access Solutions and Projects using the Solution Explorer window (View > Solution Explorer). Keysight M9383A PXIe Vector Signal Generator...
  • Page 12: Installing Hardware, Software, And Licenses

    The following steps must be completed before programmatically controlling the M9383A PXIe VSG and M9393A PXIe VSA hardware with IVI drivers. Install Keysight IO Libraries Suite (IOLS), Version 17.2.20407.1 or newer; this installation includes Keysight Connections Expert.
  • Page 13 Once the software and hardware are installed and Self-Test has been performed, they are ready to be programmatically controlled. For detailed information on how to set up a Socket, Telnet or HiSLIP protocol connection, refer to Keysight M9383A SCPI Server chapter in the M9383A SCPI Reference www.keysight.com/find/M9383A...
  • Page 14: Ivi Apis

    Downconverter Digitizer Counter/Timer The M9383A PXIe VSG does not belong to any of these 13 IVI Instrument Classes and are therefore described as NoClass modules. Instrument-Specific Hierarchies Perform the following steps to view the interfaces available in M9383A PXIe VSG...
  • Page 15: Ivi Compliant Or Ivi Class Compliant

    IVI Compliant or IVI Class Compliant The M9383A PXIe VSG is IVI Compliant, but not IVI Class Compliant; it does not belong to one of the 13 IVI Instrument Classes defined by the IVI Foundation. IVI Compliant– means that the IVI driver follows architectural specifications...
  • Page 16: Ivi Driver Hierarchy

    IVI-3.2 – Inherent Capabilities Specification. Drivers that do not support any IVI instrument class such as the M9383A PXIe VSG must still include these IVI inherent capabilities. Keysight M9383A PXIe Vector Signal Generator...
  • Page 17: Ivi Driver Types

    IVI Specific Driver that complies with one (or more) of the IVI defined class specifications Used when hardware independence is desired IVI Custom Specific Driver Is an IVI Specific Driver that is not compliant with any one of the 13 IVI defined class specifications Keysight M9383A PXIe Vector Signal Generator...
  • Page 18: Naming Conventions Used To Program Ivi Drivers

    Defined values Enumerations and enum values are used to represent discrete values in IVI-COM <ClassName><descriptive words>Enum Example: IviScopeTriggerCouplingEnum Enum values don't end in "Enum" but use the last word to differentiate Examples: IviScopeTriggerCouplingAC and IviScopeTriggerCouplingDC Keysight M9383A PXIe Vector Signal Generator...
  • Page 19: Creating A Project With Ivi-Com Using C-Sharp

    Open the property page of your project to view the common properties and configuration properties on the left. Select Configuration Properties > C/C++ > General > Additional Include Directories to add the directory of KtMVsg driver. Keysight M9383A PXIe Vector Signal Generator...
  • Page 20: Step 2 - Add References

    //Include if necessary #import <IviDriverTYpeLIb.dll> #import <IviDmmType.dll> #import <Ag34401.dll> Step 2 - Add References In order to access the driver interfaces of your Keysight products, references to their drivers (DLL) must be created. Solution Explorer , right-click on References and select...
  • Page 21: Step 3 - Add Using Statements

    Add the Assemblies to Access the IVI Drivers Without Specifying or Typing The Full Path Add the following using statements to access the M9383A and M9393A IVI APIs from your program so you don't have to specify the entire path when using the...
  • Page 22: Step 5 - Initialize The Driver Instances

    Direct Instantiation COM Session Factory Since your Keysight VSA/VSG is considered NoClass module (because it does not belong to one of the 13 IVI Classes), the COM Session Factory is not used to create instances of their IVI-COM drivers. So, these use direct instantiation. Because direct instantiation is used, their IVI-COM drivers may not be interchangeable with other VSA and VSG modules.
  • Page 23: Initialize() Parameters

    If these drivers were installed, additional information can be found under "Initializing the IVI-COM Driver" from the following: KtMVsg IVI Driver Reference Start > All Programs > Keysight Instrument Drivers > IVI-COM KtMVsg Initialize() Parameters Although the method has a number of options that can be...
  • Page 24 Development Environment (IDE) is IntelliSense. IntelliSense is a form of auto- completion for variable names and functions and a convenient way to access parameter lists and ensure correct syntax. This feature also enhances software development by reducing the amount of keyboard input required. Keysight M9383A PXIe Vector Signal Generator...
  • Page 25: Step 6 - Write The Program Steps

    // Waits until the list is finished or the specified time passes bool retval = VsgDriver.List.WaitUntilComplete(); //&hellip;or you could use the following: Waits up to 100ms until the output has settled before producing a signal bool retval = VsgDriver.RF.WaitUntilSettled(100); Keysight M9383A PXIe Vector Signal Generator...
  • Page 26: Step 7 - Close The Driver

    Start Debugging or pressing the key. Example programs are available from C:\Program Files (x86)\IVI Foundation\IVI\Drivers\KtMVsg\Examples Before you run a C# example program, ensure that the associated app.config file has the following content for the .NET Runtime interoperability: Keysight M9383A PXIe Vector Signal Generator...
  • Page 27: Example Program 1- Code Structure

    System.Linq; using System.Text; using Ivi.Driver.Interop; using Keysight.KtMVsg.Interop; using Agilent.AgM9393.Interop; #endregion namespace VsaVsgProperties class Program static void Main(string[] args) // Create driver instances IKtMVsg VsgDriver = KtMVsg(); IAgM9393 VsaDriver = AgM9393(); #region Initialize Driver Instances Keysight M9383A PXIe Vector Signal Generator...
  • Page 28 {0}", VsgDriver. Identity.InstrumentModel); Console.WriteLine("FirmwareRev: {0}", VsgDriver. Identity.InstrumentFirmwareRevision); Console.WriteLine("Simulate: {0}\n", VsgDriver.DriverOperation.Simulate); // Print IviDriverIdentity properties for the PXIe VSA Console.WriteLine("Identifier: {0}", VsaDriver. Identity.Identifier); Console.WriteLine("Revision: {0}", VsaDriver. Identity.Revision); Console.WriteLine("Vendor: {0}", VsaDriver. Identity.Vendor); Console.WriteLine("Description: {0}", VsaDriver. Identity.Description); Keysight M9383A PXIe Vector Signal Generator...
  • Page 29 VsaErrorNum, ref VsaErrorMsg); Console.WriteLine("VSA ErrorQuery: {0}, {1} \n", VsaErrorNum, VsaErrorMsg); #endregion catch (Exception ex) Console.WriteLine(ex.Message); finally (VsgDriver != null && VsgDriver.Initialized) // Close the driver VsgDriver.Close(); Console.WriteLine("VSG Driver Closed"); (VsaDriver != null && VsaDriver.Initialized) Keysight M9383A PXIe Vector Signal Generator...
  • Page 30 // Close the driver VsaDriver.Close(); Console.WriteLine("VSA Driver Closed\n"); Console.WriteLine("Done - Press Enter to Exit"); Console.ReadLine(); Keysight M9383A PXIe Vector Signal Generator...
  • Page 31: Programming Guidelines

    Configuring LIVE SFP Generating and Playing a Single Sideband I/Q Modulated Waveform The below code sample generates a single sideband I/Q modulated waveform (using a binary file) that can be downloaded and played on M9383A. VsgDriver.Utility.Reset(); VsgDriver.Modulation.Enabled = true; VsgDriver.Modulation.ClearCatalog();...
  • Page 32: Configuring Amplitude Modulation

    IVI interface of the KtMVsg IVI driver. Your Modulation.Analog.Amplitude configuration routine should typically perform the following functions: Configure the Function Generator(s) For a given path, configure the function generator to be used. Select the type of waveform to be played. Keysight M9383A PXIe Vector Signal Generator...
  • Page 33 = 6e6; tone2.Waveform = KtMVsgAnalogModulationShapeEnum. KtMVsgAnalogModulationShapeSine; // Configure the paths amPath1 = am.Paths; amPath1.ActivePaths = "AM1"; amPath1.Type = KtMVsgAmplitudeModulationTypeEnum. KtMVsgAmplitudeModulationTypeExponential; amPath1.Depth = 3; // dB amPath1.Source = KtMVsgAnalogModulationSourceEnum. KtMVsgAnalogModulationSourceFunction1; amPath2 = am.Paths; amPath2. ActivePaths "AM2" Keysight M9383A PXIe Vector Signal Generator...
  • Page 34: Configuring Frequency Modulation

    The following is a code sample: // Configure FM fm = VsgDriver.Modulation.Analog.Frequency; // Configure the function generators function1 = fm.Sources.FunctionGenerators; function1.ActiveFunctionGenerators = "FUNCTION1" function1.Frequency = 1e6; function1.Waveform = KtMVsgAnalogModulationShapeEnum. KtMVsgAnalogModulationShapeSine; function2 = fm.Sources.FunctionGenerators; function2. ActiveFunctionGenerators "FUNCTION2" function2.Frequency = 10e6; Keysight M9383A PXIe Vector Signal Generator...
  • Page 35: Configuring Phase Modulation

    Configure the PM Path Once the generator is configured, perform the following steps: Set the source of the PM path to the function generator. Set the values for Deviation and Bandwidth Type. Keysight M9383A PXIe Vector Signal Generator...
  • Page 36 = pm.Paths; pmPath2.ActivePaths = "PM2"; pmPath2.Deviation = 2e-6; pmPath2.Bandwidth = KtMVsgPhaseModulationBandwidthEnum. KtMVsgPhaseModulationBandwidthNormal; pmPath2.Source = KtMVsgAnalogModulationSourceEnum. KtMVsgAnalogModulationSourceFunction2; pmOut = pm.PMOut; pmOut.Amplitude = 1.0; // Vpp pmOut.Offset = 0.25; // Volts pmOut.Source = KtMVsgAnalogModulationSourceEnum. KtMVsgAnalogModulationSourceDualFunction; VsgDriver.Apply(); Keysight M9383A PXIe Vector Signal Generator...
  • Page 37: Configuring Pulse Modulation

    For pulse modulation, you must have either of the following three hardware options installed. For more information about these hardware options, refer to the M9383A Startup Guide To configure Pulse Modulation programmatically, use the IKtMVsg.Modulation.
  • Page 38: Adding Noise And Iq Impairments To The Rf Output

    Adding Noise and IQ Impairments to the RF Output To better understand how your device under test behaves when an impaired modulated signal is passed to it, M9383A has a provision for adding several noise and IQ impairments related parameters to the RF output. Use the...
  • Page 39: Output

    To test a signal receiver’s EVM or BER when the signal to noise ratio reduces, you might need to add calibrated Gaussian noise to the playing waveform. M9383A enables you to add the Additive White Gaussian Noise (AWGN) to the arbitrary waveform as it is loaded, thus doing away with the need of a more sophisticated real time noise generator.
  • Page 40: Code Sample

    The M9303A Synthesizer is capable of frequency tuning at very high speed. During the frequency sweep to the new frequency there are regions where the system's RF response has higher gain relative to the starting or ending frequency. The Keysight M9383A PXIe Vector Signal Generator...
  • Page 41: Code Sample

    {0}\n", VsgDriver.RF.HarmonicFiltersEnabled); Output To learn how to set this property using the Soft Front Panel, refer to the M9383A SFP Help Enabling or Disabling Harmonics Filtering The M9312A PXIe Source Output module has a set of harmonic filters that can be enabled to improve the harmonic performance when operating the M9383A Source between the frequency range 200 MHz to 2 GHz.
  • Page 42: Output

    IVI interface. The following is a quick IKtMVsgCalibrationPowerSearch snapshot of this interface; for more information about this interface, refer to the M9383A IVI Documentation Calibration PowerSearch Mode: PowerSearchModeEnum {Auto, Manual} CacheEnabled: Boolean BlankDuringSearch: Boolean DoPowerSearch() ResetCache() Keysight M9383A PXIe Vector Signal Generator...
  • Page 43: Working With Mechanical Attenuation

    Working with Mechanical Attenuation The M9312A PXIe Source Output module has a 70 dB Programmable Step Attenuator (Keysight 84907K) at the RF Output Port. This mechanical attenuator can operate in either automatic or manual mode. By default, the mechanical attenuator operates in the automatic mode, wherein, you need not configure the mechanical attenuation.
  • Page 44: Output

    Querying the Mechanical Attenuation Counter The M9312A PXIe Source Output module used in the Keysight M9383A PXIe Vector Signal Generator has a 70 dB Programmable Step Attenuator (Keysight 84907K) at the RF Output Port. Like all other such devices, this attenuator has a limited lifespan that also depends on the number of switch changes.
  • Page 45: Querying The External Iq Switch Counter

    4x Omron G6K-RF miniature DPDT high frequency relays. These types of mechanical switches have a finite endurance lifetime. This particular part has a Mechanical Endurance of 50e6 cycles but an Electrical Endurance of 100e3 cycles. Keysight M9383A PXIe Vector Signal Generator...
  • Page 46: Code Sample

    Routing Triggers Between Modules You can route triggers to and from the front panels of the M9383A modules and the PXI Trigger Bus. This is especially useful when there is a requirement for more triggers on an M9383A module than what the front panel of the module inherently supports.
  • Page 47: Code Sample

    Use the "List" Mode to record a set of IVI commands that can be quickly executed on the M9383A hardware. In the List Mode, IVI commands are recorded as a binary stream and are played back using a faster hardware component. Thus, the execution speed for such a binary stream is much faster than if the commands were to be executed sequentially by the host controller.
  • Page 48 VsgDriver.Triggers.SettledOutputTrigger.Enabled = false; VsgDriver.RF.AttenuatorHoldEnabled = true; VsgDriver.List.Entry.EndEventTime = 0.0015; VsgDriver.RF.Configure(2000000000, -40); VsgDriver.List.Entry.End(); VsgDriver.List.Entry.Add("STEP 2"); VsgDriver.List.Entry.StartEvent = KtMVsgStartEventEnum. KtMVsgStartEventImmediate; VsgDriver.List.Entry.EndEvent = KtMVsgEndEventEnum. KtMVsgEndEventDwellTime; VsgDriver.Triggers.EndOutputTrigger.Enabled = false; VsgDriver.Triggers.SettledOutputTrigger.Enabled = false; VsgDriver.RF.AttenuatorHoldEnabled = true; VsgDriver.List.Entry.EndEventTime = 0.0015; Keysight M9383A PXIe Vector Signal Generator...
  • Page 49 VsgDriver.RF.AttenuatorHoldEnabled = true; VsgDriver.List.Entry.EndEventTime = 0.0015; VsgDriver.RF.Configure(3000000000, -20); VsgDriver.List.Entry.End(); VsgDriver.List.End(); VsgDriver.List.Play("My List", 40, KtMVsgListOperationModeEnum. KtMVsgListOperationModeSingle); The M9393A IVI Documentation provides information about the IVI commands for defining Lists, performing acquisitions, playing back Lists, and scheduling acquisitions. Keysight M9383A PXIe Vector Signal Generator...
  • Page 50: Configuring Live Sfp

    Configuring LIVE SFP The Live Soft Front Panel or Live SFP enables the IVI driver to open M9383A Soft Front Panel for debugging purposes. The Live SFP can be invoked directly from the software using the IVI interface. IKtMVsgSystemSFP Code Sample...
  • Page 51: Glossary

    It is this capability that allows T&M instruments and their COM- based IVI-Component drivers to be interchanged. Keysight M9383A PXIe Vector Signal Generator...
  • Page 52 VISA, but in terms of low-level I/O communication capabilities, VISA-COM is a subset of VISA. Agilent VISA- COM is used by its IVI-Component drivers and requires that Agilent VISA also be installed. Keysight M9383A PXIe Vector Signal Generator...
  • Page 53: References

    Understanding Drivers and Direct I/O, Application Note 1465-3 (Keysight Part Number: 5989-0110EN) Digital Baseband Tuning Technique Speeds Up Testing, by Bill Anklam, Victor Grothen and Doug Olney, Keysight Technologies, Santa Rosa, CA, April 15, 2013, Microwave Journal Accelerate Development of Next Generation 802.11ac Wireless LAN...
  • Page 54 This information is subject to change without notice. © Keysight Technologies 2018-19 Edition 2.2, May 2019 M9383-90014 www.keysight.com...

Table of Contents