Introduction to Parameter Conversions in RF Engineering

High-frequency circuit analysis relies on a variety of network parameter representations, each suited to specific measurement environments or design tasks. Scattering parameters (S‑parameters) are the default output of vector network analyzers, yet many design procedures—especially those involving impedance matching, stability analysis, and filter synthesis—require admittance (Y) or impedance (Z) parameters. Converting S‑parameters into Y‑parameters or Z‑parameters is therefore a foundational skill for RF and microwave engineers. This article provides a rigorous, step‑by‑step guide to these transformations, explores the underlying theory, and offers practical implementation strategies to ensure accurate, numerically stable results in both academic and industrial settings. The discussion extends beyond two‑port devices to general N‑port networks, covering renormalization, matrix conditioning, passivity enforcement, and verification techniques that are essential for production‑grade work.

Fundamental Concepts of S, Y, and Z Parameters

Before diving into the conversion formulas, it is important to understand what each parameter set represents and why multiple representations exist. A two‑port network is the simplest case, but real‑world devices often require N‑port descriptions. All three parameter types are complex matrices that fully characterize linear time‑invariant networks under specific terminations or excitation conditions.

Scattering Parameters (S‑Parameters)

S‑parameters relate incident and reflected traveling waves at each port. For an N‑port network, the relationship is expressed as:

b = S a

where a is the vector of incident waves, b is the vector of reflected waves, and S is the scattering matrix. Each element Sij represents the ratio of the wave emerging from port i to the wave incident on port j, with all other ports terminated in the reference impedance (usually 50 Ω). S‑parameters are preferred at high frequencies because they are based on power waves rather than open‑circuit or short‑circuit conditions, which are difficult to realize at gigahertz frequencies. The phase reference plane is also clearly defined, making S‑parameters the natural choice for describing distributed circuits. Another advantage is that cascading networks via signal flow graphs is straightforward, enabling efficient analysis of complex systems.

Impedance Parameters (Z‑Parameters)

Z‑parameters define the relationship between port voltages and currents:

V = Z I

Here, Vi is the voltage at port i, Ij is the current entering port j, and Zij = Vi / Ij with all ports other than j left open‑circuited. Open‑circuit conditions are straightforward at low frequencies but become impractical in RF circuits due to parasitic effects and the difficulty of achieving true open stubs at high frequencies. Nevertheless, Z‑parameters are mathematically convenient for series connections and for extracting equivalent circuit models. They also directly yield the driving‑point impedance seen at any port when other ports are terminated in arbitrary impedances. For example, the input impedance of a two‑port network loaded at port 2 can be computed directly from the Z‑matrix without re‑solving the complete network equations.

Admittance Parameters (Y‑Parameters)

Y‑parameters are the dual of Z‑parameters, relating currents to voltages:

I = Y V

Each element Yij is found by applying a voltage at port j and measuring the short‑circuit current at port i. Y‑parameters simplify parallel network interconnections and are heavily used in nodal analysis and high‑frequency oscillator design. Like Z‑parameters, they require ideal terminations that are difficult to achieve directly at microwave frequencies, making conversion from measured S‑parameters essential. Y‑parameters are particularly useful when analyzing feedback amplifiers and estimating the stability of multi‑stage transistor circuits. The off‑diagonal terms Yij directly represent the transadmittance between ports, which is a key parameter in determining loop gain and phase margin.

Mathematical Framework for Conversion

The transformation between S‑parameters and the immittance (Z or Y) parameters stems from the relationship between traveling waves and total voltages and currents at the network ports. To properly derive the conversion formulas, we must define the normalization impedance and the wave variables.

At each port k, the voltage and current are decomposed into forward and backward traveling waves:

Vk = √Z0k (ak + bk)
Ik = (ak - bk) / √Z0k

where Z0k is the reference impedance at port k, typically real and equal (e.g., 50 Ω). These equations link the wave vectors a and b to the port voltage and current vectors V and I. With this foundation, the conversion from S to Z or Y becomes a straightforward matrix manipulation. The key insight is that the wave‑based description can be recast in terms of total voltages and currents by solving for V and I in terms of a and b, then eliminating the wave variables. This approach naturally yields the well‑known bilinear transformations.

Step‑by‑Step Conversion from S‑Parameters to Z‑Parameters

The most commonly cited formula for converting an S‑matrix to a Z‑matrix assumes a diagonal reference impedance matrix Z0 where each diagonal entry is the port reference impedance. For a system normalized to the same Z0 at all ports, the conversion is:

Z = Z0½ (I - S)−1 (I + S) Z0½

where Z0 is the characteristic impedance matrix, I is the identity matrix, and the square root denotes the matrix square root (usually trivial for a diagonal Z0). When all ports use the same impedance Z0, this simplifies to:

Z = Z0 (I + S) (I - S)−1

This latter form is widely used and is derived under the assumption that Z0 is scalar. To avoid confusion, always verify whether your S‑parameters are normalized to a single scalar impedance or a diagonal matrix with varying values. In commercial touchstone files, the reference impedance for each port is often provided in the header; if not, the default is typically 50 Ω. However, some measurement setups (e.g., differential devices) may use different reference impedances per port, requiring a generalized conversion.

Detailed Procedure

  1. Construct the S‑matrix: Ensure your S‑parameter data is arranged as an N×N complex matrix, where N is the number of ports. Represent each entry in rectangular (real + imaginary) form for numerical computation; polar form can be used for display but must be converted for arithmetic.
  2. Form the I - S matrix: Subtract the S‑matrix from the identity matrix of the same dimension. Matrix subtraction is element‑wise.
  3. Compute the inverse (I - S)−1: This step is critical. The matrix must be non‑singular. Check the condition number or determinant; if it is ill‑conditioned, the conversion may fail or produce inaccurate results. Ill‑conditioning often occurs near resonance points or for highly reactive networks where the reflected wave magnitude approaches the incident wave magnitude.
  4. Form I + S: Add the identity matrix to the S‑matrix.
  5. Multiply (I + S) by the reference impedance: If Z0 is scalar, multiply every element of (I + S) by that value. For a diagonal impedance matrix, perform element‑wise multiplication of each row according to the corresponding impedance (or use matrix multiplication with a diagonal Z0).
  6. Multiply the result by (I - S)−1: The final matrix product yields the Z‑parameter matrix. Prefer solving the linear system (I - S) * X = (I + S) and then multiplying by Z0 to avoid explicit matrix inversion.

Mathematically, the operation is:
Z = Z0 (I + S) (I - S)−1

For two‑port networks, manual calculation is manageable, but for higher port counts, numerical computation is recommended. We will examine a practical example shortly, including the extraction of Y‑parameters via inversion of Z.

Renormalization Before Conversion

A common oversight occurs when S‑parameters are measured or simulated with different reference impedances at each port. For example, a differential device might have S‑parameters normalized to 100 Ω at differential ports and 50 Ω at single‑ended ports. Direct application of the scalar Z0 formula would give incorrect immittance values. Renormalization transforms the S‑matrix to a common set of reference impedances before conversion. The general renormalization formula is:

S' = R−1 (S - Γ)(I - Γ S)−1 R

where Γ is a diagonal matrix of reflection coefficients calculated from the old and new reference impedances, and R is a diagonal matrix that normalizes the wave amplitudes. This transformation is implemented in most RF simulation tools. When performing manual conversions, always confirm that all ports share a common reference impedance before using the simplified formulas. The Marks’ paper on multiline TRL calibration provides a thorough treatment of this topic, especially for traceable on‑wafer measurements where line impedances may vary with frequency.

Converting S‑Parameters to Y‑Parameters

There are two primary routes to obtain Y‑parameters from S‑parameters. The first is a direct formula analogous to the Z‑conversion:

Y = Y0 (I - S) (I + S)−1

where Y0 is the reference admittance matrix (diagonal entries = 1 / Z0k). For a scalar Z0, this becomes:

Y = (1/Z0) (I - S) (I + S)−1

The second, often safer method, exploits the inverse relationship between Z‑ and Y‑matrices: once the Z‑matrix is reliably computed, simple inversion gives the Y‑matrix. That is:

  1. Convert S to Z using the method above.
  2. Compute Y = Z−1.

This two‑step approach can be more robust because the matrix to invert, (I + S), may be better conditioned than (I - S) in some cases. However, both inversion steps must be handled with care. Stability can be improved by using pseudo‑inversion or regularized inversion if the matrices become nearly singular. For well‑matched devices (|Sij| small), both paths produce nearly identical results; for highly reflective networks, the direct Y conversion may be preferable because (I + S) tends to remain diagonally dominant. Engineers should also consider the condition numbers of both (I ± S) matrices at each frequency to choose the most stable path.

Worked Example for a Two‑Port Network

Consider a two‑port network measured at a single frequency with S‑parameters:

S11 = 0.1∠40°   S12 = 0.02∠-60°
S21 = 4.5∠120°   S22 = 0.3∠-30°

Assume a reference impedance Z0 = 50 Ω at both ports. The S‑matrix in rectangular form (rounded to three decimals) is:

S = [[0.0766 + j0.0643,  0.0100 - j0.0173],
     [ -2.2500 + j3.8971,  0.2598 - j0.1500]]

The identity matrix I is [[1,0],[0,1]]. Compute I - S and I + S:

I - S = [[0.9234 - j0.0643, -0.0100 + j0.0173],
         [ 2.2500 - j3.8971,  0.7402 + j0.1500]]

I + S = [[1.0766 + j0.0643,  0.0100 - j0.0173],
         [-2.2500 + j3.8971,  1.2598 - j0.1500]]

Now solve (I - S) * X = (I + S) for X. Using a numerical solver (see code below), we obtain:

X = [[-0.2475 - j0.5493,  0.0011 + j0.0064],
     [ 1.9736 - j0.3036,  0.9162 - j0.1786]]

Then Z = Z0 * X = 50 * X, yielding:

Z11 ≈  -12.37 - j27.47 Ω
Z12 ≈   0.057 + j 0.32 Ω
Z21 ≈  98.68 - j15.18 Ω
Z22 ≈  45.81 - j 8.93 Ω

From this Z‑matrix, the Y‑matrix is obtained by inversion:

Y = Z−1 ≈ [[-0.0122 + j0.0272, -0.0001 - j0.0007],
                [ 0.0216 + j0.0033,  0.0068 + j0.0048]] siemens

This example demonstrates that even with modest S‑parameter magnitudes, the resulting immittance values can be meaningful and reveal coupling, loss, and reactance characteristics. The negative real part of Z11 indicates potential instability at this frequency—a critical observation for amplifier design. The Y‑parameters, although small in magnitude, still capture the transadmittance coupling that is essential for oscillator feedback analysis.

Advanced Considerations and Numerical Stability

Engineers performing repeated conversions across frequency sweeps must be aware of numerical pitfalls. The condition number of (I ± S) can deteriorate near frequencies where the device exhibits extreme reflection (|Sii| close to 1) or when the network is poorly matched. In such cases, direct inversion may amplify noise. Several strategies mitigate these issues:

  • Check condition number before inversion: Many linear algebra libraries provide condition number estimation. If the condition number exceeds, say, 106, consider refining the data or applying regularization. A condition number on the order of 108 or higher typically indicates that the conversion results may be unreliable.
  • Port termination renormalization: If S‑parameters are taken with different reference impedances, use renormalization formulas to bring all ports to a common Z0 before applying the standard conversion. The general expression involves wave transformation matrices and is documented in Kurokawa’s power wave formalism.
  • Regularization: For ill‑conditioned matrices, Tikhonov regularization or truncated SVD can yield usable Z‑parameters, though this introduces a bias‑variance trade‑off. In practice, a small diagonal loading (e.g., 10−6 * max|S|) can stabilize the inversion without significantly altering the result. This technique is especially useful when dealing with measured data that contains noise spikes.
  • Alternative direct formulas: The Y‑parameter direct conversion (I - S)(I + S)−1 may be better conditioned when the device has low insertion loss, because (I + S) can become near‑diagonal for well‑matched networks. Conversely, for high‑gain devices, (I - S) might be easier to invert. A pragmatic approach is to compute both Z and Y via the two paths and compare results; significant differences indicate numerical issues.
  • Passivity enforcement: Measured S‑parameters often violate passivity due to noise or calibration errors. Before conversion, enforce passivity using algorithms such as eigenvalue reduction or Hamiltonian‑based methods to prevent non‑physical immittance values. A passive network must have an S‑matrix whose largest singular value is ≤ 1 at all frequencies. Failing to address passivity violations can lead to Y‑ or Z‑matrices that produce unstable time‑domain simulations.

Software Implementation: MATLAB, Python, and Julia Scripts

To automate the conversion across hundreds of frequency points, engineers often rely on scripting. Below are concise, reusable code snippets. Both examples assume S is an N×N complex matrix and Z0 is either a scalar or an N‑element vector of reference impedances (one per port). These implementations avoid explicit matrix inversion by using linear system solvers, which improves numerical accuracy.

MATLAB Function

function Z = s2z(S, Z0)
    % S2Z Convert S-parameters to Z-parameters
    % S  : NxN scattering matrix
    % Z0 : Nx1 vector or scalar reference impedance
    N = size(S,1);
    if isscalar(Z0)
        Z0 = Z0 * eye(N);
    else
        Z0 = diag(Z0);
    end
    I = eye(N);
    Z = sqrt(Z0) * ((I - S) \ (I + S)) * sqrt(Z0);
end

Using the backslash operator `\` solves the linear system without computing an inverse explicitly, improving speed and accuracy. For Y‑parameters, one can simply call `Y = inv(s2z(S, Z0))` or implement a dedicated `s2y` function using the alternative formula: `Y = (1/Z0) * ((I - S) / (I + S))` (using the right‑division operator `/`). Note that right‑division is equivalent to multiplying by the inverse of (I + S) from the right.

Python with NumPy

import numpy as np

def s_to_z(S, Z0):
    N = S.shape[0]
    if np.isscalar(Z0):
        Z0 = Z0 * np.eye(N)
    else:
        Z0 = np.diag(Z0)
    I = np.eye(N)
    Z0_sqrt = np.sqrt(Z0)  # element-wise; Z0 diagonal
    Z = Z0_sqrt @ np.linalg.solve(I - S, I + S) @ Z0_sqrt
    return Z

For Y‑parameters, a direct approach is:

def s_to_y(S, Z0):
    N = S.shape[0]
    if np.isscalar(Z0):
        Y0 = (1/Z0) * np.eye(N)
    else:
        Y0 = np.diag(1 / Z0)
    I = np.eye(N)
    Y = Y0 @ np.linalg.solve(I + S, I - S)
    return Y

Julia Implementation

function s2z(S, Z0)
    N = size(S,1)
    I = Matrix{ComplexF64}(I, N, N)
    Z0_mat = isa(Z0, Number) ? Z0 * I : diagm(Z0)
    Z0_sqrt = sqrt.(Z0_mat)
    return Z0_sqrt * ((I - S) \ (I + S)) * Z0_sqrt
end

For noise‑free synthetic data, these functions yield exact results. When working with measured S‑parameters, it is advisable to smooth the data and remove outliers before conversion to prevent spurious impedance spikes. The open‑source library scikit‑rf provides community‑tested routines for these conversions, including renormalization and passivity checks. scikit‑rf also handles multi‑port networks and can automatically read Touchstone files with varying reference impedances.

Physical Interpretation and Usage of Converted Parameters

Once you have the Y‑ or Z‑matrix, a wealth of analysis becomes possible. Z‑parameters allow straightforward evaluation of the network’s input impedance under arbitrary load conditions. For instance, the input impedance of port 1 when port 2 is terminated in ZL is:

Zin = Z11 - (Z12 Z21) / (Z22 + ZL)

This expression is foundational in amplifier design for calculating stability circles and matching networks. Y‑parameters similarly feed into the design of oscillators and negative‑resistance amplifiers, where the determination of potential instability regions relies on the admittance matrix. The converted parameters also directly reveal the network's driving‑point behavior without the need for iterative re‑simulation.

Converted parameters also enable the extraction of lumped‑element equivalent circuits. By fitting the frequency‑dependent Z‑ or Y‑elements to rational functions, one can synthesize compact models suitable for time‑domain simulation in SPICE. This process is central to signal integrity and electromagnetic compatibility modeling. For example, a Z‑matrix that peaks at a resonant frequency can be modeled as an RLC tank circuit, whose component values are derived directly from the immittance data. The off‑diagonal elements of the Y‑matrix are particularly useful for identifying mutual coupling in coupled‑line structures and transformer models.

Common Pitfalls and Verification Strategies

Despite the apparent simplicity of the formulas, errors can arise from several sources:

  • Mismatched reference impedances: If the S‑parameter file does not state the reference impedance, or if it varies across frequency, you must renormalize before converting. Many modern touchstone files include the reference impedance for each data point; check the header line carefully. Some measurement standards, like 75 Ω cable television components, may require conversion to a different system impedance.
  • Passivity and causality: The conversion process can create non‑passive Z‑ or Y‑matrices if the original S‑parameters violate passivity (e.g., due to measurement noise). Enforce passivity through algorithms like matrix squaring or Hamiltonian‑based methods if necessary. A passive Z‑matrix must have a positive‑definite real part. Similarly, the resulting immittance parameters should satisfy Kramers‑Kronig relations if the network is causal; failure indicates data quality issues.
  • Units confusion: S‑parameters are unitless, but the resulting Z‑parameters are in ohms and Y‑parameters in siemens. Always confirm that your reference impedance is consistently in ohms. If your S‑parameters are in dB magnitude, convert to linear magnitude before conversion. Common mistakes include forgetting to convert dB magnitudes to linear or mixing polar and rectangular representations.
  • Port ordering: For multiport networks, maintain consistent port numbering. A swapped index will yield incorrect inter‑parameter coupling. It is good practice to label ports and compare against known through‑line or open‑circuit measurements. Some test fixture de‑embedding routines reorder ports, so always verify the mapping.
  • Frequency sampling: Conversion at each frequency point is independent. Avoid interpolating S‑parameters before conversion; instead, interpolate the resulting Z or Y parameters if a uniform frequency grid is needed. Interpolation in the complex S‑domain can introduce non‑causal artifacts that corrupt the immittance results.

To verify a conversion, back‑transform the computed Z‑parameters to S‑parameters using the inverse formula:

S = (Z - Z0) (Z + Z0)−1

If the round‑trip S‑parameters match the original within numerical precision (e.g., max error < 10-12), the conversion is correct. Similarly, converting S → Z → Y and then Y back to Z should recover the original Z‑matrix within machine epsilon. This round‑trip test is a best practice that should be automated in any conversion script.

Frequency‑Dependent Reference Impedances

In practical vector network analyzer measurements, the reference impedance may not be constant with frequency, particularly when de‑embedding fixture effects or using non‑50‑Ω transmission lines. Generalized conversion formulas that accommodate frequency‑varying Z0 use the full wave relationships:

Z = (I - S Rw)−1 (I + S Rw) Z0

where Rw is a diagonal matrix of reflection coefficients corresponding to the reference impedances. This approach, detailed in Marks’ paper on multiline TRL calibration, is essential when maintaining traceability to non‑50‑Ω reference standards. For example, in cryogenic measurement systems, the line impedance may vary significantly with temperature, requiring frequency‑by‑frequency renormalization. Fortunately, for most common applications where the reference impedance is 50 Ω resistive and constant, the simplified matrices hold perfectly. When working with wafer‑level measurements where the line impedance varies, implementing the full generalized conversion is mandatory to avoid systematic errors in the extracted immittance data.

Connecting to Broader Design Workflows

Conversion between parameter types is rarely an end in itself. Typically, it is a precursor to tasks such as:

  • Stability analysis: Calculating the Rollett stability factor K and Δ from S‑parameters, then converting to Z or Y to draw stability circles on the Smith chart. The converted Z‑parameters provide the open‑loop gain necessary for Nyquist analysis. Many textbooks provide formulas for stability circles directly in terms of Z or Y parameters.
  • Filter synthesis: Using the extracted Y‑matrix to determine coupling coefficients and resonator frequencies for planar and coaxial filters. The off‑diagonal Y‑parameters directly represent the mutual admittance between resonators, which can be used to design cross‑coupled filters with prescribed transmission zeros.
  • De‑embedding: Removing the effects of test fixtures by converting S‑parameters to Z‑parameters, subtracting the fixture Z‑matrix (obtained from a separate measurement or simulation), and converting back to S. This is standard practice in on‑wafer transistor characterization, where pad parasitics significantly affect measured data.
  • Model parameter extraction: Fitting Z‑parameter data over frequency to physics‑based equivalent circuit models, enabling optimization of transistor layouts and passive components. The real and imaginary parts of Zij constrain the resistance and reactance of each branch. Automated optimization routines often work directly with immittance parameters because they provide a smoother error surface than S‑parameters.

Online resources such as the Microwaves101 S‑parameter encyclopedia and the scikit‑rf documentation provide further practical examples and ready‑to‑use tools for these workflows. Engineers are encouraged to explore these references to deepen their understanding of the conversion process and its applications.

Summary and Best Practices

Converting S‑parameters to Y‑ and Z‑parameters is a cornerstone of RF and microwave circuit design. The mathematical steps are well‑defined, but successful application demands attention to reference impedance, matrix conditioning, and numerical method selection. The key takeaways are:

  • Use the appropriate formula: Z = Z0 (I + S) (I - S)−1 for scalar Z0; for non‑uniform references, employ the full wave variable transformation or renormalize first.
  • Prefer linear system solvers over explicit inverses: Methods like `mldivide` in MATLAB or `numpy.linalg.solve` in Python are more stable and faster.
  • Verify conversions through round‑trip tests: Back‑transform to S‑parameters to ensure consistency. A maximum error below 10−10 indicates a trustworthy result.
  • Monitor condition numbers: Detect problematic frequencies early and apply smoothing or regularization. The condition number of (I - S) should be computed at each frequency point.
  • Enforce passivity when needed: Use established algorithms to restore passivity in the immittance domain before using the data for synthesis or stability analysis. Tools like scikit‑rf offer built‑in passivity enforcement functions.
  • Integrate conversion into a broader design flow: Use established libraries such as scikit‑rf for speed and community‑vetted reliability. These libraries also handle renormalization and multiport conversions that are error‑prone to implement from scratch.

By internalizing these principles, engineers can confidently bridge the gap between measured scattering data and the immittance‑based analysis that underpins practical high‑frequency design. The ability to move fluently between parameter sets not only reduces dependence on a single measurement type but also deepens the understanding of network behavior across different termination conditions. As RF systems become more complex—with multi‑port antennas, differential signaling, and wideband operation—these conversion skills become indispensable for both simulation and measurement validation.