Commit graph

14 commits

Author SHA1 Message Date
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 0205ab494d Improve de-embedding
- Add Z parameters with general conversion from and to S parameters
- Implement impedance renormalization over general Z parameters
- Fix crash after taking de-embedding measurement
- Fix various small bugs with new parameter implementation
2025-02-21 12:37:39 +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 e8482783f7 Add temperature and manual control SCPI commands 2024-12-15 17:40:19 +01:00
Jan Käberich 2b521c4aaa Add firmware update command 2024-04-22 13:21:41 +02:00
Jan Käberich ad9e19c102 working SSA3000X driver 2023-02-08 22:57:17 +01:00
Jan Käberich b701479e87 WIP: working compound driver, partial SSA3000X as a demonstration 2023-02-07 18:30:05 +01:00
Jan Käberich 89e46057a5 LibreVNA settings widget 2023-02-06 18:06:50 +01:00
Jan Käberich 2c86cf1d6c LibreVNA TCP driver 2023-01-29 18:02:32 +01:00
Jan Käberich 80c5fc0ff6 LibreVNADriver specific actions 2023-01-25 23:07:33 +01:00
Jan Käberich cde564299c WIP: device driver abstraction 2023-01-17 00:25:58 +01:00
Jan Käberich db6d823e0f WIP: device driver abstraction 2023-01-16 00:25:29 +01:00
Jan Käberich 59e30e93c5 DeviceDriver base class 2023-01-15 00:41:49 +01:00