From A-parameters to S-parameters
In matrix form, the formula is
S=([k10−Z1k10]A+[0k20Z2k2])([k10Z1k10]A+[0k20−Z2k2])−1
While for each element, we obtain
S11S12S21S22=A12+A11Z2+A22Z1+A21Z1Z2A12+A11Z2−A22Z1−A21Z1Z2=k2(A12+A11Z2+A22Z1+A21Z1Z2)2Z1k1(A11A22−A12A21)=k1(A12+A11Z2+A22Z1+A21Z1Z2)2Z2k2=A12+A11Z2+A22Z1+A21Z1Z2A12−A11Z2+A22Z1−A21Z1Z2
The formulas are obtained with the methods explained here.
The MATLAB implementation can be found in circuitconversions on Gitlab.
Definitions
[V1I1]=A[V2−I2] | [B1B2]=S[A1A2] |
The incident and reflected waves are defined as
A1A2=k1(V1+I1Z1)B1=k2(V2+I2Z2)B2=k1(V1−I1Z1)=k2(V2−I2Z2)
with Z0,i the reference impedance for port i and ki defined as
ki=2ℜ(Z0,i)1ki=α2∣Z0,i∣ℜ(Z0,i)
depending on whether you are using power- or pseudowaves.