#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass scrbook
\begin_preamble
\usepackage{amssymb,amsmath}
\widowpenalty=10000 
\clubpenalty=10000 


\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\definecolor{listinggray}{gray}{0.9}
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
\lstset{
backgroundcolor=\color{lbcolor},
tabsize=4,
rulecolor=,
language=Python,
        basicstyle=\scriptsize,
        upquote=true,
        aboveskip={1.5\baselineskip},
        columns=fixed,
        showstringspaces=false,
        extendedchars=true,
        breaklines=true,
        prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
        frame=single,
        showtabs=false,
        showspaces=false,
        showstringspaces=false,
        identifierstyle=\ttfamily,
        keywordstyle=\color[rgb]{0,0,1},
        commentstyle=\color[rgb]{0.133,0.545,0.133},
        stringstyle=\color[rgb]{0.627,0.126,0.941},
}
\end_preamble
\use_default_options true
\language english
\inputencoding auto
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\float_placement H
\paperfontsize default
\spacing single
\use_hyperref true
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder true
\pdf_colorlinks false
\pdf_backref false
\pdf_pdfusetitle true
\papersize default
\use_geometry true
\use_amsmath 1
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\topmargin 1in
\rightmargin 1.25in
\bottommargin 1in
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author "" 
\author "" 
\end_header

\begin_body

\begin_layout Title
mwavepy Manual
\end_layout

\begin_layout Author
Alex Arsenovic
\end_layout

\begin_layout Date
10/03/2010
\end_layout

\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents

\end_inset


\end_layout

\begin_layout Chapter
About
\end_layout

\begin_layout Standard

\series bold
mwavepy
\series default
 is a compilation of functions and class's for microwave/RF engineering
 written in python.
 It is useful for things such as touchstone file manipulation, calibration,
 data analysis, data acquisition, and plotting.
 
\series bold
mwavepy 
\series default
can be used interactively through the python interpreter, or in scripts.
 
\end_layout

\begin_layout Standard

\series bold
mwavepy
\series default
 started when I began to compile all of my personal functions into a single
 program.
 I then realized that creating some abstract entities such as a n-port network,
 calibration instance, and virtual instruments, would make a lot of aspects
 of data analysis faster.
 It did.
\end_layout

\begin_layout Standard
Because I am not a professional developer, I can only implement what is
 feasible time-wise, which translates into 'things I need immediatly'.
 But, I have tried to structure everything with scalability in mind, so
 others can add onto 
\series bold
mwavepy.
\end_layout

\begin_layout Chapter
Installation
\end_layout

\begin_layout Section
Dependencies
\end_layout

\begin_layout Standard
The requirements are basically a python environment setup to do numerical/scient
ific computing.
 If you are new to python, you should consider using
\begin_inset CommandInset href
LatexCommand href
name "pythonxy"
target "http://www.pythonxy.com/ "

\end_inset

, which provides everything you need to get started.
\end_layout

\begin_layout Standard
Here is a list of the requirements, 
\end_layout

\begin_layout Paragraph

\series bold
Necessary
\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "Python >= 2.6"
target "http://www.python.org/ "

\end_inset


\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "matplotlib"
target "http://matplotlib.sourceforge.net/ "

\end_inset


\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "numpy"
target "http://numpy.scipy.org/ "

\end_inset


\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "scipy"
target "http://www.scipy.org/ "

\end_inset


\end_layout

\begin_layout Paragraph*
Recomended
\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "ipython"
target "http://ipython.scipy.org/moin/"

\end_inset

 (for interactive shell) 
\end_layout

\begin_layout Paragraph
Optional
\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "pyvisa"
target "http://pyvisa.sourceforge.net/pyvisa/"

\end_inset

 - for instrument control 
\end_layout

\begin_layout Itemize
\begin_inset CommandInset href
LatexCommand href
name "pythics"
target "http://code.google.com/p/pythics"

\end_inset

- for VI gui interface design
\end_layout

\begin_layout Section
Platform independent
\end_layout

\begin_layout Standard
Python has many choices for module installation, listed here are installation
 instructions using setuptools, distutils.
 All of these assume you have installed the required dependencies.
\end_layout

\begin_layout Subsection
current version, using svn
\end_layout

\begin_layout Standard
svn will get you the most up-to-date version of the mwavepy, docs, and examples,
 but may have bugs.
 Check-out using, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python]
\end_layout

\begin_layout Plain Layout

svn checkout http://mwavepy.googlecode.com/svn/trunk/ mwavepy-read-only 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Install mwavepy by cd'ing into the mwavepy directory, and running
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python]
\end_layout

\begin_layout Plain Layout

python setup.py install 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Source Package
\end_layout

\begin_layout Standard
There are also pre-made releases available.
 These can be installed by using setuptools
\begin_inset Foot
status collapsed

\begin_layout Plain Layout
\begin_inset CommandInset href
LatexCommand href
target "http://pypi.python.org/pypi/setuptools"

\end_inset

 
\end_layout

\end_inset

 or distutils.
 
\end_layout

\begin_layout Paragraph
setuptools
\end_layout

\begin_layout Standard
Open a terminal and type:
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python]
\end_layout

\begin_layout Plain Layout

easy_install mwavepy
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
This should download and install mwavepy.
 
\end_layout

\begin_layout Paragraph
distutils
\end_layout

\begin_layout Standard
Download and extract a source package from the mwavepy website.
 Open up terminal, cd in mwavepy's directory, and type,
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python]
\end_layout

\begin_layout Plain Layout

python setup.py install 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Section
Windows executable
\end_layout

\begin_layout Standard
Although this may be easier than instaling from svn or a source package,
 the windows executable will not provide the documentation or examples.
 Either, way Install all python modules listed under Requirements, or install
 pythonxy.
 Then you can download and run the windows installer from the mwavepy website
 
\end_layout

\begin_layout Section
Linux
\end_layout

\begin_layout Standard
I have yet to make a package for any specific distribution, so linux users
 will have to follow the platform independent directions.
 However, installing the requirements in a debian-based linux system is
 much easier than with windows, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python]
\end_layout

\begin_layout Plain Layout

sudo apt-get install python-numpy python-scipy python-matplotlib ipython
 python
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
You will probably have to go fetch pyvisa yourself, or use easy_install.
\end_layout

\begin_layout Chapter
Quick Intro
\end_layout

\begin_layout Standard
This is a quick intro to get the reader comfortable working with 
\series bold
mwavepy
\series default
.
 
\series bold
mwavepy
\series default
, like all of python, can be used in scripts or through the python interpreter.
 Fire up a python terminal (or IPython), and import the mwavepy module 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

import mwavepy as mv
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
From here all mwavepy's functions can be accessed through the variable 'mv'.
 In IPython you can use the autocomplete feature to inspect a module by
 typing mv.[hit tab], and all the classes and functions will be listed.
 Help for any of the functions can be accessed by typing, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

help mv.function
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
For our first example, lets load up the data from a touchstone file (default
 format for VNA's, ie .s2p).
 Distributed with mwavepy should be a folder called examples.
 cd into this folder, where you will find an example touchstone file containig
 data for a calibrated horn antenna.
 
\series bold
mwavepy
\series default
 has a class which represents a n-port network, called Network.
 It can be initialized from the contents of a touchstone file like so, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

horn = mv.Network('horn.s1p')
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\begin_layout Standard
From here you can tab out the contents of the newly created Network by typing
 horn.[hit tab].
 You can get help on the various functions as described above.
 Some of the plotting functions can are illustrated in chapter 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Basic-Usage"

\end_inset

.
 The base storage format for a Network's data is in scattering parameters,
 these can be accessed by the property, 's'.
 Basic element-wise arithmetic can also be done on the scattering parameters,
 through operations on the Networks themselves.
 For instance if you want to form the complex division of two Networks scatering
 matrices, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

horn2 =  mv.Network('horn.s1p')
\end_layout

\begin_layout Plain Layout

horn_diff = horn/horn2
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
This can also be used to implement averaging
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

horn_average = (horn+horn2)/2
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Other non-elementwise operations are also available, such as cascading and
 de-embeding two-port networks.
 For instance the composit network of two, two-port networks is formed using
 the power operator (**), 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

composit_ntwk = horn ** horn2 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
De-embeding can be accomplished by using the floor division (//) operator
 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

horn2 = composit_nwtk //horn 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
When you are done with a network you can save it back to a touchstone, 
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

horn2.write_to_touchstone('horn2')
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Chapter
Basic Usage
\begin_inset CommandInset label
LatexCommand label
name "cha:Basic-Usage"

\end_inset


\end_layout

\begin_layout Section
Basic Plotting
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

import mwavepy as mv
\end_layout

\begin_layout Plain Layout

import pylab
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

# create a Network type from a touchstone file of a horn antenna
\end_layout

\begin_layout Plain Layout

horn = mv.Network('horn.s2p')
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

# plot magnitude of S11
\end_layout

\begin_layout Plain Layout

pylab.figure(1)
\end_layout

\begin_layout Plain Layout

pylab.title('Return Loss (Mag)')	
\end_layout

\begin_layout Plain Layout

horn.plot_s_db(m=0,n=0)	# m,n are S-Matrix indecies
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename ../../examples/basicTouchstonePlotting/Return Loss (Mag).eps

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

# plot phase of S11
\end_layout

\begin_layout Plain Layout

pylab.figure(2)
\end_layout

\begin_layout Plain Layout

pylab.title('Return Loss (Phase)')
\end_layout

\begin_layout Plain Layout

# all keyword arguments are passed to matplotlib.plot command
\end_layout

\begin_layout Plain Layout

horn.plot_s_deg(0,0, label='Broadband Horn Antenna', color='r', linewidth=2)
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename ../../examples/basicTouchstonePlotting/Return Loss (Phase).eps

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

# plot unwrapped phase of S11
\end_layout

\begin_layout Plain Layout

pylab.figure(3)
\end_layout

\begin_layout Plain Layout

pylab.title('Return Loss (Unwrapped Phase)')
\end_layout

\begin_layout Plain Layout

horn.plot_s_deg_unwrapped(0,0)
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename ../../examples/basicTouchstonePlotting/Return Loss (Unwrapped Phase).eps

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

# plot complex S11 on smith chart
\end_layout

\begin_layout Plain Layout

pylab.figure(5)
\end_layout

\begin_layout Plain Layout

horn.plot_s_smith(0,0, show_legend=False)
\end_layout

\begin_layout Plain Layout

pylab.title('Return Loss, Smith')
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename ../../examples/basicTouchstonePlotting/Return Loss, Polar.eps

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

# plot complex S11 on smith chart
\end_layout

\begin_layout Plain Layout

pylab.figure(5)
\end_layout

\begin_layout Plain Layout

horn.plot_s_smith(0,0, show_legend=False)
\end_layout

\begin_layout Plain Layout

pylab.title('Return Loss, Smith')
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename ../../examples/basicTouchstonePlotting/Return Loss, Smith.eps

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

# uncomment to save all figures, 
\end_layout

\begin_layout Plain Layout

#mvy.save_all_figs('.', format = ['png','eps'])
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

# show the plots 
\end_layout

\begin_layout Plain Layout

pylab.show()
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Section
One-port Calibration
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

import mwavepy as mv
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

dir = '.'
\end_layout

\begin_layout Plain Layout

raw = mv.load_all_touchstones(dir,f_unit = 'ghz')
\end_layout

\begin_layout Plain Layout

myfreq = raw[raw.keys()[0]].frequency
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout

cal_std = mv.Calibration(  
\backslash

\end_layout

\begin_layout Plain Layout

	measured = [
\backslash

\end_layout

\begin_layout Plain Layout

		raw['Cal3_L1'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['Cal3_L2'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['Cal3_L3'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['Cal3_L4'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['Cal3_L5'],
\backslash

\end_layout

\begin_layout Plain Layout

		],
\end_layout

\begin_layout Plain Layout

	ideals =[
\backslash

\end_layout

\begin_layout Plain Layout

		raw['short'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['delayshort1'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['delayshort2'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['delayshort3'],
\backslash

\end_layout

\begin_layout Plain Layout

		raw['delayshort4'],
\backslash

\end_layout

\begin_layout Plain Layout

		],
\backslash

\end_layout

\begin_layout Plain Layout

	name='Standard Cal',
\backslash

\end_layout

\begin_layout Plain Layout

	type='one port',
\backslash

\end_layout

\begin_layout Plain Layout

	frequency= myfreq,
\backslash

\end_layout

\begin_layout Plain Layout

	is_reciprocal=True,
\backslash

\end_layout

\begin_layout Plain Layout

	)
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Chapter
Advanced Usage
\end_layout

\begin_layout Chapter
Architecture
\end_layout

\begin_layout Section
Module Layout and Inheritance
\end_layout

\begin_layout Standard
\align left
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename pics/classInheretanceOutline.pdf
	scale 75

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout
Module Layout and inheritance
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Section
Individual Class Architectures
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

import mwavepy as mv
\end_layout

\begin_layout Plain Layout

mv.Network('Interface 1/caled/short.s1p').plot_s_deg
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Frequency
\end_layout

\begin_layout Standard
The frequency object was created to make storing and manipulating frequency
 information easier and more rigid.
 A major convenience this class provides is the acounting of the frequency
 vector's unit.
 Other objects, such as Network, and Calibration require a frequency vector
 to be meaningful.
 This vector is commonly referenced when a plot is generated, which one
 generally doesnt was in units of Hz.
 If the Frequency object did not exist other objects which require frequency
 information would have to implement the unit and multiplier bagage.
 
\end_layout

\begin_layout Standard
\align left
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename pics/frequency.pdf

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout
Frequency class architecture
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
Example:
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{lstlisting}[language=Python] 
\end_layout

\begin_layout Plain Layout

freq = mv.Frequency(start = 80,stop=120, npoints = 201, unit='ghz') 
\end_layout

\begin_layout Plain Layout


\backslash
end{lstlisting} 
\end_layout

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Network
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename pics/network.pdf

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout
Network class architecture
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Subsection
touchstone
\end_layout

\begin_layout Standard
The standard file format used to store data retrieved from Vector Network
 Analyzers (VNAs) is the touchstone file format.
 This file contains all relevent data of a measured network such as frequency
 info, network parameters (s, y,z, etc), and port impedance.
\end_layout

\begin_layout Subsection
WorkingBand
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename pics/workingBand.pdf

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout
WorkingBand class architecture
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Subsection
Calibration
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\align center
\begin_inset Graphics
	filename pics/calibration.pdf

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption

\begin_layout Plain Layout
Calibration class architecture
\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout

\end_layout

\end_inset


\end_layout

\begin_layout Chapter
Future Work
\end_layout

\end_body
\end_document
