L2 相量层:采样环缓冲 + 全周傅氏 + 主机单测(台架间歇复位待查)

新增(均已通过主机侧单测与构建,**台架存在未定位的间歇性回归,见下**):
- App/algo/sample_ring.c/h:按语义通道的采样环缓冲(2 周波 = 40 点),
  整帧压入 + 帧计数,供 L2 按窗取数。
- App/algo/phasor.c/h:全周傅氏相量层,覆盖规划 §3.2 的 L2-1/2/3/6/7——
  系数表按 docs/算法/傅氏算法详解.md §2.3 预乘 √2/N(fAmSQ 直接即有效值);
  5 个数据驱动实例(IA/UA/UN 基波 + IA 二/五次谐波);暴力滑动窗;
  计算区/使用区双区原子切换。
- test/host/phasor/:主机侧单测(52/52 PASSED,无需桩)——系数表逐项复核、
  幅值/有效值/相位、直流与谐波抑制、任意次谐波提取、频率敏感性(±2Hz≤3%)、
  环缓冲时序与回绕、实例层与双区交换。
- 集成:adc_task 每拍压帧 + 重算(v2.4);app_main 调 phasor_init();
  Keil 工程挂 phasor.c/sample_ring.c(App/algo 已在 IncludePath)。

验证:
- 主机单测 52/52 PASSED。
- @build 0 错误 0 警告;内存快照已刷新(RW_IRAM1 89,320→90,936 B)。
- 台架:L2 链路数据正常(ring=10001、skip=0、回读一致、相量日志可见),
  但 10 次运行中 3 次出现 UI 任务看门狗停喂(mask=0x67 缺 TASK_WD_UI)
  → IWDG 复位;改动前基线 6 次运行 0 次。属**未定位的间歇性回归**。

未完成:定位并修复该间歇性复位;L2 文档状态与登记簿条目尚未按结论更新。
This commit is contained in:
2026-10-10 17:39:37 +08:00
parent 66186e1dae
commit 3762c03bb4
10 changed files with 1222 additions and 12 deletions
+10
View File
@@ -942,6 +942,16 @@
<FileType>1</FileType>
<FilePath>..\App\algo\adc_input.c</FilePath>
</File>
<File>
<FileName>sample_ring.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\algo\sample_ring.c</FilePath>
</File>
<File>
<FileName>phasor.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\algo\phasor.c</FilePath>
</File>
</Files>
</Group>
<Group>