daniestevez/gr-satellites
GitHub: daniestevez/gr-satellites
基于 GNU Radio 的业余卫星遥测解码框架,支持多种主流协议的信号解调、FEC 解码及数据解析。
Stars: 913 | Forks: 190
# gr-satellites
[](https://github.com/daniestevez/gr-satellites/releases/latest)
[](https://anaconda.org/conda-forge/gnuradio-satellites)
[](https://gr-satellites.readthedocs.io/)
[](https://github.com/daniestevez/gr-satellites/blob/main/LICENSE)
gr-satellites 是一个 GNU Radio OOT (out-of-tree) 模块,包含一组支持许多不同业余卫星的遥测解码器。这个开源项目始于 2015 年,旨在为所有在业余无线电频段传输的卫星提供遥测解码器。
它支持大多数流行的协议,例如 AX.25、GOMspace NanoCom U482C 和 AX100 调制解调器、CCSDS 协议栈的重要组成部分、FUNcube 卫星使用的 AO-40 协议,以及其他卫星使用的几种 ad-hoc 协议。
这个 OOT 模块可用于解码大多数在轨业余卫星发射的帧,执行解调、前向纠错 (FEC) 等操作。解码后的帧可以保存到文件或以十六进制格式显示。对于某些卫星,gr-satellites 包含了遥测格式定义,因此解码后的遥测帧可以打印为人类可读的值,例如总线电压和电流。此外,一些卫星会传输文件,例如 JPEG 图像。gr-satellites 可用于重组这些文件,甚至在接收时实时显示图像。
gr-satellites 可以作为一组构建块,用于实现其他卫星的解码器或其他地面站解决方案。gr-satellites 中的一些底层模块块对其他类型的 RF 通信协议也很有用。
## 文档
gr-satellites [文档](https://gr-satellites.readthedocs.io/) 托管在
[reathedocs.io](https://readthedocs.io/)。
## 发布版本与分支
目前 gr-satellites 的历史版本系列如下:
* `v5.x.y` 是当前的发布系列,支持 GNU Radio 3.10。
* `v4.x.y` 具有与 v5.x.y 系列相同的功能,但支持 GNU Radio 3.9(直到 v4.6.0,v4.x.y 系列同时支持 GNU Radio 3.9 和 3.10)。该分支已于 2025-07-31 冻结,结束了对 GNU Radio 3.9 的支持。
* `v3.x.y` 具有与 v5.x.y 系列相同的功能,但支持 GNU Radio 3.8。该系列是一次大型重构的结果,引入了许多新功能和改进。重构于 2019 年 9 月开始,于 2020 年 5 月完成。该分支已于 2025-07-31 冻结,结束了对 GNU Radio 3.8 的支持。
* `v2.x.y` 是 2019 年 9 月至 2020 年 5 月期间存在的与 GNU Radio 3.8 兼容的发布系列。该系列的功能与 `v1.x.y` 系列相当。
* `v1.x.y` 最初的发布系列,兼容 GNU Radio 3.7。该系列的开发于 2019 年 9 月随着 `v2.x.y` 系列的出现而停止,但此后发布了一些错误修复版本。
仓库按以下分支组织:
* `main` 是进行活跃开发的分支。有时,功能会在新版本中冻结。此分支兼容 GNU Radio 3.10。
* `maint-3.10` 是当前 `v5.x.y` 系列版本的发布分支。此分支兼容 GNU Radio 3.10。
* `maint-3.9` 是当前 `v4.x.y` 系列版本的发布分支。此分支曾兼容 GNU Radio 3.9。该分支已于 2025-07-31 冻结。
* `maint-3.8` 是当前 `v3.x.y` 系列版本的发布分支。此分支曾兼容 GNU Radio 3.8。该分支已于 2025-07-31 冻结。
* `maint-3.8-v2` 是 `v2.x.y` 系列版本的发布分支。此分支兼容 GNU Radio 3.8。此分支不再进行任何更改。
* `maint-3.7` 是 `v1.x.y` 系列版本的发布分支。此分支兼容 GNU Radio 3.7。此分支不再进行任何更改。
通常,Pull requests 应提交到 `main`。
## 安装
gr-satellites 的安装过程大致与通常的 GNU Radio OOT 模块相同。有关所需依赖项以及如何构建和安装 gr-satellites 的详细说明,请参阅 [文档](https://gr-satellites.readthedocs.io/)。
## 支持
gr-satellites 的支持仅通过
[Github issues](https://github.com/daniestevez/gr-satellites/issues)
和 [Github discussions](https://github.com/daniestevez/gr-satellites/discussions)
处理,以便整个社区受益,而不是通过电子邮件等私人渠道。请在寻求支持时理解这一点。
请查看 [这里](https://github.com/daniestevez/gr-satellites/discussions/304)
以确定新话题更适合发布在 issues 页面还是 discussions 页面。
## 卫星团队
有兴趣使用 gr-satellites 作为地面站解决方案的卫星团队,请阅读
[此说明](https://github.com/daniestevez/gr-satellites/blob/main/satellite_teams.md),
特别是如果您将使用业余无线电频谱。
## 商业卫星
[此说明](https://github.com/daniestevez/gr-satellites/blob/main/commercial_satellites.md)
描述了 gr-satellites 项目关于添加商业卫星任务支持代码贡献的政策。
## CCSDS TM 和 TC 空间数据链路及 SpacePacket 模块
Athanasios Theocharis 在 ESA Summer of Code in Space 2019 活动中制作了一组涵盖几本 CCSDS 蓝皮书的模块。这些模块的文档可以在
[CCSDS_README.md](https://github.com/daniestevez/gr-satellites/blob/main/CCSDS_README.md) 中找到。
标签:AX.25, C++, CCSDS, DNS解析, FEC, GNU Radio, Python, SDR, 业余无线电, 信号处理, 前向纠错, 卫星地面站, 卫星通信, 图像重组, 射频通信, 开源项目, 数据擦除, 无后门, 航天软件, 解调器, 软件定义无线电, 逆向工具, 遥测解码