LibreVNA/Software/PC_Application/LibreVNA-GUI/Device
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
..
Harogic move to dedicated driver 2025-11-17 16:38:02 +01:00
LibreVNA add Correlated Double Sampling (CDS) support 2026-01-31 23:47:02 +13:00
SNA5000A partial driver for SNA5000A 2023-10-31 18:49:08 +01:00
SSA3000X partial driver for SNA5000A 2023-10-31 18:49:08 +01:00
devicedriver.cpp move to dedicated driver 2025-11-17 16:38:02 +01:00
devicedriver.h add Correlated Double Sampling (CDS) support 2026-01-31 23:47:02 +13:00
devicelog.cpp remember last used load/save paths in preferences 2025-06-23 16:39:18 +02:00
devicelog.h Move project, add simple test 2022-10-01 17:10:44 +02:00
devicelog.ui Move project, add simple test 2022-10-01 17:10:44 +02:00
devicetcpdriver.cpp add IP address list for TCP drivers 2023-02-12 22:58:45 +01:00
devicetcpdriver.h add IP address list for TCP drivers 2023-02-12 22:58:45 +01:00
devicetcpdriversettings.ui add IP address list for TCP drivers 2023-02-12 22:58:45 +01:00
tracedifferencegenerator.h partial driver for SNA5000A 2023-10-31 18:49:08 +01:00