devices.keysight:PNA5225b

The device class for the Keysight VNA 5225b.

Usage

Source

devices.keysight:PNA5225b(
    interface,
    reset=True,
    timeout=10000.0,
    **kwargs,
)

It can possibly be used with different models from Keysight with little changes.

Attributes

Name Description
maxAverage The maximum average setting of all configured channels.

maxAverage

The maximum average setting of all configured channels.

maxAverage=1

The VNA will trigger that many sweeps, so the averaging requirement for each channel is satisfied.

Methods

Name Description
__init__() Initialize a PNA5225b device.
configureCW() Configure the VNA to output a wave with a constant frequency.
configureSweep() Change the sweep settings in the given channel.
configureVNA() Change the sweep settings in the given channel.
createParam() Create a new measurement parameter.
createTrace() Create a trace on the VNA display.
deleteTrace() Delete a trace from the VNA display.
getComplexData() Transfer complex measurement data from the VNA.
getData() Transfer measurement data from the VNA.
getSourcePower() Get the VNA output power setting.
getSweepData() Prepare, trigger and fetch sweep data.
readSweepParams() Read the sweep parameters from the VNA.
reset() Reset the VNA using the SYST:FPRESET command.
selectTrace() Select a trace for subsequent operations.
setSourcePower() Configure the VNA output power.
startSweep() Prepare the VNA for triggering a sweep.
stopSweep() Turn the VNA output off.
trigger() Trigger the sweep(s).

__init__()

Initialize a PNA5225b device.

Usage

Source

__init__(
    interface,
    reset=True,
    timeout=10000.0,
    **kwargs,
)

Parameters

interface: str

The IP address and port where the device is located. e.g. TCPIP::192.98.143.1::5025::SOCKET

reset: bool = True

If true, the VNA is reset on object creation using the reset method. Default is True.

timeout: int = 10000.0

The timeout of the ethernet connection in milliseconds. Default is 10e3 ms.

**kwargs
Keyword arguments passed to the VisaDevice constructor. ‘open’ : bool, optional If true, the connection to the VNA is opened on object creation. Default is True.

configureCW()

Configure the VNA to output a wave with a constant frequency.

Usage

Source

configureCW(
    channel,
    freq,
    activate=True,
)

Parameters

channel: int

The desired channel.

freq: int or MIN / MAX

The frequency in Hz.

activate: bool = True
If true, activate the output after configuration. Default is True.

configureSweep()

Change the sweep settings in the given channel.

Usage

Source

configureSweep(
    channel,
    fStart,
    fStop,
    getData=False,
)

Frequency units are in Hz. ‘MIN’/‘MAX’ arguments can be used instead of actual numbers, and use the highest/lowest setting the VNA is capable of.

Parameters

channel: int

The desired channel.

fStart: int

The frequency on which the sweep starts.

fStop: int

The frequency on which the sweep ends.

getData: bool = False
If true, trigger a sweep and return the results directly. Default is False.

Returns

np.ndarray or None
The sweep data if getData is True, None otherwise.

configureVNA()

Change the sweep settings in the given channel.

Usage

Source

configureVNA(
    channel,
    fPoints,
    if_bw,
    average=None,
)

Frequency units are in Hz. ‘MIN’/‘MAX’ arguments can be used instead of actual numbers, and use the highest/lowest setting the VNA is capable of.

Parameters

channel: int

The desired channel.

fPoints: int or MIN / MAX

The number of points per sweep.

if_bw: int

The bandwidth of the digital IF filter. A lower value usually means a slower, but more accurate measurement.

average: int = None
The number of averages which make up the final values. Default is None.

Returns

None

createParam()

Create a new measurement parameter.

Usage

Source

createParam(
    channel,
    param,
    name=None,
    scale="lin",
    createTrace=True,
)

Parameters

channel: int

The Channel on which the parameter is created.

param: str

The name of the parameter to be measured. e.g S12

name: str = None

The name the parameter will be assigned. If None, a name will be automatically generated from the selected parameter and the channel. e.g. channel=1, param=S12 => name=ch1_S12 Default is None.

scale: str = "lin"

The display format of the measurement. Currently implemented are ‘lin’: linear and ‘log’: logarithmic scale. Default is ‘lin’.

createTrace: bool = True
If true, a trace of the parameter is created using the createTrace method. Default is True.

createTrace()

Create a trace on the VNA display.

Usage

Source

createTrace(
    name,
    param,
)

Currently, the method will display the reflection parameters in window 1 and the transmission parameters in window 2. At the moment it has no defined behavior for measurement of parameters other than the Sij.

Parameters

name: str

The name of the measurement parameter, by default ch_.

param: str
The measured parameter.

deleteTrace()

Delete a trace from the VNA display.

Usage

Source

deleteTrace(
    winNum,
    tracNum,
)

Parameters

winNum: int

The window number in which the trace is displayed.

tracNum: int
The number of the trace.

getComplexData()

Transfer complex measurement data from the VNA.

Usage

Source

getComplexData(
    channel,
    precision="single",
)

Parameters

channel: int

The desired channel.

precision: str = "single"
One of {‘single’, ‘double’, ‘ascii’}. ‘single’ and ‘double’ precisions are transferred as binary data, and achieve much faster transfer speeds. ‘ascii’ is only implemented as a fallback method, as it is much easier to debug. Default is ‘single’.

Returns

np.ndarray
The complex measured data from the specified channel as a 2xN array where the first row is the real part and the second row is the imaginary part.

getData()

Transfer measurement data from the VNA.

Usage

Source

getData(
    channel,
    precision="single",
)

Parameters

channel: int

The desired channel.

precision: str = "single"
One of {‘single’, ‘double’, ‘ascii’}. ‘single’ and ‘double’ precisions are transferred as binary data, and achieve much faster transfer speeds. ‘ascii’ is only implemented as a fallback method, as it is much easier to debug. Default is ‘single’.

Returns

np.ndarray
The measured data from the specified channel.

getSourcePower()

Get the VNA output power setting.

Usage

Source

getSourcePower(channel=1)

Parameters

channel: int = 1
The desired channel. Default is 1.

Returns

float
Current power setting in dBm.

getSweepData()

Prepare, trigger and fetch sweep data.

Usage

Source

getSweepData(channel)

This is a convenience method to prepare and trigger the sweep and transfer the data afterwards.

Parameters

channel: int
The used channel.

Returns

np.ndarray
The measured data from the specified channel.

readSweepParams()

Read the sweep parameters from the VNA.

Usage

Source

readSweepParams(channel)

Frequencies are returned in Hz.

Parameters

channel: int
The channel for which the sweep parameters should be returned.

Returns

fStart: float

The frequency at which the sweep starts.

fStop: float

The frequency at which the sweep stops.

fPoints: int
The number of points in the sweep.

reset()

Reset the VNA using the SYST:FPRESET command.

Usage

Source

reset()

Note that this does not reset the data transfer format! Use *RST for this.


selectTrace()

Select a trace for subsequent operations.

Usage

Source

selectTrace(
    channel,
    trace,
)

Parameters

channel: int

The channel number.

trace: int
The trace number to select.

setSourcePower()

Configure the VNA output power.

Usage

Source

setSourcePower(
    power,
    channel=1,
)

Parameters

power: int

Power in dBm (setpoint between +30 and -30 dBm).

channel: int = 1
The desired channel. Default is 1.

startSweep()

Prepare the VNA for triggering a sweep.

Usage

Source

startSweep()

The VNA activates the output, disables the continuous trigger and therefore enables manual triggering. Any currently running sweeps are aborted.


stopSweep()

Turn the VNA output off.

Usage

Source

stopSweep()

trigger()

Trigger the sweep(s).

Usage

Source

trigger(channel=1)

Parameters

channel: int = 1
The desired channel. Default is 1.