Exemple #1
0
def init_vna():
    ref_freq = 40e6

    vna = VNA()

    source_freq = 6.0e9
    lo_freq = source_freq - 2e6

    vna.set_tx_mux('iq', sample_input='adc')

    vna.lo.freq_to_regs(lo_freq, ref_freq, apwr=0)
    vna.source.freq_to_regs(source_freq, ref_freq, apwr=0)

    #vna.dither_en(1)
    #vna.set_tx_mux('samples', sample_input='adc')

    vna.write_sample_time(int(40e6 / 1000 + 100))
    #vna.write_sample_time(110000)
    vna.write_io(pwdn=0, mixer_enable=0, led=1, adc_oe=0, adc_shdn=0)
    vna.write_pll_io(lo_ce=1, source_ce=1, lo_rf=1, source_rf=1)
    vna.write_att(0.0)
    vna.write_switches(tx_filter=source_freq,
                       port=2,
                       rx_sw='rx2',
                       rx_sw_force=False)
    vna.write_pll(vna.source)
    vna.write_pll(vna.lo)
    vna.write_pll(vna.source)
    vna.write_pll(vna.lo)

    vna.read_iq()
    vna.read_iq()
    return vna
def sw_terms(iqs, freqs):
    """Switch terms from IQ"""
    sparams = []

    for f in xrange(len(freqs)):
        sw_f = iqs[f][('rx2',1)]/iqs[f][('b',1)]
        sw_r = iqs[f][('rx1',2)]/iqs[f][('a',2)]
        sparams.append( [[sw_f, 0], [0, sw_r]] )

    return skrf.Network(s=sparams, f=freqs, f_unit='Hz')


ref_freq = 40e6

vna = VNA()

ports = [1, 2]
sw_correction = True

freqs = np.linspace(30e6, 6e9, 801)

vna.set_tx_mux('iq', sample_input='adc')
vna.write_att(7.0)
vna.write_sample_time(int(40e6/1000+100))
vna.write_io(pwdn=0, mixer_enable=0, led=1, adc_oe=0, adc_shdn=0)
vna.write_pll_io(lo_ce=1, source_ce=1, lo_rf=1, source_rf=1)
iqs = [{} for i in xrange(len(freqs))]

time.sleep(0.5)