Example #1
0
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)
Example #2
0
 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
Example #3
0
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()
Example #4
0
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()
Example #5
0
    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()
Example #6
0
    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()
Example #7
0
        """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()
Example #8
0
    ### 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()
Example #9
0
 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
Example #10
0
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()
Example #11
0
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()
Example #12
0
    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
Example #13
0
        
    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()
Example #14
0
### 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]}'
Example #15
0
##########################################################
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
Example #16
0
"""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()
Example #17
0
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')
Example #18
0
### 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')
Example #19
0
    #####################################################################
    ### 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()
Example #20
0
| |    | | | || |__| | | | | |__| | | |     | |  | |    | |____
|_|    |_|  |_||____/  |_|  |____/  |_|     |_|  |_|    |______|
                        _            _           _
                       | |          | |         | |
            _   _ _ __ | |_ ___  ___| |_ ___  __| |
           | | | | '_ || __/ _ |/ __| __/ _ |/ _` |
           | |_| | | | | ||  __/|__ | ||  __/ (_| |
            |__,_|_| |_||__|___||___/|__|___||__,_|
"""
##########################################################
### 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()
Example #21
0
 def setUp(self):                                #run before each test
     self.FSW = VSA().jav_OpenTest(host)
     self.FSW.Init_Spectral()
Example #22
0
    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()
Example #23
0
### 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)
Example #24
0
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)
Example #25
0
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')
Example #26
0
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')
Example #27
0
################################################################################
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')
Example #28
0
def K18():
    VSA.Set_Channel('AMPL')
    VSA.Set_Autolevel()  # Auto-Tune
Example #29
0
        """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()
Example #30
0
 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