Keysight Technologies M9393A Programming Manual

Keysight Technologies M9393A Programming Manual

Pxie performance vector signal analyzer
Hide thumbs Also See for M9393A:
Table of Contents

Advertisement

Quick Links

Keysight M9393A PXIe
Performance Vector
Signal Analyzer
Programming
Guide

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the M9393A and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Keysight Technologies M9393A

  • Page 1 Programming Guide Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 2 SEPARATE WRITTEN AGREEMENT WITH disclose commercial computer software or WARRANTY TERMS COVERING THE commercial computer software © Keysight Technologies 2014 - 2016 MATERIAL IN THIS DOCUMENT THAT documentation. No additional government CONFLICT WITH THESE TERMS, THE requirements beyond those set forth in...
  • Page 3 shock hazards and are familiar with the performance and user safety issues. When no conductive part of the circuit may be safety precautions required to avoid the modules are in use and operation within exposed. possible injury. Read and follow all the specified full temperature range is not Do not connect switching cards directly to installation, operation, and maintenance...
  • Page 4 When fuses are used in a product, replace with the same type and rating for continued protection against fire hazard. Australian Communication and Media This symbol indicates the instrument is Authority mark to indicate regulatory Chassis connections must only be used as sensitive to electrostatic discharge (ESD).
  • Page 5: Table Of Contents

    APIs for the M9393A PXIe VSA ........
  • Page 6 List Mode Set Up ..........60 M9393A Programming Advanced Topics - Hints only ..... . . 64 Extending the RF Frequency Range (3.6 GHz to 50 GHz) .
  • Page 7 Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 8: What You Will Learn In This Programming Guide

    IVI-COM Console Applications that are covered in this programming guide are used to perform PA/FEM acquisition measurements with the M9393A PXIe VSA from signals that are created with the M9381A PXIe VSG. Example Program 1: How to Print Driver Properties, Check for Errors, and...
  • Page 9: Related Websites

    Downloads MSDN Online Related Documentation To access documentation related to the Keysight M9393A PXIe Performance Vector Signal Analyzer, 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 10 C:\Program Files (x86) detailed product \Keysight\M9393\Help\M9393_DataSheet.pdf introduction, the data sheet supplies full product specifications. LabVIEW Provides detailed C:\Program Files (x86) Driver documentation of the \Keysight\M9393\Help\KtM9393_LabVIEW_Help.chm (Microsoft Reference LabVIEW G Driver API Help functions. Format) Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 11: Additional Related Documentation

    Provides installation and startup information for the www.keysight.com Guide M9018A PXIe Chassis. /find/M9018A M9036A PXIe Embedded Provides installation and startup information for the www.keysight.com Controller Startup Guide M9036A PXIe Embedded Controller. /find/M9036A (optional) Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 12 Provides Startup, LabVIEW Driver, and Data sheet www.keysight.com Generator information of M9381 PXle Vector Signal Generator. /find/M9381 M9169E PXI Switchable-Input Provides Technical Overview document and Service http://www. Programmable Step Attenuator and Service Guide. keysight.com/find Module /M9169E Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 13: Documentation Map

    To write and run programs, perform the following steps: Write source code using Microsoft Visual Studio 2010 or later with .NET Visual C# running on Windows 7. Compile source code using the .NET Framework Library. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 14 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 M9393A PXIe Performance Vector Signal Analyzer...
  • Page 15: Installing Hardware, Software, And Licenses

    Installing Hardware, Software, and Licenses Unpack and inspect all hardware. Verify the shipment contents. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 16 You can also use a free version of Visual Studio Express 2010 tools from: http://www.microsoft.com/visualstudio/eng/products/visual- studio-2010-express The following steps, defined in the Keysight M9393A PXIe VSA Startup Guide, but repeated here, must be completed before programmatically controlling the M9393A PXIe VSA hardware with IVI drivers.
  • Page 17 Before programming or making measurements, conduct a Self-Test on each M9393A PXIe VSA and each M9381A PXIe VSG to make sure there are no problems with the modules, cabling, or backplane trigger mapping. Once the software and hardware are installed and Self-Test has been performed, they are ready to be programmatically controlled.
  • Page 18: Apis For The M9393A Pxie Vsa

    Downconverter Digitizer Counter/Timer The M9393A PXIe VSA does not belong to any of these 13 IVI Instrument Classes and are therefore described as "NoClass" modules. IVI Compliant or IVI Class Compliant The M9393A PXIe VSA 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.
  • Page 19: Ivi Driver Types

    Is either an IVI Specific Driver or an IVI Class Driver IVI Class Driver Is an IVI Driver needed only for interchangeability in IVI-C environments The IVI Class may be IVI-defined or customer-defined Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 20: Ivi Driver Hierarchy

    Not interchangeable IVI Driver Hierarchy When writing programs, you will be using the interfaces (APIs) available to the IVI- COM driver. The core of every IVI-COM driver is a single object with many interfaces. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 21: Instrument-Specific Hierarchies For The M9393A

    IVI inherent capabilities and they are documented in IVI-3.2 – Inherent Capabilities Specification. Drivers that do not support any IVI instrument class such as the M9393A PXIe VSA must still include these IVI inherent capabilities. Instrument-Specific Hierarchies for the M9393A...
  • Page 22 The following table lists the instrument-specific hierarchy interfaces for M9393A PXIe VSA: Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 23: Naming Conventions Used To Program Ivi Drivers

    Keysight M9393A PXIe VSA Instrument-Specific Hierarchy AgM9393 is the driver name IAgM9393Ex is the root interface Perform the following steps to view the interfaces available in M9393A PXIe VSA while using Visual Studio: Right-click the AgM9393Lib library file in the...
  • Page 24 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 M9393A PXIe Performance Vector Signal Analyzer...
  • Page 25: Creating A Project With Ivi-Com Using C-Sharp

    Program.cs to bring it to the front view. Step 2 - Add References In order to access the M9393A PXIe VSA and M9381A PXIe VSG driver interfaces, references to their drivers (DLL) must be created. Solution Explorer , right-click on...
  • Page 26: Step 3 - Add Using Statements

    If you have not installed the IVI driver for the M9393A PXIe VSA and M9381A PXIe VSG products (as listed in the previous section titled "Before Programming, Install Hardware, Software, and Software Licenses"), their IVI drivers will not appear in this list.
  • Page 27: To Access The Ivi Drivers Without Specifying Or Typing The Full Path

    Direct Instantiation COM Session Factory Since the M9393A PXIe VSA and M9381A PXIe VSG are both considered NoClass modules(because they do 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, the M9393A PXIe VSA and M938xA PXIe VSG IVI-COM drivers use direct instantiation.
  • Page 28: Initialize() Options

    IVI. If the Options String parameter ( in this example) contains an assignment for the OptionString Driver Setup attribute, the function assumes that everything Initialize following ' ' is part of the assignment.) DriverSetup= Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 29: Initialize() Parameters

    IdQuery = true; bool Reset = true; string VsgOptionString = "QueryInstrStatus=true, Simulate=false, DriverSetup= Model=VSG, Trace=false"; string VsaOptionString = "QueryInstrStatus=true, Simulate=false, DriverSetup= Model=VSA, Trace=false"; // Initialize the drivers VsgDriver.Initialize(VsgResourceName, IdQuery, Reset, VsgOptionString); Console.WriteLine("VSG Driver Initialized"); Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 30: M9300A Reference Sharing

    The M9300A PXIe Reference can be shared by up to five configurations of modules that can be made up of the M9393A PXIe VSA or the M9381A PXIe VSG or both. The M9300A PXIe Reference must be included as one of the modules in at least one of these configurations.
  • Page 31 INSTR;PXI9::0::0::INSTR;PXI13::0::0::INSTR; Example: M9300A PXIe Reference Shared With Both Modules The M9393A PXIe VSA or the M9381A PXIe VSG can be initialized first since the M9300A PXIe Reference is included in both configurations of modules: M9381A PXIe VSG configuration of modules includes:...
  • Page 32: Resource Names

    PXI13::0::0::INSTR; (The slot used by a particular module can be determined from the Connect to Instrument dialog.) Similarly, you might use the M9393A Soft Front Panel to construct the Resource Name address string. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 33: Step 6 - Write The Program Steps

    // Set the output frequency to 1 GHz VsgDriver.RF.Frequency = 1000000000; // Set the output level to 0 dBm VsgDriver.RF.Level = 0; // Enables the ALC VsgDriver.ALC.Enabled = true; // Enables the RF Output VsgDriver.RF.OutputEnabled = true; Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 34: Step 7 - Close The Driver

    However, if you are using a 64-bit PC (such as Windows 7) to build a . NET application that uses a 32-bit IVI-COM driver, you may need to specify your project's platform target as x86. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 35: Example Program 1- Code Structure

    Example programs may be found by selecting: C:\Program Files (x86)\IVI Foundation\IVI\Drivers\AgM9393\Examples Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 36: Example Program 1- How To Print Driver Properties, Check For Errors, And Close Driver Sessions

    // Copy the following example code and compile it as a C# Console Application // Example__VsaVsgProperties.cs #region Specify using Directives using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ivi.Driver.Interop; using Agilent.AgM938x.Interop; using Agilent.AgM9393.Interop; #endregion namespace VsaVsgProperties Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 37 // Print IviDriverIdentity properties for the PXIe VSG Console.WriteLine("Identifier: {0}", VsgDriver. Identity.Identifier); Console.WriteLine("Revision: {0}", VsgDriver. Identity.Revision); Console.WriteLine("Vendor: {0}", VsgDriver. Identity.Vendor); Console.WriteLine("Description: {0}", VsgDriver. Identity.Description); Console.WriteLine("Model: {0}", VsgDriver. Identity.InstrumentModel); Console.WriteLine("FirmwareRev: {0}", VsgDriver. Identity.InstrumentFirmwareRevision); Console.WriteLine("Simulate: {0}\n", VsgDriver.DriverOperation.Simulate); Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 38 // Check VSA instrument for errors VsaErrorNum = -1; string VsaErrorMsg = null; while (VsaErrorNum != 0) VsaDriver.Utility.ErrorQuery(ref VsaErrorNum, ref VsaErrorMsg); Console.WriteLine("VSA ErrorQuery: {0}, {1} \n", VsaErrorNum, VsaErrorMsg); #endregion catch (Exception ex) Console.WriteLine(ex.Message); Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 39: Disclaimer

    You have a royalty-free right to use, modify, reproduce and distribute this Sample Application (and/or any modified version) in any way you find useful, provided that you agree that Keysight Technologies has no warranty, obligations or liability for any Sample Application Files.
  • Page 40: Working With Pa Fem Measurements

    The following are the test challenges faced by power amplifier testing: The need to quickly adjust power level inputs to the device under test (DUT). The need to assess modulation performance (i.e., ACPR and EVM) at high output power levels. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 41: Performing A Channel Power Measurement, Using Immediate Trigger

    The figure below shows a simplified block diagram for the M9381A PXIe VSG and M9393A PXIe VSA in a typical PA / FEM test system. Typical power amplifier modules require an input power level of 0 to + 5 dBm, digitally modulated according to communication standards such as WCDMA or LTE.
  • Page 42: Example Program 2- Code Structure

    The following example code demonstrates how to create a driver instance, set the resource name and various initialization values, and initialize the two driver instances: Send RF and Power Acquisition commands to the M9393A PXIe VSA driver and Apply changes to hardware, Check the instrument queue for errors.
  • Page 43: Example Program 2 - Pseudo-Code

    Initialize Driver for VSA, Check for Errors Send RF Settings to VSA Driver: Frequency Level Peak to Average Ratio Conversion Mode IF Bandwidth Set Acquisition Mode to "Power" Send Power Acquisition Setting to VSA Driver: Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 44: Example Program 2 - Channel Power Measurement Using Immediate

    Set Acquisition Mode to "FFT" Send FFT Acquisition Setting to VSA Driver FFT Length: select 64, 128, 256, or 512. Typically use 256 Sample Rate: Usable bandwidth of FFT is 80% of sample rate Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 45: Trigger

    // Create driver instances VsaDriver = AgM9393(); #region Initialize Driver Instances string VSAResourceName = "PXI14::0::0:: INSTR;PXI10::0::0::INSTR;PXI9::0::0::INSTR;PXI13::0::0:: INSTR"; bool IdQuery = true; bool Reset = true; string VSAOptionString = "QueryInstrStatus=t rue, Simulate=false, DriverSetup= Model=M9393A, Trace=false"; Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 46 VsaDriver.RF.PeakToAverage = RmsValue; VsaDriver.RF.IFBandwidth = 40000000.0; Use IF filter wide enough for all adjacent channels // Configure the Acquisition VsaDriver.AcquisitionMode = AgM9393AcquisitionModeEnum.AgM9393AcquisitionModePower; VsaDriver.PowerAcquisition.Bandwidth = MeasureBW; // 5 MHz VsaDriver.PowerAcquisition.Duration = ChannelTime; // 100 us Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 47 (Exception ex) Console.WriteLine("Exceptions for the drivers: \n"); Console.WriteLine(ex.Message); finally #region Close Driver Instances (VsaDriver != null && VsaDriver.Initialized) // Close the driver VsaDriver.Close(); Console.WriteLine("VSA Driver Closed\n"); #endregion Console.WriteLine("Done - Press Enter to Exit"); Console.ReadLine(); Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 48: Disclaimer

    Power Acquisition interface of the M9393A PXIe VSA. The M9393A PXIe VSA and the M9381A PXIe VSG offers two modes for adjusting frequency and amplitude: RF Tuning – allows the M9381A PXIe VSG to be set across the complete operating frequency and amplitude range Baseband Tuning –...
  • Page 49: Example Program 3 - Pseudo-Code

    Example Program 3 - Pseudo-code Initialize Drivers for VSG and VSA, Check for Errors Send RF Settings to VSG Driver: Frequency RF Level to Maximum Needed RF Enable On ALC Enable Off (for baseband power changes) Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 50 Set Acquisition Duration Property on VSA to Value for Adjacent Channel Measurements Set Frequency Offset Property on VSA to Channel Offset Frequency Send Apply Method to VSA Send Arm Method to VSA Send ReadPower Method to VSA Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 51 Repeat for each Adjacent Channel to be Measured Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 52: Example Program 3 - Wcdma Power Servo And Acpr Measurement

    IdQuery = true; bool Reset = true; string VsgOptionString = "QueryInstrStatus=t rue, Simulate=false, DriverSetup= Model=VSG, Trace=false"; string VsaOptionString = "QueryInstrStatus=t rue, Simulate=false, DriverSetup= Model=VSA, Trace=false"; VsaDriver.Initialize(VsaResourceName, IdQuery, Reset, VsaOptionString); Console.WriteLine("VSA Driver Initialized\n" Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 53 FileName = ExamplesFolder + WaveformFile; string ArbRef = "Mod Waveform"; // Receiver Settings double ChannelTime = 0.0001; double AdjacentTime = 0.0005; double IfBandwidth = 40000000.0; double PowerOffset = 0; double MeasureBW = 5000000.0; Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 54 (ArbRef, ref SampleRate, ref RmsValue, ref ScaleFactor, ref RfBlankMarker, ref AlcHoldMarker); // Setup the RF Path in the Receiver VsaDriver.RF.Frequency = Frequency; VsaDriver.RF.Power = Level + PowerOffset; VsaDriver.RF.Conversion = AgM9393ConversionEnum.AgM9393ConversionAuto; VsaDriver.RF.PeakToAverage = RmsValue; VsaDriver.RF.IFBandwidth = IfBandwidth; Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 55 // Use the last value of the servo loop for the channel power MeasuredChannelPower = MeasuredPower; ChannelPowerOverload = Overload; VsaDriver.PowerAcquisition.Duration = AdjacentTime; for (int Index = 0;Index < FreqOffset. Length;Index++) { VsaDriver.PowerAcquisition. OffsetFrequency = FreqOffset[Index]; Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 56 #endregion catch (Exception ex) Console.WriteLine("Exceptions for the drivers: \n"); Console.WriteLine(ex.Message); finally #region Close Driver Instances (VsgDriver != null && VsgDriver.Initialized) // Close the driver VsgDriver.Close(); Console.WriteLine("VSG Driver Closed"); (VsaDriver != null && VsaDriver.Initialized) Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 57: Making Harmonic Measurements With The M9393A Vsa

    Overlap: Typically use 0.5. Results: Array of power data in units of dBm. Start Frequency and Frequency Delta between points in the array. Programming considerations The following M9393A software drivers are used in constructing a program to make a harmonics measurement: IAgM9393 Apply...
  • Page 58: (M90Xa)

    Overlap GetComplexSpectrum ResolutionBandwidth Span Using the M9393A with the Resource Manager (M9000) and Modular X-Apps (M90XA) Resource Manager The Resource Manager is a program that enables common hardware to be accessed by switching between multiple programs. The image below shows common hardware (in green) being accessed directly by drivers or two programs.
  • Page 59 Features of the X-Series Apps are: Consistent interface Common algorithms, programming commands and shared library of measurement applications across X-Series signal analyzers and M9393A PXI VSA ensure consistent, repeatable results. Same look and feel as bench-top analyzer applications Same measurement algorithms...
  • Page 60: M9393A List Mode

    Use the "List" Mode to record a set of IVI commands that can be quickly executed on the M9393A hardware. In the List Mode, IVI commands are recorded as a binary stream and are played back using the FPGA component of the M9214A PXIe Digitizer.
  • Page 61 Capture ID to the Read methods. Memory must be allocated for all the acquisitions before playback. The M9393A driver performs this task automatically so that you are not required to do anything. However, in some cases, you might be required to explicitly control the timing of the memory allocation, for example, when the memory allocation process takes a long time (more than a second) for a long list.
  • Page 62 // Wait until the data becomes ready. while (driver.List.WaitForData(idForIQ, 100) == AgM9393ListDataDispositionEnum. AgM9393ListDataDispositionWaiting) {} // Retrieve IQ data double[] iq = double[SAMPLE_COUNT * 2]; bool overload = false; driver.IQAcquisition.ReadIQData(idForIQ, AgM9391IQUnitsEnum. AgM9391IQUnitsSquareRootMilliWatts, SAMPLE_COUNT, overload); // Get ID for Power acquisition Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 63 AgM9391PowerUnitsEnum. AgM9393PowerUnitsdBm, power, overload); The M9393A IVI Documentation provides information about the IVI commands for defining Lists, performing acquisitions, playing back Lists, and scheduling acquisitions. Limitations in List Mode Since the list is recorded with alignments valid for specific temperature and...
  • Page 64: M9393A Programming Advanced Topics - Hints Only

    To achieve wideband IF, the IF Conditioning/Filtering path in the M9365A Downconverter module is bypassed and an external digitizer, such as M9202A or M9703A is used to sample the signal with wider IF bandwidth. The M9393A-WB1 option must be installed to achieve this functionality. For more information on...
  • Page 65: Performing Data Streaming With An External Wideband Digitizer

    Data streaming depends on wideband digitizer functionality being enabled in the M9393A. When using M9202A Digitizer, for instance, all the programmatic control for data streaming is done using the M9392A IVI interfaces once the M9393A is set up. M9393A IVI interfaces do not implement data streaming in any way.
  • Page 66: Differences Between The M9391 And M9393

    M9393 has a Live SFP, M9391 does not. M9393 requires that the RF input have no incident signal when performing alignments, M9391 does not. M9393 has a broadband trigger in addition to the other triggers present for the M9391. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 67: Appendix - Verify Instruments Connect Pass Self-Test Are Updated

    Date Firmware Select Start > All Programs > Keysight> M9393 > M9393 SFP and run the soft front panel of the M9393A PXIe VSA - connect to VSA #1 and the M9300A. Run self-test. Check firmware and update if necessary.
  • Page 68: Appendix - Using Visual Studio 2010

    Interop type 'Agilent.AgM9393.Interop.AgM9393Class' cannot be embedded. Use the applicable interface instead. To fix this compilation error, right-click on the AgM9393Lib in the project References, and edit the Properties. Change the Embed Interop Types field to "False". Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 69: Glossary

    It is this capability that allows T&M instruments and their COM- based IVI-Component drivers to be interchanged. Keysight M9393A PXIe Performance Vector Signal Analyzer...
  • Page 70 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 M9393A PXIe Performance Vector Signal Analyzer...
  • Page 71: 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 72 This information is subject to change without notice. © Keysight Technologies 2014 - 2016 Edition 2.1, May, 2016 M9393-90007 www.keysight.com...

Table of Contents