class VST(object): """ Rohde & Schwarz Vector Signal Transceiver Object """ def __init__(self): self.Freq = 19e9 self.SMW = '' self.FSW = '' def jav_Open(self,SMW_IP,FSW_IP,OFile=''): self.SMW = VSG().jav_Open(SMW_IP,OFile) #Create SMW Object self.FSW = VSA().jav_Open(FSW_IP,OFile) #Create FSW Object return self def jav_OpenTest(self,SMW_IP,FSW_IP): self.SMW = VSG().jav_OpenTest(SMW_IP) #Create SMW Object self.FSW = VSA().jav_OpenTest(FSW_IP) #Create FSW Object return self def jav_Close(self): self.SMW.jav_Close() self.FSW.jav_Close() def jav_ClrErr(self): self.SMW.jav_ClrErr() self.FSW.jav_ClrErr() def Set_Freq(self,freq): self.SMW.Set_Freq(freq) self.FSW.Set_Freq(freq)
def setUp(self): #Run before each test self.FSW = VSA() try: self.FSW.jav_Open(host,prnt=0) #self.FSW.jav_Reset() self.FSW.jav_ClrErr() self.FSW.dLastErr = "" except: self.assertTrue(1) #FAIL
class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.FSW = VSA().jav_OpenTest(host) self.FSW.Init_CCDF() def tearDown(self): #Run after each test self.assertEqual(self.FSW.jav_Error()[0],'0') self.FSW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_FSW_CCDF_Common(self): self.FSW.Set_CCDF('ON') self.FSW.Set_SweepCont(0) self.FSW.Set_CCDF_BW(10e6) self.FSW.Set_CCDF_Samples(1e6) self.FSW.Set_InitImm() getVal = self.FSW.Get_CCDF()
class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.FSW = VSA().jav_OpenTest(host) self.FSW.Init_Harm() def tearDown(self): #Run after each test self.assertEqual(self.FSW.jav_Error()[0],'0') self.FSW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_FSW_Harm_Common(self): self.FSW.Set_In_YIG('OFF') self.FSW.Set_Harm_num(3) self.FSW.Set_Harm_adjust() getVal = self.FSW.Get_Harm()
def Set_Adem_PM_Unit(self,sUnit): """DEG RAD""" self.write(f'UNIT:ANGL {sUnit}') def Set_Adem_PM_Scale(self,iRet): """Degrees per reticle""" self.write(f'DISP:TRAC1:Y:PDIV {iRet}') def Set_Adem_PM_RefPos(self,iRefPos): """PM Reference position: 0-100""" self.write(f'DISP:TRAC:Y:SCAL:RPOS {iRefPos}PCT') def Set_Adem_PM_RefVal(self,iRefVal): """PM Reference Value: PM degrees""" self.write(f'DISP:TRAC:Y:SCAL:RVAL {iRefVal}') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported # import sys # print(sys.version) VSA = VSA() VSA.jav_Open("192.168.1.109") VSA.Set_DisplayUpdate('ON') VSA.Set_Adem_dbw(50e6) VSA.Set_InitImm() VSA.jav_Close()
def Set_5GNR_SEM_SubBlockNum(self, dSubBlock): self.write(f':SENS:ESP:SCO {dSubBlock}') def Set_5GNR_SubFrameCount(self, dSubFrame): self.write(f':SENS:NR5G:FRAM:COUN:STAT OFF') self.write(f':SENS:NR5G:FRAM:SLOT {dSubFrame}') def Set_5GNR_TM(self, file): """NR-FR1-TM1_1__FDD_15MHz_30kHz""" self.query(f'MMEM:LOAD:TMOD:CC{self.cc} "{file}";*OPC?') def Set_5GNR_TransPrecoding(self, sState): """UL only: ON | OFF """ if self.sdir == 'UL': self.write(f':CONF:NR5G:UL:CC{self.cc}:TPR {sState}') else: print('<DL TransPrecoding N/A>') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA().jav_Open("192.168.1.109") FSW.cc = 1 FSW.Set_5GNR_AutoEVM() print(FSW.Get_5GNR_Params_EVM()) FSW.jav_ClrErr() FSW.jav_Close()
"""16 | 32 | 64 | 128 | 256 | 512 | 1024""" self.write(f':SENS:DDEM:QAM:NST {iState}') def Set_VSA_Mod_Type(self,sMod): """PSK|MSK|QAM|QPSK|FSK|ASK|APSK""" self.write(f':SENS:DDEM:FORM {sMod}') def Set_VSA_Symbol_Rate(self,rate): """Symbol Rate, Hz""" self.write(f':SENS:DDEM:SRAT {rate}') def Set_VSA_Result_Length(self,dLength): """integer symbol length or 'MAX' """ maxLen = self.Get_VSA_Capture_Length() if dLength == 'MAX': self.write(f':SENS:DDEM:TIME {maxLen}') # Result Length self.write(':CALC:ELIN:STAT ON') # Full Evaluation Range else: self.write(f':SENS:DDEM:TIME {int(dLength)}') # Result Length ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported VSA = VSA() VSA.jav_Open("192.168.1.109") VSA.Init_VSA() VSA.Set_InitImm() VSA.jav_Close()
### VSA Query Methods ##################################################################### def Get_ACLR(self): """Input Parameters""" ACLR = self.queryFloatArry(':CALC:MARK:FUNC:POW:RES? MCAC') return ACLR ##################################################################### ### Init Methods ##################################################################### def Init_WLAN(self): """Input Parameters""" self.Set_Channel('WLAN') self.write(':SENS:DEM:FORM:BCON:AUTO 1') #Auto PPDU Demod ##################################################################### ### VSA Set Methods ##################################################################### def Set_WLAN_AnalysisMode(self): """Input Parameters""" self.write(':SENS:DEM:FORM:BCON:AUTO 1') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA() FSW.jav_Open("192.168.1.109") FSW.jav_Close()
def jav_Open(self,SMW_IP,FSW_IP,OFile=''): self.SMW = VSG().jav_Open(SMW_IP,OFile) #Create SMW Object self.FSW = VSA().jav_Open(FSW_IP,OFile) #Create FSW Object return self
class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.FSW = VSA().jav_OpenTest(host) self.FSW.Init_Spectral() def tearDown(self): #Run after each test self.assertEqual(self.FSW.jav_Error()[0],'0') self.FSW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_FSW_Autolevel(self): self.FSW.Set_Autolevel() self.FSW.Set_Autolevel_IFOvld() def test_FSW_ACLR(self): self.FSW.Init_ACLR() self.FSW.Set_ACLR_AdjBW(95e6) self.FSW.Set_ACLR_AdjSpace(100e6) self.FSW.Set_ACLR_CHBW(100e6) self.FSW.Set_ACLR_NumAdj(2) self.FSW.Get_ACLR() def test_FSW_ChannelManagement(self): if self.FSW.connected: getVal = self.FSW.Get_ChannelName() getVal = self.FSW.Get_Channels() self.FSW.Init_IQ() self.FSW.Set_ChannelName('IQ','IQ_Test') self.FSW.Set_ChannelSelect('Spectrum') def test_FSW_Connect(self): self.FSW.jav_IDN() if self.FSW.connected: self.assertEqual(self.FSW.Make,"Rohde&Schwarz") # Valuecompare def test_FSW_Ex_SpectralSettings(self): self.FSW.Set_Freq(1e6) self.FSW.Set_RefLevel(10) self.FSW.Set_ResBW(1e6) self.FSW.Set_VidBW(1e6) self.FSW.Set_Span(100e6) self.FSW.Set_AttnMech(10) self.FSW.Get_IFOvld() self.FSW.Get_ACLR() self.FSW.Set_DisplayUpdate('ON') self.FSW.Set_Ref_Source('INT') def test_FSW_Ex_SpectralSettings_Auto(self): self.FSW.Set_Freq(1e6) self.FSW.Set_ResBW(0) self.FSW.Set_VidBW(0) self.FSW.Set_Span(100e6) self.FSW.Set_Autolevel() self.FSW.Set_AttnAuto() self.FSW.Get_IFOvld() self.FSW.Get_ACLR() self.FSW.Set_DisplayUpdate('ON') def test_FSW_Equalizer(self): self.FSW.Set_EQ_File('Test') self.FSW.Set_EQ_State('ON') self.FSW.Set_EQ_State('OFF') def test_FSW_Freq(self): self.FSW.Set_FreqStart(10e6) self.FSW.Set_FreqStop(100e6) # self.FSW.Set_FreqStep(1e5) self.FSW.Set_Freq(100e6) rdStr = self.FSW.Get_Freq() #var = input("Please enter something: ") if self.FSW.connected: self.assertEqual(100e6,rdStr) # Valuecompare def test_FSW_GetParams(self): nullVal = self.FSW.Get_Params_Amp(1) nullVal = self.FSW.Get_Params_Amp() nullVal = self.FSW.Get_Params_Sweep(1) nullVal = self.FSW.Get_Params_Sweep() nullVal = self.FSW.Get_Params_Trace(1) nullVal = self.FSW.Get_Params_Trace() nullVal = self.FSW.Get_Params_System(1) nullVal = self.FSW.Get_Params_System() nullVal = self.FSW.Get_Params_MkrBand(1) nullVal = self.FSW.Get_Params_MkrBand() nullVal = self.FSW.Get_Params(1,1,1,1,0) def test_FSW_GetScreenshot(self): getVal = self.FSW.Get_Screenshot() def test_FSW_GetTrace(self): getVal = self.FSW.Get_Trace_Data() def test_FSW_Input(self): self.FSW.Set_Freq(1e9) self.FSW.Set_Input('RF') self.FSW.Set_In_YIG('ON') self.FSW.Set_In_YIG('OFF') self.FSW.Set_In_HPFilter('ON') def test_FSW_Marker_dB(self): self.FSW.Set_Mkr_AllOff() self.FSW.Set_Mkr_Peak() self.FSW.Set_Mkr_On(2) self.FSW.Set_Mkr_Next(2) getVal = self.FSW.Get_Mkr_Freq() getVal = self.FSW.Get_Mkr_XY() getVal = self.FSW.Get_Mkr_Y() def test_FSW_Marker_BanddB(self): self.FSW.Set_Mkr_AllOff() self.FSW.Set_Mkr_BandSetRef() self.FSW.Set_Mkr_BandDelta(1e9) self.FSW.Get_Mkr_Band() def test_FSW_Marker_Noise(self): self.FSW.Get_Mkr_Noise() def test_FSW_Marker_Time(self): self.FSW.Set_Span(0) self.FSW.Set_SweepTime(0.010) self.FSW.Set_Mkr_Time(0.001) rdStr = self.FSW.Get_Mkr_TimeDomain() if self.FSW.connected: self.assertEqual(rdStr, 0.001) self.FSW.Set_Span(900e6) self.FSW.Set_SweepTime(0) #Auto Sweeptime def test_FSW_Trigger(self): self.FSW.Set_Trig1_Source('IMM') self.FSW.Set_Trig2_Dir('OUT') self.FSW.Set_Trig2_OutType('DEV') def test_FSW_TraceAvg(self): self.FSW.Set_Trace_Avg('LIN') self.FSW.Set_Trace_AvgCount(10) self.FSW.Set_Trace_Detector('RMS') self.FSW.Set_Trace_Mode('WRIT') self.FSW.Set_Trace_AvgOff() def test_FSW_Sweep(self): self.FSW.Set_SweepPoints(1001) self.FSW.Set_SweepType('AUTO') self.FSW.Set_SweepOpt('AUTO') def test_FSW_Sys_Overload(self): getVal = self.FSW.Get_Ovld_Stat()
class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.FSW = VSA().jav_OpenTest(host) self.FSW.Init_IQ() def tearDown(self): #Run after each test self.assertEqual(self.FSW.jav_Error()[0],'0') self.FSW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_FSW_IQ_Common(self): self.FSW.Set_IQ_BW(100e6) self.FSW.Set_IQ_SamplingRate(100e6) self.FSW.Set_IQ_RecLength(100) self.FSW.Set_IQ_Samples(100) self.FSW.Set_IQ_Time(1e-3) getVal = self.FSW.Get_IQ_RecLength() getVal = self.FSW.Get_IQ_SamplingRate() def test_FSW_Get_IQData(self): self.FSW.Set_IQ_RecLength(10) self.FSW.Set_SweepCont(0) getVal = self.FSW.Get_IQ_Data() getVal = self.FSW.Get_IQ_Data_Ascii(6) # if self.FSW.connected == 1: getVal = self.FSW.Get_IQ_Data_Ascii(5) getVal = self.FSW.Get_IQ_Data_Ascii2() if self.FSW.connected == 1: getVal = self.FSW.Get_IQ_Data_Bin() def test_FSW_Set_IQ_ALCR(self): self.FSW.Set_IQ_ACLR(9e6,10e6) self.FSW.Get_Mkr_BandACLR() def test_FSW_Set_IQ_Adv(self): self.FSW.Set_IQ_Adv_Mode(0) self.FSW.Set_IQ_Adv_Mode(1) self.FSW.Set_IQ_Adv_TransAlgo("AVER") self.FSW.Set_IQ_Adv_WindowLenth(101) self.FSW.Set_IQ_Adv_FFTLenth(4096+1) self.FSW.Set_IQ_Adv_Window('P5') def test_FSW_Set_IQSpectrum(self): self.FSW.Set_IQ_SpectrumWindow()
def Get_Noise_CalCold(self): NCalCold = self.queryFloat('TRAC? TRACE1, CPC') return NCalCold def Get_Noise_CalHot(self): NCalHot = self.queryFloat('TRAC? TRACE1, CPH') return NCalHot def Get_Noise_PHot(self): NPHot = self.queryFloat('TRAC? TRACE1, PHOT') return NPHot def Get_Noise_PCold(self): NPCold = self.queryFloat('TRAC? TRACE1, PCOL') return NPCold def System_Preset(self): self.write('SYST:PRES:CHAN') ############################################################################### ### Run if Main ############################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA() FSW.jav_Open("192.168.1.109") FSW.Init_Noise() FSW.jav_ClrErr() del FSW
def Set_5GNR_SEM_Freq(self,fFreq,dSubBlock=1): self.write(':SENS:ESP%d:SCEN %f'%(dSubBlock,fFreq)) def Set_5GNR_SEM_SubBlockNum(self,dSubBlock): self.write(':SENS:ESP:SCO %d'%(dSubBlock)) def Set_5GNR_SubFrameCount(self,dSubFrame): self.write(':SENS:NR5G:FRAM:COUN:STAT OFF') self.write(':SENS:NR5G:FRAM:SCO %d'%dSubFrame) def Set_5GNR_TM(self, file): self.query(f'MMEM:LOAD:TMOD:CC1 "{file}";*OPC?') def Set_5GNR_TransPrecoding(self,sState): if self.sdir == 'UL': self.write(f':CONF:NR5G:UL:CC1:TPR {sState}') else: print('<DL TransPrecoding N/A>') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA().jav_Open("192.168.1.109") print(FSW.Get_5GNR_EVMParams()) FSW.Set_5GNR_savesetting('asdf'+'1') FSW.jav_ClrErr() FSW.jav_Close()
### Title : Measure VSA Noise Floor ### Creatd : mclim, 2019.06.11 ############################################################################### ### User Entry ############################################################################### instru_ip = '192.168.1.109' freq = 1.950 #GHz ############################################################################### ### Code Overhead: Import and create objects ############################################################################### from rssd.VSA.Common import VSA from rssd.FileIO import FileIO import timeit OFile = FileIO().makeFile(__file__) FSW = VSA().jav_Open(instru_ip, OFile) #Create Object ############################################################################### ### Code Start ############################################################################### OFile.write('Freq,ChPwr-dBm,2nd-dbc,3rd-dbc') FSW.Init_Harm() FSW.Set_Freq(freq * 1e9) FSW.Set_Harm_num(3) FSW.Set_Trace_Detector('RMS') FSW.Set_Harm_adjust() # FSW.Set_RefLevel(-100) # FSW.Set_ResBW(100) data = FSW.Get_Harm() OutStr = f'{freq},{data[0]},{data[1]},{data[2]}'
########################################################## FSW_IP = '192.168.1.109' Freq = 28e9 RFBW = 100e6 NumIQ = 2e6 NumMeas = 10 ########################################################## ### Code Overhead ########################################################## from datetime import datetime from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 from rssd.FileIO import FileIO #pylint: disable=E0611,E0401 OFile = FileIO().makeFile(__file__) FSW = VSA().jav_Open(FSW_IP, OFile) #Create FSW Object ########################################################## ### Code Start ########################################################## FSW.jav_Reset() FSW.Set_Freq(Freq) FSW.Init_CCDF() #FSW CCDF Channel FSW.Set_CCDF_BW(RFBW) FSW.Set_CCDF_Samples(NumIQ) FSW.Set_SweepCont(0) ########################################################## ### Measure Time ########################################################## #sDate = datetime.now().strftime("%y%m%d-%H:%M:%S.%f") #Date String
"""VSA Single Sweep Example""" FSW_IP = '192.168.58.109' Freq = 28e9 ########################################################## ### Code Overhead: Import and create objects ########################################################## from rssd.VSA.Common import VSA FSW = VSA().jav_Open(FSW_IP) # Create FSW Object ########################################################## ### Code Start ########################################################## FSW.Set_Freq(Freq) FSW.write('INIT:CONT OFF') # Single Sweep Mode FSW.query('INIT:IMM; *OPC?') # Take 1st sweep FSW.query('INIT:IMM; *OPC?') # Take 2nd sweep ########################################################## ### Cleanup Automation ########################################################## FSW.jav_Close()
meth = { # 0:'VSA.Set_AutoOpt_FSx_Level()', 0: 'VSA.Set_Autolevel()', 1: 'VSA.Set_Mkr_BandSetRef()' } ############################################################################### ### Code Overhead ############################################################################### import timeit from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 from rssd.yaVISA_socket import jaVisa #pylint: disable=E0611,E0401 from rssd.FileIO import FileIO #pylint: disable=E0611,E0401 OFile = FileIO().makeFile(__file__) VSA = VSA().jav_Open(VSA_IP, OFile) #Create VSA Object VSG = jaVisa().jav_Open(VSG_IP, OFile) #Create Object ############################################################################### ### Code Start ############################################################################### #VSA.jav_Reset() VSA.Init_IQ() #FSW ACLR Channel VSA.Set_Freq(Freq) VSA.Set_IQ_ACLR(ChBW, ChSpace) #VSA.Set_DisplayUpdate("OFF") VSA.Set_Param_Couple_All() VSA.Set_SweepTime(MeasTim) VSA.Set_Trace_Avg('LIN') VSA.Set_Trace_AvgCount(Avg) VSA.Set_Trace_Detector('RMS')
### Loops Repeat = 1 swpTimeArry = [2e-3, 3e-3, 5e-3, 1e-2, 2e-2, 3e-2, 5e-2, 1e-1, 2e-1, 3e-1, 5e-1] rbwArry = [1e3, 3e3, 5e3, 1e4, 3e4, 5e4, 1e5, 3e5, 5e5, 1e6] # rbwArry = [0] ################################################################################ ### Code Overhead ################################################################################ from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 from rssd.FileIO import FileIO #pylint: disable=E0611,E0401 from rssd.RSI.time import timer OFile = FileIO().makeFile(__file__) FSW = VSA().jav_Open(FSW_IP,OFile) #Create FSW Object TMR = timer() ################################################################################ ### Code Start ################################################################################ # FSW.jav_Reset() FSW.Set_Freq(Freq) # FSW.Set_Trace_Avg('POW') # FSW.Set_Trace_AvgCount(Avg) FSW.Set_Trace_Mode('WRIT') FSW.Set_Trace_Detector('RMS') FSW.Set_Span(Span) FSW.Set_Mkr_Freq(Freq) FSW.Set_Mkr_Band(100e6) FSW.Set_YIG('OFF')
##################################################################### ### Transient Analysis Set ##################################################################### def Set_TA_Mode(self, sMode): """CHIR HOP""" if sMode == 'HOP': self.write(':SENS:SIGN:MOD HOP') elif sMode in ('CHIR', 'CHIRP'): self.write(':SENS:SIGN:MOD CHIR') else: print('K60 Mode Not supported') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA() FSW.jav_Open("192.168.1.109") #FSW.Init_TranAna() FSW.Get_TA_ChirpStats_TimeBegin() FSW.Get_TA_ChirpStats_TimeLength() FSW.Get_TA_ChirpStats_Rate() FSW.Get_TA_ChirpStats_StateDev() FSW.Get_TA_ChirpStats_AvgFreq() FSW.Get_TA_ChirpStats_Bandwidth() FSW.Get_TA_ChirpStats_FreqDevAvg() FSW.Get_TA_TestStuff()
| | | | | || |__| | | | | |__| | | | | | | | | |____ |_| |_| |_||____/ |_| |____/ |_| |_| |_| |______| _ _ _ | | | | | | _ _ _ __ | |_ ___ ___| |_ ___ __| | | | | | '_ || __/ _ |/ __| __/ _ |/ _` | | |_| | | | | || __/|__ | || __/ (_| | |__,_|_| |_||__|___||___/|__|___||__,_| """ ########################################################## ### User Entry ########################################################## VSA_IP = '192.168.1.108' ########################################################## ### Code Overhead ########################################################## from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 # from rssd.yaVISA_socket import jaVisa #pylint: disable=E0611,E0401 VSA = VSA().jav_Open(VSA_IP) #Create VSA Object ########################################################## ### Code Start ########################################################## print(VSA.query(':MMEM:CAT? ')) print(VSA.query(':MMEM:CAT? "autologin.reg"')) ########################################################## ### Cleanup Automation ########################################################## VSA.jav_Close()
def setUp(self): #run before each test self.FSW = VSA().jav_OpenTest(host) self.FSW.Init_Spectral()
def Set_LTE_SubFrameCount(self,dSubFrame): self.write(':SENS:LTE:FRAM:COUN:STAT ON') self.write(':SENS:LTE:FRAM:COUN:AUTO OFF') self.write(':SENS:LTE:FRAM:COUN %d'%dSubFrame) def Set_LTE_Modulation(self,iMod): self.write(f':CONF:LTE:{self.ldir}:SUBF0:ALL:MOD {iMod}') def Set_LTE_ResBlock(self,iRB): self.write(f':CONF:LTE:{self.ldir}:SUBF0:ALL:RBC {iRB}') def Set_LTE_ResBlockOffset(self,iRBO): self.write(f':CONF:LTE:{self.ldir}:SUBF0:ALL:RBOF %d'%iRBO) def Set_LTE_SweepTime(self,fSwpTime): if fSwpTime < 0.00201: fSwpTime = 0.0021 self.write('SENS:SWE:TIME %f'%fSwpTime) #Sweep/Capture Time ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA() FSW.ldir = 'UL' FSW.jav_Open("192.168.1.109") FSW.Get_LTE_Direction() FSW.jav_IDN()
### Loops Repeat = 1 PwrSweep = 59 ################################################################################ ### Code Overhead ################################################################################ import timeit from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 from rssd.yaVISA_socket import jaVisa #pylint: disable=E0611,E0401 from rssd.FileIO import FileIO #pylint: disable=E0611,E0401 # import rssd.VSA_Leveling as VSAL #pylint: disable=E0611,E0401 OFile = FileIO().makeFile(__file__) VSA = VSA().jav_Open(VSA_IP, OFile) #Create VSA Object VSG = jaVisa().jav_Open(VSG_IP, OFile) #Create Object ################################################################################ ### Code Start ################################################################################ # VSA.jav_Reset() VSA.Set_Freq(Freq) VSA.Set_Param_Couple_All() VSA.Init_ACLR() #VSA ACLR Channel VSA.Set_ACLR_CHBW(ChBW) VSA.Set_ACLR_AdjBW(ChBW) VSA.Set_ACLR_AdjSpace(ChSpace) VSA.Set_ACLR_NumAdj(1) VSA.Set_ResBW(RBW) VSA.Set_SweepTime(MeasTim)
meth = { 0:'VSA.Set_AutoOpt_FSx_Level()', # 1:'VSA.Set_Autolevel()', 1:'VSA.Set_Mkr_BandSetRef()' } ############################################################################### ### Code Overhead ############################################################################### from rssd.VSA.Common import VSA #pylint: disable=E0611,E0401 from rssd.yaVISA_socket import jaVisa #pylint: disable=E0611,E0401 from datetime import datetime from rssd.FileIO import FileIO #pylint: disable=E0611,E0401 OFile = FileIO().makeFile(__file__) VSA = VSA().jav_Open(VSA_IP,OFile) #Create VSA Object VSG = jaVisa().jav_Open(VSG_IP,OFile) #Create Object ############################################################################### ### Code Start ############################################################################### #VSA.jav_Reset() VSA.Init_IQ() #FSW ACLR Channel if 1: VSA.Set_Freq(Freq) VSA.Set_IQ_ACLR(ChBW, ChSpace) #VSA.Set_DisplayUpdate("OFF") VSA.Set_Param_Couple_All() VSA.Set_SweepTime(MeasTim) VSA.Set_Trace_Avg('LIN') VSA.Set_Trace_AvgCount(Avg)
SMW_IP = '192.168.1.114' FSW_IP = '192.168.1.109' VSE_IP = '127.0.0.1' #Get local machine name Fs = 1200e6 #Sampling Rate MeasTim = 500e-6 ########################################################## ### Code Overhead: Import and create objects ########################################################## from rssd.VSA.Common import VSA from rssd.SMW.Common import VSG from rssd.FileIO import FileIO OFile = FileIO().makeFile(__file__) SMW = VSG().jav_Open(SMW_IP,OFile) #Create SMW Object FSW = VSA().jav_Open(FSW_IP,OFile) #Create FSW Object ########################################################## ### Code Start ########################################################## FSW.jav_Reset() FSW.Init_IQ() #FSW IQ Channel FSW.Set_DisplayUpdate("OFF") FSW.Set_SweepTime(MeasTim) FSW.Set_IQ_SamplingRate(Fs) ########################################################## ### Measure Time ########################################################## #sDate = datetime.now().strftime("%y%m%d-%H:%M:%S.%f") #Date String OFile.write('Fs,CapTime,Iter,CmdTime')
def SetReflvl(): VSA.Set_AttnAuto() VSA.write(':INIT:CONT OFF') # Single Sweep VSA.Set_InitImm() ChPwr = VSA.queryFloatArry(':CALC:MARK:FUNC:POW:RES? MCAC')[0] VSA.Set_RefLevel(ChPwr + 3) VSA.Set_InitImm() ChPwr = VSA.queryFloatArry(':CALC:MARK:FUNC:POW:RES? MCAC')[0] VSA.Set_RefLevel(ChPwr + 3) if ChPwr < -24: #FSVA:-17 FSW:-22 VSA.Set_Preamp('ON') else: VSA.Set_Preamp('OFF')
################################################################################ FSW_IP = '192.168.1.109' FsArry = [400e6, 500e6, 600e6, 625e6, 650e6, 675e6, 700e6, 800e6, 900e6] #Sampling Rate MeasTim = 123e-6 numRepeat = 10 ################################################################################ ### Code Overhead: Import and create objects ################################################################################ from rssd.VSA.Common import VSA from rssd.FileIO import FileIO from datetime import datetime OFile = FileIO().makeFile(__file__) FSW = VSA().jav_Open(FSW_IP, OFile) #Create FSW Object ################################################################################ ### Code Start ################################################################################ FSW.jav_Reset() FSW.Init_IQ() #FSW IQ Channel FSW.Set_DisplayUpdate("OFF") FSW.Set_SweepTime(MeasTim) FSW.Set_SweepCont(0) ################################################################################ ### Measure Time ################################################################################ #sDate = datetime.now().strftime("%y%m%d-%H:%M:%S.%f") #Date String OFile.write('Fs,CapTime,Iter,CmdTime')
def K18(): VSA.Set_Channel('AMPL') VSA.Set_Autolevel() # Auto-Tune
"""AC N AX""" #0:A 1:B 2/3:J 4:G 6:N 7:N-MIMO 8:AC 9:P 10:AX sStd.upper() if sStd == 'A': self.write(f':CONF:STAN 0') elif sStd == 'B': self.write(f':CONF:STAN 1') elif sStd == 'G': self.write(f':CONF:STAN 4') elif sStd == 'N': self.write(f':CONF:STAN 6') elif sStd == 'AC': self.write(f':CONF:STAN 8') elif sStd == 'AX': self.write(f':CONF:STAN 10') else: print(f'Set_WLAN_Standard {sStd} not supported') ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported FSW = VSA() FSW.jav_Open("192.168.1.109") print(FSW.query(':TRAC:DATA? TRACE1')) #print(FSW.Get_WLAN_EVMParams()) #FSW.Set_WLAN_Autolvl() FSW.jav_Close()
def jav_OpenTest(self,SMW_IP,FSW_IP): self.SMW = VSG().jav_OpenTest(SMW_IP) #Create SMW Object self.FSW = VSA().jav_OpenTest(FSW_IP) #Create FSW Object return self