Arpad,
Except for [Matrix Format] one can remove all of the Touchstone 2 sections and
keywords and the file is a legal Touchstone 1 file if it is renamed sNp where
N=[Number of Ports].
Again ignoring Noise data (which I have never seen in an interconnect model),
the only important information for using this Touchstone file is [Reference].
Only tools that will support reference per port need to modify their Touchstone
reader to parse the [Reference] keyword. This would be a much simpler change to
Touchstone readers then to require them to ignore all of the other Touchstone 2
stuff.
As for [Two-Port Data Order], making it optional in Touchstone 3 leaves it back
to the way it was in Touchstone 1: If the tool wants it to be unambiguous it
will need to update its Touchstone parser.
The [Two-Port Data Order] keyword is used to signify the column ordering
convention. The Version 1.0 convention for 2-port network data is N11, N21,
N12, N22, where N11, N12, etc., represent pairs of data entries. However, some
tools and users have adopted the convention N11, N12, N21, N22 (a more natural
order consistent with all the other n-port ordering conventions). Using the
keyword (required in Version 2.0, optional in 3.0) makes the ordering of 2-port
network data explicit and unambiguous.
I go back to Radek's point he made many moons ago. Touchstone is just a format
containing a matrix of imaginary numbers for a list of frequencies. Other than
[Matrix Data] (and the future Sparse format), everything in Touchstone 2 is how
to use the data. The ultimate question is how does the Touchstone file get
delivered to the customer so that Touchstone X will be adapted. I see the
following options:
1. My propose for Touchstone 3 that makes most Touchstone 2 keywords
optional.
2. Put the Touchstone 2 stuff in a second file.
* Everyone hates have the data in two files.
3. Put the Touchstone 2 stuff in a contained section at the beginning of the
Touchstone X file
* Should be easy to modify Touchstone reads to skip the section
* The Touchstone X file can be distributed this way. Recipients can easy
us a text editor or script to strip off the Touchstone x section and create a
Touchstone 1 file for their tool.
Walter
Walter Katz
Work 508.647-7633
Cell 720.417-3762
[Description: Description: Visit MathWorks.com]
From: ibis-interconn-bounce@xxxxxxxxxxxxx <ibis-interconn-bounce@xxxxxxxxxxxxx>
On Behalf Of Muranyi, Arpad
Sent: Monday, January 10, 2022 7:15 PM
To: 'IBIS-Interconnect' <ibis-interconn@xxxxxxxxxxxxx>
Subject: [ibis-interconn] Re: Touchstone 3 draft1
Walter,
Thanks for the explanation and example. In some ways it makes sense, but the
problem
I have with this story is that in the past I heard you say that there are
gazillion ancient
scripts and tools around which are still being used, but their developers may
not even
be around anymore and no-one wants to touch the source code, while they are
still using
the executables happily.
In the email you just wrote, you mentioned at least two things that need source
code
changes in your Touchstone tool: Add support for the [Version] keyword (or
ignore it)
and add support for the [Reference] keyword). If you start doing that, you
might as
well add support for the rest of the keywords in your tool's parser. This is
ONLY a
file I/O (parsing/writing) problem, the rest of your data processing algorithms
wouldn't need to be touched at all...
In addition, do you want to reinstate the number ordering problem of Touchstone
1
in Touchstone 3 with .s2p files? How do you propose to solve the problem you
highlighted in red letters in your Touchstone 3 draft?:
[cid:image002.png@01D806C5.5BF115C0]
Anyway, I am not trying to argue with you, majority will rule, but I don't see a
clean solution to your desire to continue in the Touchstone 1 path. Even if we
did what you are proposing in your Touchstone 3 draft, we will eventually end
up having to add new keywords to its successor(s). I don't see how we can
continue adding new features and capabilities indefinitely without switching
to keyword style. You will end up having to continually change your tool's
parser
anyway (even if you don't want to use any of those new features in the models
you write) just so that it won't crash on the new keywords. Going back to
Touchstone 1 style files might buy you a little time now, but ultimately I don't
see a way around the need to have to change your tool's source code... Also,
there are times when making a change sooner is easier than later. The longer
we wait, the more baggage we will have to deal with in the specification as
well as in the tools...
Thanks,
Arpad
===================================================================
From:
ibis-interconn-bounce@xxxxxxxxxxxxx<mailto:ibis-interconn-bounce@xxxxxxxxxxxxx>
<ibis-interconn-bounce@xxxxxxxxxxxxx<mailto:ibis-interconn-bounce@xxxxxxxxxxxxx>>
On Behalf Of Walter Katz
Sent: Monday, January 10, 2022 8:38 AM
To: 'IBIS-Interconnect'
<ibis-interconn@xxxxxxxxxxxxx<mailto:ibis-interconn@xxxxxxxxxxxxx>>
Subject: [ibis-interconn] Re: Touchstone 3 draft1
Arpad,
Here is an example. I have tools that read and write Touchstone I files. All I
want to do is create and read Touchstone file that have the Impedance per port
record. I and just add the following two lines:
[Version] 3.0
[Reference] ...
All I need to do is modify my Touchstone reader to ignore the "[Version] 3.0"
line and parse the "[Reference] ..." line.
There is no need to add the [Number of Ports] because it is in the sNp file
extent.
There is no need to add the [Number of Frequencies] since my parser already
knows how to parse it.
There is no need to add [Network Data], since my parser already knows how to
parse it.
If, and when we add [Begin Port Data] and [End Port Data], it will be easy to
modify parsers to just skip that section, or the user can chose to delete those
lines from the file to use in their tool.
The whole idea is make it easy for people to add the additional information
that we know is desired today, which is keep sNp, add [Reference] and add
machine parsable Port information.
I personally would like to eliminate Touchstone 2 altogether, and come up with
a Touchstone Interconnect standard based on Touchstone 1.
Remove the following keywords
* [Number of Ports]
* [Number of Frequencies]
* [Number of Noise Frequencies] (No support for Noise Data)
* [Mixed-Mode Order]
Optional keywords (Sorted by most important first)
* [Reference]
* [Begin Port Data]/[End Port Data]
* [Begin Sparse Data]/[End Sparse Data]
* [Begin Information]/[End Information] (optional)
* [Two-Port Order]
* [Matrix Format]
This is what the user community wants
* They require the sNp format, so why have [Number of Ports]
* The already know how to figure out [Number of Frequencies]
* Interconnect does not use Noise Data
* No need for Mixed-Mode Order, mixed mode s-params can always be generated
from normal single ended order and [Port Data]
* The most important things that are needed over Touchstone I are:
o [Reference]
o Computer parsable Port Data
o Sparse Data
Bottom lines is we have the following options:
1. Create a Touchstone 3 based on Touchstone 2 without the upward
compatibility clause
2. Create a Touchstone 3 based on Touchstone 2 with the upward compatibility
clause
3. Throw away Touchstone 2 and create a Touchstone Interconnect as suggested
above.
Walter
Walter Katz
Work 508.647-7633
Cell 720.417-3762
[Description: Description: Visit MathWorks.com]