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')
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