The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lab::Moose::Instrument::VNASweep - Role for network analyzer sweeps

VERSION

version 3.554

METHODS

sparam_sweep

 my $data = $vna->sparam_sweep(timeout => 10, average => 10, precision => 'double');

Perform a single sweep, and return the resulting data as a 2D PDL. The first dimension runs over the sweep points. E.g. if only the S11 parameter is measured, the resulting PDL has dimensions N x 3:

 [
  [freq1, freq2, freq3, ..., freqN],
  [Re(S11)_1, Re(S11)_2, ..., Re(S11)_N],
  [Im(S11)_1, Im(S11)_2, ..., Im(S11)_N],
 ]

This method accepts a hash with the following options:

timeout

timeout for the sweep operation. If this is not given, use the connection's default timeout.

average

Setting this to $N, the method will perform $N sweeps and the returned data will consist of the average values.

precision

floating point type. Has to be 'single' or 'double'. Defaults to 'single'.

REQUIRED METHODS

The following methods are required for role consumption.

sparam_catalog

 my $array_ref = $vna->sparam_catalog();

Return an arrayref of available S-parameter names. Example result: ['Re(s11)', 'Im(s11)', 'Re(s21)', 'Im(s21)'].

sparam_sweep_data

 my $binary_string = $vna->sparam_sweep_data(timeout => $timeout)

Return binary SCPI data block of S-parameter values. This string contains the sparam_catalog values of each frequency point. The floats must be in native byte order.

CONSUMED ROLES

Lab::Moose::Instrument::Common
Lab::Moose::Instrument::SCPI::Format
Lab::Moose::Instrument::SCPI::Instrument
Lab::Moose::Instrument::SCPI::Sense::Average
Lab::Moose::Instrument::SCPI::Sense::Bandwidth
Lab::Moose::Instrument::SCPI::Sense::Frequency
Lab::Moose::Instrument::SCPI::Sense::Sweep
Lab::Moose::Instrument::SCPI::Source::Power
Lab::Moose::Instrument::SCPI::Initiate
Lab::Moose::Instrument::SCPIBlock

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by the Lab::Measurement team; in detail:

  Copyright 2016       Simon Reinhardt
            2017       Andreas K. Huettel, Simon Reinhardt

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.