|
@@ -1,23 +1,37 @@
|
|
-# VNA
|
|
|
|
|
|
+# CuriousMeasurements
|
|
|
|
|
|
## Objective
|
|
## Objective
|
|
-This library will _eventually_ be resposible for providing a uniform interface for VNA calibartion and control. This will be used for automated scripting of tests.
|
|
|
|
|
|
+This library will _eventually_ be resposible for providing a uniform interface for measurement equipment calibartion and control. This will be used for automated scripting of tests.
|
|
|
|
|
|
# To-Dos
|
|
# To-Dos
|
|
- - [ ] Turn nanovnav2_h4 class into metaclass
|
|
|
|
- - [ ] Create regualer VNA class and document
|
|
|
|
- - [ ] Create dict to hold registers for NanoVNA2
|
|
|
|
- - [ ] Optimize calibration proceedure and get away from "datapoints"
|
|
|
|
- - [ ] Turn curiousVNA into a submodule / python package
|
|
|
|
-
|
|
|
|
-# NanoVNAV2 H4 Notes
|
|
|
|
-## Sampling Speed
|
|
|
|
-Frequency Range (Default): 200MHz - 4.2GHz
|
|
|
|
-
|
|
|
|
-| Samples | Acquisition Time |
|
|
|
|
-| - | - |
|
|
|
|
-| 101 | 304 ms |
|
|
|
|
-| 300 | 812 ms |
|
|
|
|
-| 500 | 1.31 s |
|
|
|
|
-| 1000 | 2.58 s |
|
|
|
|
-| 4000 | 10.15 s|
|
|
|
|
|
|
+ - [x] Develop scripts to use nanoVNAV2 H4
|
|
|
|
+ - [ ] Develop metaclass which will import correct subclass based on argument (class factory)
|
|
|
|
+ - [ ] Document VNA classes
|
|
|
|
+ - [ ] Optimize VNA calibration proceedure and get away from "datapoints"
|
|
|
|
+ - [x] Turn curiousVNA into a submodule / python package (That's Curious Measurements, yay!)
|
|
|
|
+ - [ ] Add analog discovery support
|
|
|
|
+ - [ ] Add sig gen support using <insert option here>
|
|
|
|
+ - [ ] Add oscilloscope support using signlent
|
|
|
|
+ - [ ] Ass powersupply support
|
|
|
|
+
|
|
|
|
+# VNA Example
|
|
|
|
+
|
|
|
|
+```python
|
|
|
|
+from curiousmeasurements.VNA.NanoVNA_V2 import NanoVNA_V2_H4
|
|
|
|
+from curiousmeasurements.VNA.Hardware import get_interfaces
|
|
|
|
+
|
|
|
|
+# setup interface
|
|
|
|
+iface = get_interfaces()[0]
|
|
|
|
+iface.open()
|
|
|
|
+vna = NanoVNA_V2_H4(iface)
|
|
|
|
+
|
|
|
|
+# configure sweep
|
|
|
|
+vna.set_sweep(140e6,4.4e9,1001)
|
|
|
|
+
|
|
|
|
+# load cal
|
|
|
|
+vna.load_cal(cal_path / 'test2.cal')
|
|
|
|
+
|
|
|
|
+# measure
|
|
|
|
+f, s11, s21 = vna.measure()
|
|
|
|
+```
|
|
|
|
+
|