Roger Henderson
0b571688a9
add Correlated Double Sampling (CDS) support
...
Implements CDS to reduce noise by taking multiple measurements at
different source PLL phase offsets and combining with cosine weighting.
Firmware changes (VNA.cpp, Protocol.hpp):
- Add cdsPhases field to SweepSettings (0=disabled, 2-7=phase count)
- Configure N internal sweep points per user point with phase offsets
- Accumulate weighted samples: result = Σ(sample[k] × cos(2π×k/N))
- Per-stage accumulators for multi-stage measurements
PC application changes:
- Add "CDS" checkbox to VNA acquisition toolbar
- When enabled, sets cdsPhases=2 for 180° differential measurement
- Tooltip explains the feature
With 180° CDS (2 samples):
- Sample at 0°: weight = cos(0°) = 1
- Sample at 180°: weight = cos(180°) = -1
- Combined result = Sample₀ - Sample₁₈₀
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:47:02 +13:00
Jan Käberich
bf028e2d21
add SCPI API for dwell time
Build / PC_Application_Ubuntu (push) Has been cancelled
Build / PC_Application_RPi5 (push) Has been cancelled
Build / PC_Application_Windows (push) Has been cancelled
Build / PC_Application_OSX (push) Has been cancelled
Build / PC_Application_OSX_15 (push) Has been cancelled
Build / Embedded_Firmware (push) Has been cancelled
HIL_Tests / Get_Repository (push) Has been cancelled
Unit_Tests / Tests (push) Has been cancelled
HIL_Tests / PC_Application_RPi5 (push) Has been cancelled
HIL_Tests / Embedded_Firmware (push) Has been cancelled
HIL_Tests / HIL (push) Has been cancelled
2026-01-27 18:24:05 +01:00
Jan Käberich
42aca8ff8d
only set idle when mode is active
2025-12-09 12:26:45 +01:00
Jan Käberich
3aac724298
prevent the combination of log sweep and start frequency = 0
2025-12-02 11:36:36 +01:00
Jan Käberich
0f9510e7a0
save number of averages in setup files
2025-12-02 11:30:16 +01:00
Jan Käberich
65bc247a65
SCPI API for querying the sweep cursor
2025-12-02 11:22:54 +01:00
Jan Käberich
937b002dfb
Minor UI improvememts
...
- Add space between number and unit
- Increase width of toolbar items to (hopefully) be fully visible for
all operating systems and themes
- Adjust order of automatically created calibration measurements to
match LibreCAL
- Disable edit triggers for calibration measurement table
- Show timestamps of calibration measurements in local time
- Allow starting calibration measurements by double clicking row
2025-11-05 09:19:02 +01:00
Jan Käberich
d77215aecb
initialize new plots with the correct span
Build / PC_Application_Ubuntu (push) Has been cancelled
Build / PC_Application_RPi5 (push) Has been cancelled
Build / PC_Application_Windows (push) Has been cancelled
Build / PC_Application_OSX (push) Has been cancelled
Build / PC_Application_OSX_13 (push) Has been cancelled
Build / Embedded_Firmware (push) Has been cancelled
HIL_Tests / Get_Repository (push) Has been cancelled
Unit_Tests / Tests (push) Has been cancelled
HIL_Tests / PC_Application_RPi5 (push) Has been cancelled
HIL_Tests / Embedded_Firmware (push) Has been cancelled
HIL_Tests / HIL (push) Has been cancelled
2025-10-31 15:42:42 +01:00
Jan Käberich
3e327e7e6b
option to use already existing measurements for calibration
2025-09-22 16:01:38 +02:00
Jan Käberich
68e8d29e0c
Calibration error term model view
2025-08-10 15:13:24 +02:00
Jan Käberich
b8600be086
fix streaming server output for zero span sweeps
2025-04-16 19:55:21 +02:00
Jan Käberich
7370fda2c7
fix de-embedding menu on macOS after loading setup ( #297 )
2025-03-05 07:57:56 +01:00
Jan Käberich
86fbe929d4
prevent race condition when aborting calibration measurement
2025-02-27 19:59:52 +01:00
Jan Käberich
28150307ca
update cal widget after auto-adjusting the span
2025-02-27 19:46:42 +01:00
Jan Käberich
cd83921f49
Short switch to idle when the reference is changed
2025-01-07 08:30:17 +01:00
Jan Käberich
ca25969574
Startup and communication bugfixes
...
- reduce amount of mode switched when starting and loading setups
- improve logging for errors during HIL tests
- fix small USB communication bugs
2025-01-06 17:34:46 +01:00
Jan Käberich
a4faeb28b0
Working dwell time feature
...
- Bugfixes:
- improve SPI timing in FPGA
- fix markers and reduce CPU load when using markers with fast traces
- New features:
- dwell time configurable in acquisition toolbar
- PLL settling delay in device configuration
- device configuration persistent across power cycles
2025-01-03 14:36:10 +01:00
Jan Käberich
24314e2361
WIP: rework 2.LO + add dwell time
2025-01-02 19:16:53 +01:00
Jan Käberich
6ea8869f7f
TraceWidget: support dropping files for importing measurements
2024-12-02 18:11:20 +01:00
Jan Käberich
82e215881a
improve handling of SCPI commands received with short/no time between
2024-12-02 10:46:28 +01:00
Jan Käberich
57e6812cf8
fix for future qt versions: keep one instance of the calibation progressbar
2024-12-01 18:17:39 +01:00
Jan Käberich
67a186be4f
workflow update + minor bugs/warnings fixes
2024-11-03 13:36:54 +01:00
Jan Käberich
64a7ddc455
use native OS dialogs by default for load/save
2024-11-03 12:54:16 +01:00
Jan Käberich
2c639d8080
Improved electronic calibration
...
- Added automatic port detection mode
- Faster coefficient readout
- LibreCAL using asynchronous libusb API
2024-09-25 15:30:42 +02:00
Jan Käberich
b9e4117db1
Import/export options in file menu
2024-09-16 20:56:02 +02:00
Jan Käberich
009de1af17
new SCPI command to switch between linear/log sweeps in VNA mode
2024-09-16 20:22:25 +02:00
Jan Käberich
45a30a4159
only stream data if calculations are performed + documentation of streaming servers
2024-06-20 16:21:39 +02:00
Jan Käberich
6ca54547bb
added streaming servers
2024-06-20 15:56:38 +02:00
Jan Käberich
fe08937bb7
Improve taking de-embedding measurements
...
- Automatically restart measurement even when the sweep was stopped
- Fix crash due to zeroed de-embedding reference impedance
- Fix crash due to not cleaned up dialog pointer with dangling connections
- Automatically excite the correct ports for the measurement
2024-05-17 19:07:34 +02:00
Jan Käberich
5692356e90
decouple RST settings from startup settings
2024-05-01 13:33:18 +02:00
Jan Käberich
2963e8b3d5
Reset refernence on *RST, fix VNA:ACQ:RUN? query
2024-04-20 15:56:57 +02:00
Jan Käberich
3be48bddeb
add sweep stop/run commands
2024-04-16 18:55:49 +02:00
Jan Käberich
73ba0f9692
do not set operation pending if no device connected
2024-04-12 12:23:00 +02:00
Jan Käberich
5d3ce139b4
implementation of OPC/WAI
2024-04-07 14:11:04 +02:00
Jan Käberich
a77d675a39
Improve averaging
...
- keep already acquired data when changing the amount of averaging
- add reset button for averaging
2024-04-05 11:49:27 +02:00
Jan Käberich
358872904e
Fix impedance renormalization and honor new reference impedance for traces
2024-03-01 09:08:37 +01:00
Jan Käberich
542b07f52c
postpone deletion of caldialog to prevent race condition crash
2024-02-18 11:37:46 +01:00
Jan Käberich
56de3dca11
Fix determination of excited ports
2024-02-03 18:34:28 +01:00
Jan Käberich
3bc9070eea
option to match span to active calibration
2024-01-27 18:18:04 +01:00
Jan Käberich
ee8188775a
minor improvements to eCal dialog
2024-01-13 18:21:29 +01:00
Jan Käberich
054e7ed995
Fix for de-embedding menu on macOS
2023-12-15 16:08:23 +01:00
Jan Käberich
503d689d51
reduce inter-segment delay, add integration test for segmented sweep
2023-10-24 16:39:21 +02:00
Jan Käberich
ccb71f9650
Shortcuts for adding/removing plots
2023-10-24 14:04:31 +02:00
Jan Käberich
59f3057dd9
Fix segmented sweep
2023-10-23 19:29:01 +02:00
Jan Käberich
69fe833715
Fix calibration progress dialog
2023-07-30 13:09:47 +02:00
Jan Käberich
853cf310c9
Start GUI with ideal calibration standards
2023-07-29 18:11:57 +02:00
Jan Käberich
5f022c42b6
Ignore first point of next sweep when in single sweep mode, fix parsing of VFF MCU temperature in VNA log
2023-04-03 13:05:52 +02:00
Alexander Voronov
76448e64ee
LibreVNA-GUI: Use 'horizontalAdvance' instead of 'width' for text width
2023-03-25 00:28:42 +03:00
Alexander Voronov
8b17a445c7
LibreVNA-GUI: Remove obsolete QDesktopWidget inclusions
2023-03-25 00:28:42 +03:00
Jan Käberich
5e46055d3c
Output time per sweep on debug console
2023-03-17 18:50:46 +01:00