Revised 1/11/08

(PortView is at version 06 at this point)


PortView is a Windows program for viewing and manipulating one-port and two-port S-parameter data.  The purpose of this document is to present a broad introduction to the capabilities of PortView in enough detail to allow a user to experiment with it.  The current version of PortView can be downloaded here. Depending what programs you have installed, you may also have to install the Visual Basic 6.0 Runtime, which is available here.


A one-port is a device with an input but no output, and is characterized by a single S-parameter known as the reflection coefficient.  A two-port is a device with an input and an output, and requires four S-parameters to describe its behavior S11(input reflection coefficient), S12(reverse gain), S21(forward gain) and S22(output reflection coefficient).


S-parameter data is typically contained in text files in the Agilent Touchstone® format, with the extension .s1p for one-port S-parameters and .s2p for two-port S-parameters.  A variety of do-it-yourself VNAs generate data in the comma-delimited spreadsheet file format known as .csv, which files are easily created and read by spreadsheet programs.  However, the actual organization of data within a .csv file is not standardized.





The front-end of PortView is a simple circuit layout program in which a device such as an antenna or transmission line can be represented in S-parameter format, with the S-parameters derived by measurement on a VNA.  PortView does not presently actually operate any VNA, but will accept its data.   Many other components are also available, some of which are shown in Figure 1.




FIGURE 1—A sample of the components available in PortView’s

circuit layout module.



When the “GRAPH” button is clicked, PortView generates S-parameters from the circuit layout, and graphs them in various formats described below. Depending on the settings in the options menu, the S-parameters will be a full set of two-port parameters (i.e. input and output characteristics along with forward/reverse gain characteristics) or simple one-port parameters (i.e. input characteristics, with the Load eliminated.)


The circuit layout is fairly self-explanatory. The circuit consists of a series of “nodes”, which are dots connecting components.  Each dot and the component below and to its right constitute a single node.  Right-clicking on a node brings up a menu which allows deletion of that node or insertion of a new node immediately left of the selected node.  Double-clicking on a component (or the location of an absent component) brings up a dialog which allows the component values to be changed, and allows another component type (including a wire or blank component) to be entered at that location.

Figure 2 shows the Edit Component window with the XLine (transmission line) component selected. This window was opened by clicking on a horizontal component, and shows all the possible components that can be placed in a horizontal position—which means they must have both an input and an output.

FIGURE 2—Edit Component Window showing the components

available for horizontal placement (i.e. they have an input and output).



The XLine shown in figure 2 has the greatest number of input fields.  But the “Coax Type” list contains many standard coax types, and their data can easily be entered by choosing the appropriate one.  Data for the coax cable comes from a file called CoaxData.csv, and data for additional cable types can easily be added. One source for such data is the excellent coax loss calculator maintained by VK1OD at http://www.vk1od.net/tl/tllc.php.


Figure 3 shows the same Edit Component window, but opened by clicking on a vertical component.  It shows many of the same component choices as Figure 2, but also has some “single-ended” components such as the Antenna, which can’t be used to connect two nodes horizontally because it has no output connection.


FIGURE 3—Edit Component Window showing the components

available for vertical  placement.


The Antenna and one-port shown in Figure 3 are electronically identical; the only difference being the graphic that represents them in a circuit. Like the two-port shown in Figure 2, the behavior of these devices is not calculated from physical characteristics, but rather is derived from a list of S-parameters. Such S-parameters may be obtained from device manufacturers (as with MMICs) or measured on a VNA.  More about S-parameters later.  One interesting use of S-parameters is that you can draw a circuit and graph it in the graphing window, where you can copy the circuit’s S-parameters to the Clipboard.  You can then come back to the circuit layout and create a one-port or two-port component using those Clipboard S-parameters.  The result is that you have encapsulated the entire previous circuit into a single new component, which you can use in a subsequent circuit layout.



One handy use of encapsulating a circuit into a single component is in connection with the de-embedding feature of PortView.  De-embedding is illustrated in Figure 4.


FIGURE 4—De-embedding.  The components highlighted

in light blue will be de-embedded from those that follow.




Figure 4 shows an antenna fed by a transmission line.  Assume that the antenna S-parameter data was obtained by measurement with a VNA, but that the VNA was connected to the antenna through the transmission line shown in Figure 4.  The VNA data used for the antenna is thus contaminated by the effects of the transmission line.  But by de-embedding the antenna line, we can arrive at the true S-parameters for the antenna itself.   To accomplish de-embedding, the node at the right end of the transmission line is right-clicked, bringing up a pop-up menu which allows the components left of that node to be designated to be de-embedded.  Those components are highlighted in blue to show that they are being dis-embedded.





The S-parameters generated from the circuit layout are sent to the graphing module.  Several different graph types are available, and the user can rapidly shift from one type to another. Once the graphing module is opened, the user can use it to graph S-parameters from any source, either by pasting them from the clipboard or by dragging-and-dropping a .s1p, .s2p or .csv file onto the graphing window. (More on .csv format later.)  In fact, the Circuit window can be closed and the graphing window will operate fully on its own.


The traditional graph for viewing S-parameter data is the Smith Chart.  PortView’s Smith Chart is shown in Figure 5.


FIGURE 5—The Smith Chart is most suitable for viewing

reflection coefficients or impedances.


The Smith Chart graphs the data selected from the list on the left.  By shift-clicking on the graph names, more than one graph may be shown at a time. The actual graph on a Smith Chart is a “parameterized graph”, which is drawn starting at one frequency and continuing to the end frequency. At each frequency, the reflection coefficient is plotted. The downside of a parameterized graph is that there is no direct indication of what frequency is at what point. As a guide, PortView displays small dots along the graph to divide it into several sections representing equal frequency intervals.  In addition, by hovering the mouse over a point, or placing a marker, the frequency and other data can be viewed on the right side.


The data window on the right shows a variety of useful information such as return loss, SWR, impedance, admittance, and component values for equivalent RLC circuits.  The use of this data is described later. The data window can be in Chart, Graph and Marker modes, depending which tab is selected.


In PortView terminology, the Chart is the entire background, and the graph is the graph line itself.  In Chart mode, data is displayed for the current mouse position.  A graph doesn’t even need to be present to view this data. In Graph mode, data is displayed for the point on the active graph closest to the mouse position; but if the mouse is not close to a graph nothing is displayed.  Marker mode displays data for the selected marker. Two types of markers are available: Chart and Graph markers.  Chart markers attach to the chart itself, with no knowledge of any graph.  On the Smith Chart, this means they know nothing of frequency.  However, they will use the frequency in the frequency window to calculate the equivalent series and parallel components shown in the data window.  Graph markers attach to the graph itself and can be moved along the graph with the spinner arrows.


It is possible to view the phase and magnitude of gain parameters on a Smith Chart, but the background grid doesn’t make sense for such parameters.  It is more appropriate to view them on the Polar Chart, where the gain magnitude becomes the radius and its angle is measured counter-clockwise from the right edge of the chart.  PortView’s Polar Chart is shown in Figure 6.


FIGURE 6—The Polar Chart is best for viewing gain parameters,

although reflection coefficients and impedances (converted to

reflection coefficients) can also be viewed.  As with all charts in

PortView, more than one graph can be viewed at a time.


The Smith Chart became popular in pre-computer days because there are fairly simple methods to manually translate a reflection coefficient into impedance, SWR, etc., and to perform impedance matching or calculate the effect of transmission lines.  However, much of that work can be done automatically by the computer, which can instantly display all sorts of information about a point on the chart.  For that reason, it may be more intuitive to utilize the Impedance Chart shown in Figure 7.


FIGURE 7—The Impedance Chart is in the more recognizable rectangular

format, with resistance on the X-axis and reactance on the Y-axis. By

hovering over a point on the chart, or by placing markers, a great deal

of information can be instantly viewed on the right side of the window.


The Impedance Chart in Figure 7 also shows the reference line feature available on all charts: reference lines for return loss, SWR and other parameters can be drawn on each chart.


Reflection coefficients can also be viewed on the Impedance Chart, but they are converted to impedances. The user can switch back and forth between different charts to view data in different formats, keeping in mind that gain parameters (S12 and S21) do not make sense on Smith or Impedance Charts and will not be shown there.  Any markers will be automatically carried over from one chart to the next.


Finally, there is the traditional Frequency Chart, where frequency is shown along the X-axis and selectable parameters are shown along the Y1 (left) or Y2 (right) axis.  Figure 6 shows such a chart.


FIGURE 8—The Frequency vs. Parameters chart is in traditional

rectangular format, graphing user-selectable parameters.


When the Frequency Chart is selected, it automatically graphs parameters for the graph(s) previously displayed.  A single graph on any other chart simultaneously represents two parameters, such as magnitude and angle, so each such graph becomes two graphs on the Frequency Chart. Once the Frequency Chart is active, the user can use the Options Menu to alter or add to the parameters displayed.




PortView can save and open circuit files in its own simple text file format.  Files can be opened by the usual Open menu, or by drag-and-drop onto the Circuit window. Several saved files with circuits for experimentation are included in the Test Circuits folder provided with PortView.


Parameter files are normally maintained in the Agilent Touchstone® format, with files ending in .s1p for one-port S-parameters and .s2p for two-port S-parameters. It is also possible to maintain them in the comma-delimited format which most spreadsheet programs share, called CSV files because they end in the extension .csv.


PortView can handle .csv files in the same manner as .s1p files, but it presently assumes a very particular format:  The first line is text header info and each following line consists of three items separated by commas: frequency in MHz, reflection coefficient magnitude, and reflection coefficient angle.




I intend separately to provide a discussion on the nature and use of S-parameters, but it may be helpful to provide some information here.


Students of electronics start off learning about voltage, current and impedances, the latter being a simple representation of the relationship between voltage and current.  In fancy terms, impedances are referred to as Z-parameters.  In the RF world, it is often more straightforward to use reflection coefficients rather than impedances, which leads to the use of S-parameters rather than Z-parameters. But the important point is that both Z-parameters and S-parameters are ways of looking at the same thing. Neither is universally superior to the other; it is just a question of which one makes it easier to examine whatever you are trying to examine.


A major goal of PortView is to make it easier to see the connection between impedances and reflection coefficients.  You can view a Smith Chart as a polar graph of reflection coefficient, with magnitude shown as distance from the center and angle shown as the direction from the center.  Or you can view it as a graph of impedance, where the axes showing resistance and reactance are arcs instead of straight lines. The main point is that each point on the Smith Chart simultaneously represents an impedance and a reflection coefficient.  Likewise on the Impedance Chart. 





The data window of the Smith and Impedance charts shows a lot of data which can be a pain in the neck to calculate manually.  The most useful may be the equivalent RLC components.  This data shows the values of resistance, inductance and capacitance needed to duplicate the impedance (and reflection coefficient) of the circuit being analyzed.  Those RLC components can be arranged all in parallel or all in series, which gives two separate sets of equivalent components.


Of course, the impedance/reflection coefficient of a capacitor or inductor varies with frequency, and therefore the equivalent RLC components at one frequency are generally different from those at another. But if you are interested in impedance matching at a particular frequency, you can make good use of this data.


Strangely enough, the most useful data in a set of equivalent RLC components is the L or C value which is negative (which one of them usually is).  If the parallel C value at a certain frequency is -1nf, this means that you could parallel a +1nf capacitor, with the pair of capacitors forming “infinite” resistance, in effect disappearing.  Therefore, the negative component value shows you how to neutralize the reactance. The same applies for the series RLC components.  In that case, a –C value and a +C value in series form a zero impedance, which makes them disappear in a series circuit.  As a result, you will have a choice of using either a series or parallel L or C to neutralize the reactance.


You can actually go back to the Circuit Layout window and add the neutralizing component to see its effect. By so doing, you will also see how broadband your neutralization efforts were.


With the reactance neutralized, you can achieve the goal of matching the impedance to, say, 50 ohms, by using a transformer, or by using a transmission line as a transformer, or by using an LC circuit. It is a no-brainer to figure out the necessary transformer to do the job. Determining the transmission line or LC circuit is a step more difficult, but is exactly the thing Smith Charts were invented for. My next objective with PortView will be to make that impedance matching straightforward.