Files
Look4Sat-mckero/feature/cw/licenses/NOTICE.md
T
mckero f4f6ec7db5 feat(cw): ship the full fp32 DeepCW model instead of the int8 build
用户要求内置完整版模型, 不要量化版。

assets/deepcw/model.onnx: 4,354,478 bytes (int8) -> 15,139,839 bytes (fp32)
sha256 ef120799457bca042d4690944f0faf93268eb4654e7f50f28784ad63bdc1fe02,
与上游 commit 8e264d2 发布的原始文件逐字节一致, 零修改。

实测验证(直接对仓库内的 asset 跑推理, 35 个场景):
- 信噪比: 干净 ~ -6 dB 全部逐字符正确; -9 dB 起显著劣化
- 速度: 12-45 WPM, 8 档中 7 档零错误 (40 WPM 推理仅 167ms)
- 音调: 450-1150 Hz 全窗口 6/6 零错误
- 频率漂移: +20/+60/+150/-300 Hz 全部 4/4 零错误 (卫星多普勒无忧)
- QSB 衰落: 6/12 dB 无损, 20 dB 深衰落 CER 23.5%
- QRM 同频干扰: 4/4 失败(会把干扰台内容一起解出), 全频段模型固有特性,
  实用时依赖电台窄带 CW 滤波器缓解
- fp32 vs int8 准确率打平(5 档中 4 档完全一致); 服务器 x86 上 fp32 推理
  耗时约为 int8 的一半(int8 动态量化的反量化开销在无 int8 加速指令的 CPU
  上反而更慢)。手机 ARM 侧表现待装机确认。

NOTICE.md / DEEPCW.md / README.md 同步更新: 移除 int8 量化派生的记录与复现
步骤, 改为声明未修改照搬上游。

代价: APK 体积约 59MB -> 70MB, 运行内存峰值上升。此前真机闪退的根因是 R8
缺 -keep ai.onnxruntime.** 规则(已修), 与模型大小无关。
2026-08-13 14:48:56 +00:00

68 lines
2.9 KiB
Markdown

# Third-Party Notices — CW Decode Module
## DeepCW neural CW decoding model
The CW (Morse code) decoder in this module performs inference with a neural
network model obtained from the DeepCW project.
| | |
|---|---|
| **Component** | `src/main/assets/deepcw/model.onnx` and `model.onnx.json` |
| **Upstream project** | DeepCW / deepcw-engine |
| **Source repository** | https://github.com/e04/deepcw-engine |
| **Author / copyright** | e04 |
| **License** | GNU Affero General Public License v3.0 only (AGPL-3.0-only) |
| **License text** | [`DeepCW-AGPL-3.0.txt`](DeepCW-AGPL-3.0.txt) |
| **Obtained at commit** | `8e264d243bbd4467bd19f3f28292219405b47e0e` |
| **File size** | 15,139,839 bytes |
| **SHA-256** | `ef120799457bca042d4690944f0faf93268eb4654e7f50f28784ad63bdc1fe02` |
| **Modifications** | None. The full fp32 model is vendored byte-for-byte as published upstream. |
Related upstream repositories by the same author (not vendored here):
- https://github.com/e04/web-deep-cw-decoder — reference web application
- https://github.com/e04/HamNoise — neural noise reduction (not used)
### License compatibility
Look4Sat is licensed under the GNU General Public License v3.0 or later
(GPL-3.0-or-later). The DeepCW model is licensed under AGPL-3.0-only.
Section 13 of the GPL version 3 expressly permits combining GPL-3.0 covered
work with AGPL-3.0 covered work; the resulting combination may be conveyed,
with the AGPL's additional network-interaction requirement applying to the
AGPL-covered portion. Accordingly:
- The Look4Sat source code remains under GPL-3.0-or-later.
- The DeepCW model remains under AGPL-3.0-only.
- Distributions of the combined application are accompanied by complete
corresponding source, satisfying both licenses.
### AGPL section 13 (network interaction)
Inference runs entirely on the local device via ONNX Runtime. The application
does not offer the model's functionality to users interacting with it remotely
over a network, so the additional network-source-offer requirement of AGPL-3.0
section 13 is not triggered by this usage. The complete corresponding source
for both the application and the vendored model remains publicly available at
the repository hosting this file.
### Reproducing the vendored files
```bash
SHA=8e264d243bbd4467bd19f3f28292219405b47e0e
curl -sLO https://raw.githubusercontent.com/e04/deepcw-engine/$SHA/model.onnx
curl -sLO https://raw.githubusercontent.com/e04/deepcw-engine/$SHA/model.onnx.json
curl -sL -o DeepCW-AGPL-3.0.txt \
https://raw.githubusercontent.com/e04/deepcw-engine/$SHA/LICENSE
sha256sum model.onnx
# expected: ef120799457bca042d4690944f0faf93268eb4654e7f50f28784ad63bdc1fe02
# copy model.onnx and model.onnx.json into assets/deepcw/ unchanged
```
## ONNX Runtime
Inference engine: `com.microsoft.onnxruntime:onnxruntime-android`, licensed
under the MIT License. Consumed as a published Maven artifact; not vendored in
this repository.