¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Touchstone file format #consolecommands #docs


 

Hi,



When developing my nanovna mini-tools, I am unclear about the "Touchstone" file format regarding the storage of Z-parameters for a one-port (nanovna_snp.py). So far I follow rev 1.1, it says on page 7:

Example 2:
!1-port Z-parameter file, multiple frequency points
# MHz Z MA R 75
!freq magZ11 angZ11
100 0.99 -4
200 0.80 -22
300 0.707 -45
400 0.40 -62
500 0.01 -89
Note that in the above example Z11 (the input impedance) is normalized
to 75 ohms, as given by the reference impedance (R 75) in the option
line.

Unfortunately rev. 2.0 is not totally clear about the Z format, on the one hand it is not normalized (page 7):

For Version 2.0 files, the reference resistance defines the system reference for the S-parameter data if the
[Reference] keyword is not present. Network data for G-, H-, Y- and Z-parameters in Version 2.0 files is
not normalized. Therefore, the reference resistance and [Reference] keyword have no impact on G-, H-, Y-
, or Z-parameter data in Version 2.0 files. S-parameters are, by definition, normalized with respect to the
reference impedance(s) and in this respect there is no difference between the treatment of S-parameters in
Version 1.0 and Version 2.0 files.

On the other hand, normalization of Z is mentioned in this option line example on the next page 8:

Frequency in Hz, Z-parameters in magnitude-angle format, normalized to 10 ohms:
# Hz Z MA R 10

But I suspect that this information is not correct, because further back in the document on page 14 rev 1.1 and rev 2.0 are contrasted for Z-parameters:

Example 9 (Version 1.0):
!1-port Z-parameter file, multiple frequency points
# MHz Z MA R 75
!freq magZ11 angZ11
100 0.99 -4
200 0.80 -22
300 0.707 -45
400 0.40 -62
500 0.01 -89
Note that, in the above example, Z11 is normalized to 75 ohms, as given by the reference impedance (R 75)
in the option line.

Example 10 (Version 2.0):
!1-port Z-parameter file, multiple frequency points
[Version] 2.0
# MHz Z MA
[Number of Ports] 1
[Number of Frequencies] 5
[Reference] 20.0
[Network Data]
!freq magZ11 angZ11
100 74.25 -4
200 60 -22
300 53.025 -45
400 30 -62
500 0.75 -89

This example duplicates the data in Example 9, using Version 2.0 syntax. Note that normalization does not
apply.

Question to the specialists, should one stick with rev 1.1, as does nanovna-saver, or is rev 2.0 more widely used.

A quick test with scikit-rf shows that it writes also in 1.1 format, but creates only S-Parameter files, even if fed with Z-parameter:

!Created with skrf...
# Hz S RI R 50.0
!freq ReS11 ImS11
50000.0 0.98... -0.01...
...

Martin

Join [email protected] to automatically receive all group messages.