| |
- __builtin__.object
-
- Calibration
class Calibration(__builtin__.object) |
|
Represents a calibration instance, a class to hold sets
of measurements, ideals, and calibration results.
see init for more information on usage.
note:
all calibration algorithms are in calibrationAlgorithms.py, and are
referenced by the dictionary in this object called
'calibration_algorihtm_dict' |
|
Methods defined here:
- __init__(self, measured, ideals, type=None, frequency=None, is_reciprocal=False, switch_terms=None, name=None, **kwargs)
- Calibration initializer.
takes:
measured: a list of measured Network's (order must align
with 'ideals'
ideals: a list of ideal Network's (order must align
with 'measured'
[ optional]:
frequency: a Frequency object over which the calibration
is defined [None]. if None then will take frequency
information from the first measurement.
type: string representing what type of calibration is to be
performed [None]. supported types at the moment are:
'one port': standard one-port cal. if more than
2 measurement/ideal pairs are given it will
calculate the least squares solution.
'two port': standard two-port calibibration based on
8-term error model. can take switch-terms into
by using the switch_term option.
if None, will inspect number of ports on first measured
network and choose either 'one port' or 'two port'
is_reciprocal: enables the reciprocity assumption on
the property error_network [False].
switch_terms: tuple holding the two measured switch terms in
the order (forward, reverse) [None]. the tuple elements
should be Network types. (note: is only used in two-port
calibrations)
name: string holding the name of calibration, just for your
convenience [None].
**kwargs: key-word arguments passed to the calibration
algorithm.
- apply_cal(self, input_ntwk)
- apply the current calibration to a measurement.
takes:
input_ntwk: the measurement to apply the calibration to, a
Network type.
returns:
caled: the calibrated measurement, a Network type.
- apply_cal_to_all_in_dir(self, dir, contains=None, f_unit='ghz')
- convience function to apply calibration to an entire directory
of measurements, and return a dictionary of the calibrated
results, optionally the user can 'grep' the direction
by using the contains switch.
takes:
dir: directory of measurements (string)
contains: will only load measurements who's filename contains
this string.
f_unit: frequency unit, to use for all networks. see
frequency.Frequency.unit for info.
returns:
ntwkDict: a dictionary of calibrated measurements, the keys
are the filenames.
- plot_coefs_db(self, ax=None, show_legend=True, **kwargs)
- plot magnitude of the error coeficient dictionary
- plot_residuals_db(self, ax=None, show_legend=True, **kwargs)
- plot magnitude of the resdiues, if calibration is
overdetermined
- run(self)
- runs the calibration algorihtm.
this is automatically called the
first time any dependent property is referenced (like error_ntwk)
, but only the first time. if you change something and want to
re-run the calibration use this.
Data descriptors defined here:
- Ts
- T-matricies used for de-embeding.
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
- coefs
- coefs: a dictionary holding the calibration coefficients
for one port cal's
'directivity':e00
'reflection tracking':e01e10
'source match':e11
for 7-error term two port cal's
TBD
- error_ntwk
- a Network type which represents the error network being
calibrated out.
- frequency
- nports
- the number of ports in the calibration
- output_from_cal
- a dictionary holding all of the output from the calibration
algorithm
- residuals
- from numpy.lstsq:
residues:
the sum of the residues; squared euclidean norm for
each column vector in b (given ax=b)
- type
- string representing what type of calibration is to be
performed. supported types at the moment are:
'one port': standard one-port cal. if more than
2 measurement/ideal pairs are given it will
calculate the least squares solution.
'one port xds': self-calibration of a unknown-length
delay-shorts.
note:
algorithms referenced by calibration_algorithm_dict
Data and other attributes defined here:
- calibration_algorithm_dict = {'one port': <function one_port>, 'one port nls': <function one_port_nls>, 'one port parameterized': <function parameterized_self_calibration>, 'one port parameterized bounded': <function parameterized_self_calibration_bounded>, 'two port': <function two_port>, 'two port parameterized': <function parameterized_self_calibration>}
| |