示例#1
0
    def __init__(self):
        self.jitterMeter = device.Agilent86100a()
        #device.Agilent53220a('TCPIP0::172.20.1.206::inst0::INSTR')        
        assert self.jitterMeter.tryConnect()

        self.transmittedPower = TransmittedPower()
        self.rfGenerator = self.transmittedPower.rfGenerator
        self.switchPlatform = self.transmittedPower.switchPlatform
        
        self.switchPlatform.setPreset('bridge')
示例#2
0
class JitterInjection(object):
    '''
    Manual steps: 
        route and amplify the signal from the RF generator. 
        correctly set the input impedance of the jitter meter
        set-up the LF input signal
    '''
    def __init__(self):
        self.jitterMeter = device.Agilent86100a()
        #device.Agilent53220a('TCPIP0::172.20.1.206::inst0::INSTR')        
        assert self.jitterMeter.tryConnect()

        self.transmittedPower = TransmittedPower()
        self.rfGenerator = self.transmittedPower.rfGenerator
        self.switchPlatform = self.transmittedPower.switchPlatform
        
        self.switchPlatform.setPreset('bridge')

    def frequencySweep(self,frequencies,transmittedTargetPower):
        startTime = time.clock()
        rmsJitters = numpy.array([])
        transmittedPowers = numpy.array([])
       
        
        for frequency in frequencies:
            self.rfGenerator.setFrequency(frequency)
            attainedTransmittedPower = self.transmittedPower.tryTransmittedPower(transmittedTargetPower)
            transmittedPowers = numpy.append(transmittedPowers,attainedTransmittedPower)
            
            jitter = self.jitterMeter.measureJitter()
            print 'f={frequency:.2e}'.format(frequency=frequency)
            rmsJitters = numpy.append(rmsJitters,jitter)
#            peakToPeakJitters = numpy.append(peakToPeakJitters,jitter[1])
                
        self.rfGenerator.enableOutput(False)
        backgroundJitter = self.jitterMeter.measureJitter()
        
        return rmsJitters,backgroundJitter,transmittedPowers