-
Notifications
You must be signed in to change notification settings - Fork 112
/
Copy pathfmc_vna.py
36 lines (27 loc) · 1.19 KB
/
fmc_vna.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Copyright (C) 2019-2025 Analog Devices, Inc.
#
# SPDX short identifier: ADIBSD
import numpy as np
from adi.ad9083 import ad9083
from adi.adf5610 import adf5610
from adi.adl5960 import adl5960
from adi.admv8818 import admv8818
from adi.adrf5720 import adrf5720
from adi.gen_mux import genmux
from adi.one_bit_adc_dac import one_bit_adc_dac
class fmcvna(adrf5720, ad9083, admv8818, genmux, adf5610, adl5960):
""" FMCVNA Scalable 8-port Vector Network Analyzer Board """
frontend = [0] * 8
def __init__(self, uri):
self.lo = adf5610(uri, device_name="adf5610")
self.rfin_attenuator = adrf5720(uri, device_name="adrf5720-rfin")
self.lo_attenuator = adrf5720(uri, device_name="adrf5720-lo")
self.rfin_bpf = admv8818(uri, device_name="admv8818-rfin")
self.lo_bpf = admv8818(uri, device_name="admv8818-lo")
self.rfin_mux = genmux(uri, device_name="mux-rfin")
self.lo_mux = genmux(uri, device_name="mux-doubler")
for i in range(1, 9):
self.frontend[i - 1] = adl5960(uri, device_name=f"adl5960-{i}")
ad9083.__init__(self, uri)
one_bit_adc_dac.__init__(self, uri)
self._rxadc.set_kernel_buffers_count(1)