Convert S-Parameters zu Z

14 views (last 30 days)
Sven Brasa
Sven Brasa on 6 Feb 2021
Commented: Sven Brasa on 8 Feb 2021
Hello everybody,
I tried to read the S parameters from a circuit with the source code below and to convert them to Z parameters. Unfortunately, I get the following error message:
  • Error using CheckNetworkData (line 39)S_PARAMS must be numeric.
Can someone help me there?
Thanks in advance.
Sven
%Schaltkreis anlegen
freq = linspace(40e3,9e9,100000);
ckt_DUT = circuit('LC_Wire');
add(ckt_DUT,[1 2],inductor(1.25e-9))
add(ckt_DUT,[2 3],capacitor(1e-12))
add(ckt_DUT,[2 4],inductor(1.25e-9))
setports(ckt_DUT,[1 3],[4 3]);
%C_Open (siehe Script Seite 19) anlegen
ckt_C_open = circuit('Copen');
add(ckt_C_open,[1 3],capacitor(100e-15));
add(ckt_C_open,[1 2],resistor(1e9));
add(ckt_C_open,[2 3],capacitor(100e-15));
setports(ckt_C_open,[1 3],[2 3]);
%L_Short (siehe Script Seite 19) anlegen
ckt_L_short = circuit('Lshort');
add(ckt_L_short,[1 2],inductor(1e-9));
add(ckt_L_short,[2 3],inductor(1e-9));
add(ckt_L_short,[4 5],resistor(1e-15));
setports(ckt_L_short,[1 4],[3 5]);
%S-Parameter von DUT_Messung berechnen und zu Z umwandeln
S_ckt_DUT = sparameters(ckt_DUT,freq);
Z_ckt_DUT = s2z(S_ckt_DUT);

Accepted Answer

Kiran Felix Robert
Kiran Felix Robert on 8 Feb 2021
Hi Seven ,
You are getting an error because you are passing a struct variable into the s2z() function. (Try to insert a breakpoint and see the command window for the data type.)
You must pass only the s-parameter values, which is available in the Parameters field of your S_ckt_DUT struct.
Z_ckt_DUT = s2z(S_ckt_DUT.Parameters) % Replace the last line with this

More Answers (0)

Categories

Find more on Data Import and Network Parameters in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!