In [2]:
import sys
from stlab.devices.RS_SGS100A import RS_SGS100A
from stlab.AWG_testing.AWG520_driver_beta import Tektronix_AWG520
# from stlab.devices.rigol_DS1054 import Rigol_DS1054
from stlab.devices.RS_FSV import RS_FSV
from stlab.AWG_testing import AWG_station
from stlab.AWG_testing.sequence import Sequence
from stlab.AWG_testing.element import Element
from stlab.AWG_testing import Pulse_lib as pulse
# import viewer
import imp
%pylab inline
In [ ]:
devAWG = Tektronix_AWG520(name='AWG')
AWG = AWG_station.AWG_Station()
In [29]:
In [ ]:
In [28]:
devAWG.id()
devAWG.set_run_mode('ENH')
In [ ]:
devSGS = RS_SGS100A('TCPIP::192.168.1.37::INSTR')
In [ ]:
devFSV = RS_FSV('TCPIP::192.168.1.105::INSTR')
In [ ]:
devSGS.setCWfrequency(6.0e9)
devSGS.setCWpower(-10)
devSGS.RFon()
devSGS.IQon()
In [58]:
devSGS.setCWpower(-10)
In [59]:
# devOsc = Rigol_DS1054('TCPIP::192.168.1.25::INSTR')
# devOsc.id()
In [60]:
devAWG.stop()
devAWG.set_run_mode('ENH')
Out[60]:
In [ ]:
devFSV.se
In [61]:
devFSV.dev.write("TRAC:IQ:BWID?")
Out[61]:
In [77]:
devAWG.stop()
devFSV.dev.write("TRAC:IQ ON")
devFSV.dev.write("TRAC:IQ:AVER ON")
devFSV.dev.write("TRAC:IQ:AVER:COUN 1")
devFSV.dev.write("TRAC:IQ:SET NORM,45 MHz,45 MHz,EXT,POS,0,2048")
devFSV.dev.write('FORM REAL 32')
devFSV.dev.write('TRAC:IQ:DATA:FORM COMP')
In [63]:
devAWG.start()
bla = devFSV.dev.query("TRAC:IQ:DATA:MEM?")
devAWG.stop()
In [64]:
times = np.arange(2048)*1./45.0
In [65]:
blub = np.fromstring(bla, dtype=float, sep=',')
[I,Q] = np.split(blub, 2)
In [66]:
blub.shape
Out[66]:
In [67]:
plt.plot(blub)
Out[67]:
In [68]:
plt.plot(times, I)
plt.plot(times, Q)
plt.xlim(0,8)
Out[68]:
In [69]:
integration_indices = np.intersect1d(np.where(times>1.),np.where(times<6.))
In [70]:
print(times[integration_indices[0]])
print(times[integration_indices[-1]])
In [71]:
devSGS.setCWphase(20)
In [72]:
np.around(360.25, decimals=1)
Out[72]:
In [73]:
devSGS.getCWphase()
Out[73]:
In [74]:
np.average(I[integration_indices])
Out[74]:
In [75]:
I_avg=[]
Q_avg=[]
phases =np.linspace(0,360,37)
for phase in phases:
devSGS.setCWphase(phase)
devAWG.start()
devFSV.dev.write("TRAC:IQ:SET NORM,45 MHz,45 MHz,EXT,POS,0,2048")
bla = devFSV.dev.query("TRAC:IQ:DATA:MEM?")
devAWG.stop()
blub = np.fromstring(bla, dtype=float, sep=',')
[I,Q] = np.split(blub, 2)
I_avg.append(np.average(I[integration_indices]))
Q_avg.append(np.average(Q[integration_indices]))
In [76]:
plt.plot(times, I)
plt.plot(times, Q)
Out[76]:
In [49]:
plt.plot(phases, I_avg)
plt.plot(phases, Q_avg)
Out[49]:
In [ ]: