Several additional functions are provided with the PNA. In addition, you can create custom functions which are compiled into a DLL. Import these functions for use in the Equation Editor.
Custom Equations In PNA.pdf Detailed directions. (This link requires an internet connection.)
Create custom functions for Equation Editor Template. (This link requires an internet connection.)
Equation Editor Main topic.
From the main Equation Editor dialog, click Import Functions
The following functions are supplied with the PNA, but must be imported into Equation Editor. They are available on the PNA at: 'C:\Program Files (x86)\Keysight\Network Analyzer\UserFunctions'.
BestFit.dll
d_best_fit_dB() 
d_best_fit_dB(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) Draws the best fit linear regression line to data specified by PARAM. The best fit line minimizes the RSS (rootsumsquare) of the trace data in logmagnitude format. The phase of the regression line is identically zero. 
d_channelPower(FA,FB,CHANNELNUM,xAxisIndex(),TRACETYPE,traceDataArray(PARAM)) Computes the channel power for the specified measurement on the given channel number between the given frequencies.
channelPower = 10Log10( (area under PARAM trace between FA and FB)/resolutionBandwidth
channelPower = 10Log10( (area under PARAM trace between FA and FB)/IFBandwidth )
TraceType Example 1: FA=7.75 GHz, FB=8.5 GHz, CHANNELNUM=1. TRACETYPE is 0. Computed channel power is displayed over the entire frequency range. TraceType Example 2: As above, but TRACETYPE is 1 (the default). Displayed result is set to trace minimum outside of specified range. 

d_DFLP() 
d_DFLP( FreqStart, FreqStop, xAxisIndex(), getNumPoints(), xAxisArray(), traceDataArray(PARAM)) Computes the deviation from linear phase data of the specified trace, PARAM, such that if the resulting trace is displayed in Phase format, the displayed data will be residual phase response of the parameter after the group delay slope has been removed. The FreqStart and FreqStop arguments allow the user to specify a subset of the channel span for this computation. To cover the channel’s entire span, set the FreqStart to 0 and FreqStop to a very large number such as 1E100. 
d_flatness_dB() 
d_flatness_dB(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) Computes the magnitude flatness of the trace data in PARAM, by first removing any gain slope and then normalizing the results to 0 dB. 
d_mean() 
d_mean(traceNum) Computes the mean of the specified trace and creates a resulting trace whose real part is the mean at each stimulus point. The traceNum argument should be replaced by an integer number that represents the existing trace number of the trace for which you want to compute the mean. This function does not operate on parameter names (such as S11) or trace names (such as Tr1). The result of this function is the same value displayed by the Trace Statistics analysis function. 
d_min_max_dev() 
d_min_max_dev(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) Computes the slope and intercept of the line which minimizes that maximum absolute deviation between the line and the data specified by PARAM. This is done in two phases. First, the trace data in PARAM is converted to log magnitude, and a minimumdeviation line is fitted to it. Second, the phase data in PARAM is unwrapped, and another minimumdeviation line is fitted to that. The magnitude and phase values are then combined to form a complexvalued trace. The displayed traces represent the deltas between the measured values in PARAM and the bestfit data. This function is typically used when you wish to measure worstcase deviation from linear behavior. 
d_min_max_dev_d2() 
d_min_max_dev_d2(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) Computes the parameters of the parabola which minimizes that maximum deviation between the parabola and the data specified by PARAM. This is done in two phases. First, the trace data in PARAM is converted to log magnitude, and a minimumdeviation quadratic is fitted to it. Second, the phase data in PARAM is unwrapped, and another minimumdeviation quadratic is fitted to that. The magnitude and phase values are then combined to form a complexvalued trace. The displayed traces represent the deltas between the measured values in PARAM and the bestfit data. This function is typically used when you wish to measure worstcase deviation from quadratic behavior. 
d_min_max_dev_range() 
d_min_max_dev_range(FSTART,FSTOP,xAxisIndex(),getNumPoints(),xAxisArray(),traceDataArray(PARAM)) Identical to the function d_min_max_dev(), but only operates on data in the frequency range from FSTART to FSTOP. 
d_min_sum_dev() 
d_min_sum_dev(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) Computes the slope and intercept of the line which minimizes that sum of the absolute deviations between the line and the data specified by PARAM. This is done in two phases. First, the trace data in PARAM is converted to log magnitude, and a minimumdeviation line is fitted to it. Second, the phase data in PARAM is unwrapped, and another minimumdeviation line is fitted to that. The magnitude and phase values are then combined to form a complexvalued trace. The displayed trace represents the sum of the deviations. This function is less sensitive to outliers than d_min_max_dev(). 
d_tilt_dB() 
d_tilt_dB(getNumPoints(),xAxisIndex(),xAxisArray(),traceDataArray(PARAM)) – The result of the tilt() function when displayed in LogMag format is the total deltaY of the best fit line for the specified trace or parameter. 
d_unwrap() 
d_unwrap(getNumPoints(),xAxisIndex(),traceDataArray(PARAM)) The result of the unwrap() function when displayed in Real format is the unwrapped phase response of the specified trace or Parameter in degrees. 
d_Corr1P() 
d_Corr1P(chan, xAxisIndex(),rcvr, src, RAWDATA ) Computes and displays 1 port corrected data for the trace data supplied in the RAWDATA placeholder. chan  the channel of interest. xAxisIndex()  the bucket (data point) number. rcvr  the port number of the receiver used to acquire the data. src  the port being driven. The rcvr and src arguments are needed to select the appropriate error terms used in the correction process. RAWDATA  Select the data to be corrected by substituting in a trace number or parameter name. 
d_DIR() 
d_DIR(chanNum, xAxisIndex(), rcvr, src) Displays the directivity term from the cal set used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr and src to the port number for the desired directivity term. 
d_EnhResp() 
d_EnhResp(chan,xAxisIndex(),rcvr, src,RAWMATCH,RAWGAIN) Computes the corrected gain using enhanced response correction techniques. This technique is useful in cases where you want to ignore the output match of a device or the output match cannot be accurately measured. In this the raw input match and gain are supplied to equation (via RAWMATCH and RAWGAIN placeholders). To use this equation select a trace (TR n) or parameter to use in place of the raw match and gain terms. chan  the channel number xAxisIndex()  the bucket number (do not modify) rcv  The port where the data is acquired. Sr  The port being driven. The src and rcvr ports are required so that the appropriate error terms are used to calculate the result. 
d_LDM() 
d_LDM(chanNum, xAxisIndex(), rcvr, src) Displays the loadmatch term from the calset used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr to the load port, and src to the source port for the desired load match term. LDM(ch, xAxisIndex(), 2,1) gives you the match presented by port 2 while driving port 1. 
d_RFT() 
d_RFT(chanNum, xAxisIndex(), rcvr, src) Displays the reflection tracking term from the calset used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr and src to the port number for the desired reflection tracking term. 
d_SRM() 
d_SRM(chanNum, xAxisIndex(), rcvr, src) Displays the sourcematch term from the calset used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr and src to the port number for the desired source match term. 
d_TRT() 
d_TRT(chanNum, xAxisIndex(), rcvr, src) Displays the transmission tracking term from the calset used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr to the receive port and src to the source port such that TRT( ch, xAxisIndex(), 2, 1) gives you the transmission tracking term for the port 2 input receiver driven by port 1, or in other words, the raw S21 tracking term. 
d_XTLK() 
d_XTLK(chanNum, xAxisIndex(), rcvr, src) Displays the isolation term from the calset used by the channel <chanNum>. Set chanNum to the desired channel. Set rcvr to the receive port and src to the source port such that XTLK( ch, xAxisIndex(), 2, 1) gives you the isolation term for the port 2 input receiver while port 1 is on. 
admittance(x) 
Admittance(x) = 1/x Calculate the admittance 
max_hold(x) 
(KEY, getNumPoints(),xAxisIndex(),PARAM) Shows maximum value of each point 
min_hold(x) 
(KEY, getNumPoints(), xAxisIndex(), PARAM) Shows minimum value of each point. 
PAE(B,S21,AI1,AI2,R,SCALE) 
.001 * (B  (B/S21)) / ( SCALE^2*AI1(AI1  AI2)/R ) Power Added Efficiency.

reset(x) 
x  a number. Resets the max_hold() or min_hold() function. To reset a given max_hold() or min_hold() function, call reset with the same key. 
SDD11(S11,S21,S12,S22) 
(S11  S21  S12 + S22)/2 Differential mode reflection 
SDC11(S11,S21,S12,S22) 
(S11  S21 + S12  S22)/2 C to D mode conversion reflection 
SCD11(S11,S21,S12,S22) 
(S11 + S21  S12  S22)/2 D to C mode conversion reflection 
SCC11(S11,S21,S12,S22) 
(S21 + S12 + S11 + S22)/2 Common mode reflection 
Use the following two equations to display impedance versus frequency. Replace 'LOAD' with the value for Z0 (usually 50). Note: You can read out impedance versus time (not using this function) by creating a marker on a Time Domain trace, then changing the marker format to R+jX. Learn how. 

zReflect(S11,LOAD) 
LOAD*(1 + S11)/(1S11) 
zTransfer(S21,LOAD) 
2 * LOAD * (1  S21)/S21 
Last Modified:
13Mar2014 
Updated folders again. 
25Nov2013 
Updated for Win7 folder 
2Apr2013 
Added time domain note 
26Feb2013 
Edits to user dlls 
9Dec2010 
Added equation help and link to DS document. 
9Nov2010 
MX New topic 