Commit b697c92c authored by Peter Jansweijer's avatar Peter Jansweijer

Merge branch 'proposed_master' into Keysight_53230A_Issue

parents 1cbcd9cb b4f0a93f
This diff is collapsed.
wr-calibration:
This software is part of the absolute calibration efforts for WR equipment
undertaken at Nikhef.
......@@ -3,6 +3,23 @@
"""
Delay determination from edge to edeg (for oscilloscope skew measurement)
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
edge_edge.py <IP#> [--meas=<number>]
edge_edge.py -h | --help
......@@ -18,7 +35,6 @@ Options:
"""
import sys
import delay_determination as dd
import vxi11
import scipy
import numpy
......@@ -32,6 +48,7 @@ from lib.docopt import docopt
import lib.LeCroy8254 as DSO
#import lib.Agilent_DSO6104A as DSO
import lib.pat_gen as pat_gen
import lib.delay_determination as dd
# 8B10B K symbols
K28_5p = "1100000101" # = 0xBC (+RD)
......
#!/usr/bin/python
"""
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Delay determination from edge to Start Of Frame Delimiter
The oscilloscope needs to be hooked up in the following way:
Ch 1: The timestamp pulse
......@@ -50,7 +67,6 @@ Options:
"""
import sys
import delay_determination as dd
import vxi11
import scipy
import numpy
......@@ -65,6 +81,7 @@ import lib.LeCroy8254 as DSO
#import lib.Keysight_DSO_S_254A as DSO
#import lib.Agilent_DSO6104A as DSO
import lib.pat_gen as pat_gen
import lib.delay_determination as dd
# 8B10B K symbols
K28_5p = "1100000101" # = 0xBC (+RD)
......
#!/usr/bin/python
"""
tic_gui: Analyzes Time Interval Count Measurements and White Rabbit Abslolute Calibration GUI output
tic_gui: Analyzes Time Interval Count Measurements and White Rabbit Abslolute
Calibration GUI output
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
This script calculates the differences between:
- the time measured on the Time Interval Counter for PPS -> Tx/Rx-timestamp
......@@ -12,7 +30,8 @@ Measuremenrs should be taken while the WR device is in GrandMaster mode
('mode gm') and locked to an external 10 MHz reference. Measurments are started
after the 'ptp start' command
The same reference clock mentioned above should also have been used for the Time Interval Counter measurement!
The same reference clock mentioned above should also have been used for the
Time Interval Counter measurement!
Usage:
tic_gui.py <tic_file> <wr_gui_file> <meas_type>
......
......@@ -3,6 +3,23 @@
"""
Agilent DSO6104A remote control
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
Agilent_DSO6104A.py <IP#> [-c<1,2,3,4>] [-a<averages>]
Agilent_DSO6104A.py.py -h | --help
......
......@@ -3,6 +3,24 @@
"""
Keysight 53230A Universal Frequency Counter/Timer remote control
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer, 'stolen' from Tjeerd Pinkert and freely
adjusted
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
Keysight_53230A.py <IP#> [--meas=<number>]
Keysight_53230A.py -h | --help
......
......@@ -3,6 +3,24 @@
"""
Keysight DSO-S 254A remote control
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer, 'stolen' from Tjeerd Pinkert and freely
adjusted
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
Keysight_DSO_S_254A.py <IP#> [-c<1,2,3,4>] [-a<averages>]
Keysight_DSO_S_254A.py -h | --help
......
......@@ -3,6 +3,24 @@
"""
LeCroy WaveRunner 8254M-MS remote control
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer, 'stolen' from Tjeerd Pinkert and freely
adjusted
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
LeCroy8254.py <IP#> [-c=<1,2,3,4>] [-a=<averages>]
LeCroy8254.py -h | --help
......
......@@ -3,6 +3,24 @@
"""
Rohde & Schwarz RTO2024 remote control
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer, 'stolen' from Tjeerd Pinkert and freely
adjusted
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
Usage:
RohdeSchwarz_RTO2024.py <IP#> [-c<1,2,3,4>] [-a<averages>]
RohdeSchwarz_RTO2024.py -h | --help
......
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
"""
Delay Determination Library with functions for delay estimation.
License GPL version 2:
-------------------------------------------------------------------------------
Copyright (C) 2016 Tjeerd Pinkert
based on:
[5] N. Sotiropoulos et al., Opt. Express 21, 32643-32654 (2013)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
......@@ -18,13 +15,15 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
This library mainly holds closely inspected correlation functions which are
rigorously checked for one off errors etc.
Part of the ideas for cross-correlation and interpolation can be found back in
N. Sotiropoulos et al., Opt. Express 21, 32643-32654 (2013)
"""
import sys
......@@ -37,7 +36,9 @@ import scipy.signal
import bz2
##
## Add some "missing" functions to older scipy modules
## Add some "missing" functions to older scipy modules, these are not checked
## for compliance with the licence of the rest of the program and can be
## exempted or removed if needed for compliance with GPLv3.
##
#if scipy.__version__ < "0.11.0":
if 1:
......@@ -245,7 +246,7 @@ analysis_methods= [
#TODO: finish this function....
def delay_from_waveform(waveform_data, analysis, channels=[2,4], length=0.0, refractive_index=1.5):
"""
Analise the delay resulting from an oscilloscope trace using the cross
Analyse the delay resulting from an oscilloscope trace using the cross
correlation methods. The function returns a dictionary with delay values
for each analysis method.
......@@ -337,6 +338,10 @@ def correlate_linear(signal1, signal2, center=0, shift=100, length=None, correla
correlation on a subset of the signal samples, such that no zero padding is
applied.
reference: Giovanni Jacovitti and Gaetano Scarano, Discrete Time Techniques
for Time Delay Estimation, IEEE Transactions on Signal Processing 41(2),
525-533 (1993)
The problem with zero-padding is that cross correlation
automatically favours the centre position of the signals because zero
padding makes the correlation signal zero if the signals are maximally
......
#!/usr/bin/python
"""
Pattern generator routines
Pattern generator routines for emulated IEEE 802.3 physical layer signals
-------------------------------------------------------------------------------
Copyright (C) 2016 Peter Jansweijer
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
-------------------------------------------------------------------------------
"""
import scipy
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment