def Set_Adem_LPassStat(self, sState): self.write('SENSe:FILT:LPASS:STAT %s' % (sState)) def Set_Adem_LPassAbsolute(self, sBW): #Low Pass Filter Absolute Values: 3kHz; 15kHz; 150kHz self.write('SENSe:FILT:LPASS:FREQ:ABS %s' % sBW) def Set_Adem_LPassRelative(self, sBW): #Low Pass Filter Relative Values:5PCT; 10PCT; 25PCT self.write('SENSe:FILT:LPASS:FREQ:REL %s' % sBW) def Set_Adem_LPassManual(self, fBW): self.write('SENSe:FILT:LPASS:FREQ:MAN %s' % fBW) #0 to 3MHz ##################################################################### ### Run if Main ##################################################################### if __name__ == "__main__": ### this won't be run when imported if 0: import sys print(sys.version) VSA = VSA() VSA.jav_Open("192.168.1.109") VSA.Set_Channel("ADEM") VSA.Set_DisplayUpdate('ON') VSA.Set_Adem_dbw(50e6) VSA.Set_InitImm() VSA.jav_Close()
def K18(): VSA.Set_Channel('AMPL') VSA.Set_Autolevel() # Auto-Tune
for i in range(Repeat): for pwr in range(PwrSweep): tick = timeit.default_timer() ### <\thing we are timing> VSG.write(f':POW:AMPL {-50 + pwr}dbm') ### VSG Power ################# ### AUTOLEVEL ### ################# if 0: VSA.write(':INIT:CONT ON') # Sweep Continuous VSA.query(':SENS:ADJ:LEV;*OPC?') # Auto-Tune else: lvlTable = VSA.Set_Autolevel_IQIF(table) tockA = timeit.default_timer() VSA.Set_Channel('Spectrum') VSA.write(':INIT:CONT OFF') # Single Sweep VSA.query(':INIT:IMM;*OPC?') # Take Sweep ACLR = VSA.query(':CALC:MARK:FUNC:POW:RES? MCAC') ### <\thing we are timing> tockB = timeit.default_timer() SwpParam = VSA.Get_SweepParams() AmpSet = VSA.Get_AmpSettings() ALTime = f'{(tockA-tick):2,.6f}' TotTime = f'{(tockB-tick):2,.6f}' OutStr = f'{i},{RBW},{MeasTim},{-50+pwr},{ALTime},{TotTime},{AmpSet},{SwpParam},{ACLR}' OFile.write(OutStr) VSAL.WriteLevellingTables(Freq, table) ########################################################## ### Cleanup Automation