Updates to OTF, and added RP100 strain cell power supply, as well as a couple network analysers. Results from the mRS network analyser are questionable at best, and nonsense at worst. Beware.
This commit is contained in:
5
cfg/network_analyser_cfg.py
Normal file
5
cfg/network_analyser_cfg.py
Normal file
@@ -0,0 +1,5 @@
|
||||
import frappy.core as fc
|
||||
|
||||
Node('example_NA.psi.ch', 'A demo system showing how to connect network analysers', interface='tcp://5000')
|
||||
|
||||
Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('169.254.150.182')) # must be connected on the same ethernet network
|
||||
17
cfg/psi_nmr_setup_cfg.py
Normal file
17
cfg/psi_nmr_setup_cfg.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import frappy.core as fc
|
||||
|
||||
Node('uniaxial_nmr.psi.ch', 'The NMR system running the Scout and controlled with TNMR. Also contains a uniaxial cell (Razorbill RP100), and a network analyser (ZVL)', interface='tcp://5000')
|
||||
|
||||
# TNMR
|
||||
Mod('tnmr_otf_module', 'frappy_psi.tnmr.OTFModule.ProgrammedSequence', 'NMR Sequence')
|
||||
|
||||
# Razorbill RP100
|
||||
Mod('io1',
|
||||
'frappy_psi.uniaxial_cell.RP100.RP100IO',
|
||||
'communication',
|
||||
uri='serial://COM10?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io1')
|
||||
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io1')
|
||||
|
||||
# ZVL Network Analyser
|
||||
#Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('169.254.150.182')) # must be connected on the same ethernet network
|
||||
12
cfg/razorbill_rp100_cfg.py
Normal file
12
cfg/razorbill_rp100_cfg.py
Normal file
@@ -0,0 +1,12 @@
|
||||
import frappy.core as fc
|
||||
import serial
|
||||
|
||||
Node('example_RP100.psi.ch', 'A demo system showing how to connect the Razorbill PSU', interface='tcp://5000')
|
||||
|
||||
Mod('io1',
|
||||
'frappy_psi.uniaxial_cell.RP100.RP100IO',
|
||||
'communication',
|
||||
uri='serial://COM10?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||
|
||||
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io1')
|
||||
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io1')
|
||||
195
frappy_psi/network_analysers/ZVL/ZVLDriver.py
Normal file
195
frappy_psi/network_analysers/ZVL/ZVLDriver.py
Normal file
@@ -0,0 +1,195 @@
|
||||
# NWA Mode
|
||||
# INST:SEL NWA|SAN"...
|
||||
|
||||
#NEED to enable LXI on net analyzer. DHCP needs to be on
|
||||
|
||||
|
||||
import vxi11
|
||||
import numpy as np
|
||||
|
||||
import traceback
|
||||
import time
|
||||
|
||||
class ZVLNetAnalyzer():
|
||||
def __init__(self, ip=None):
|
||||
if(ip is None or ip == ''):
|
||||
if(len(vxi11.list_devices()) == 1):
|
||||
ip = vxi11.list_devices()[0]
|
||||
print('ZVL NA: Selecting ip='+ip)
|
||||
else:
|
||||
print('ZVL NA: Please provide an ip from the following:')
|
||||
print(vxi11.list_devices())
|
||||
raise Exception
|
||||
|
||||
self.instrument = vxi11.Instrument(ip)
|
||||
self.instrument.open()
|
||||
idn = self.instrument.ask('*IDN?')
|
||||
print(f'Identity: {idn}')
|
||||
self.reset()
|
||||
|
||||
self.base_data = np.array([])
|
||||
self.base_data = self.get_data()[1]
|
||||
|
||||
def reset(self):
|
||||
self.instrument.write('*RST')
|
||||
self.instrument.write('*CLS')
|
||||
self.instrument.write('INST:NSEL 2')
|
||||
self.instrument.write('DISPlay:WINDow1:STATe ON')
|
||||
self.instrument.write(":CALC:PAR:MEAS 'Trc1', 'S11'")
|
||||
self.instrument.write('CALC:FORM MLOG')
|
||||
self.instrument.write('INIT:CONT OFF')
|
||||
#self.instrument.write('INIT:SCOP OFF')
|
||||
#self.instrument.write('DISPlay:WINDow2:STATe ON')
|
||||
|
||||
def set_freq_range(self, start, stop):
|
||||
'''In Hz'''
|
||||
self.instrument.write(f'SENS1:FREQ:STAR {start}')
|
||||
self.instrument.write(f'SENS1:FREQ:STOP {stop}')
|
||||
|
||||
def set_freq_span(self, center, span):
|
||||
'''In Hz'''
|
||||
self.instrument.write(f'SENS1:FREQ:CENT {center}')
|
||||
self.instrument.write(f'SENS1:FREQ:SPAN {span}')
|
||||
|
||||
def set_averaging_passes(self,avgs):
|
||||
'''
|
||||
Parameters
|
||||
'''
|
||||
assert(avgs <= 1000)
|
||||
assert(avgs >= 1)
|
||||
|
||||
self.instrument.write('AVER:CLE')
|
||||
self.instrument.write(f'AVER:COUN {avgs}')
|
||||
self.instrument.write('AVER ON')
|
||||
time.sleep(1)
|
||||
|
||||
def clear(self):
|
||||
self.instrument.write('AVER:CLE')
|
||||
self.instrument.write('TRAC:CLE')
|
||||
self.instrument.write('CLE')
|
||||
|
||||
def format_data(self, returned_from_device, complex=True):
|
||||
d = returned_from_device.split(',')
|
||||
if(complex):
|
||||
d = [ float(r) + 1j*float(i) for r, i in zip(d[::2], d[1::2]) ]
|
||||
else:
|
||||
d = [ float(i) for i in d ]
|
||||
return np.array(d)
|
||||
|
||||
def get_data(self, N=1000, units='dB', averaging_passes=1):
|
||||
'''Returns the frequencies, in Hz, and the magnitudes of S11, in units (see `units` parameter). Note: Testing shows that acquisition time is approx. 0.7ms (mostly linear) per datapoint. Max 1000*averaging_passes datapoints (700ms per averaging pass, really).
|
||||
|
||||
Valid units are:
|
||||
dB: deciBels (power)
|
||||
unitless: simply magnitudes of S11
|
||||
|
||||
Parameters
|
||||
N: int, between 2 and 1000 inc., the number of points to be returned. (default 1000)
|
||||
units: str, see above. Units/format of returned data.
|
||||
averaging_passes: int, describes the number of scans that will be taken and averaged. values can be from 1-999 inclusive (default 1)
|
||||
'''
|
||||
|
||||
assert(N>=2)
|
||||
assert(N<=1000)
|
||||
assert(averaging_passes>=1)
|
||||
assert(averaging_passes<=999)
|
||||
assert(units in ['dB', 'unitless'])
|
||||
|
||||
self.instrument.write(f'SWE:POIN {N}')
|
||||
self.instrument.write(f'SWE:COUN {averaging_passes}')
|
||||
|
||||
if(N != self.base_data.shape[0]):
|
||||
data = np.zeros(N, dtype=np.complex128)
|
||||
else:
|
||||
data = np.copy(self.base_data)
|
||||
freqs = np.zeros_like(data)
|
||||
self.instrument.write('INIT')
|
||||
while(np.sum(data) == np.sum(self.base_data) or np.all(data == 0)):
|
||||
total_data = np.zeros_like(data, dtype=np.complex128)
|
||||
for i in range(1, averaging_passes+1):
|
||||
data = self.instrument.ask(f'CALC:DATA:NSW? SDAT, {i}')
|
||||
freqs = self.instrument.ask('CALC:DATA:STIM?')
|
||||
|
||||
data = self.format_data(data)
|
||||
freqs = self.format_data(freqs, complex=False)
|
||||
total_data += data
|
||||
total_data /= averaging_passes
|
||||
|
||||
self.base_data = data
|
||||
|
||||
if(units == 'dB'):
|
||||
# |total_data| is amplitudes. dB should be in terms of power
|
||||
total_data = np.log10(np.square(np.abs(total_data)))*10.0
|
||||
elif(units == 'unitless'):
|
||||
total_data = np.abs(total_data)
|
||||
|
||||
return freqs, total_data
|
||||
|
||||
def find_peak(self, range_start=None, range_end=None, scan_width=100_000):
|
||||
if(range_start is None):
|
||||
range_start = 9_000
|
||||
if(range_end is None):
|
||||
range_end = 13_600_000_000
|
||||
|
||||
min_mag = 0
|
||||
min_mag_index = 0
|
||||
|
||||
N=1000
|
||||
num_scans = (range_end - range_start)//scan_width + 1
|
||||
full_record = np.zeros(N*num_scans)
|
||||
full_record_fq = np.zeros(N*num_scans)
|
||||
|
||||
i = 1
|
||||
s = range_start
|
||||
e = s + scan_width
|
||||
while(i <= num_scans):
|
||||
s = range_start + i*scan_width
|
||||
e = s + scan_width
|
||||
self.set_freq_range(s, e)
|
||||
freqs, data = self.get_data()
|
||||
mn = np.min(data)
|
||||
if(mn < min_mag):
|
||||
min_mag = mn
|
||||
min_mag_index = np.argmin(data) + (i-1)*N
|
||||
full_record[(i-1)*N:i*N] = data
|
||||
full_record_fq[(i-1)*N:i*N] = freqs
|
||||
i += 1
|
||||
|
||||
return min_mag, min_mag_index, full_record, full_record_fq
|
||||
|
||||
# example code. profiles the per-point delay for reading data and
|
||||
#ip = '169.254.150.182'
|
||||
#import matplotlib.pyplot as plt
|
||||
#print('start')
|
||||
#z = ZVLNetAnalyzer(ip)
|
||||
|
||||
#mm, mmi, fr, frq = z.find_peak(50_000_000, 350_000_000, 20_000_000)
|
||||
#plt.plot(frq, fr)
|
||||
#plt.axvline(frq[mmi])
|
||||
#plt.axhline(mm)
|
||||
#plt.show()
|
||||
|
||||
#z.reset()
|
||||
##z.set_freq_range(1_000_000, 2_000_000.5)
|
||||
##z.set_freq_span(1_000_000, 10_000)
|
||||
#z.set_freq_span(220_000_000, 50_000_000)
|
||||
|
||||
#Ns = np.linspace(3, 1000, 100).astype(int)
|
||||
#ts = []
|
||||
#for N in Ns:
|
||||
# st = time.time()
|
||||
# freqs, data = z.get_data(N)
|
||||
# et = time.time()
|
||||
# dt = (et-st)
|
||||
# print(f'got data, {dt/N} ({dt})')
|
||||
# ts += [dt]
|
||||
#
|
||||
#plt.scatter(Ns, ts)
|
||||
#plt.show()
|
||||
#plt.scatter(Ns, np.array(ts)/np.array(Ns))
|
||||
#plt.show()
|
||||
|
||||
#input()
|
||||
#plt.plot(*z.get_data(averaging_passes=1), alpha=0.3)
|
||||
#plt.plot(*z.get_data(averaging_passes=64), alpha=0.3)
|
||||
#plt.show()
|
||||
59
frappy_psi/network_analysers/ZVL/ZVLNode.py
Normal file
59
frappy_psi/network_analysers/ZVL/ZVLNode.py
Normal file
@@ -0,0 +1,59 @@
|
||||
|
||||
import frappy.core as fc
|
||||
import frappy
|
||||
|
||||
from frappy_psi.network_analysers.ZVL.ZVLDriver import ZVLNetAnalyzer
|
||||
|
||||
class ZVLNode(fc.Readable):
|
||||
"""A ZVL Network Analyser.
|
||||
|
||||
Use
|
||||
---
|
||||
Set the center (target) and the analyser will be in a BUSY (3XX) state until the output is up to date (at that frequency).
|
||||
|
||||
Attributes
|
||||
----------
|
||||
value: the magnitude (in dB) of the signal at the set frequency.
|
||||
status: status tuple (see frappy docs)
|
||||
pollinterval: see frappy docs
|
||||
central_freq: the center frequency (in Hz) to be probing
|
||||
freq_span: the frequency span (in Hz) to be probing
|
||||
analyser_ip: the IP address of the network analyser. Best to set in the config!
|
||||
"""
|
||||
|
||||
value = fc.Parameter('value', fc.ArrayOf(fc.FloatRange(unit='dB'), minlen=1000, maxlen=1000), readonly=True)
|
||||
status = fc.Parameter(datatype=frappy.datatypes.StatusType(fc.Readable, "DISABLED", 'PREPARED', 'BUSY'), default=('IDLE', 'idle'))
|
||||
pollinterval = fc.Parameter(default=1)
|
||||
central_freq = fc.Parameter('central_freq', fc.FloatRange(min=9_000, max=13_600_000_000, unit='Hz'), default=10_000_000, readonly=False)
|
||||
freq_span = fc.Parameter('freq_span', fc.FloatRange(unit='Hz'), default=1_000_000, readonly=False)
|
||||
|
||||
analyser_ip = fc.Parameter('analyser_ip', fc.StringType())
|
||||
|
||||
def initialReads(self):
|
||||
self.connect()
|
||||
|
||||
def connect(self):
|
||||
self.NA = ZVLNetAnalyzer(self.analyser_ip)
|
||||
self.NA.reset()
|
||||
self.acq()
|
||||
|
||||
def acq(self):
|
||||
self.status = ('BUSY', 'acquiring')
|
||||
self.NA.set_freq_span(self.central_freq, self.freq_span)
|
||||
self.value = self.NA.get_data()[1]
|
||||
self.status = ('IDLE', 'idle')
|
||||
|
||||
def write_central_freq(self, f):
|
||||
self.central_freq = (f)
|
||||
self.acq()
|
||||
return self.read_central_freq()
|
||||
|
||||
def write_freq_span(self, f):
|
||||
self.freq_span = f
|
||||
self.acq()
|
||||
return self.read_freq_span()
|
||||
|
||||
def write_analyser_ip(self, ip):
|
||||
self.analyser_ip = ip
|
||||
self.connect()
|
||||
return self.read_analyser_ip()
|
||||
0
frappy_psi/network_analysers/ZVL/__init__.py
Normal file
0
frappy_psi/network_analysers/ZVL/__init__.py
Normal file
21
frappy_psi/network_analysers/mRS/calibration.py
Normal file
21
frappy_psi/network_analysers/mRS/calibration.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
#https://k6jca.blogspot.com/2019/12/vna-notes-on-12-term-error-model-and.html
|
||||
|
||||
Gm1 = np.loadtxt('short.txt', dtype=np.complex128)
|
||||
Gm2 = np.loadtxt('load.txt', dtype=np.complex128)
|
||||
Gm3 = np.loadtxt('open.txt', dtype=np.complex128)
|
||||
G1 = -1
|
||||
G2 = 0.1
|
||||
G3 = +1
|
||||
|
||||
e00 = (G1*G2*Gm1*Gm3 - G1*G3*Gm1*Gm2 - G1*G2*Gm2*Gm3 + G2*G3*Gm1*Gm2 + G1*G3*Gm2*Gm3 - G2*G3*Gm1*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
e11 = -(G1*Gm2 - G2*Gm1 - G1*Gm3 + G3*Gm1 + G2*Gm3 - G3*Gm2)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
d_e = -(G1*Gm1*Gm2 - G1*Gm1*Gm3 - G2*Gm1*Gm2 + G2*Gm2*Gm3 + G3*Gm1*Gm3 - G3*Gm2*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
|
||||
plt.plot(e00)
|
||||
plt.plot(e11)
|
||||
plt.plot(d_e)
|
||||
plt.show()
|
||||
|
||||
512
frappy_psi/network_analysers/mRS/load.txt
Normal file
512
frappy_psi/network_analysers/mRS/load.txt
Normal file
@@ -0,0 +1,512 @@
|
||||
(8.393220500000000000e+06+8.393549500000000000e+06j)
|
||||
(8.393189000000000000e+06+8.393587000000000000e+06j)
|
||||
(8.393040000000000000e+06+8.393432500000000000e+06j)
|
||||
(8.393214000000000000e+06+8.393590000000000000e+06j)
|
||||
(8.393271500000000000e+06+8.393523000000000000e+06j)
|
||||
(8.393238000000000000e+06+8.393567000000000000e+06j)
|
||||
(8.400645000000000000e+06+8.399830000000000000e+06j)
|
||||
(8.398921000000000000e+06+8.399180500000000000e+06j)
|
||||
(8.397804500000000000e+06+8.398085500000000000e+06j)
|
||||
(8.397149000000000000e+06+8.397401000000000000e+06j)
|
||||
(8.396773000000000000e+06+8.396955000000000000e+06j)
|
||||
(8.396498500000000000e+06+8.396731000000000000e+06j)
|
||||
(8.396285500000000000e+06+8.396640500000000000e+06j)
|
||||
(8.396145000000000000e+06+8.396782000000000000e+06j)
|
||||
(8.396369500000000000e+06+8.396647500000000000e+06j)
|
||||
(8.396107000000000000e+06+8.396581000000000000e+06j)
|
||||
(8.396232500000000000e+06+8.396340000000000000e+06j)
|
||||
(8.396399000000000000e+06+8.396630500000000000e+06j)
|
||||
(8.396388000000000000e+06+8.396476000000000000e+06j)
|
||||
(8.396309500000000000e+06+8.396394500000000000e+06j)
|
||||
(8.396322000000000000e+06+8.396740500000000000e+06j)
|
||||
(8.396292500000000000e+06+8.396536000000000000e+06j)
|
||||
(8.396286500000000000e+06+8.396494500000000000e+06j)
|
||||
(8.396189500000000000e+06+8.396585000000000000e+06j)
|
||||
(8.396350000000000000e+06+8.396549500000000000e+06j)
|
||||
(8.396263500000000000e+06+8.396521000000000000e+06j)
|
||||
(8.396117000000000000e+06+8.396540000000000000e+06j)
|
||||
(8.396011000000000000e+06+8.396475500000000000e+06j)
|
||||
(8.396178500000000000e+06+8.396269500000000000e+06j)
|
||||
(8.396147000000000000e+06+8.396265000000000000e+06j)
|
||||
(8.396261500000000000e+06+8.396286500000000000e+06j)
|
||||
(8.396193500000000000e+06+8.396301000000000000e+06j)
|
||||
(8.395957000000000000e+06+8.396229000000000000e+06j)
|
||||
(8.396043000000000000e+06+8.396263500000000000e+06j)
|
||||
(8.396185500000000000e+06+8.396339500000000000e+06j)
|
||||
(8.396134000000000000e+06+8.396188000000000000e+06j)
|
||||
(8.396083500000000000e+06+8.396051000000000000e+06j)
|
||||
(8.395899500000000000e+06+8.396200000000000000e+06j)
|
||||
(8.395915500000000000e+06+8.396227000000000000e+06j)
|
||||
(8.395978500000000000e+06+8.396292500000000000e+06j)
|
||||
(8.395986000000000000e+06+8.396219500000000000e+06j)
|
||||
(8.395929000000000000e+06+8.395990500000000000e+06j)
|
||||
(8.395517500000000000e+06+8.395998500000000000e+06j)
|
||||
(8.395757000000000000e+06+8.396063500000000000e+06j)
|
||||
(8.395824500000000000e+06+8.395926000000000000e+06j)
|
||||
(8.395876000000000000e+06+8.395926500000000000e+06j)
|
||||
(8.395732500000000000e+06+8.395793500000000000e+06j)
|
||||
(8.395700500000000000e+06+8.395969500000000000e+06j)
|
||||
(8.395727500000000000e+06+8.395932000000000000e+06j)
|
||||
(8.395808500000000000e+06+8.396022500000000000e+06j)
|
||||
(8.395839500000000000e+06+8.395907000000000000e+06j)
|
||||
(8.395757500000000000e+06+8.396010500000000000e+06j)
|
||||
(8.395437000000000000e+06+8.395753000000000000e+06j)
|
||||
(8.395848500000000000e+06+8.395840000000000000e+06j)
|
||||
(8.395310500000000000e+06+8.395874500000000000e+06j)
|
||||
(8.395586500000000000e+06+8.395743000000000000e+06j)
|
||||
(8.395663000000000000e+06+8.395992500000000000e+06j)
|
||||
(8.395733500000000000e+06+8.395871000000000000e+06j)
|
||||
(8.395469000000000000e+06+8.395900000000000000e+06j)
|
||||
(8.395293500000000000e+06+8.395688500000000000e+06j)
|
||||
(8.395394000000000000e+06+8.395639000000000000e+06j)
|
||||
(8.395335000000000000e+06+8.395466000000000000e+06j)
|
||||
(8.395461000000000000e+06+8.395491000000000000e+06j)
|
||||
(8.395120500000000000e+06+8.395513500000000000e+06j)
|
||||
(8.395450500000000000e+06+8.395676000000000000e+06j)
|
||||
(8.395308000000000000e+06+8.395655000000000000e+06j)
|
||||
(8.395498000000000000e+06+8.395471000000000000e+06j)
|
||||
(8.395268000000000000e+06+8.395497500000000000e+06j)
|
||||
(8.395185500000000000e+06+8.395477000000000000e+06j)
|
||||
(8.395153500000000000e+06+8.395585500000000000e+06j)
|
||||
(8.395021500000000000e+06+8.395461000000000000e+06j)
|
||||
(8.395067500000000000e+06+8.395328500000000000e+06j)
|
||||
(8.395035000000000000e+06+8.395425000000000000e+06j)
|
||||
(8.395315500000000000e+06+8.395462000000000000e+06j)
|
||||
(8.394988500000000000e+06+8.395341500000000000e+06j)
|
||||
(8.395122000000000000e+06+8.395406500000000000e+06j)
|
||||
(8.394902500000000000e+06+8.395337000000000000e+06j)
|
||||
(8.395348000000000000e+06+8.395374000000000000e+06j)
|
||||
(8.395168000000000000e+06+8.395550000000000000e+06j)
|
||||
(8.395406000000000000e+06+8.395593500000000000e+06j)
|
||||
(8.395208000000000000e+06+8.395653000000000000e+06j)
|
||||
(8.395192500000000000e+06+8.395737000000000000e+06j)
|
||||
(8.395329500000000000e+06+8.395401000000000000e+06j)
|
||||
(8.395516500000000000e+06+8.395434500000000000e+06j)
|
||||
(8.395260000000000000e+06+8.395414500000000000e+06j)
|
||||
(8.395152500000000000e+06+8.395320500000000000e+06j)
|
||||
(8.395135500000000000e+06+8.395309000000000000e+06j)
|
||||
(8.394902000000000000e+06+8.395315500000000000e+06j)
|
||||
(8.394994000000000000e+06+8.395074500000000000e+06j)
|
||||
(8.394872000000000000e+06+8.395178000000000000e+06j)
|
||||
(8.394916000000000000e+06+8.395150500000000000e+06j)
|
||||
(8.394903000000000000e+06+8.395122000000000000e+06j)
|
||||
(8.394895500000000000e+06+8.395216000000000000e+06j)
|
||||
(8.395025500000000000e+06+8.395166000000000000e+06j)
|
||||
(8.394869500000000000e+06+8.395093000000000000e+06j)
|
||||
(8.394729000000000000e+06+8.395047000000000000e+06j)
|
||||
(8.394785000000000000e+06+8.395067500000000000e+06j)
|
||||
(8.394971000000000000e+06+8.394803000000000000e+06j)
|
||||
(8.394901000000000000e+06+8.395190000000000000e+06j)
|
||||
(8.394638500000000000e+06+8.394926000000000000e+06j)
|
||||
(8.394663000000000000e+06+8.395015000000000000e+06j)
|
||||
(8.394786500000000000e+06+8.394834500000000000e+06j)
|
||||
(8.394675500000000000e+06+8.394942000000000000e+06j)
|
||||
(8.394787000000000000e+06+8.394720500000000000e+06j)
|
||||
(8.394701500000000000e+06+8.395125000000000000e+06j)
|
||||
(8.394962500000000000e+06+8.394980500000000000e+06j)
|
||||
(8.394939000000000000e+06+8.394876500000000000e+06j)
|
||||
(8.394699500000000000e+06+8.394797000000000000e+06j)
|
||||
(8.394653000000000000e+06+8.394781500000000000e+06j)
|
||||
(8.394809000000000000e+06+8.395020000000000000e+06j)
|
||||
(8.394730500000000000e+06+8.394820500000000000e+06j)
|
||||
(8.394519500000000000e+06+8.394920500000000000e+06j)
|
||||
(8.394705000000000000e+06+8.394998000000000000e+06j)
|
||||
(8.394590500000000000e+06+8.394770500000000000e+06j)
|
||||
(8.394372500000000000e+06+8.394742000000000000e+06j)
|
||||
(8.394574500000000000e+06+8.394924000000000000e+06j)
|
||||
(8.394496000000000000e+06+8.394772000000000000e+06j)
|
||||
(8.394586000000000000e+06+8.394782500000000000e+06j)
|
||||
(8.394519500000000000e+06+8.395182500000000000e+06j)
|
||||
(8.394792000000000000e+06+8.394666000000000000e+06j)
|
||||
(8.394858000000000000e+06+8.394707000000000000e+06j)
|
||||
(8.394676500000000000e+06+8.394765500000000000e+06j)
|
||||
(8.394458000000000000e+06+8.394703500000000000e+06j)
|
||||
(8.394494000000000000e+06+8.394947000000000000e+06j)
|
||||
(8.394451000000000000e+06+8.394779000000000000e+06j)
|
||||
(8.394487500000000000e+06+8.394720500000000000e+06j)
|
||||
(8.394562500000000000e+06+8.394595500000000000e+06j)
|
||||
(8.394577500000000000e+06+8.394865000000000000e+06j)
|
||||
(8.394308500000000000e+06+8.394839500000000000e+06j)
|
||||
(8.394282500000000000e+06+8.394815000000000000e+06j)
|
||||
(8.394375500000000000e+06+8.394659500000000000e+06j)
|
||||
(8.394449500000000000e+06+8.394648000000000000e+06j)
|
||||
(8.394444500000000000e+06+8.394695000000000000e+06j)
|
||||
(8.394304000000000000e+06+8.394614000000000000e+06j)
|
||||
(8.394444000000000000e+06+8.394796000000000000e+06j)
|
||||
(8.394348000000000000e+06+8.394629500000000000e+06j)
|
||||
(8.394446500000000000e+06+8.394709500000000000e+06j)
|
||||
(8.394404500000000000e+06+8.394439000000000000e+06j)
|
||||
(8.394328500000000000e+06+8.394348000000000000e+06j)
|
||||
(8.394051500000000000e+06+8.394344000000000000e+06j)
|
||||
(8.394423500000000000e+06+8.394395500000000000e+06j)
|
||||
(8.394297000000000000e+06+8.394714000000000000e+06j)
|
||||
(8.394248000000000000e+06+8.394522500000000000e+06j)
|
||||
(8.394147000000000000e+06+8.394370000000000000e+06j)
|
||||
(8.394082000000000000e+06+8.394331000000000000e+06j)
|
||||
(8.394110000000000000e+06+8.394256500000000000e+06j)
|
||||
(8.394289000000000000e+06+8.394290500000000000e+06j)
|
||||
(8.394263500000000000e+06+8.394431500000000000e+06j)
|
||||
(8.394253000000000000e+06+8.394323500000000000e+06j)
|
||||
(8.394152000000000000e+06+8.394424500000000000e+06j)
|
||||
(8.394121000000000000e+06+8.394424000000000000e+06j)
|
||||
(8.394325000000000000e+06+8.394583000000000000e+06j)
|
||||
(8.394062500000000000e+06+8.394416000000000000e+06j)
|
||||
(8.393868500000000000e+06+8.394337000000000000e+06j)
|
||||
(8.394012500000000000e+06+8.394163000000000000e+06j)
|
||||
(8.394105000000000000e+06+8.394423000000000000e+06j)
|
||||
(8.394327500000000000e+06+8.394118500000000000e+06j)
|
||||
(8.394202500000000000e+06+8.394465500000000000e+06j)
|
||||
(8.394065000000000000e+06+8.394405000000000000e+06j)
|
||||
(8.394144000000000000e+06+8.394324000000000000e+06j)
|
||||
(8.394312500000000000e+06+8.394176500000000000e+06j)
|
||||
(8.394055500000000000e+06+8.394360500000000000e+06j)
|
||||
(8.394112000000000000e+06+8.394395000000000000e+06j)
|
||||
(8.394010500000000000e+06+8.394238500000000000e+06j)
|
||||
(8.393976500000000000e+06+8.394354000000000000e+06j)
|
||||
(8.394038500000000000e+06+8.394376000000000000e+06j)
|
||||
(8.394011500000000000e+06+8.394384500000000000e+06j)
|
||||
(8.394096500000000000e+06+8.394291500000000000e+06j)
|
||||
(8.393938000000000000e+06+8.394355000000000000e+06j)
|
||||
(8.394053000000000000e+06+8.394286000000000000e+06j)
|
||||
(8.393929000000000000e+06+8.394238000000000000e+06j)
|
||||
(8.394086500000000000e+06+8.394255000000000000e+06j)
|
||||
(8.394042000000000000e+06+8.394362000000000000e+06j)
|
||||
(8.393918000000000000e+06+8.394241500000000000e+06j)
|
||||
(8.393904000000000000e+06+8.394282000000000000e+06j)
|
||||
(8.393841500000000000e+06+8.394209500000000000e+06j)
|
||||
(8.393839000000000000e+06+8.394542000000000000e+06j)
|
||||
(8.393842500000000000e+06+8.394273000000000000e+06j)
|
||||
(8.394104000000000000e+06+8.394311000000000000e+06j)
|
||||
(8.393819000000000000e+06+8.394396500000000000e+06j)
|
||||
(8.393954500000000000e+06+8.394098000000000000e+06j)
|
||||
(8.394009500000000000e+06+8.394346000000000000e+06j)
|
||||
(8.393747000000000000e+06+8.394067000000000000e+06j)
|
||||
(8.393726000000000000e+06+8.394306500000000000e+06j)
|
||||
(8.393810500000000000e+06+8.394176500000000000e+06j)
|
||||
(8.393921000000000000e+06+8.394208500000000000e+06j)
|
||||
(8.393947000000000000e+06+8.394071000000000000e+06j)
|
||||
(8.394101000000000000e+06+8.394280500000000000e+06j)
|
||||
(8.393766000000000000e+06+8.394238000000000000e+06j)
|
||||
(8.394091000000000000e+06+8.394234500000000000e+06j)
|
||||
(8.393954000000000000e+06+8.394060000000000000e+06j)
|
||||
(8.393875500000000000e+06+8.394197000000000000e+06j)
|
||||
(8.393977500000000000e+06+8.394036500000000000e+06j)
|
||||
(8.393903000000000000e+06+8.394020000000000000e+06j)
|
||||
(8.394041500000000000e+06+8.393974500000000000e+06j)
|
||||
(8.393851000000000000e+06+8.393983000000000000e+06j)
|
||||
(8.394070000000000000e+06+8.394125000000000000e+06j)
|
||||
(8.393775000000000000e+06+8.394058000000000000e+06j)
|
||||
(8.394043500000000000e+06+8.394093000000000000e+06j)
|
||||
(8.393635000000000000e+06+8.394132500000000000e+06j)
|
||||
(8.393886000000000000e+06+8.394290500000000000e+06j)
|
||||
(8.393815500000000000e+06+8.394327000000000000e+06j)
|
||||
(8.393544000000000000e+06+8.394264000000000000e+06j)
|
||||
(8.393903000000000000e+06+8.393982000000000000e+06j)
|
||||
(8.393867500000000000e+06+8.393912000000000000e+06j)
|
||||
(8.393835000000000000e+06+8.394093500000000000e+06j)
|
||||
(8.393817500000000000e+06+8.394087500000000000e+06j)
|
||||
(8.393881500000000000e+06+8.394135000000000000e+06j)
|
||||
(8.393909000000000000e+06+8.394352000000000000e+06j)
|
||||
(8.393700000000000000e+06+8.394259500000000000e+06j)
|
||||
(8.393711000000000000e+06+8.393948500000000000e+06j)
|
||||
(8.394060000000000000e+06+8.394311500000000000e+06j)
|
||||
(8.393848000000000000e+06+8.394385000000000000e+06j)
|
||||
(8.393895000000000000e+06+8.394256500000000000e+06j)
|
||||
(8.393774000000000000e+06+8.394142000000000000e+06j)
|
||||
(8.393616500000000000e+06+8.393983000000000000e+06j)
|
||||
(8.393602000000000000e+06+8.394065000000000000e+06j)
|
||||
(8.393937500000000000e+06+8.394229000000000000e+06j)
|
||||
(8.394063000000000000e+06+8.393958500000000000e+06j)
|
||||
(8.393905000000000000e+06+8.394112500000000000e+06j)
|
||||
(8.393682000000000000e+06+8.393935000000000000e+06j)
|
||||
(8.393583500000000000e+06+8.393946000000000000e+06j)
|
||||
(8.393715000000000000e+06+8.394017000000000000e+06j)
|
||||
(8.393933500000000000e+06+8.393892000000000000e+06j)
|
||||
(8.394004500000000000e+06+8.394108000000000000e+06j)
|
||||
(8.393948000000000000e+06+8.394285500000000000e+06j)
|
||||
(8.393710500000000000e+06+8.393984500000000000e+06j)
|
||||
(8.393826000000000000e+06+8.394006000000000000e+06j)
|
||||
(8.393637000000000000e+06+8.393969500000000000e+06j)
|
||||
(8.393780500000000000e+06+8.394249500000000000e+06j)
|
||||
(8.393707000000000000e+06+8.393969500000000000e+06j)
|
||||
(8.393840500000000000e+06+8.393923000000000000e+06j)
|
||||
(8.393518000000000000e+06+8.393929000000000000e+06j)
|
||||
(8.393587500000000000e+06+8.393837000000000000e+06j)
|
||||
(8.393723500000000000e+06+8.393924500000000000e+06j)
|
||||
(8.393832500000000000e+06+8.393993500000000000e+06j)
|
||||
(8.393943000000000000e+06+8.394032500000000000e+06j)
|
||||
(8.393731500000000000e+06+8.393832000000000000e+06j)
|
||||
(8.393655000000000000e+06+8.394298000000000000e+06j)
|
||||
(8.393638500000000000e+06+8.394338000000000000e+06j)
|
||||
(8.393871500000000000e+06+8.394083000000000000e+06j)
|
||||
(8.394024000000000000e+06+8.393891000000000000e+06j)
|
||||
(8.393794000000000000e+06+8.394109500000000000e+06j)
|
||||
(8.393576000000000000e+06+8.393926500000000000e+06j)
|
||||
(8.393924000000000000e+06+8.394091500000000000e+06j)
|
||||
(8.393689500000000000e+06+8.394202000000000000e+06j)
|
||||
(8.393832500000000000e+06+8.393927000000000000e+06j)
|
||||
(8.393678000000000000e+06+8.394060000000000000e+06j)
|
||||
(8.393556500000000000e+06+8.394030500000000000e+06j)
|
||||
(8.393514000000000000e+06+8.393935500000000000e+06j)
|
||||
(8.393749000000000000e+06+8.394186000000000000e+06j)
|
||||
(8.393810500000000000e+06+8.394023500000000000e+06j)
|
||||
(8.393745500000000000e+06+8.393957500000000000e+06j)
|
||||
(8.393774000000000000e+06+8.394004000000000000e+06j)
|
||||
(8.393888500000000000e+06+8.393958500000000000e+06j)
|
||||
(8.393796500000000000e+06+8.394077000000000000e+06j)
|
||||
(8.393669500000000000e+06+8.394235500000000000e+06j)
|
||||
(8.393975000000000000e+06+8.394108000000000000e+06j)
|
||||
(8.393704000000000000e+06+8.394299500000000000e+06j)
|
||||
(8.393840000000000000e+06+8.394002500000000000e+06j)
|
||||
(8.393510500000000000e+06+8.394135500000000000e+06j)
|
||||
(8.393783000000000000e+06+8.394105500000000000e+06j)
|
||||
(8.393615500000000000e+06+8.394105000000000000e+06j)
|
||||
(8.393967000000000000e+06+8.393806500000000000e+06j)
|
||||
(8.393633500000000000e+06+8.393886000000000000e+06j)
|
||||
(8.393646500000000000e+06+8.394050500000000000e+06j)
|
||||
(8.393560500000000000e+06+8.394115500000000000e+06j)
|
||||
(8.393812500000000000e+06+8.394125500000000000e+06j)
|
||||
(8.393950500000000000e+06+8.394014000000000000e+06j)
|
||||
(8.393674000000000000e+06+8.394027500000000000e+06j)
|
||||
(8.393737000000000000e+06+8.393783500000000000e+06j)
|
||||
(8.393706000000000000e+06+8.394154500000000000e+06j)
|
||||
(8.393816500000000000e+06+8.393684500000000000e+06j)
|
||||
(8.393877000000000000e+06+8.393977500000000000e+06j)
|
||||
(8.393913500000000000e+06+8.393949000000000000e+06j)
|
||||
(8.393652500000000000e+06+8.394076500000000000e+06j)
|
||||
(8.393705500000000000e+06+8.393979000000000000e+06j)
|
||||
(8.393801000000000000e+06+8.393996000000000000e+06j)
|
||||
(8.393578000000000000e+06+8.393899000000000000e+06j)
|
||||
(8.393519500000000000e+06+8.393911500000000000e+06j)
|
||||
(8.393608000000000000e+06+8.394098000000000000e+06j)
|
||||
(8.393606500000000000e+06+8.393723500000000000e+06j)
|
||||
(8.393600500000000000e+06+8.394055000000000000e+06j)
|
||||
(8.393689500000000000e+06+8.393887000000000000e+06j)
|
||||
(8.393476000000000000e+06+8.393917000000000000e+06j)
|
||||
(8.393621000000000000e+06+8.393793000000000000e+06j)
|
||||
(8.393383500000000000e+06+8.393850000000000000e+06j)
|
||||
(8.393702500000000000e+06+8.393670000000000000e+06j)
|
||||
(8.393614500000000000e+06+8.393955000000000000e+06j)
|
||||
(8.393708500000000000e+06+8.393751500000000000e+06j)
|
||||
(8.393464000000000000e+06+8.393804500000000000e+06j)
|
||||
(8.393337500000000000e+06+8.393625000000000000e+06j)
|
||||
(8.393672500000000000e+06+8.393846500000000000e+06j)
|
||||
(8.393574000000000000e+06+8.393936500000000000e+06j)
|
||||
(8.393582500000000000e+06+8.393844000000000000e+06j)
|
||||
(8.393491000000000000e+06+8.393997000000000000e+06j)
|
||||
(8.393684000000000000e+06+8.393675000000000000e+06j)
|
||||
(8.393610500000000000e+06+8.394064000000000000e+06j)
|
||||
(8.393642000000000000e+06+8.393822000000000000e+06j)
|
||||
(8.393786500000000000e+06+8.393828000000000000e+06j)
|
||||
(8.393737500000000000e+06+8.393928000000000000e+06j)
|
||||
(8.393701000000000000e+06+8.394067500000000000e+06j)
|
||||
(8.393781000000000000e+06+8.393863000000000000e+06j)
|
||||
(8.393366000000000000e+06+8.393913500000000000e+06j)
|
||||
(8.393732500000000000e+06+8.393807500000000000e+06j)
|
||||
(8.393240500000000000e+06+8.393840500000000000e+06j)
|
||||
(8.393289500000000000e+06+8.393580500000000000e+06j)
|
||||
(8.393351500000000000e+06+8.393672000000000000e+06j)
|
||||
(8.393179000000000000e+06+8.393788500000000000e+06j)
|
||||
(8.393566000000000000e+06+8.393857000000000000e+06j)
|
||||
(8.393487000000000000e+06+8.393817500000000000e+06j)
|
||||
(8.393256000000000000e+06+8.393800000000000000e+06j)
|
||||
(8.393201500000000000e+06+8.393760500000000000e+06j)
|
||||
(8.393318500000000000e+06+8.393449000000000000e+06j)
|
||||
(8.393540500000000000e+06+8.393609500000000000e+06j)
|
||||
(8.393332500000000000e+06+8.393775000000000000e+06j)
|
||||
(8.393443000000000000e+06+8.393681000000000000e+06j)
|
||||
(8.393249000000000000e+06+8.393677500000000000e+06j)
|
||||
(8.393287500000000000e+06+8.393479000000000000e+06j)
|
||||
(8.393307500000000000e+06+8.393512500000000000e+06j)
|
||||
(8.393213000000000000e+06+8.393641000000000000e+06j)
|
||||
(8.393518500000000000e+06+8.393401500000000000e+06j)
|
||||
(8.393210000000000000e+06+8.393588000000000000e+06j)
|
||||
(8.393365000000000000e+06+8.393597000000000000e+06j)
|
||||
(8.393365000000000000e+06+8.393469500000000000e+06j)
|
||||
(8.393252000000000000e+06+8.393714500000000000e+06j)
|
||||
(8.393391000000000000e+06+8.393605000000000000e+06j)
|
||||
(8.393420000000000000e+06+8.393523000000000000e+06j)
|
||||
(8.393548500000000000e+06+8.393670000000000000e+06j)
|
||||
(8.393272500000000000e+06+8.393791000000000000e+06j)
|
||||
(8.393384500000000000e+06+8.393674500000000000e+06j)
|
||||
(8.393392500000000000e+06+8.393508000000000000e+06j)
|
||||
(8.393351000000000000e+06+8.393802000000000000e+06j)
|
||||
(8.393506500000000000e+06+8.393765500000000000e+06j)
|
||||
(8.393337500000000000e+06+8.393899500000000000e+06j)
|
||||
(8.393659500000000000e+06+8.393919000000000000e+06j)
|
||||
(8.393412000000000000e+06+8.393691500000000000e+06j)
|
||||
(8.393407500000000000e+06+8.393756000000000000e+06j)
|
||||
(8.393579500000000000e+06+8.393834000000000000e+06j)
|
||||
(8.393455500000000000e+06+8.393600000000000000e+06j)
|
||||
(8.393413000000000000e+06+8.393748500000000000e+06j)
|
||||
(8.393707000000000000e+06+8.393784500000000000e+06j)
|
||||
(8.393478000000000000e+06+8.393869500000000000e+06j)
|
||||
(8.393647500000000000e+06+8.393621500000000000e+06j)
|
||||
(8.393394000000000000e+06+8.393572500000000000e+06j)
|
||||
(8.393377000000000000e+06+8.393748000000000000e+06j)
|
||||
(8.393432000000000000e+06+8.393677500000000000e+06j)
|
||||
(8.393293000000000000e+06+8.393761000000000000e+06j)
|
||||
(8.393477500000000000e+06+8.393461000000000000e+06j)
|
||||
(8.393484000000000000e+06+8.393568500000000000e+06j)
|
||||
(8.393272500000000000e+06+8.393769000000000000e+06j)
|
||||
(8.393235500000000000e+06+8.393818000000000000e+06j)
|
||||
(8.393216500000000000e+06+8.393860000000000000e+06j)
|
||||
(8.393401500000000000e+06+8.393753000000000000e+06j)
|
||||
(8.393282000000000000e+06+8.393482500000000000e+06j)
|
||||
(8.393351000000000000e+06+8.393715000000000000e+06j)
|
||||
(8.393379500000000000e+06+8.393749000000000000e+06j)
|
||||
(8.393446500000000000e+06+8.393764000000000000e+06j)
|
||||
(8.393607000000000000e+06+8.393825000000000000e+06j)
|
||||
(8.393392500000000000e+06+8.393964500000000000e+06j)
|
||||
(8.393684000000000000e+06+8.393587000000000000e+06j)
|
||||
(8.393447000000000000e+06+8.393971500000000000e+06j)
|
||||
(8.393325500000000000e+06+8.393840500000000000e+06j)
|
||||
(8.393341500000000000e+06+8.393678500000000000e+06j)
|
||||
(8.393376500000000000e+06+8.393733000000000000e+06j)
|
||||
(8.393742500000000000e+06+8.393912500000000000e+06j)
|
||||
(8.393422000000000000e+06+8.393721500000000000e+06j)
|
||||
(8.393488500000000000e+06+8.393929500000000000e+06j)
|
||||
(8.393646500000000000e+06+8.393750500000000000e+06j)
|
||||
(8.393372000000000000e+06+8.393526000000000000e+06j)
|
||||
(8.393491500000000000e+06+8.393737500000000000e+06j)
|
||||
(8.393400000000000000e+06+8.393685500000000000e+06j)
|
||||
(8.393337500000000000e+06+8.394016500000000000e+06j)
|
||||
(8.393399500000000000e+06+8.393659500000000000e+06j)
|
||||
(8.393332500000000000e+06+8.393648000000000000e+06j)
|
||||
(8.393470000000000000e+06+8.393645000000000000e+06j)
|
||||
(8.393464000000000000e+06+8.393548000000000000e+06j)
|
||||
(8.393436000000000000e+06+8.393628500000000000e+06j)
|
||||
(8.393490000000000000e+06+8.393759000000000000e+06j)
|
||||
(8.393633500000000000e+06+8.393736500000000000e+06j)
|
||||
(8.393333000000000000e+06+8.393745500000000000e+06j)
|
||||
(8.393279500000000000e+06+8.393691000000000000e+06j)
|
||||
(8.393228000000000000e+06+8.393584000000000000e+06j)
|
||||
(8.393310500000000000e+06+8.393663000000000000e+06j)
|
||||
(8.393495500000000000e+06+8.393474500000000000e+06j)
|
||||
(8.393409500000000000e+06+8.393735500000000000e+06j)
|
||||
(8.393350000000000000e+06+8.393352000000000000e+06j)
|
||||
(8.393425000000000000e+06+8.393730000000000000e+06j)
|
||||
(8.393621500000000000e+06+8.393808500000000000e+06j)
|
||||
(8.393698500000000000e+06+8.393854500000000000e+06j)
|
||||
(8.393376000000000000e+06+8.393748000000000000e+06j)
|
||||
(8.393459500000000000e+06+8.393692000000000000e+06j)
|
||||
(8.393508500000000000e+06+8.393645500000000000e+06j)
|
||||
(8.393350000000000000e+06+8.393557500000000000e+06j)
|
||||
(8.393439000000000000e+06+8.393708000000000000e+06j)
|
||||
(8.393525500000000000e+06+8.393589000000000000e+06j)
|
||||
(8.393285000000000000e+06+8.393783000000000000e+06j)
|
||||
(8.393338500000000000e+06+8.393558500000000000e+06j)
|
||||
(8.393512500000000000e+06+8.393520000000000000e+06j)
|
||||
(8.393541000000000000e+06+8.393708500000000000e+06j)
|
||||
(8.393622000000000000e+06+8.393731500000000000e+06j)
|
||||
(8.393510500000000000e+06+8.393793500000000000e+06j)
|
||||
(8.393416500000000000e+06+8.393811000000000000e+06j)
|
||||
(8.393411500000000000e+06+8.393805000000000000e+06j)
|
||||
(8.393441500000000000e+06+8.393723500000000000e+06j)
|
||||
(8.393517000000000000e+06+8.393574500000000000e+06j)
|
||||
(8.393536000000000000e+06+8.393745500000000000e+06j)
|
||||
(8.393544000000000000e+06+8.393844000000000000e+06j)
|
||||
(8.393387000000000000e+06+8.393501500000000000e+06j)
|
||||
(8.393402000000000000e+06+8.393533000000000000e+06j)
|
||||
(8.393399500000000000e+06+8.393467500000000000e+06j)
|
||||
(8.393472000000000000e+06+8.393735500000000000e+06j)
|
||||
(8.393370000000000000e+06+8.393760000000000000e+06j)
|
||||
(8.393397500000000000e+06+8.393637500000000000e+06j)
|
||||
(8.393401000000000000e+06+8.393702500000000000e+06j)
|
||||
(8.393425000000000000e+06+8.393603000000000000e+06j)
|
||||
(8.393356500000000000e+06+8.393931500000000000e+06j)
|
||||
(8.393611500000000000e+06+8.393998500000000000e+06j)
|
||||
(8.393456500000000000e+06+8.393748500000000000e+06j)
|
||||
(8.393387500000000000e+06+8.393762500000000000e+06j)
|
||||
(8.393575000000000000e+06+8.393766500000000000e+06j)
|
||||
(8.393592000000000000e+06+8.393900000000000000e+06j)
|
||||
(8.393725500000000000e+06+8.393704000000000000e+06j)
|
||||
(8.393305000000000000e+06+8.393939000000000000e+06j)
|
||||
(8.393477500000000000e+06+8.393907000000000000e+06j)
|
||||
(8.393662000000000000e+06+8.393660500000000000e+06j)
|
||||
(8.393484500000000000e+06+8.393880500000000000e+06j)
|
||||
(8.393610500000000000e+06+8.393648500000000000e+06j)
|
||||
(8.393591500000000000e+06+8.393726000000000000e+06j)
|
||||
(8.393437000000000000e+06+8.393957500000000000e+06j)
|
||||
(8.393500500000000000e+06+8.393678000000000000e+06j)
|
||||
(8.393714000000000000e+06+8.393725500000000000e+06j)
|
||||
(8.393527000000000000e+06+8.393702500000000000e+06j)
|
||||
(8.393515000000000000e+06+8.393792500000000000e+06j)
|
||||
(8.393625000000000000e+06+8.393502500000000000e+06j)
|
||||
(8.393525000000000000e+06+8.393764000000000000e+06j)
|
||||
(8.393689000000000000e+06+8.393842500000000000e+06j)
|
||||
(8.393490000000000000e+06+8.393698000000000000e+06j)
|
||||
(8.393599000000000000e+06+8.393804000000000000e+06j)
|
||||
(8.393469000000000000e+06+8.393796500000000000e+06j)
|
||||
(8.393415500000000000e+06+8.393727000000000000e+06j)
|
||||
(8.393331000000000000e+06+8.393620000000000000e+06j)
|
||||
(8.393675000000000000e+06+8.393916000000000000e+06j)
|
||||
(8.393453000000000000e+06+8.393661500000000000e+06j)
|
||||
(8.393530500000000000e+06+8.393741000000000000e+06j)
|
||||
(8.393544000000000000e+06+8.393820000000000000e+06j)
|
||||
(8.393270500000000000e+06+8.393762000000000000e+06j)
|
||||
(8.393300000000000000e+06+8.393920000000000000e+06j)
|
||||
(8.393500000000000000e+06+8.393816000000000000e+06j)
|
||||
(8.393440000000000000e+06+8.393629000000000000e+06j)
|
||||
(8.393460500000000000e+06+8.393814500000000000e+06j)
|
||||
(8.393352000000000000e+06+8.393756500000000000e+06j)
|
||||
(8.393398000000000000e+06+8.393607000000000000e+06j)
|
||||
(8.393619500000000000e+06+8.393760000000000000e+06j)
|
||||
(8.393495500000000000e+06+8.393974500000000000e+06j)
|
||||
(8.393627000000000000e+06+8.393727500000000000e+06j)
|
||||
(8.393292500000000000e+06+8.393819000000000000e+06j)
|
||||
(8.393329000000000000e+06+8.393387500000000000e+06j)
|
||||
(8.393225000000000000e+06+8.393515000000000000e+06j)
|
||||
(8.393628000000000000e+06+8.393707000000000000e+06j)
|
||||
(8.393383500000000000e+06+8.393565000000000000e+06j)
|
||||
(8.393473500000000000e+06+8.393837500000000000e+06j)
|
||||
(8.393331000000000000e+06+8.393623500000000000e+06j)
|
||||
(8.393330500000000000e+06+8.393611000000000000e+06j)
|
||||
(8.393286500000000000e+06+8.393519000000000000e+06j)
|
||||
(8.393447500000000000e+06+8.393725000000000000e+06j)
|
||||
(8.393354000000000000e+06+8.393609000000000000e+06j)
|
||||
(8.393258500000000000e+06+8.393615500000000000e+06j)
|
||||
(8.393443000000000000e+06+8.393596000000000000e+06j)
|
||||
(8.393344500000000000e+06+8.393564500000000000e+06j)
|
||||
(8.393349500000000000e+06+8.393477500000000000e+06j)
|
||||
(8.393189500000000000e+06+8.393551000000000000e+06j)
|
||||
(8.393151000000000000e+06+8.393645000000000000e+06j)
|
||||
(8.393141500000000000e+06+8.393373500000000000e+06j)
|
||||
(8.393249500000000000e+06+8.393472500000000000e+06j)
|
||||
(8.393059500000000000e+06+8.393532000000000000e+06j)
|
||||
(8.393131500000000000e+06+8.393299000000000000e+06j)
|
||||
(8.393052500000000000e+06+8.393163500000000000e+06j)
|
||||
(8.393142500000000000e+06+8.393554500000000000e+06j)
|
||||
(8.393163500000000000e+06+8.393418500000000000e+06j)
|
||||
(8.393327500000000000e+06+8.393560000000000000e+06j)
|
||||
(8.393344500000000000e+06+8.393608000000000000e+06j)
|
||||
(8.393350500000000000e+06+8.393505000000000000e+06j)
|
||||
(8.393320000000000000e+06+8.393565500000000000e+06j)
|
||||
(8.393545000000000000e+06+8.393425500000000000e+06j)
|
||||
(8.393374500000000000e+06+8.393446000000000000e+06j)
|
||||
(8.393225000000000000e+06+8.393545000000000000e+06j)
|
||||
(8.393541000000000000e+06+8.393752500000000000e+06j)
|
||||
(8.393566500000000000e+06+8.393733500000000000e+06j)
|
||||
(8.393544000000000000e+06+8.394112500000000000e+06j)
|
||||
(8.393385500000000000e+06+8.393815000000000000e+06j)
|
||||
(8.393264000000000000e+06+8.393794000000000000e+06j)
|
||||
(8.393503000000000000e+06+8.393870000000000000e+06j)
|
||||
(8.393400500000000000e+06+8.393828000000000000e+06j)
|
||||
(8.393440500000000000e+06+8.393621500000000000e+06j)
|
||||
(8.393346000000000000e+06+8.393616500000000000e+06j)
|
||||
(8.393208500000000000e+06+8.393579000000000000e+06j)
|
||||
(8.393245500000000000e+06+8.393642000000000000e+06j)
|
||||
(8.393500500000000000e+06+8.393876000000000000e+06j)
|
||||
(8.393461500000000000e+06+8.393732500000000000e+06j)
|
||||
(8.393447000000000000e+06+8.393729500000000000e+06j)
|
||||
(8.393434000000000000e+06+8.393800000000000000e+06j)
|
||||
(8.393313500000000000e+06+8.393596500000000000e+06j)
|
||||
(8.393486000000000000e+06+8.393703500000000000e+06j)
|
||||
(8.393463500000000000e+06+8.393807000000000000e+06j)
|
||||
(8.393266000000000000e+06+8.393569500000000000e+06j)
|
||||
(8.393587500000000000e+06+8.393637000000000000e+06j)
|
||||
(8.393420000000000000e+06+8.393695000000000000e+06j)
|
||||
(8.393650000000000000e+06+8.393715500000000000e+06j)
|
||||
(8.393458000000000000e+06+8.393684000000000000e+06j)
|
||||
(8.393414500000000000e+06+8.393772000000000000e+06j)
|
||||
(8.393450000000000000e+06+8.393963500000000000e+06j)
|
||||
209
frappy_psi/network_analysers/mRS/miniVNAPRO2Driver.py
Normal file
209
frappy_psi/network_analysers/mRS/miniVNAPRO2Driver.py
Normal file
@@ -0,0 +1,209 @@
|
||||
import serial
|
||||
from serial.tools.list_ports import comports
|
||||
|
||||
import numpy as np
|
||||
import time
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
|
||||
def get_comports():
|
||||
return [c.name for c in comports()]
|
||||
|
||||
class miniVNA_PRO2():
|
||||
'''All information here was ripped from the "open source" JAR that mRS provides'''
|
||||
port = ''
|
||||
data = np.array([])
|
||||
freqs = np.array([])
|
||||
infostr = 'uninitialised'
|
||||
|
||||
# calibration
|
||||
e00 = 0
|
||||
e11 = 0
|
||||
d_e = 0
|
||||
calibrated = False
|
||||
|
||||
properties = {
|
||||
'max_freq': 220_000_000, #Hz
|
||||
'min_freq': 10_000,
|
||||
'min_samplerate': 0,
|
||||
'max_samplerate': 4,
|
||||
'generator_ports': 2, # num
|
||||
'mult': 8.25955249230769,
|
||||
}
|
||||
|
||||
def __init__(self, port=''):
|
||||
if(port == ''):
|
||||
cs = get_comports()
|
||||
if(len(cs) == 1):
|
||||
print('miniVNA PRO2: No COM port provided. Using the only one available, ' + cs[0])
|
||||
port = cs[0]
|
||||
else:
|
||||
print('miniVNA PRO2: Please provide a COM port from the following:\n' + str(cs))
|
||||
raise Exception
|
||||
|
||||
self.port = serial.Serial(port, 921600, timeout=1, parity=serial.PARITY_NONE)
|
||||
self.reset()
|
||||
print('miniVNA PRO2 connected with serial information:')
|
||||
print(self.get_info())
|
||||
|
||||
def __del__(self):
|
||||
self.port.close()
|
||||
|
||||
def calibrate(self, freqs):
|
||||
#https://k6jca.blogspot.com/2019/12/vna-notes-on-12-term-error-model-and.html
|
||||
|
||||
self.calibrated_freqs = freqs
|
||||
|
||||
Gm1 = np.loadtxt('short.txt', dtype=np.complex128)
|
||||
Gm2 = np.loadtxt('load.txt', dtype=np.complex128)
|
||||
Gm3 = np.loadtxt('open.txt', dtype=np.complex128)
|
||||
G1 = -1
|
||||
G2 = 0.1
|
||||
G3 = +1
|
||||
|
||||
self.e00 = (G1*G2*Gm1*Gm3 - G1*G3*Gm1*Gm2 - G1*G2*Gm2*Gm3 + G2*G3*Gm1*Gm2 + G1*G3*Gm2*Gm3 - G2*G3*Gm1*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
self.e11 = -(G1*Gm2 - G2*Gm1 - G1*Gm3 + G3*Gm1 + G2*Gm3 - G3*Gm2)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
self.d_e = -(G1*Gm1*Gm2 - G1*Gm1*Gm3 - G2*Gm1*Gm2 + G2*Gm2*Gm3 + G3*Gm1*Gm3 - G3*Gm2*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
|
||||
self.calibrated = True
|
||||
|
||||
def write_cmd(self, args):
|
||||
if not(isinstance(args, list)):
|
||||
args = [args]
|
||||
args = [ str(a) for a in args ]
|
||||
c = '\r'.join(args) + '\r'
|
||||
self.port.write(bytes(c, 'utf-8'))
|
||||
|
||||
def read_line(self):
|
||||
return self.port.readline()[:-2].decode('utf-8') # last two bytes are always \r\n
|
||||
|
||||
def get_info(self):
|
||||
self.write_cmd('9')
|
||||
self.port.timeout = 3
|
||||
self.infostr = self.read_line()
|
||||
return self.infostr
|
||||
|
||||
def reset(self):
|
||||
self.write_cmd([9,9])
|
||||
time.sleep(3)
|
||||
self.port.reset_input_buffer()
|
||||
self.port.reset_output_buffer()
|
||||
|
||||
def sweep(self, f0: float, f1: float, N: int = 128, sample_rate: int = 0, mode = 1):
|
||||
'''Mode 1 designates that we're reading the DET (reflection) port... I think'''
|
||||
print('Starting sweep')
|
||||
st = time.time()
|
||||
d = (f1 - f0) / (N - 1)
|
||||
|
||||
f0 -= 4 * d
|
||||
N += 4
|
||||
|
||||
assert(sample_rate <= self.properties['max_samplerate'] and sample_rate >= self.properties['min_samplerate'])
|
||||
|
||||
if(d > f1 - 10_000):
|
||||
d = 0.0
|
||||
if(d == 0.0):
|
||||
i = N
|
||||
else:
|
||||
i = N+1
|
||||
|
||||
self.write_cmd(['10' + str(mode), (f0-d) * self.properties['mult'], sample_rate, N+1, (f1-f0+d)/N * self.properties['mult']])
|
||||
self.port.set_buffer_size(rx_size = 12*(N+10))
|
||||
while(self.port.in_waiting < 12*N): # prepare the first read. It takes a second, okay?
|
||||
time.sleep(0.1)
|
||||
percent = self.port.in_waiting/(12*N)
|
||||
L = 50
|
||||
print(f'\rminiVNA PRO2: Progress: {int(100*percent):>3d}% [{"".join(["="]*int(percent*L) + [" "]*(L-int(percent*L)))}]', end='')
|
||||
|
||||
raw_data = np.zeros((N, 12), dtype=np.uint8)
|
||||
progress = 0
|
||||
failures = 0
|
||||
while(progress < N):
|
||||
incoming = self.port.read(12)
|
||||
conv = np.frombuffer(incoming, dtype=np.uint8)
|
||||
raw_data[progress,:len(conv)] = conv
|
||||
progress += 1
|
||||
et = time.time()
|
||||
print(f'\nSweep took {et-st:.2f}s')
|
||||
|
||||
self.data = np.zeros((N,), dtype=np.complex128)
|
||||
# processing one at a time to avoid overflows
|
||||
self.data += 1j/2 * raw_data[:,0]
|
||||
self.data += 1j/2 * raw_data[:,1]*256
|
||||
self.data += 1j/2 * raw_data[:,2]*65536
|
||||
self.data += 1/2 * raw_data[:,3]
|
||||
self.data += 1/2 * raw_data[:,4]*256
|
||||
self.data += 1/2 * raw_data[:,5]*65536
|
||||
self.data -= 1j/2 * raw_data[:,6]
|
||||
self.data += 1j/2 * raw_data[:,7]*256
|
||||
self.data += 1j/2 * raw_data[:,8]*65536
|
||||
self.data -= 1/2 * raw_data[:,9]
|
||||
self.data += 1/2 * raw_data[:,10]*256
|
||||
self.data += 1/2 * raw_data[:,11]*65536
|
||||
|
||||
self.freq = np.linspace(f0, f1, N)[4:]
|
||||
self.data = self.data[4:]# / 777_472_127_994 # normalize
|
||||
#self.data = np.convolve(self.data, np.exp(-np.square(1/2 *
|
||||
|
||||
e00 = np.interp(self.freq, self.calibrated_freqs, self.e00) if self.calibrated else 0
|
||||
e11 = np.interp(self.freq, self.calibrated_freqs, self.e11) if self.calibrated else 0
|
||||
d_e = np.interp(self.freq, self.calibrated_freqs, self.d_e) if self.calibrated else -1
|
||||
self.data = (self.data - e00) / (self.data * e11 - d_e)
|
||||
# (f1 - f0) / (N-1) * i + f0
|
||||
|
||||
et = time.time()
|
||||
print(f'Completed sweep. Full function took {et-st:.2f}s')
|
||||
|
||||
def start_generator(self, freq_I, freq_Q, att_I, att_Q, phase):
|
||||
|
||||
self.write_cmd([2, freq_I, freq_Q, phase, 3, att_Q, att_I])
|
||||
time.sleep(3)
|
||||
while(self.port.in_waiting > 0):
|
||||
print(self.port.read(1), end='')
|
||||
|
||||
m = miniVNA_PRO2('COM9')
|
||||
|
||||
#plt.plot(m.freq, np.real(m.data), label='0')
|
||||
#plt.plot(m.freq, np.imag(m.data), label='0')
|
||||
#plt.plot(m.freq, np.abs(m.data), label='0', color='k')
|
||||
|
||||
|
||||
#m.calibrate(np.linspace(40_000_000, 50_000_000, 512))
|
||||
#m.start_generator(40_000_000, 50_000_000, 30, 30, 0)
|
||||
#m.test_gen()
|
||||
|
||||
f0 = 15_000_000
|
||||
f1 = 60_000_000
|
||||
m.sweep(f0, f1, N=512, sample_rate=4)
|
||||
if(False):
|
||||
short = m.data
|
||||
for i in range(10):
|
||||
m.sweep(f0, f1, N=512, sample_rate=4)
|
||||
short += m.data
|
||||
short /= 11
|
||||
if(True):
|
||||
plt.plot(m.freq, np.imag(m.data))
|
||||
plt.plot(m.freq, np.real(m.data))
|
||||
plt.plot(m.freq, np.abs(m.data))
|
||||
plt.show()
|
||||
if(False):
|
||||
input('attach device')
|
||||
m.sweep(f0, f1, N=512, sample_rate=4)
|
||||
full_data = m.data
|
||||
|
||||
plt.plot(m.freq, np.abs(full_data))
|
||||
plt.plot(m.freq, np.abs(cord_data))
|
||||
plt.plot(m.freq, np.abs(full_data - cord_data))
|
||||
|
||||
plt.legend()
|
||||
plt.show()
|
||||
|
||||
inp = input('save?')
|
||||
if(inp == 'y'):
|
||||
np.savetxt(input('fn') + '.txt', m.data)
|
||||
|
||||
512
frappy_psi/network_analysers/mRS/open.txt
Normal file
512
frappy_psi/network_analysers/mRS/open.txt
Normal file
@@ -0,0 +1,512 @@
|
||||
(8.364007500000000000e+06+8.365357500000000000e+06j)
|
||||
(8.364065500000000000e+06+8.365302000000000000e+06j)
|
||||
(8.363858000000000000e+06+8.365604500000000000e+06j)
|
||||
(8.364083500000000000e+06+8.365331000000000000e+06j)
|
||||
(8.363859000000000000e+06+8.365310500000000000e+06j)
|
||||
(8.364118500000000000e+06+8.365513000000000000e+06j)
|
||||
(8.391019000000000000e+06+8.386613000000000000e+06j)
|
||||
(8.389462500000000000e+06+8.391152000000000000e+06j)
|
||||
(8.387515500000000000e+06+8.388812500000000000e+06j)
|
||||
(8.386334000000000000e+06+8.387286000000000000e+06j)
|
||||
(8.385897500000000000e+06+8.386700000000000000e+06j)
|
||||
(8.385262000000000000e+06+8.385957000000000000e+06j)
|
||||
(8.384888500000000000e+06+8.385688500000000000e+06j)
|
||||
(8.384688500000000000e+06+8.385242500000000000e+06j)
|
||||
(8.384212000000000000e+06+8.385499000000000000e+06j)
|
||||
(8.384402000000000000e+06+8.384805500000000000e+06j)
|
||||
(8.384111000000000000e+06+8.384820500000000000e+06j)
|
||||
(8.383890000000000000e+06+8.384668500000000000e+06j)
|
||||
(8.383921000000000000e+06+8.384578000000000000e+06j)
|
||||
(8.383785500000000000e+06+8.384592000000000000e+06j)
|
||||
(8.383019000000000000e+06+8.383915000000000000e+06j)
|
||||
(8.382944500000000000e+06+8.383897500000000000e+06j)
|
||||
(8.383104000000000000e+06+8.383521000000000000e+06j)
|
||||
(8.382638500000000000e+06+8.383515500000000000e+06j)
|
||||
(8.382558000000000000e+06+8.383559500000000000e+06j)
|
||||
(8.382250500000000000e+06+8.383142500000000000e+06j)
|
||||
(8.381766000000000000e+06+8.382729500000000000e+06j)
|
||||
(8.381615500000000000e+06+8.382754500000000000e+06j)
|
||||
(8.381600000000000000e+06+8.382578500000000000e+06j)
|
||||
(8.381388000000000000e+06+8.382242500000000000e+06j)
|
||||
(8.380949000000000000e+06+8.381910000000000000e+06j)
|
||||
(8.380541000000000000e+06+8.381504000000000000e+06j)
|
||||
(8.380315500000000000e+06+8.381740000000000000e+06j)
|
||||
(8.380283000000000000e+06+8.381322000000000000e+06j)
|
||||
(8.380078500000000000e+06+8.381467000000000000e+06j)
|
||||
(8.379700000000000000e+06+8.381306000000000000e+06j)
|
||||
(8.379249000000000000e+06+8.380769000000000000e+06j)
|
||||
(8.378776000000000000e+06+8.380254000000000000e+06j)
|
||||
(8.378629000000000000e+06+8.380297500000000000e+06j)
|
||||
(8.378521500000000000e+06+8.380045500000000000e+06j)
|
||||
(8.378648500000000000e+06+8.379652000000000000e+06j)
|
||||
(8.378147500000000000e+06+8.379632500000000000e+06j)
|
||||
(8.377768500000000000e+06+8.379072500000000000e+06j)
|
||||
(8.377292500000000000e+06+8.378726500000000000e+06j)
|
||||
(8.377161500000000000e+06+8.378890500000000000e+06j)
|
||||
(8.377197500000000000e+06+8.378072000000000000e+06j)
|
||||
(8.376674000000000000e+06+8.378291500000000000e+06j)
|
||||
(8.376399500000000000e+06+8.378151000000000000e+06j)
|
||||
(8.376209500000000000e+06+8.377887000000000000e+06j)
|
||||
(8.375659000000000000e+06+8.377454000000000000e+06j)
|
||||
(8.375392500000000000e+06+8.376973000000000000e+06j)
|
||||
(8.375392000000000000e+06+8.376973000000000000e+06j)
|
||||
(8.374860500000000000e+06+8.376836000000000000e+06j)
|
||||
(8.374569500000000000e+06+8.376608500000000000e+06j)
|
||||
(8.374336500000000000e+06+8.376006500000000000e+06j)
|
||||
(8.374241000000000000e+06+8.376152500000000000e+06j)
|
||||
(8.374032500000000000e+06+8.375937500000000000e+06j)
|
||||
(8.373862000000000000e+06+8.375571500000000000e+06j)
|
||||
(8.373460000000000000e+06+8.375586500000000000e+06j)
|
||||
(8.373055500000000000e+06+8.374885500000000000e+06j)
|
||||
(8.372864000000000000e+06+8.374831500000000000e+06j)
|
||||
(8.372578500000000000e+06+8.374939000000000000e+06j)
|
||||
(8.372517500000000000e+06+8.374646500000000000e+06j)
|
||||
(8.372270000000000000e+06+8.374482000000000000e+06j)
|
||||
(8.372139000000000000e+06+8.374008500000000000e+06j)
|
||||
(8.371512000000000000e+06+8.373672000000000000e+06j)
|
||||
(8.371528000000000000e+06+8.373472500000000000e+06j)
|
||||
(8.371141000000000000e+06+8.373078500000000000e+06j)
|
||||
(8.370735000000000000e+06+8.373159500000000000e+06j)
|
||||
(8.370442000000000000e+06+8.372414500000000000e+06j)
|
||||
(8.370478000000000000e+06+8.372688000000000000e+06j)
|
||||
(8.369979500000000000e+06+8.372269000000000000e+06j)
|
||||
(8.369894500000000000e+06+8.371964500000000000e+06j)
|
||||
(8.369411500000000000e+06+8.371692000000000000e+06j)
|
||||
(8.369152500000000000e+06+8.371645000000000000e+06j)
|
||||
(8.369084500000000000e+06+8.371184500000000000e+06j)
|
||||
(8.368959000000000000e+06+8.371144000000000000e+06j)
|
||||
(8.368465000000000000e+06+8.370635000000000000e+06j)
|
||||
(8.368373000000000000e+06+8.370515000000000000e+06j)
|
||||
(8.368054500000000000e+06+8.370605000000000000e+06j)
|
||||
(8.368059500000000000e+06+8.370119000000000000e+06j)
|
||||
(8.367707000000000000e+06+8.370207000000000000e+06j)
|
||||
(8.367063500000000000e+06+8.369945500000000000e+06j)
|
||||
(8.366989500000000000e+06+8.369593500000000000e+06j)
|
||||
(8.366922500000000000e+06+8.369132000000000000e+06j)
|
||||
(8.366494000000000000e+06+8.369232000000000000e+06j)
|
||||
(8.366226500000000000e+06+8.368987500000000000e+06j)
|
||||
(8.366002000000000000e+06+8.368623000000000000e+06j)
|
||||
(8.365805000000000000e+06+8.368447000000000000e+06j)
|
||||
(8.365270500000000000e+06+8.368052500000000000e+06j)
|
||||
(8.365311500000000000e+06+8.368004000000000000e+06j)
|
||||
(8.364929000000000000e+06+8.367532500000000000e+06j)
|
||||
(8.364550500000000000e+06+8.367380000000000000e+06j)
|
||||
(8.364204000000000000e+06+8.367399000000000000e+06j)
|
||||
(8.364384500000000000e+06+8.367229500000000000e+06j)
|
||||
(8.364393500000000000e+06+8.366735000000000000e+06j)
|
||||
(8.363827000000000000e+06+8.366661000000000000e+06j)
|
||||
(8.363561000000000000e+06+8.366695500000000000e+06j)
|
||||
(8.363317000000000000e+06+8.366358000000000000e+06j)
|
||||
(8.363420000000000000e+06+8.366079000000000000e+06j)
|
||||
(8.362864500000000000e+06+8.366107500000000000e+06j)
|
||||
(8.362807500000000000e+06+8.365464000000000000e+06j)
|
||||
(8.362480500000000000e+06+8.365258000000000000e+06j)
|
||||
(8.362318500000000000e+06+8.365355000000000000e+06j)
|
||||
(8.361955000000000000e+06+8.364786500000000000e+06j)
|
||||
(8.361670000000000000e+06+8.365067000000000000e+06j)
|
||||
(8.361579500000000000e+06+8.364476500000000000e+06j)
|
||||
(8.361546000000000000e+06+8.364661500000000000e+06j)
|
||||
(8.361071000000000000e+06+8.363856500000000000e+06j)
|
||||
(8.360896000000000000e+06+8.363686500000000000e+06j)
|
||||
(8.360845500000000000e+06+8.363829000000000000e+06j)
|
||||
(8.360575500000000000e+06+8.363337500000000000e+06j)
|
||||
(8.360226000000000000e+06+8.363310500000000000e+06j)
|
||||
(8.359857000000000000e+06+8.363197500000000000e+06j)
|
||||
(8.359720000000000000e+06+8.362795500000000000e+06j)
|
||||
(8.359504500000000000e+06+8.362672000000000000e+06j)
|
||||
(8.359133500000000000e+06+8.362785000000000000e+06j)
|
||||
(8.358873500000000000e+06+8.362260500000000000e+06j)
|
||||
(8.358934500000000000e+06+8.362138000000000000e+06j)
|
||||
(8.358456000000000000e+06+8.361549000000000000e+06j)
|
||||
(8.358213500000000000e+06+8.361674500000000000e+06j)
|
||||
(8.358065000000000000e+06+8.361034000000000000e+06j)
|
||||
(8.358120500000000000e+06+8.360855500000000000e+06j)
|
||||
(8.357569000000000000e+06+8.361050500000000000e+06j)
|
||||
(8.357351500000000000e+06+8.360750000000000000e+06j)
|
||||
(8.356905500000000000e+06+8.360573000000000000e+06j)
|
||||
(8.357130500000000000e+06+8.360254000000000000e+06j)
|
||||
(8.356489500000000000e+06+8.359858000000000000e+06j)
|
||||
(8.356424000000000000e+06+8.359749000000000000e+06j)
|
||||
(8.356435500000000000e+06+8.359836000000000000e+06j)
|
||||
(8.356085000000000000e+06+8.359173500000000000e+06j)
|
||||
(8.355927500000000000e+06+8.359394000000000000e+06j)
|
||||
(8.355390500000000000e+06+8.358640000000000000e+06j)
|
||||
(8.355142500000000000e+06+8.358586000000000000e+06j)
|
||||
(8.355224000000000000e+06+8.358738500000000000e+06j)
|
||||
(8.354756000000000000e+06+8.358261000000000000e+06j)
|
||||
(8.354691000000000000e+06+8.357864000000000000e+06j)
|
||||
(8.354481000000000000e+06+8.358196000000000000e+06j)
|
||||
(8.354125000000000000e+06+8.357849000000000000e+06j)
|
||||
(8.354209500000000000e+06+8.357630500000000000e+06j)
|
||||
(8.353896500000000000e+06+8.357535000000000000e+06j)
|
||||
(8.353915500000000000e+06+8.356912000000000000e+06j)
|
||||
(8.353890000000000000e+06+8.357499000000000000e+06j)
|
||||
(8.353753000000000000e+06+8.357149500000000000e+06j)
|
||||
(8.353530500000000000e+06+8.357237000000000000e+06j)
|
||||
(8.353502000000000000e+06+8.356692000000000000e+06j)
|
||||
(8.353132000000000000e+06+8.357132500000000000e+06j)
|
||||
(8.353743000000000000e+06+8.357028000000000000e+06j)
|
||||
(8.353381000000000000e+06+8.357125500000000000e+06j)
|
||||
(8.353335000000000000e+06+8.356588500000000000e+06j)
|
||||
(8.353529000000000000e+06+8.357087500000000000e+06j)
|
||||
(8.353111500000000000e+06+8.357127000000000000e+06j)
|
||||
(8.353197500000000000e+06+8.357116500000000000e+06j)
|
||||
(8.353514500000000000e+06+8.356962500000000000e+06j)
|
||||
(8.353678500000000000e+06+8.357229000000000000e+06j)
|
||||
(8.353921000000000000e+06+8.357332000000000000e+06j)
|
||||
(8.353406500000000000e+06+8.357383500000000000e+06j)
|
||||
(8.353468000000000000e+06+8.357255000000000000e+06j)
|
||||
(8.354004500000000000e+06+8.357470500000000000e+06j)
|
||||
(8.354174000000000000e+06+8.357559500000000000e+06j)
|
||||
(8.353846000000000000e+06+8.357848000000000000e+06j)
|
||||
(8.354283000000000000e+06+8.357597500000000000e+06j)
|
||||
(8.354077000000000000e+06+8.357789000000000000e+06j)
|
||||
(8.354122000000000000e+06+8.357624000000000000e+06j)
|
||||
(8.354422000000000000e+06+8.357874000000000000e+06j)
|
||||
(8.354469500000000000e+06+8.357897500000000000e+06j)
|
||||
(8.354363000000000000e+06+8.357941000000000000e+06j)
|
||||
(8.354464000000000000e+06+8.358270000000000000e+06j)
|
||||
(8.354661500000000000e+06+8.358401000000000000e+06j)
|
||||
(8.354548500000000000e+06+8.358225000000000000e+06j)
|
||||
(8.354632000000000000e+06+8.358371000000000000e+06j)
|
||||
(8.354727500000000000e+06+8.358551000000000000e+06j)
|
||||
(8.354442500000000000e+06+8.358503500000000000e+06j)
|
||||
(8.354929000000000000e+06+8.358847000000000000e+06j)
|
||||
(8.355141500000000000e+06+8.358949000000000000e+06j)
|
||||
(8.355038500000000000e+06+8.358395500000000000e+06j)
|
||||
(8.355264500000000000e+06+8.358528000000000000e+06j)
|
||||
(8.355022000000000000e+06+8.358498500000000000e+06j)
|
||||
(8.355388500000000000e+06+8.358584500000000000e+06j)
|
||||
(8.355461500000000000e+06+8.358981500000000000e+06j)
|
||||
(8.355358000000000000e+06+8.358537000000000000e+06j)
|
||||
(8.355237000000000000e+06+8.358820000000000000e+06j)
|
||||
(8.355364500000000000e+06+8.359329500000000000e+06j)
|
||||
(8.355532000000000000e+06+8.359098500000000000e+06j)
|
||||
(8.355663500000000000e+06+8.358969500000000000e+06j)
|
||||
(8.355636000000000000e+06+8.359203000000000000e+06j)
|
||||
(8.355265000000000000e+06+8.358928500000000000e+06j)
|
||||
(8.355489000000000000e+06+8.359380500000000000e+06j)
|
||||
(8.355628500000000000e+06+8.359158500000000000e+06j)
|
||||
(8.355703000000000000e+06+8.359141000000000000e+06j)
|
||||
(8.355503500000000000e+06+8.359174000000000000e+06j)
|
||||
(8.355789500000000000e+06+8.359664500000000000e+06j)
|
||||
(8.356107000000000000e+06+8.359504000000000000e+06j)
|
||||
(8.355532500000000000e+06+8.359281500000000000e+06j)
|
||||
(8.356033500000000000e+06+8.359426000000000000e+06j)
|
||||
(8.356091000000000000e+06+8.359321000000000000e+06j)
|
||||
(8.355974500000000000e+06+8.359438000000000000e+06j)
|
||||
(8.355632000000000000e+06+8.359295000000000000e+06j)
|
||||
(8.355745500000000000e+06+8.359607000000000000e+06j)
|
||||
(8.355898500000000000e+06+8.359260500000000000e+06j)
|
||||
(8.355899000000000000e+06+8.359875000000000000e+06j)
|
||||
(8.355944000000000000e+06+8.359566000000000000e+06j)
|
||||
(8.355882500000000000e+06+8.359408000000000000e+06j)
|
||||
(8.356019000000000000e+06+8.359654000000000000e+06j)
|
||||
(8.356046500000000000e+06+8.359937000000000000e+06j)
|
||||
(8.356042000000000000e+06+8.359759500000000000e+06j)
|
||||
(8.355959500000000000e+06+8.359718500000000000e+06j)
|
||||
(8.355835000000000000e+06+8.359563000000000000e+06j)
|
||||
(8.356001000000000000e+06+8.359631500000000000e+06j)
|
||||
(8.356524500000000000e+06+8.359638500000000000e+06j)
|
||||
(8.356297000000000000e+06+8.359523000000000000e+06j)
|
||||
(8.356208000000000000e+06+8.359800000000000000e+06j)
|
||||
(8.356093500000000000e+06+8.359894000000000000e+06j)
|
||||
(8.356074000000000000e+06+8.359684000000000000e+06j)
|
||||
(8.356396500000000000e+06+8.360014000000000000e+06j)
|
||||
(8.356380000000000000e+06+8.360117500000000000e+06j)
|
||||
(8.356232500000000000e+06+8.359928500000000000e+06j)
|
||||
(8.356362000000000000e+06+8.359903500000000000e+06j)
|
||||
(8.356244000000000000e+06+8.359898000000000000e+06j)
|
||||
(8.356247500000000000e+06+8.359549000000000000e+06j)
|
||||
(8.356274500000000000e+06+8.359776500000000000e+06j)
|
||||
(8.356241000000000000e+06+8.360012500000000000e+06j)
|
||||
(8.356160000000000000e+06+8.360158500000000000e+06j)
|
||||
(8.356130500000000000e+06+8.359471000000000000e+06j)
|
||||
(8.356152000000000000e+06+8.359800500000000000e+06j)
|
||||
(8.356033000000000000e+06+8.359396500000000000e+06j)
|
||||
(8.355938000000000000e+06+8.359473500000000000e+06j)
|
||||
(8.355870000000000000e+06+8.359504000000000000e+06j)
|
||||
(8.355816000000000000e+06+8.359534500000000000e+06j)
|
||||
(8.356015500000000000e+06+8.359526000000000000e+06j)
|
||||
(8.355735500000000000e+06+8.359290500000000000e+06j)
|
||||
(8.355943500000000000e+06+8.359031500000000000e+06j)
|
||||
(8.355636500000000000e+06+8.359264500000000000e+06j)
|
||||
(8.355774000000000000e+06+8.359376500000000000e+06j)
|
||||
(8.355711000000000000e+06+8.358931500000000000e+06j)
|
||||
(8.355413000000000000e+06+8.359131000000000000e+06j)
|
||||
(8.355596000000000000e+06+8.359442000000000000e+06j)
|
||||
(8.355620500000000000e+06+8.359155500000000000e+06j)
|
||||
(8.355420000000000000e+06+8.359023500000000000e+06j)
|
||||
(8.355404000000000000e+06+8.358920000000000000e+06j)
|
||||
(8.355496000000000000e+06+8.358992000000000000e+06j)
|
||||
(8.354895500000000000e+06+8.358802500000000000e+06j)
|
||||
(8.355203000000000000e+06+8.358495000000000000e+06j)
|
||||
(8.355168500000000000e+06+8.358789500000000000e+06j)
|
||||
(8.355040500000000000e+06+8.358730500000000000e+06j)
|
||||
(8.354889000000000000e+06+8.358882500000000000e+06j)
|
||||
(8.355036500000000000e+06+8.358606000000000000e+06j)
|
||||
(8.355112500000000000e+06+8.358464000000000000e+06j)
|
||||
(8.354896000000000000e+06+8.358263000000000000e+06j)
|
||||
(8.354783000000000000e+06+8.358303500000000000e+06j)
|
||||
(8.354627500000000000e+06+8.358265000000000000e+06j)
|
||||
(8.354819500000000000e+06+8.358476000000000000e+06j)
|
||||
(8.354852000000000000e+06+8.358274000000000000e+06j)
|
||||
(8.354815000000000000e+06+8.358373000000000000e+06j)
|
||||
(8.354642000000000000e+06+8.358466000000000000e+06j)
|
||||
(8.354888000000000000e+06+8.358452000000000000e+06j)
|
||||
(8.354578500000000000e+06+8.358260500000000000e+06j)
|
||||
(8.354747000000000000e+06+8.358096500000000000e+06j)
|
||||
(8.354551500000000000e+06+8.358255000000000000e+06j)
|
||||
(8.354384000000000000e+06+8.357849500000000000e+06j)
|
||||
(8.354623500000000000e+06+8.358196500000000000e+06j)
|
||||
(8.354216500000000000e+06+8.357928000000000000e+06j)
|
||||
(8.355090000000000000e+06+8.357991500000000000e+06j)
|
||||
(8.354754000000000000e+06+8.358193500000000000e+06j)
|
||||
(8.354554000000000000e+06+8.358251500000000000e+06j)
|
||||
(8.354764000000000000e+06+8.357984000000000000e+06j)
|
||||
(8.354608500000000000e+06+8.357900000000000000e+06j)
|
||||
(8.354587000000000000e+06+8.358002500000000000e+06j)
|
||||
(8.354503500000000000e+06+8.357877000000000000e+06j)
|
||||
(8.354636000000000000e+06+8.357554000000000000e+06j)
|
||||
(8.354648000000000000e+06+8.358228000000000000e+06j)
|
||||
(8.354641500000000000e+06+8.358095500000000000e+06j)
|
||||
(8.354487500000000000e+06+8.357916500000000000e+06j)
|
||||
(8.354612000000000000e+06+8.358132000000000000e+06j)
|
||||
(8.354728500000000000e+06+8.357821000000000000e+06j)
|
||||
(8.354637000000000000e+06+8.357915500000000000e+06j)
|
||||
(8.354874500000000000e+06+8.357999500000000000e+06j)
|
||||
(8.354755000000000000e+06+8.357858000000000000e+06j)
|
||||
(8.354699000000000000e+06+8.358001000000000000e+06j)
|
||||
(8.354602500000000000e+06+8.358145500000000000e+06j)
|
||||
(8.354749000000000000e+06+8.358039000000000000e+06j)
|
||||
(8.354656500000000000e+06+8.357965000000000000e+06j)
|
||||
(8.354514500000000000e+06+8.357858000000000000e+06j)
|
||||
(8.354552000000000000e+06+8.357973500000000000e+06j)
|
||||
(8.354940000000000000e+06+8.358275000000000000e+06j)
|
||||
(8.354847000000000000e+06+8.358120500000000000e+06j)
|
||||
(8.354556000000000000e+06+8.358256000000000000e+06j)
|
||||
(8.354794000000000000e+06+8.358046000000000000e+06j)
|
||||
(8.354640000000000000e+06+8.357748000000000000e+06j)
|
||||
(8.354522500000000000e+06+8.358060500000000000e+06j)
|
||||
(8.354480000000000000e+06+8.357972500000000000e+06j)
|
||||
(8.354499500000000000e+06+8.357727000000000000e+06j)
|
||||
(8.354751000000000000e+06+8.357975500000000000e+06j)
|
||||
(8.354581500000000000e+06+8.358101500000000000e+06j)
|
||||
(8.354810000000000000e+06+8.358197500000000000e+06j)
|
||||
(8.354964000000000000e+06+8.358243000000000000e+06j)
|
||||
(8.354822500000000000e+06+8.358374500000000000e+06j)
|
||||
(8.354664000000000000e+06+8.357955000000000000e+06j)
|
||||
(8.354608000000000000e+06+8.358069000000000000e+06j)
|
||||
(8.354938000000000000e+06+8.358573000000000000e+06j)
|
||||
(8.354666500000000000e+06+8.358069500000000000e+06j)
|
||||
(8.355007000000000000e+06+8.358038500000000000e+06j)
|
||||
(8.355005500000000000e+06+8.358452500000000000e+06j)
|
||||
(8.354888000000000000e+06+8.358197500000000000e+06j)
|
||||
(8.354978000000000000e+06+8.357996000000000000e+06j)
|
||||
(8.354968500000000000e+06+8.358525000000000000e+06j)
|
||||
(8.355174000000000000e+06+8.358455500000000000e+06j)
|
||||
(8.354920500000000000e+06+8.358269000000000000e+06j)
|
||||
(8.355141500000000000e+06+8.357899500000000000e+06j)
|
||||
(8.355022000000000000e+06+8.358011500000000000e+06j)
|
||||
(8.355215500000000000e+06+8.358280500000000000e+06j)
|
||||
(8.354964500000000000e+06+8.357841500000000000e+06j)
|
||||
(8.355284000000000000e+06+8.358155500000000000e+06j)
|
||||
(8.355031000000000000e+06+8.358451500000000000e+06j)
|
||||
(8.355381000000000000e+06+8.358462000000000000e+06j)
|
||||
(8.355682500000000000e+06+8.358159000000000000e+06j)
|
||||
(8.355444500000000000e+06+8.358277000000000000e+06j)
|
||||
(8.355238500000000000e+06+8.358469000000000000e+06j)
|
||||
(8.355074500000000000e+06+8.358433500000000000e+06j)
|
||||
(8.355541500000000000e+06+8.358519500000000000e+06j)
|
||||
(8.355251500000000000e+06+8.358332500000000000e+06j)
|
||||
(8.355238000000000000e+06+8.358397000000000000e+06j)
|
||||
(8.355381500000000000e+06+8.358360500000000000e+06j)
|
||||
(8.355385500000000000e+06+8.358785500000000000e+06j)
|
||||
(8.355581500000000000e+06+8.358550000000000000e+06j)
|
||||
(8.355613500000000000e+06+8.358380000000000000e+06j)
|
||||
(8.355375500000000000e+06+8.358638000000000000e+06j)
|
||||
(8.355642000000000000e+06+8.358605500000000000e+06j)
|
||||
(8.355299500000000000e+06+8.358279000000000000e+06j)
|
||||
(8.355755000000000000e+06+8.358738000000000000e+06j)
|
||||
(8.355521500000000000e+06+8.358691000000000000e+06j)
|
||||
(8.355342000000000000e+06+8.358660500000000000e+06j)
|
||||
(8.355416500000000000e+06+8.358679000000000000e+06j)
|
||||
(8.355363000000000000e+06+8.358536500000000000e+06j)
|
||||
(8.355579500000000000e+06+8.358570500000000000e+06j)
|
||||
(8.355489500000000000e+06+8.358802500000000000e+06j)
|
||||
(8.355712500000000000e+06+8.358789500000000000e+06j)
|
||||
(8.355544000000000000e+06+8.358732000000000000e+06j)
|
||||
(8.356071500000000000e+06+8.358831500000000000e+06j)
|
||||
(8.355995500000000000e+06+8.358632500000000000e+06j)
|
||||
(8.355788000000000000e+06+8.359079000000000000e+06j)
|
||||
(8.355772000000000000e+06+8.358702000000000000e+06j)
|
||||
(8.356126500000000000e+06+8.359359500000000000e+06j)
|
||||
(8.356141500000000000e+06+8.359008500000000000e+06j)
|
||||
(8.355795500000000000e+06+8.358754000000000000e+06j)
|
||||
(8.356291500000000000e+06+8.359168500000000000e+06j)
|
||||
(8.356148000000000000e+06+8.359162000000000000e+06j)
|
||||
(8.356188000000000000e+06+8.358935000000000000e+06j)
|
||||
(8.356242500000000000e+06+8.359176000000000000e+06j)
|
||||
(8.356400500000000000e+06+8.359190500000000000e+06j)
|
||||
(8.356252500000000000e+06+8.359465500000000000e+06j)
|
||||
(8.356321500000000000e+06+8.359224000000000000e+06j)
|
||||
(8.356710000000000000e+06+8.359076000000000000e+06j)
|
||||
(8.356287500000000000e+06+8.359242000000000000e+06j)
|
||||
(8.356715000000000000e+06+8.359201000000000000e+06j)
|
||||
(8.356327500000000000e+06+8.359446500000000000e+06j)
|
||||
(8.356567500000000000e+06+8.359476500000000000e+06j)
|
||||
(8.356516000000000000e+06+8.359383000000000000e+06j)
|
||||
(8.356456000000000000e+06+8.359134000000000000e+06j)
|
||||
(8.356453500000000000e+06+8.359282500000000000e+06j)
|
||||
(8.356641500000000000e+06+8.359399500000000000e+06j)
|
||||
(8.356661500000000000e+06+8.359382500000000000e+06j)
|
||||
(8.356433500000000000e+06+8.359080000000000000e+06j)
|
||||
(8.356676000000000000e+06+8.359186000000000000e+06j)
|
||||
(8.356741500000000000e+06+8.359193000000000000e+06j)
|
||||
(8.356308500000000000e+06+8.359325500000000000e+06j)
|
||||
(8.356491500000000000e+06+8.359397000000000000e+06j)
|
||||
(8.356644500000000000e+06+8.359186500000000000e+06j)
|
||||
(8.356983500000000000e+06+8.359830500000000000e+06j)
|
||||
(8.356795000000000000e+06+8.359642500000000000e+06j)
|
||||
(8.356779500000000000e+06+8.359603500000000000e+06j)
|
||||
(8.356741500000000000e+06+8.359312500000000000e+06j)
|
||||
(8.357241000000000000e+06+8.359978000000000000e+06j)
|
||||
(8.356745500000000000e+06+8.359750000000000000e+06j)
|
||||
(8.356780000000000000e+06+8.359537000000000000e+06j)
|
||||
(8.356984500000000000e+06+8.359655000000000000e+06j)
|
||||
(8.357301000000000000e+06+8.359898500000000000e+06j)
|
||||
(8.357323500000000000e+06+8.359740500000000000e+06j)
|
||||
(8.357142500000000000e+06+8.359931000000000000e+06j)
|
||||
(8.357374000000000000e+06+8.359918500000000000e+06j)
|
||||
(8.357193500000000000e+06+8.359997500000000000e+06j)
|
||||
(8.357173000000000000e+06+8.359861500000000000e+06j)
|
||||
(8.357493500000000000e+06+8.359788000000000000e+06j)
|
||||
(8.357770500000000000e+06+8.359944500000000000e+06j)
|
||||
(8.357524500000000000e+06+8.359991000000000000e+06j)
|
||||
(8.357563000000000000e+06+8.360247000000000000e+06j)
|
||||
(8.357619500000000000e+06+8.360023500000000000e+06j)
|
||||
(8.357370500000000000e+06+8.360080000000000000e+06j)
|
||||
(8.357555500000000000e+06+8.360391500000000000e+06j)
|
||||
(8.357758500000000000e+06+8.360335500000000000e+06j)
|
||||
(8.357796500000000000e+06+8.360466000000000000e+06j)
|
||||
(8.357994000000000000e+06+8.360426500000000000e+06j)
|
||||
(8.357830000000000000e+06+8.360061000000000000e+06j)
|
||||
(8.357754000000000000e+06+8.360391500000000000e+06j)
|
||||
(8.357707500000000000e+06+8.360680500000000000e+06j)
|
||||
(8.358126500000000000e+06+8.360801000000000000e+06j)
|
||||
(8.357967500000000000e+06+8.360670500000000000e+06j)
|
||||
(8.357925500000000000e+06+8.360407500000000000e+06j)
|
||||
(8.358146500000000000e+06+8.360712500000000000e+06j)
|
||||
(8.358280500000000000e+06+8.360684000000000000e+06j)
|
||||
(8.358224500000000000e+06+8.360634500000000000e+06j)
|
||||
(8.358232500000000000e+06+8.360545500000000000e+06j)
|
||||
(8.358117500000000000e+06+8.360564000000000000e+06j)
|
||||
(8.358337000000000000e+06+8.360801000000000000e+06j)
|
||||
(8.358212000000000000e+06+8.360774500000000000e+06j)
|
||||
(8.358179500000000000e+06+8.360812500000000000e+06j)
|
||||
(8.358236000000000000e+06+8.360805500000000000e+06j)
|
||||
(8.358547500000000000e+06+8.360912500000000000e+06j)
|
||||
(8.358509000000000000e+06+8.360860000000000000e+06j)
|
||||
(8.358427000000000000e+06+8.361074000000000000e+06j)
|
||||
(8.358734000000000000e+06+8.361315000000000000e+06j)
|
||||
(8.359037500000000000e+06+8.361382000000000000e+06j)
|
||||
(8.358759000000000000e+06+8.361304000000000000e+06j)
|
||||
(8.358816000000000000e+06+8.361136500000000000e+06j)
|
||||
(8.359130000000000000e+06+8.361198500000000000e+06j)
|
||||
(8.359015500000000000e+06+8.361644500000000000e+06j)
|
||||
(8.359108500000000000e+06+8.361160000000000000e+06j)
|
||||
(8.358728000000000000e+06+8.361256000000000000e+06j)
|
||||
(8.358898500000000000e+06+8.361231000000000000e+06j)
|
||||
(8.359065500000000000e+06+8.361460000000000000e+06j)
|
||||
(8.359322500000000000e+06+8.361362000000000000e+06j)
|
||||
(8.359080500000000000e+06+8.361593500000000000e+06j)
|
||||
(8.359302000000000000e+06+8.361546000000000000e+06j)
|
||||
(8.359139000000000000e+06+8.361634500000000000e+06j)
|
||||
(8.359262000000000000e+06+8.361448000000000000e+06j)
|
||||
(8.359216000000000000e+06+8.361412000000000000e+06j)
|
||||
(8.359505500000000000e+06+8.361435000000000000e+06j)
|
||||
(8.359447500000000000e+06+8.361529000000000000e+06j)
|
||||
(8.359481500000000000e+06+8.361612500000000000e+06j)
|
||||
(8.359483500000000000e+06+8.361833000000000000e+06j)
|
||||
(8.359418500000000000e+06+8.361650500000000000e+06j)
|
||||
(8.359771000000000000e+06+8.362031000000000000e+06j)
|
||||
(8.359656500000000000e+06+8.361778500000000000e+06j)
|
||||
(8.359521500000000000e+06+8.361841500000000000e+06j)
|
||||
(8.359731500000000000e+06+8.361932500000000000e+06j)
|
||||
(8.359556500000000000e+06+8.362038500000000000e+06j)
|
||||
(8.360103500000000000e+06+8.362117500000000000e+06j)
|
||||
(8.359785000000000000e+06+8.362110500000000000e+06j)
|
||||
(8.359576000000000000e+06+8.362230000000000000e+06j)
|
||||
(8.359834000000000000e+06+8.362033500000000000e+06j)
|
||||
(8.360023000000000000e+06+8.362154500000000000e+06j)
|
||||
(8.360301000000000000e+06+8.362223500000000000e+06j)
|
||||
(8.359927000000000000e+06+8.362106000000000000e+06j)
|
||||
(8.360215500000000000e+06+8.362148000000000000e+06j)
|
||||
(8.360263000000000000e+06+8.362264500000000000e+06j)
|
||||
(8.360263000000000000e+06+8.362399500000000000e+06j)
|
||||
(8.360319500000000000e+06+8.362266500000000000e+06j)
|
||||
(8.360607000000000000e+06+8.362167500000000000e+06j)
|
||||
(8.360294000000000000e+06+8.362161500000000000e+06j)
|
||||
(8.360378500000000000e+06+8.362484500000000000e+06j)
|
||||
(8.360769000000000000e+06+8.362385000000000000e+06j)
|
||||
(8.360491500000000000e+06+8.362623000000000000e+06j)
|
||||
(8.360300500000000000e+06+8.362328500000000000e+06j)
|
||||
(8.360927000000000000e+06+8.362365500000000000e+06j)
|
||||
(8.360711000000000000e+06+8.362666000000000000e+06j)
|
||||
(8.360823500000000000e+06+8.362705000000000000e+06j)
|
||||
(8.360527000000000000e+06+8.362968000000000000e+06j)
|
||||
(8.360676500000000000e+06+8.362999000000000000e+06j)
|
||||
(8.360493000000000000e+06+8.362632500000000000e+06j)
|
||||
(8.360724000000000000e+06+8.363023000000000000e+06j)
|
||||
(8.360616500000000000e+06+8.362785000000000000e+06j)
|
||||
(8.361081000000000000e+06+8.362864500000000000e+06j)
|
||||
(8.360916000000000000e+06+8.362723500000000000e+06j)
|
||||
(8.361013500000000000e+06+8.363015500000000000e+06j)
|
||||
(8.361131000000000000e+06+8.363050000000000000e+06j)
|
||||
(8.360938500000000000e+06+8.363280000000000000e+06j)
|
||||
(8.361671500000000000e+06+8.363168000000000000e+06j)
|
||||
(8.361575500000000000e+06+8.363243000000000000e+06j)
|
||||
(8.361553000000000000e+06+8.363277500000000000e+06j)
|
||||
(8.361483000000000000e+06+8.363483000000000000e+06j)
|
||||
(8.361594500000000000e+06+8.363559500000000000e+06j)
|
||||
(8.361495000000000000e+06+8.363281000000000000e+06j)
|
||||
(8.361554000000000000e+06+8.363359500000000000e+06j)
|
||||
(8.361603000000000000e+06+8.363270000000000000e+06j)
|
||||
(8.361646500000000000e+06+8.363337500000000000e+06j)
|
||||
(8.361925000000000000e+06+8.363434000000000000e+06j)
|
||||
(8.361486500000000000e+06+8.363402000000000000e+06j)
|
||||
(8.362111500000000000e+06+8.363725000000000000e+06j)
|
||||
(8.362101500000000000e+06+8.364128000000000000e+06j)
|
||||
(8.361590000000000000e+06+8.363848000000000000e+06j)
|
||||
(8.362237000000000000e+06+8.363701000000000000e+06j)
|
||||
(8.361791000000000000e+06+8.363717500000000000e+06j)
|
||||
(8.362275000000000000e+06+8.363746500000000000e+06j)
|
||||
(8.362148000000000000e+06+8.363805000000000000e+06j)
|
||||
(8.362214000000000000e+06+8.364109000000000000e+06j)
|
||||
(8.362264500000000000e+06+8.364100500000000000e+06j)
|
||||
(8.362468500000000000e+06+8.363959500000000000e+06j)
|
||||
(8.362481000000000000e+06+8.364176500000000000e+06j)
|
||||
(8.362404500000000000e+06+8.364112000000000000e+06j)
|
||||
(8.362494500000000000e+06+8.364413000000000000e+06j)
|
||||
(8.362447000000000000e+06+8.364366500000000000e+06j)
|
||||
(8.362642500000000000e+06+8.364388500000000000e+06j)
|
||||
(8.362428000000000000e+06+8.364134500000000000e+06j)
|
||||
(8.362832500000000000e+06+8.364109500000000000e+06j)
|
||||
(8.362847000000000000e+06+8.364258500000000000e+06j)
|
||||
(8.362710000000000000e+06+8.364445000000000000e+06j)
|
||||
(8.363054000000000000e+06+8.364600000000000000e+06j)
|
||||
(8.362973500000000000e+06+8.364582000000000000e+06j)
|
||||
(8.362947500000000000e+06+8.364678500000000000e+06j)
|
||||
(8.363079000000000000e+06+8.364663000000000000e+06j)
|
||||
(8.362890000000000000e+06+8.364480500000000000e+06j)
|
||||
(8.362941500000000000e+06+8.364564000000000000e+06j)
|
||||
(8.362806500000000000e+06+8.364567500000000000e+06j)
|
||||
(8.363075000000000000e+06+8.364704000000000000e+06j)
|
||||
(8.363314500000000000e+06+8.365005500000000000e+06j)
|
||||
(8.363296000000000000e+06+8.364863000000000000e+06j)
|
||||
(8.363705500000000000e+06+8.364962000000000000e+06j)
|
||||
(8.363393000000000000e+06+8.365013500000000000e+06j)
|
||||
(8.363610500000000000e+06+8.365184000000000000e+06j)
|
||||
(8.363336000000000000e+06+8.365232000000000000e+06j)
|
||||
(8.363727500000000000e+06+8.365057000000000000e+06j)
|
||||
(8.363583000000000000e+06+8.365205500000000000e+06j)
|
||||
512
frappy_psi/network_analysers/mRS/short.txt
Normal file
512
frappy_psi/network_analysers/mRS/short.txt
Normal file
@@ -0,0 +1,512 @@
|
||||
(8.385667000000000000e+06+8.384307500000000000e+06j)
|
||||
(8.385636500000000000e+06+8.383965500000000000e+06j)
|
||||
(8.385790500000000000e+06+8.384234500000000000e+06j)
|
||||
(8.385286500000000000e+06+8.384065500000000000e+06j)
|
||||
(8.385371000000000000e+06+8.383834500000000000e+06j)
|
||||
(8.385634000000000000e+06+8.383886500000000000e+06j)
|
||||
(8.399140500000000000e+06+8.400726500000000000e+06j)
|
||||
(8.397174000000000000e+06+8.397423000000000000e+06j)
|
||||
(8.395836000000000000e+06+8.396709500000000000e+06j)
|
||||
(8.395416000000000000e+06+8.396093500000000000e+06j)
|
||||
(8.394981500000000000e+06+8.395751000000000000e+06j)
|
||||
(8.395058500000000000e+06+8.395818500000000000e+06j)
|
||||
(8.394843000000000000e+06+8.395904500000000000e+06j)
|
||||
(8.395118000000000000e+06+8.395530000000000000e+06j)
|
||||
(8.395054500000000000e+06+8.395711500000000000e+06j)
|
||||
(8.395172500000000000e+06+8.395394000000000000e+06j)
|
||||
(8.395146000000000000e+06+8.395875000000000000e+06j)
|
||||
(8.395212500000000000e+06+8.395734000000000000e+06j)
|
||||
(8.395040000000000000e+06+8.395668500000000000e+06j)
|
||||
(8.395521000000000000e+06+8.395597500000000000e+06j)
|
||||
(8.395414500000000000e+06+8.395610000000000000e+06j)
|
||||
(8.395087000000000000e+06+8.395914000000000000e+06j)
|
||||
(8.395189000000000000e+06+8.395755000000000000e+06j)
|
||||
(8.395198500000000000e+06+8.395594000000000000e+06j)
|
||||
(8.395250000000000000e+06+8.395684500000000000e+06j)
|
||||
(8.395252500000000000e+06+8.395604000000000000e+06j)
|
||||
(8.395474000000000000e+06+8.396010000000000000e+06j)
|
||||
(8.395257000000000000e+06+8.395914000000000000e+06j)
|
||||
(8.395637000000000000e+06+8.396055500000000000e+06j)
|
||||
(8.395429500000000000e+06+8.396156500000000000e+06j)
|
||||
(8.395295000000000000e+06+8.395638000000000000e+06j)
|
||||
(8.395339000000000000e+06+8.396107500000000000e+06j)
|
||||
(8.395497500000000000e+06+8.395815000000000000e+06j)
|
||||
(8.395572000000000000e+06+8.396204500000000000e+06j)
|
||||
(8.395621000000000000e+06+8.395741000000000000e+06j)
|
||||
(8.395588000000000000e+06+8.395658000000000000e+06j)
|
||||
(8.395571000000000000e+06+8.395923500000000000e+06j)
|
||||
(8.395569000000000000e+06+8.395976000000000000e+06j)
|
||||
(8.395427500000000000e+06+8.395962000000000000e+06j)
|
||||
(8.395463000000000000e+06+8.396254500000000000e+06j)
|
||||
(8.395696000000000000e+06+8.395941000000000000e+06j)
|
||||
(8.395356000000000000e+06+8.395756000000000000e+06j)
|
||||
(8.395645000000000000e+06+8.396018500000000000e+06j)
|
||||
(8.395837500000000000e+06+8.396121000000000000e+06j)
|
||||
(8.395609000000000000e+06+8.396417000000000000e+06j)
|
||||
(8.395586000000000000e+06+8.396093000000000000e+06j)
|
||||
(8.395452000000000000e+06+8.396341500000000000e+06j)
|
||||
(8.395841500000000000e+06+8.395961500000000000e+06j)
|
||||
(8.395813500000000000e+06+8.396154000000000000e+06j)
|
||||
(8.395686500000000000e+06+8.396429000000000000e+06j)
|
||||
(8.395560000000000000e+06+8.396047000000000000e+06j)
|
||||
(8.395921500000000000e+06+8.396279500000000000e+06j)
|
||||
(8.395718500000000000e+06+8.396111000000000000e+06j)
|
||||
(8.395761500000000000e+06+8.395715000000000000e+06j)
|
||||
(8.395951000000000000e+06+8.396298000000000000e+06j)
|
||||
(8.395848000000000000e+06+8.396028500000000000e+06j)
|
||||
(8.395736000000000000e+06+8.396124500000000000e+06j)
|
||||
(8.395876500000000000e+06+8.396254500000000000e+06j)
|
||||
(8.395787000000000000e+06+8.396103000000000000e+06j)
|
||||
(8.395863500000000000e+06+8.396129500000000000e+06j)
|
||||
(8.395969000000000000e+06+8.396246500000000000e+06j)
|
||||
(8.396178000000000000e+06+8.396184500000000000e+06j)
|
||||
(8.395832000000000000e+06+8.396177000000000000e+06j)
|
||||
(8.395908500000000000e+06+8.396461000000000000e+06j)
|
||||
(8.395947000000000000e+06+8.396416000000000000e+06j)
|
||||
(8.395815000000000000e+06+8.396041500000000000e+06j)
|
||||
(8.396048500000000000e+06+8.396078500000000000e+06j)
|
||||
(8.395978500000000000e+06+8.396455000000000000e+06j)
|
||||
(8.396176500000000000e+06+8.396419000000000000e+06j)
|
||||
(8.396197000000000000e+06+8.396073000000000000e+06j)
|
||||
(8.396211000000000000e+06+8.396405000000000000e+06j)
|
||||
(8.396332000000000000e+06+8.396708000000000000e+06j)
|
||||
(8.396247500000000000e+06+8.396729500000000000e+06j)
|
||||
(8.396303000000000000e+06+8.396311000000000000e+06j)
|
||||
(8.396235500000000000e+06+8.396432500000000000e+06j)
|
||||
(8.396176500000000000e+06+8.396452500000000000e+06j)
|
||||
(8.396445000000000000e+06+8.396832500000000000e+06j)
|
||||
(8.396296500000000000e+06+8.396452500000000000e+06j)
|
||||
(8.396640500000000000e+06+8.396450500000000000e+06j)
|
||||
(8.396556000000000000e+06+8.396796500000000000e+06j)
|
||||
(8.396642000000000000e+06+8.396397000000000000e+06j)
|
||||
(8.396336000000000000e+06+8.396562500000000000e+06j)
|
||||
(8.396363000000000000e+06+8.396423500000000000e+06j)
|
||||
(8.396236000000000000e+06+8.396481000000000000e+06j)
|
||||
(8.396368500000000000e+06+8.396635500000000000e+06j)
|
||||
(8.396471500000000000e+06+8.396847500000000000e+06j)
|
||||
(8.396162000000000000e+06+8.396555000000000000e+06j)
|
||||
(8.396430500000000000e+06+8.396504000000000000e+06j)
|
||||
(8.396503000000000000e+06+8.396966000000000000e+06j)
|
||||
(8.396334500000000000e+06+8.396440500000000000e+06j)
|
||||
(8.396709500000000000e+06+8.396671500000000000e+06j)
|
||||
(8.396899500000000000e+06+8.396954000000000000e+06j)
|
||||
(8.396808000000000000e+06+8.396875000000000000e+06j)
|
||||
(8.396648500000000000e+06+8.396694000000000000e+06j)
|
||||
(8.396850000000000000e+06+8.396807500000000000e+06j)
|
||||
(8.396889500000000000e+06+8.397189000000000000e+06j)
|
||||
(8.396816500000000000e+06+8.397160500000000000e+06j)
|
||||
(8.396759000000000000e+06+8.396997500000000000e+06j)
|
||||
(8.396771000000000000e+06+8.397231000000000000e+06j)
|
||||
(8.396772500000000000e+06+8.397023000000000000e+06j)
|
||||
(8.396985000000000000e+06+8.397185500000000000e+06j)
|
||||
(8.396998500000000000e+06+8.397255000000000000e+06j)
|
||||
(8.397182500000000000e+06+8.396889500000000000e+06j)
|
||||
(8.397074500000000000e+06+8.397141000000000000e+06j)
|
||||
(8.397148500000000000e+06+8.397360500000000000e+06j)
|
||||
(8.397393000000000000e+06+8.397193000000000000e+06j)
|
||||
(8.397238500000000000e+06+8.397328500000000000e+06j)
|
||||
(8.397241000000000000e+06+8.397169000000000000e+06j)
|
||||
(8.397159000000000000e+06+8.397606000000000000e+06j)
|
||||
(8.397243000000000000e+06+8.397550500000000000e+06j)
|
||||
(8.397365000000000000e+06+8.397437000000000000e+06j)
|
||||
(8.397485500000000000e+06+8.397441000000000000e+06j)
|
||||
(8.397380000000000000e+06+8.397509000000000000e+06j)
|
||||
(8.397639000000000000e+06+8.397717000000000000e+06j)
|
||||
(8.397759000000000000e+06+8.397882000000000000e+06j)
|
||||
(8.397681000000000000e+06+8.397790500000000000e+06j)
|
||||
(8.397782000000000000e+06+8.397981500000000000e+06j)
|
||||
(8.397811500000000000e+06+8.398170500000000000e+06j)
|
||||
(8.398046000000000000e+06+8.398516500000000000e+06j)
|
||||
(8.397892500000000000e+06+8.398110500000000000e+06j)
|
||||
(8.398301000000000000e+06+8.398166000000000000e+06j)
|
||||
(8.398386500000000000e+06+8.398215000000000000e+06j)
|
||||
(8.398181500000000000e+06+8.398182500000000000e+06j)
|
||||
(8.398467000000000000e+06+8.398309000000000000e+06j)
|
||||
(8.398555500000000000e+06+8.398632500000000000e+06j)
|
||||
(8.398604000000000000e+06+8.398818000000000000e+06j)
|
||||
(8.398328000000000000e+06+8.398630500000000000e+06j)
|
||||
(8.398661500000000000e+06+8.398766500000000000e+06j)
|
||||
(8.398551500000000000e+06+8.398653000000000000e+06j)
|
||||
(8.398731000000000000e+06+8.398595000000000000e+06j)
|
||||
(8.399063000000000000e+06+8.398526500000000000e+06j)
|
||||
(8.398811500000000000e+06+8.398762500000000000e+06j)
|
||||
(8.399057500000000000e+06+8.398865000000000000e+06j)
|
||||
(8.399263500000000000e+06+8.399098000000000000e+06j)
|
||||
(8.399199000000000000e+06+8.399001500000000000e+06j)
|
||||
(8.399187000000000000e+06+8.399206000000000000e+06j)
|
||||
(8.399470500000000000e+06+8.398995000000000000e+06j)
|
||||
(8.399542000000000000e+06+8.399119000000000000e+06j)
|
||||
(8.399272500000000000e+06+8.399335500000000000e+06j)
|
||||
(8.399459500000000000e+06+8.399404000000000000e+06j)
|
||||
(8.399563000000000000e+06+8.399334500000000000e+06j)
|
||||
(8.399296500000000000e+06+8.399319500000000000e+06j)
|
||||
(8.399390500000000000e+06+8.399391000000000000e+06j)
|
||||
(8.399365000000000000e+06+8.399060000000000000e+06j)
|
||||
(8.399365000000000000e+06+8.399208000000000000e+06j)
|
||||
(8.399413500000000000e+06+8.398997000000000000e+06j)
|
||||
(8.399731000000000000e+06+8.399115500000000000e+06j)
|
||||
(8.399357500000000000e+06+8.399415000000000000e+06j)
|
||||
(8.399317500000000000e+06+8.399244000000000000e+06j)
|
||||
(8.399074500000000000e+06+8.399319500000000000e+06j)
|
||||
(8.398957000000000000e+06+8.399221000000000000e+06j)
|
||||
(8.399023500000000000e+06+8.398615000000000000e+06j)
|
||||
(8.398738000000000000e+06+8.398931500000000000e+06j)
|
||||
(8.398793500000000000e+06+8.398579000000000000e+06j)
|
||||
(8.398502000000000000e+06+8.398284000000000000e+06j)
|
||||
(8.398380000000000000e+06+8.398319500000000000e+06j)
|
||||
(8.398317000000000000e+06+8.398223500000000000e+06j)
|
||||
(8.398336500000000000e+06+8.398139500000000000e+06j)
|
||||
(8.398256000000000000e+06+8.397987500000000000e+06j)
|
||||
(8.397990500000000000e+06+8.397907500000000000e+06j)
|
||||
(8.397970500000000000e+06+8.397661000000000000e+06j)
|
||||
(8.397727500000000000e+06+8.397881000000000000e+06j)
|
||||
(8.397686000000000000e+06+8.397289000000000000e+06j)
|
||||
(8.397473000000000000e+06+8.397194000000000000e+06j)
|
||||
(8.397243500000000000e+06+8.397239000000000000e+06j)
|
||||
(8.397064500000000000e+06+8.396977500000000000e+06j)
|
||||
(8.396965000000000000e+06+8.396686000000000000e+06j)
|
||||
(8.397255500000000000e+06+8.396922000000000000e+06j)
|
||||
(8.396775000000000000e+06+8.396572500000000000e+06j)
|
||||
(8.396783000000000000e+06+8.396595500000000000e+06j)
|
||||
(8.396958000000000000e+06+8.396425000000000000e+06j)
|
||||
(8.396695000000000000e+06+8.396348000000000000e+06j)
|
||||
(8.396515500000000000e+06+8.396301500000000000e+06j)
|
||||
(8.396361500000000000e+06+8.396590000000000000e+06j)
|
||||
(8.396288500000000000e+06+8.396021000000000000e+06j)
|
||||
(8.396401000000000000e+06+8.395978000000000000e+06j)
|
||||
(8.396043000000000000e+06+8.395744000000000000e+06j)
|
||||
(8.396111000000000000e+06+8.396230500000000000e+06j)
|
||||
(8.396214000000000000e+06+8.395743500000000000e+06j)
|
||||
(8.395986000000000000e+06+8.395950000000000000e+06j)
|
||||
(8.395854000000000000e+06+8.395805000000000000e+06j)
|
||||
(8.395685000000000000e+06+8.395310500000000000e+06j)
|
||||
(8.395567000000000000e+06+8.395366000000000000e+06j)
|
||||
(8.395502500000000000e+06+8.395337500000000000e+06j)
|
||||
(8.395268500000000000e+06+8.395121000000000000e+06j)
|
||||
(8.395241000000000000e+06+8.394993000000000000e+06j)
|
||||
(8.395152000000000000e+06+8.395186000000000000e+06j)
|
||||
(8.395170500000000000e+06+8.394755000000000000e+06j)
|
||||
(8.395093000000000000e+06+8.395001500000000000e+06j)
|
||||
(8.395064000000000000e+06+8.395015500000000000e+06j)
|
||||
(8.395185000000000000e+06+8.394729500000000000e+06j)
|
||||
(8.394882500000000000e+06+8.394444000000000000e+06j)
|
||||
(8.394670500000000000e+06+8.394234000000000000e+06j)
|
||||
(8.394511000000000000e+06+8.394110000000000000e+06j)
|
||||
(8.394464500000000000e+06+8.394287000000000000e+06j)
|
||||
(8.394173000000000000e+06+8.394577500000000000e+06j)
|
||||
(8.394518500000000000e+06+8.394019000000000000e+06j)
|
||||
(8.394236500000000000e+06+8.394119500000000000e+06j)
|
||||
(8.394394000000000000e+06+8.394069500000000000e+06j)
|
||||
(8.394666000000000000e+06+8.393757000000000000e+06j)
|
||||
(8.394421500000000000e+06+8.394270500000000000e+06j)
|
||||
(8.394041000000000000e+06+8.393837500000000000e+06j)
|
||||
(8.393869500000000000e+06+8.393718000000000000e+06j)
|
||||
(8.393931000000000000e+06+8.393752500000000000e+06j)
|
||||
(8.393983000000000000e+06+8.393306000000000000e+06j)
|
||||
(8.394060500000000000e+06+8.393546000000000000e+06j)
|
||||
(8.393488000000000000e+06+8.393438000000000000e+06j)
|
||||
(8.393584000000000000e+06+8.393560500000000000e+06j)
|
||||
(8.393759500000000000e+06+8.393198000000000000e+06j)
|
||||
(8.393413000000000000e+06+8.393231000000000000e+06j)
|
||||
(8.393289000000000000e+06+8.393200000000000000e+06j)
|
||||
(8.393595000000000000e+06+8.393265000000000000e+06j)
|
||||
(8.393325000000000000e+06+8.393077500000000000e+06j)
|
||||
(8.393346000000000000e+06+8.392879500000000000e+06j)
|
||||
(8.393201000000000000e+06+8.392959000000000000e+06j)
|
||||
(8.393423500000000000e+06+8.393239000000000000e+06j)
|
||||
(8.393318500000000000e+06+8.393290500000000000e+06j)
|
||||
(8.393183000000000000e+06+8.393101000000000000e+06j)
|
||||
(8.393185000000000000e+06+8.393199000000000000e+06j)
|
||||
(8.393416500000000000e+06+8.393047000000000000e+06j)
|
||||
(8.393276500000000000e+06+8.393075500000000000e+06j)
|
||||
(8.392810500000000000e+06+8.392877500000000000e+06j)
|
||||
(8.393088500000000000e+06+8.392893000000000000e+06j)
|
||||
(8.393100000000000000e+06+8.392807500000000000e+06j)
|
||||
(8.393488500000000000e+06+8.392777500000000000e+06j)
|
||||
(8.393497000000000000e+06+8.393050000000000000e+06j)
|
||||
(8.393366500000000000e+06+8.392763000000000000e+06j)
|
||||
(8.393268000000000000e+06+8.392913000000000000e+06j)
|
||||
(8.393269500000000000e+06+8.392641500000000000e+06j)
|
||||
(8.393355500000000000e+06+8.392841000000000000e+06j)
|
||||
(8.393471000000000000e+06+8.393044000000000000e+06j)
|
||||
(8.393233000000000000e+06+8.392791000000000000e+06j)
|
||||
(8.393588000000000000e+06+8.392706500000000000e+06j)
|
||||
(8.393249000000000000e+06+8.392891500000000000e+06j)
|
||||
(8.393544500000000000e+06+8.392775000000000000e+06j)
|
||||
(8.393478000000000000e+06+8.393101000000000000e+06j)
|
||||
(8.393605000000000000e+06+8.392981000000000000e+06j)
|
||||
(8.393534000000000000e+06+8.393194000000000000e+06j)
|
||||
(8.393461500000000000e+06+8.393132500000000000e+06j)
|
||||
(8.393543500000000000e+06+8.393149000000000000e+06j)
|
||||
(8.393254500000000000e+06+8.392959500000000000e+06j)
|
||||
(8.393546500000000000e+06+8.392912000000000000e+06j)
|
||||
(8.393279500000000000e+06+8.392944000000000000e+06j)
|
||||
(8.393579500000000000e+06+8.392974500000000000e+06j)
|
||||
(8.393264500000000000e+06+8.393242000000000000e+06j)
|
||||
(8.393417500000000000e+06+8.393322500000000000e+06j)
|
||||
(8.393644000000000000e+06+8.393299500000000000e+06j)
|
||||
(8.393462500000000000e+06+8.393153000000000000e+06j)
|
||||
(8.393410000000000000e+06+8.393070500000000000e+06j)
|
||||
(8.393798000000000000e+06+8.393173000000000000e+06j)
|
||||
(8.393551500000000000e+06+8.393332500000000000e+06j)
|
||||
(8.393685000000000000e+06+8.392890500000000000e+06j)
|
||||
(8.393504000000000000e+06+8.392762000000000000e+06j)
|
||||
(8.393403500000000000e+06+8.392908500000000000e+06j)
|
||||
(8.393350000000000000e+06+8.393318500000000000e+06j)
|
||||
(8.393448500000000000e+06+8.393053000000000000e+06j)
|
||||
(8.393186500000000000e+06+8.393019500000000000e+06j)
|
||||
(8.393570500000000000e+06+8.392983000000000000e+06j)
|
||||
(8.393539500000000000e+06+8.392957000000000000e+06j)
|
||||
(8.393754000000000000e+06+8.393165000000000000e+06j)
|
||||
(8.393721000000000000e+06+8.393209500000000000e+06j)
|
||||
(8.393583000000000000e+06+8.392959500000000000e+06j)
|
||||
(8.393572000000000000e+06+8.393372500000000000e+06j)
|
||||
(8.393566500000000000e+06+8.393085500000000000e+06j)
|
||||
(8.393619500000000000e+06+8.392952500000000000e+06j)
|
||||
(8.393537500000000000e+06+8.392817000000000000e+06j)
|
||||
(8.393724500000000000e+06+8.393247500000000000e+06j)
|
||||
(8.393776000000000000e+06+8.392905000000000000e+06j)
|
||||
(8.393706000000000000e+06+8.393108500000000000e+06j)
|
||||
(8.393490500000000000e+06+8.393329000000000000e+06j)
|
||||
(8.393641000000000000e+06+8.392889000000000000e+06j)
|
||||
(8.393774000000000000e+06+8.393136500000000000e+06j)
|
||||
(8.393574500000000000e+06+8.393034000000000000e+06j)
|
||||
(8.393943500000000000e+06+8.392873000000000000e+06j)
|
||||
(8.393428000000000000e+06+8.392889500000000000e+06j)
|
||||
(8.393530000000000000e+06+8.392745000000000000e+06j)
|
||||
(8.393472500000000000e+06+8.392758000000000000e+06j)
|
||||
(8.393109500000000000e+06+8.392884000000000000e+06j)
|
||||
(8.393313000000000000e+06+8.393074000000000000e+06j)
|
||||
(8.393712500000000000e+06+8.392796000000000000e+06j)
|
||||
(8.393769000000000000e+06+8.393095000000000000e+06j)
|
||||
(8.393493000000000000e+06+8.392645000000000000e+06j)
|
||||
(8.393620000000000000e+06+8.393015500000000000e+06j)
|
||||
(8.393406500000000000e+06+8.392953500000000000e+06j)
|
||||
(8.393428500000000000e+06+8.392560000000000000e+06j)
|
||||
(8.393236000000000000e+06+8.392521000000000000e+06j)
|
||||
(8.393196500000000000e+06+8.392476000000000000e+06j)
|
||||
(8.393324500000000000e+06+8.392707000000000000e+06j)
|
||||
(8.393389000000000000e+06+8.392780500000000000e+06j)
|
||||
(8.393291000000000000e+06+8.392574000000000000e+06j)
|
||||
(8.393402500000000000e+06+8.392778500000000000e+06j)
|
||||
(8.393213000000000000e+06+8.392492000000000000e+06j)
|
||||
(8.393144000000000000e+06+8.392548000000000000e+06j)
|
||||
(8.393182500000000000e+06+8.392488000000000000e+06j)
|
||||
(8.392954000000000000e+06+8.392678000000000000e+06j)
|
||||
(8.393091500000000000e+06+8.392505500000000000e+06j)
|
||||
(8.393219500000000000e+06+8.392049500000000000e+06j)
|
||||
(8.393152000000000000e+06+8.392668500000000000e+06j)
|
||||
(8.393195000000000000e+06+8.392571000000000000e+06j)
|
||||
(8.392995000000000000e+06+8.392478500000000000e+06j)
|
||||
(8.393010500000000000e+06+8.392656000000000000e+06j)
|
||||
(8.392847000000000000e+06+8.392315000000000000e+06j)
|
||||
(8.393265000000000000e+06+8.392568500000000000e+06j)
|
||||
(8.393313000000000000e+06+8.392590500000000000e+06j)
|
||||
(8.393040000000000000e+06+8.392435000000000000e+06j)
|
||||
(8.393110500000000000e+06+8.392488500000000000e+06j)
|
||||
(8.392996000000000000e+06+8.392488000000000000e+06j)
|
||||
(8.393539500000000000e+06+8.392262500000000000e+06j)
|
||||
(8.393002500000000000e+06+8.392364500000000000e+06j)
|
||||
(8.393073500000000000e+06+8.392408500000000000e+06j)
|
||||
(8.393048500000000000e+06+8.392302500000000000e+06j)
|
||||
(8.393101500000000000e+06+8.392325000000000000e+06j)
|
||||
(8.393257500000000000e+06+8.392431000000000000e+06j)
|
||||
(8.392907500000000000e+06+8.392077000000000000e+06j)
|
||||
(8.392962500000000000e+06+8.392211500000000000e+06j)
|
||||
(8.393260500000000000e+06+8.392183000000000000e+06j)
|
||||
(8.393190500000000000e+06+8.392197000000000000e+06j)
|
||||
(8.392742500000000000e+06+8.391771500000000000e+06j)
|
||||
(8.392888500000000000e+06+8.392176500000000000e+06j)
|
||||
(8.392710500000000000e+06+8.392084500000000000e+06j)
|
||||
(8.392818000000000000e+06+8.391851000000000000e+06j)
|
||||
(8.392707000000000000e+06+8.391993000000000000e+06j)
|
||||
(8.392725500000000000e+06+8.391786500000000000e+06j)
|
||||
(8.392507000000000000e+06+8.391816000000000000e+06j)
|
||||
(8.392743000000000000e+06+8.391983500000000000e+06j)
|
||||
(8.392775000000000000e+06+8.391692500000000000e+06j)
|
||||
(8.392431000000000000e+06+8.391745000000000000e+06j)
|
||||
(8.392321000000000000e+06+8.391532000000000000e+06j)
|
||||
(8.392477500000000000e+06+8.391836500000000000e+06j)
|
||||
(8.392244500000000000e+06+8.391534500000000000e+06j)
|
||||
(8.392471500000000000e+06+8.391745500000000000e+06j)
|
||||
(8.392315500000000000e+06+8.391718500000000000e+06j)
|
||||
(8.392443500000000000e+06+8.391551000000000000e+06j)
|
||||
(8.392470500000000000e+06+8.391403000000000000e+06j)
|
||||
(8.392113500000000000e+06+8.391120500000000000e+06j)
|
||||
(8.392165500000000000e+06+8.391288500000000000e+06j)
|
||||
(8.391993500000000000e+06+8.391251000000000000e+06j)
|
||||
(8.392065500000000000e+06+8.391225500000000000e+06j)
|
||||
(8.392160500000000000e+06+8.391071000000000000e+06j)
|
||||
(8.392016500000000000e+06+8.391615000000000000e+06j)
|
||||
(8.392045500000000000e+06+8.390976500000000000e+06j)
|
||||
(8.391875000000000000e+06+8.391109000000000000e+06j)
|
||||
(8.391832500000000000e+06+8.390903000000000000e+06j)
|
||||
(8.391799500000000000e+06+8.391308000000000000e+06j)
|
||||
(8.391937500000000000e+06+8.390740000000000000e+06j)
|
||||
(8.391732000000000000e+06+8.390921000000000000e+06j)
|
||||
(8.391814000000000000e+06+8.390930000000000000e+06j)
|
||||
(8.391899500000000000e+06+8.390844000000000000e+06j)
|
||||
(8.391498000000000000e+06+8.390973500000000000e+06j)
|
||||
(8.392123500000000000e+06+8.390921000000000000e+06j)
|
||||
(8.391833500000000000e+06+8.390515000000000000e+06j)
|
||||
(8.391984000000000000e+06+8.390999000000000000e+06j)
|
||||
(8.391483500000000000e+06+8.390719500000000000e+06j)
|
||||
(8.391806500000000000e+06+8.390740000000000000e+06j)
|
||||
(8.391654000000000000e+06+8.390854000000000000e+06j)
|
||||
(8.391723000000000000e+06+8.390646500000000000e+06j)
|
||||
(8.391497500000000000e+06+8.390394500000000000e+06j)
|
||||
(8.391567500000000000e+06+8.390652000000000000e+06j)
|
||||
(8.391485500000000000e+06+8.390556000000000000e+06j)
|
||||
(8.391582000000000000e+06+8.390692500000000000e+06j)
|
||||
(8.391370000000000000e+06+8.390141500000000000e+06j)
|
||||
(8.391529000000000000e+06+8.390255000000000000e+06j)
|
||||
(8.391452000000000000e+06+8.390660500000000000e+06j)
|
||||
(8.391648000000000000e+06+8.390581500000000000e+06j)
|
||||
(8.391531500000000000e+06+8.390712500000000000e+06j)
|
||||
(8.391817000000000000e+06+8.390289500000000000e+06j)
|
||||
(8.391420500000000000e+06+8.390414500000000000e+06j)
|
||||
(8.391412500000000000e+06+8.390543500000000000e+06j)
|
||||
(8.391285500000000000e+06+8.390131500000000000e+06j)
|
||||
(8.391549000000000000e+06+8.390230500000000000e+06j)
|
||||
(8.391210500000000000e+06+8.390215500000000000e+06j)
|
||||
(8.391255500000000000e+06+8.390106500000000000e+06j)
|
||||
(8.391070000000000000e+06+8.390260000000000000e+06j)
|
||||
(8.391228000000000000e+06+8.390303000000000000e+06j)
|
||||
(8.390890500000000000e+06+8.390247500000000000e+06j)
|
||||
(8.391171000000000000e+06+8.390213500000000000e+06j)
|
||||
(8.391234000000000000e+06+8.389817000000000000e+06j)
|
||||
(8.390988500000000000e+06+8.389951500000000000e+06j)
|
||||
(8.391196000000000000e+06+8.389607500000000000e+06j)
|
||||
(8.390673500000000000e+06+8.389852000000000000e+06j)
|
||||
(8.390712500000000000e+06+8.389754500000000000e+06j)
|
||||
(8.390610000000000000e+06+8.389778500000000000e+06j)
|
||||
(8.390809500000000000e+06+8.389831000000000000e+06j)
|
||||
(8.390731500000000000e+06+8.389624500000000000e+06j)
|
||||
(8.391127000000000000e+06+8.389613000000000000e+06j)
|
||||
(8.390676000000000000e+06+8.389778000000000000e+06j)
|
||||
(8.390762000000000000e+06+8.389732500000000000e+06j)
|
||||
(8.390574500000000000e+06+8.389346500000000000e+06j)
|
||||
(8.390702000000000000e+06+8.389736500000000000e+06j)
|
||||
(8.390640500000000000e+06+8.389479500000000000e+06j)
|
||||
(8.390443500000000000e+06+8.389715000000000000e+06j)
|
||||
(8.390876000000000000e+06+8.389685500000000000e+06j)
|
||||
(8.390766500000000000e+06+8.389545500000000000e+06j)
|
||||
(8.390612000000000000e+06+8.389520000000000000e+06j)
|
||||
(8.390539500000000000e+06+8.389576500000000000e+06j)
|
||||
(8.390512000000000000e+06+8.389313500000000000e+06j)
|
||||
(8.390385500000000000e+06+8.389224000000000000e+06j)
|
||||
(8.390530000000000000e+06+8.389149500000000000e+06j)
|
||||
(8.390064500000000000e+06+8.389277500000000000e+06j)
|
||||
(8.390132500000000000e+06+8.389273500000000000e+06j)
|
||||
(8.390220000000000000e+06+8.388913500000000000e+06j)
|
||||
(8.390081500000000000e+06+8.389129000000000000e+06j)
|
||||
(8.390235000000000000e+06+8.389152000000000000e+06j)
|
||||
(8.390174000000000000e+06+8.389044500000000000e+06j)
|
||||
(8.389801000000000000e+06+8.388986000000000000e+06j)
|
||||
(8.390000500000000000e+06+8.389149500000000000e+06j)
|
||||
(8.390224000000000000e+06+8.388880000000000000e+06j)
|
||||
(8.389718000000000000e+06+8.389006500000000000e+06j)
|
||||
(8.390161500000000000e+06+8.389077500000000000e+06j)
|
||||
(8.389984000000000000e+06+8.388413500000000000e+06j)
|
||||
(8.389837500000000000e+06+8.388952000000000000e+06j)
|
||||
(8.390120500000000000e+06+8.388709000000000000e+06j)
|
||||
(8.390051500000000000e+06+8.388711000000000000e+06j)
|
||||
(8.390099000000000000e+06+8.388797000000000000e+06j)
|
||||
(8.389775000000000000e+06+8.388617500000000000e+06j)
|
||||
(8.389785500000000000e+06+8.388293500000000000e+06j)
|
||||
(8.389708500000000000e+06+8.388560000000000000e+06j)
|
||||
(8.389902000000000000e+06+8.388612000000000000e+06j)
|
||||
(8.389703000000000000e+06+8.388427000000000000e+06j)
|
||||
(8.389722000000000000e+06+8.388688000000000000e+06j)
|
||||
(8.389742500000000000e+06+8.388382000000000000e+06j)
|
||||
(8.389639500000000000e+06+8.388505500000000000e+06j)
|
||||
(8.390153000000000000e+06+8.388312500000000000e+06j)
|
||||
(8.389495000000000000e+06+8.388356000000000000e+06j)
|
||||
(8.389980000000000000e+06+8.388667000000000000e+06j)
|
||||
(8.389390500000000000e+06+8.388503000000000000e+06j)
|
||||
(8.389341500000000000e+06+8.388218000000000000e+06j)
|
||||
(8.389382000000000000e+06+8.387973000000000000e+06j)
|
||||
(8.389449500000000000e+06+8.388178500000000000e+06j)
|
||||
(8.389468500000000000e+06+8.387971000000000000e+06j)
|
||||
(8.389368500000000000e+06+8.388039500000000000e+06j)
|
||||
(8.389173000000000000e+06+8.387755000000000000e+06j)
|
||||
(8.389378500000000000e+06+8.387974500000000000e+06j)
|
||||
(8.389314500000000000e+06+8.387880000000000000e+06j)
|
||||
(8.389153000000000000e+06+8.387995000000000000e+06j)
|
||||
(8.388979500000000000e+06+8.387798500000000000e+06j)
|
||||
(8.389121000000000000e+06+8.387767500000000000e+06j)
|
||||
(8.389040000000000000e+06+8.387720500000000000e+06j)
|
||||
(8.389135000000000000e+06+8.387620000000000000e+06j)
|
||||
(8.389012500000000000e+06+8.388011500000000000e+06j)
|
||||
(8.388980000000000000e+06+8.387632000000000000e+06j)
|
||||
(8.388964000000000000e+06+8.387583000000000000e+06j)
|
||||
(8.388779000000000000e+06+8.387457500000000000e+06j)
|
||||
(8.388935000000000000e+06+8.387466500000000000e+06j)
|
||||
(8.388629500000000000e+06+8.387498000000000000e+06j)
|
||||
(8.388763500000000000e+06+8.387506500000000000e+06j)
|
||||
(8.389004000000000000e+06+8.387733500000000000e+06j)
|
||||
(8.388627000000000000e+06+8.387525500000000000e+06j)
|
||||
(8.388498500000000000e+06+8.387207500000000000e+06j)
|
||||
(8.388575000000000000e+06+8.387171500000000000e+06j)
|
||||
(8.388183000000000000e+06+8.387255500000000000e+06j)
|
||||
(8.388390000000000000e+06+8.386965000000000000e+06j)
|
||||
(8.388363000000000000e+06+8.386958500000000000e+06j)
|
||||
(8.388193500000000000e+06+8.387068000000000000e+06j)
|
||||
(8.388336500000000000e+06+8.386769500000000000e+06j)
|
||||
(8.388323000000000000e+06+8.387085500000000000e+06j)
|
||||
(8.388039000000000000e+06+8.386946000000000000e+06j)
|
||||
(8.388103000000000000e+06+8.387187500000000000e+06j)
|
||||
(8.388137000000000000e+06+8.386652500000000000e+06j)
|
||||
(8.388015000000000000e+06+8.386750500000000000e+06j)
|
||||
(8.388340000000000000e+06+8.386979000000000000e+06j)
|
||||
(8.388442500000000000e+06+8.386931000000000000e+06j)
|
||||
(8.387821500000000000e+06+8.386628000000000000e+06j)
|
||||
(8.387926500000000000e+06+8.386365000000000000e+06j)
|
||||
(8.387697500000000000e+06+8.386562000000000000e+06j)
|
||||
(8.388090500000000000e+06+8.386393500000000000e+06j)
|
||||
(8.387813000000000000e+06+8.386557500000000000e+06j)
|
||||
(8.387832500000000000e+06+8.386187000000000000e+06j)
|
||||
(8.388003500000000000e+06+8.386421000000000000e+06j)
|
||||
(8.387758000000000000e+06+8.386512000000000000e+06j)
|
||||
(8.387368000000000000e+06+8.386613500000000000e+06j)
|
||||
(8.388145000000000000e+06+8.386433500000000000e+06j)
|
||||
(8.387606500000000000e+06+8.386117000000000000e+06j)
|
||||
(8.387710500000000000e+06+8.386119000000000000e+06j)
|
||||
(8.387440000000000000e+06+8.386229000000000000e+06j)
|
||||
(8.387440000000000000e+06+8.386223500000000000e+06j)
|
||||
(8.387472000000000000e+06+8.385968000000000000e+06j)
|
||||
(8.387494500000000000e+06+8.386050500000000000e+06j)
|
||||
(8.387669000000000000e+06+8.386171000000000000e+06j)
|
||||
(8.387336000000000000e+06+8.385965500000000000e+06j)
|
||||
(8.387462000000000000e+06+8.385955000000000000e+06j)
|
||||
(8.387306500000000000e+06+8.385734000000000000e+06j)
|
||||
(8.387279500000000000e+06+8.385672000000000000e+06j)
|
||||
(8.387227000000000000e+06+8.385553500000000000e+06j)
|
||||
(8.387041500000000000e+06+8.385544000000000000e+06j)
|
||||
(8.387028000000000000e+06+8.385838500000000000e+06j)
|
||||
(8.387087500000000000e+06+8.385639500000000000e+06j)
|
||||
(8.387197000000000000e+06+8.385687000000000000e+06j)
|
||||
(8.387131000000000000e+06+8.385668500000000000e+06j)
|
||||
(8.387356000000000000e+06+8.385775000000000000e+06j)
|
||||
(8.387359000000000000e+06+8.385625000000000000e+06j)
|
||||
(8.386991500000000000e+06+8.385656500000000000e+06j)
|
||||
(8.387146000000000000e+06+8.385554500000000000e+06j)
|
||||
(8.386874500000000000e+06+8.385631000000000000e+06j)
|
||||
(8.386935500000000000e+06+8.385544000000000000e+06j)
|
||||
(8.386813500000000000e+06+8.385385000000000000e+06j)
|
||||
(8.386678500000000000e+06+8.385405000000000000e+06j)
|
||||
(8.386534500000000000e+06+8.385293000000000000e+06j)
|
||||
(8.386517500000000000e+06+8.385638500000000000e+06j)
|
||||
(8.386699500000000000e+06+8.385362000000000000e+06j)
|
||||
(8.386421500000000000e+06+8.385207500000000000e+06j)
|
||||
(8.386783000000000000e+06+8.384978000000000000e+06j)
|
||||
(8.386512500000000000e+06+8.384933000000000000e+06j)
|
||||
(8.386544000000000000e+06+8.385165500000000000e+06j)
|
||||
(8.386627000000000000e+06+8.385115000000000000e+06j)
|
||||
(8.386277000000000000e+06+8.384790500000000000e+06j)
|
||||
(8.386113500000000000e+06+8.384894500000000000e+06j)
|
||||
(8.386580500000000000e+06+8.384664000000000000e+06j)
|
||||
(8.386204500000000000e+06+8.384761000000000000e+06j)
|
||||
(8.386087500000000000e+06+8.384669000000000000e+06j)
|
||||
(8.386153500000000000e+06+8.384801500000000000e+06j)
|
||||
(8.386219000000000000e+06+8.384759500000000000e+06j)
|
||||
@@ -39,7 +39,7 @@ class ProgrammedSequence(fc.Readable):
|
||||
Attributes
|
||||
----------
|
||||
value: an array of complexes representing the TNMR data return (technically inherited from Readable)
|
||||
sequence_data: an array of structs: keys are { 'pulse_width': (width of pulse in us), 'pulse_height': (amplitude of pulse in a.u.), 'delay_time': (delay time in us), 'phase_cycle': (a str denoting a phase cycle, e.g., '0 1 2 3') }
|
||||
sequence_data: an array of structs: keys are { 'pulse_width': (width of pulse in us), 'pulse_height': (amplitude of pulse in percentage - 30 is 30%, 0.3 is 0.3% etc.), 'delay_time': (delay time in us), 'phase_cycle': (a str denoting a phase cycle, e.g., '0 1 2 3') }
|
||||
|
||||
Acquisition Parameters
|
||||
----------------------
|
||||
@@ -77,16 +77,16 @@ class ProgrammedSequence(fc.Readable):
|
||||
|
||||
# basic
|
||||
title = fc.Parameter('title', fc.StringType(), default='Sequence', readonly=False)
|
||||
sequence_data = fc.Parameter('sequence_config', fc.ArrayOf(fc.StructOf(pulse_width=fc.FloatRange(unit='u'),
|
||||
pulse_height=fc.FloatRange(),
|
||||
delay_time=fc.FloatRange(unit='u'),
|
||||
sequence_data = fc.Parameter('sequence_config', fc.ArrayOf(fc.StructOf(pulse_width=fc.FloatRange(unit='usecs'),
|
||||
pulse_height=fc.FloatRange(unit='%'),
|
||||
delay_time=fc.FloatRange(unit='usecs'),
|
||||
phase_cycle=fc.StringType())), default=[], readonly=False)
|
||||
|
||||
# final details
|
||||
acquisition_time = fc.Parameter('acquisition_time', fc.FloatRange(unit='u'), readonly=False, group='sequence_editor', default=204.8) # this is a limit set by the dwell limit and number of acquisition points
|
||||
ringdown_time = fc.Parameter('ringdown_time', fc.FloatRange(unit='u'), readonly=False, group='sequence_editor', default=1)
|
||||
pre_acquisition_time = fc.Parameter('pre_acquisition_time', fc.FloatRange(unit='u'), readonly=False, group='sequence_editor', default=1)
|
||||
post_acquisition_time = fc.Parameter('post_acquisition_time', fc.FloatRange(unit='m'), readonly=False, group='sequence_editor', default=500)
|
||||
acquisition_time = fc.Parameter('acquisition_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=204.8) # this is a limit set by the dwell limit and number of acquisition points
|
||||
ringdown_time = fc.Parameter('ringdown_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=1)
|
||||
pre_acquisition_time = fc.Parameter('pre_acquisition_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=1)
|
||||
post_acquisition_time = fc.Parameter('post_acquisition_time', fc.FloatRange(unit='msecs'), readonly=False, group='sequence_editor', default=500)
|
||||
acq_phase_cycle = fc.Parameter('acq_phase_cycle', fc.StringType(), readonly=False, group='sequence_editor', default='')
|
||||
num_scans = fc.Parameter('num_scans', fc.IntRange(), readonly=False, group='sequence_editor', default=16)
|
||||
obs_freq = fc.Parameter('obs_freq', fc.FloatRange(unit='MHz'), readonly=False, group='sequence_editor', default=213.16)
|
||||
|
||||
132
frappy_psi/uniaxial_cell/RP100.py
Normal file
132
frappy_psi/uniaxial_cell/RP100.py
Normal file
@@ -0,0 +1,132 @@
|
||||
# *****************************************************************************
|
||||
# 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 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, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# Module authors:
|
||||
# Paul M. Neves <pmneves@mit.edu>
|
||||
# *****************************************************************************
|
||||
|
||||
from frappy.core import Readable, Parameter, FloatRange, HasIO, StringIO, Property, IntRange,\
|
||||
IDLE, BUSY, WARN, ERROR, Drivable, BoolType, Attached
|
||||
from ast import literal_eval
|
||||
|
||||
|
||||
class RP100IO(StringIO):
|
||||
"""communication with RP100"""
|
||||
end_of_line = '\n'
|
||||
#wait_before = 0.05
|
||||
identification = [('*IDN?', r'Razorbill,.*')]
|
||||
|
||||
|
||||
class VoltageChannel(HasIO, Drivable):
|
||||
"""a voltage output with loop"""
|
||||
|
||||
temp = Attached('frappy.core.Readable', mandatory=False)
|
||||
|
||||
# define the communication class for automatic creation of the IO module
|
||||
ioClass = RP100IO
|
||||
|
||||
# internal property to configure the channel
|
||||
channel = Property('the voltage channel', datatype=IntRange(1,2))
|
||||
|
||||
# modifying a property of inherited parameters (unit is propagated to the FloatRange datatype)
|
||||
value = Parameter('output voltage', FloatRange(-210, 210, unit='V'),
|
||||
readonly=True)
|
||||
target = Parameter('target voltage', FloatRange(-210, 210, unit='V'),
|
||||
readonly=False)
|
||||
meas_voltage = Parameter('measured output voltage', FloatRange(-250, 250, unit='V'),
|
||||
readonly=True)
|
||||
meas_current = Parameter('measured output current', FloatRange(-0.007, 0.007, unit='A'),
|
||||
readonly=True)
|
||||
max_target = Parameter('max. target', FloatRange(0, 210, unit='V'), readonly=False, default=210)
|
||||
min_target = Parameter('max. target', FloatRange(-210, 0, unit='V'), readonly=False, default=-210)
|
||||
slew_rate = Parameter('voltage slew rate', FloatRange(0.1e-3, 100e3, unit='V/s'), readonly=False, default=1)
|
||||
output_state = Parameter('output on or off', BoolType(), readonly=False)
|
||||
|
||||
def doPoll(self):
|
||||
super().doPoll()
|
||||
|
||||
# calculate temperature dependent voltage limits
|
||||
if(self.temp):
|
||||
temp = self.temp.target
|
||||
if temp > 250:
|
||||
self.max_target = 120
|
||||
self.min_target = -20
|
||||
elif temp >= 100:
|
||||
self.max_target = 120
|
||||
self.min_target = -50 + (temp-100)/5
|
||||
elif temp >= 10:
|
||||
self.max_target = 200 - 8*(temp-10)/9
|
||||
self.min_target = -200 + 5*(temp-10)/3
|
||||
elif temp < 10:
|
||||
self.max_target = 200
|
||||
self.min_target = -200
|
||||
|
||||
# if the current voltage exceeds these limits, reduce voltage to max/min
|
||||
if self.target > self.max_target:
|
||||
self.write_target(self.max_target)
|
||||
if self.target < self.min_target:
|
||||
self.write_target(self.min_target)
|
||||
|
||||
def read_value(self):
|
||||
# using the inherited HasIO.communicate method to send a command and get the reply
|
||||
reply = self.communicate(f'SOUR{self.channel}:VOLT:NOW?')
|
||||
return float(reply)
|
||||
|
||||
def read_status(self):
|
||||
while True:
|
||||
code, text = literal_eval(self.communicate(f'SYST:ERR?'))
|
||||
if code == 0:
|
||||
break
|
||||
self.log.warning('got error %d %s', code, text)
|
||||
return IDLE, ''
|
||||
|
||||
def read_target(self):
|
||||
# read back the target value
|
||||
target = float(self.communicate(f'SOUR{self.channel}:VOLT?'))
|
||||
return target
|
||||
|
||||
def write_target(self, target):
|
||||
# write here the target to the hardware
|
||||
status = self.read_output_state()
|
||||
|
||||
if target > self.max_target:
|
||||
target = self.max_target
|
||||
self.log.warning('Attempted to set voltage above maximum allowed voltage. Setting to max allowed instead.')
|
||||
if target < self.min_target:
|
||||
target = self.min_target
|
||||
self.log.warning('Attempted to set voltage below minimum allowed voltage. Setting to min allowed instead.')
|
||||
self.communicate(f'SOUR{self.channel}:VOLT {target};*OPC?')
|
||||
return self.read_target() # return the read back value
|
||||
|
||||
def read_slew_rate(self):
|
||||
return float(self.communicate(f'SOUR{self.channel}:VOLT:SLEW?'))
|
||||
|
||||
def write_slew_rate(self, slew_rate):
|
||||
self.communicate(f'SOUR{self.channel}:VOLT:SLEW {slew_rate};*OPC?')
|
||||
return self.read_slew_rate()
|
||||
|
||||
def read_output_state(self):
|
||||
a = int(self.communicate(f'OUTP{self.channel}?'))
|
||||
return bool(a)
|
||||
|
||||
def write_output_state(self, output_state):
|
||||
self.communicate(f'OUTP{self.channel} {int(output_state)};*OPC?')
|
||||
return self.read_slew_rate()
|
||||
|
||||
def read_meas_voltage(self):
|
||||
return float(self.communicate(f'MEAS{self.channel}:VOLT?'))
|
||||
|
||||
def read_meas_current(self):
|
||||
return float(self.communicate(f'MEAS{self.channel}:CURR?'))
|
||||
183
frappy_psi/uniaxial_cell/psi_PSU_RP100.py
Normal file
183
frappy_psi/uniaxial_cell/psi_PSU_RP100.py
Normal file
@@ -0,0 +1,183 @@
|
||||
'''
|
||||
Force reader class (specially for FC100)
|
||||
Based on the psiSerial class
|
||||
(c) 2023 Jonas Philipe
|
||||
'''
|
||||
|
||||
import os
|
||||
import time
|
||||
import numpy as np
|
||||
import traceback
|
||||
import threading
|
||||
|
||||
from frappy_psi.uniaxial_cell.psi_serial import *
|
||||
|
||||
class psu_RP100_serialwrapper():
|
||||
_instance = None
|
||||
_lock = threading.Lock()
|
||||
port = None
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
with cls._lock:
|
||||
if cls._instance is None:
|
||||
print('New RP100 object opened')
|
||||
cls._instance = super().__new__(cls)
|
||||
cls.port = psu_RP100(*args, **kwargs)
|
||||
return cls._instance
|
||||
|
||||
|
||||
class psu_RP100(psiSerial):
|
||||
|
||||
def __init__(self,**kwargs):
|
||||
print('INIT')
|
||||
super(psu_RP100,self).__init__(**kwargs)
|
||||
self.customConnectionError = b'DEVICE CONNECTION ERROR\r\n'
|
||||
self.endOfLine='\n' # different end of line than the standard Arduino
|
||||
'''
|
||||
-----------------------------------------
|
||||
RP100 power supply class.
|
||||
Serial interaction with power supply.
|
||||
Inherits from class psiSerial.
|
||||
-----------------------------------------
|
||||
Commands:
|
||||
self.enable(channel):
|
||||
IN: string "channel", values contain "CH1" or "CH2".
|
||||
e.g.: self.enable('CH1') enables channel 1.
|
||||
OUT:
|
||||
|
||||
'''
|
||||
self.channel1=False
|
||||
self.channel2=False
|
||||
|
||||
self.statusChannel1 = None
|
||||
self.statusChannel2 = None
|
||||
|
||||
self._port_opened = True
|
||||
|
||||
def __del__(self):
|
||||
self.reset()
|
||||
|
||||
def to_bool(self, line):
|
||||
return line[0] == b'0'
|
||||
|
||||
def reset(self):
|
||||
self.psi_write('*RST')
|
||||
time.sleep(1)
|
||||
|
||||
def enable(self,channel):
|
||||
'''
|
||||
self.enable(channel):
|
||||
IN: string "channel", values contain "CH1" or "CH2".
|
||||
e.g.: self.enable('CH1') enables channel 1.
|
||||
OUT:
|
||||
'''
|
||||
try:
|
||||
# Read status first:
|
||||
self.statusChannel1=self.to_bool(self.psi_write_readline('OUTP1?',response_code=False))
|
||||
self.statusChannel2=self.to_bool(self.psi_write_readline('OUTP2?',response_code=False))
|
||||
except:
|
||||
print('Cannot read source status.')
|
||||
|
||||
try:
|
||||
if channel.find('CH1')>-1 and not self.statusChannel1:
|
||||
self.psi_write_readline('OUTP1 1',response_code=False)
|
||||
self.statusChannel1=self.to_bool(self.psi_write_readline('OUTP1?',response_code=False))
|
||||
if channel.find('CH2')>-1 and not self.statusChannel2:
|
||||
self.psi_write_readline('OUTP2 1',response_code=False)
|
||||
self.statusChannel2=self.to_bool(self.psi_write_readline('OUTP2?',response_code=False))
|
||||
except:
|
||||
print('Could not enable the selected channel. Make sure the arguments are correct: "CH1" and / or "CH2". Full TB below')
|
||||
traceback.print_exc()
|
||||
|
||||
def disable(self,channel):
|
||||
'''
|
||||
self.enable(channel):
|
||||
IN: string "channel", values contain "CH1" or "CH2".
|
||||
e.g.: self.enable('CH1') enables channel 1.
|
||||
OUT:
|
||||
'''
|
||||
try:
|
||||
# Read status first:
|
||||
self.statusChannel1=self.to_bool(self.psi_write_readline('OUTP1?',response_code=False))
|
||||
self.statusChannel2=self.to_bool(self.psi_write_readline('OUTP2?',response_code=False))
|
||||
except:
|
||||
print('Cannot read source status.')
|
||||
traceback.print_exc()
|
||||
|
||||
try:
|
||||
if channel.find('CH1')>-1 and self.statusChannel1:
|
||||
self.psi_write_readline('OUTP1 0',response_code=False)
|
||||
self.statusChannel1=self.to_bool(self.psi_write_readline('OUTP1?',response_code=False))
|
||||
if channel.find('CH2')>-1 and self.statusChannel2:
|
||||
self.psi_write_readline('OUTP2 0',response_code=False)
|
||||
self.statusChannel2=self.to_bool(self.psi_write_readline('OUTP2?',response_code=False))
|
||||
except:
|
||||
print('Could not enable the selected channel. Make sure the arguments are correct: "CH1" and / or "CH2".')
|
||||
|
||||
def read_source_voltage(self,**kwargs):
|
||||
s1 = self.psi_write_readline('SOUR1:VOLT:NOW?',response_code=False)
|
||||
s2 = self.psi_write_readline('SOUR2:VOLT:NOW?',response_code=False)
|
||||
try:
|
||||
s1 = float(s1)
|
||||
except:
|
||||
print(s1)
|
||||
s1 = None
|
||||
try:
|
||||
s2 = float(s2)
|
||||
except:
|
||||
print(s2)
|
||||
s2 = None
|
||||
return s1,s2
|
||||
|
||||
def set_slew(self,slew_value,**kwargs):
|
||||
'''
|
||||
Set ramping voltage to all channels.
|
||||
Keyword: channel.
|
||||
Example: channel='CH1,CH2' or channel='CH1'
|
||||
'''
|
||||
assert(slew_value >= 0.1e-3 and slew_value <= 100e3)
|
||||
|
||||
try:
|
||||
cc = kwargs['channel']
|
||||
except:
|
||||
cc = 'CH1,CH2'
|
||||
if cc.find('CH1')>-1:
|
||||
self.psi_write_readline('SOUR1:VOLT:SLEW '+str(slew_value),response_code=False)
|
||||
if cc.find('CH2')>-1:
|
||||
self.psi_write_readline('SOUR2:VOLT:SLEW '+str(slew_value),response_code=False)
|
||||
|
||||
def read_slew(self,**kwargs):
|
||||
s1 = self.psi_write_readline('SOUR1:VOLT:SLEW?',response_code=False)
|
||||
s2 = self.psi_write_readline('SOUR2:VOLT:SLEW?',response_code=False)
|
||||
return s1.decode(),s2.decode()
|
||||
|
||||
def measure_voltage(self,**kwargs):
|
||||
s1 = self.psi_write_readline('MEAS1:VOLT?',response_code=False)
|
||||
s2 = self.psi_write_readline('MEAS2:VOLT?',response_code=False)
|
||||
try:
|
||||
s1 = float(s1)
|
||||
except:
|
||||
print(s1)
|
||||
s1 = None
|
||||
try:
|
||||
s2 = float(s2)
|
||||
except:
|
||||
print(s2)
|
||||
s2 = None
|
||||
return s1,s2
|
||||
|
||||
def set_voltage(self,source,voltage,**kwargs):
|
||||
'''
|
||||
Need to implement security limits on the voltage at some point!
|
||||
'''
|
||||
assert(voltage <= 230 and voltage >= -230)
|
||||
if source == 'SOUR1' or source == 'SOUR2':
|
||||
a = self.psi_write_readline(source+':VOLT '+str(voltage),response_code=False)
|
||||
return a
|
||||
|
||||
def clear(self):
|
||||
'''
|
||||
Clears status code
|
||||
'''
|
||||
a=self.psi_write_readline('*CLS')
|
||||
return a
|
||||
117
frappy_psi/uniaxial_cell/psi_serial.py
Normal file
117
frappy_psi/uniaxial_cell/psi_serial.py
Normal file
@@ -0,0 +1,117 @@
|
||||
'''
|
||||
PSI class to interact with arduino
|
||||
Read capacitance of FC100 cell
|
||||
'''
|
||||
|
||||
import os
|
||||
import time
|
||||
import serial
|
||||
|
||||
class psiSerial(serial.Serial):
|
||||
def __init__(self,**kwargs):
|
||||
super(psiSerial,self).__init__(**kwargs)
|
||||
# Default values
|
||||
#self.port='COM8'
|
||||
#self.baudrate=9600
|
||||
#self.bytesize=8
|
||||
#self.bitstop=1
|
||||
#self.parity='N'
|
||||
self.timeout=0.1 # Read timeout of 0.1s default
|
||||
self.customConnectionError = b'DEVICE CONNECTION ERROR\r\n'
|
||||
self.maxAttempts = 10
|
||||
self.sleep_after_open = 0.1 #s
|
||||
self.endOfLine = "\r"
|
||||
self.writeWhileEmpty = False
|
||||
|
||||
def psi_open(self,**kwargs):
|
||||
self.custom_is_open = False
|
||||
while not self.custom_is_open:
|
||||
try:
|
||||
self.open()
|
||||
except:
|
||||
''
|
||||
if self.is_open:
|
||||
a=self.readline()
|
||||
if a != self.customConnectionError:
|
||||
self.custom_is_open = True
|
||||
else:
|
||||
self.close()
|
||||
print('Serial port is open. Wait for',self.sleep_after_open,'seconds.')
|
||||
time.sleep(self.sleep_after_open)
|
||||
|
||||
def psi_write(self,string,**kwargs):
|
||||
'''
|
||||
IN: string
|
||||
OUT: serial.Serial.write(bstring)
|
||||
where bstring is a string decorated by
|
||||
"b'" +string+"\r\n".
|
||||
|
||||
Opt.: book write_debug: writes the input string and output
|
||||
encoded string.
|
||||
'''
|
||||
try:
|
||||
self.write_debug = kwargs['write_debug']
|
||||
except:
|
||||
self.write_debug = False
|
||||
try:
|
||||
response_code = kwargs['response_code']
|
||||
except:
|
||||
response_code = True
|
||||
|
||||
self.write_response = 0
|
||||
natempt = 0
|
||||
bstring = string+self.endOfLine
|
||||
bstring=bstring.encode()
|
||||
|
||||
if response_code:
|
||||
while self.write_response != 8 and natempt < self.maxAttempts:
|
||||
try:
|
||||
self.write_response=int(self.write(bstring))
|
||||
if self.write_debug:
|
||||
print('Input string:',string)
|
||||
print('Output:',bstring)
|
||||
print('write response:',self.write_response)
|
||||
except:
|
||||
''
|
||||
natempt+=1
|
||||
if natempt >= self.maxAttempts:
|
||||
print('Max attempt reached for psi_write.')
|
||||
else:
|
||||
self.write_response=int(self.write(bstring))
|
||||
if self.write_debug:
|
||||
print('Input string:',string)
|
||||
print('Output:',bstring)
|
||||
print('write response:',self.write_response)
|
||||
|
||||
def psi_read(self,**kwargs):
|
||||
'''
|
||||
Function psi_read reads one byte.
|
||||
'''
|
||||
return self.read()
|
||||
|
||||
def psi_readline(self,**kwargs):
|
||||
a = self.readline()
|
||||
return a
|
||||
|
||||
def psi_write_readline(self,string,**kwargs):
|
||||
self.psi_write(string,**kwargs)
|
||||
a=self.psi_readline(**kwargs)
|
||||
if a == self.customConnectionError:
|
||||
print('Connection dropped. Restart.')
|
||||
print('------------------------------')
|
||||
self.psi_close()
|
||||
self.psi_open()
|
||||
self.psi_write_readline(string,**kwargs)
|
||||
if a == b'' and self.writeWhileEmpty:
|
||||
print('a = b"". Retry.')
|
||||
print('------------------------------')
|
||||
self.psi_close()
|
||||
self.psi_open()
|
||||
self.psi_write_readline(string,**kwargs)
|
||||
return a
|
||||
|
||||
|
||||
def psi_close(self,**kwargs):
|
||||
self.close()
|
||||
time.sleep(self.sleep_after_open)
|
||||
|
||||
Reference in New Issue
Block a user