LibreVNA/Software/VNA_embedded
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
..
.settings improve GUI synchronization for compound device 2025-05-04 13:01:00 +02:00
Application add Correlated Double Sampling (CDS) support 2026-01-31 23:47:02 +13:00
Drivers Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
Inc Version number increase + boot LED debug reverted 2022-10-01 23:27:03 +02:00
Middlewares/Third_Party/FreeRTOS/Source Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
Src WIP: rework 2.LO + add dwell time 2025-01-02 19:16:53 +01:00
Startup Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
.cproject Changelog + version bump 2025-05-31 16:05:21 +02:00
.gitignore remove installation dependent IDE settings file 2022-04-05 16:35:42 +02:00
.mxproject Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
.project Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
Makefile Changelog + version bump 2025-05-31 16:05:21 +02:00
STM32G431CBUX_FLASH.ld Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
VNA_embedded Debug into running system.launch Hardfault handler + FPGA abort/interrupt collision fix 2022-11-19 15:46:17 +01:00
VNA_embedded Debug.launch Update to STM32CubeIDE + longer settling time for point 0 2022-03-07 22:51:17 +01:00
VNA_embedded.ioc WIP: rework 2.LO + add dwell time 2025-01-02 19:16:53 +01:00