daniestevez/gr-satellites

GitHub: daniestevez/gr-satellites

基于 GNU Radio 的业余卫星遥测解码框架,支持多种主流协议的信号解调、FEC 解码及数据解析。

Stars: 913 | Forks: 190

# gr-satellites [![GitHub release (latest by date)](https://img.shields.io/github/v/release/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/releases/latest) [![Conda](https://img.shields.io/conda/v/conda-forge/gnuradio-satellites)](https://anaconda.org/conda-forge/gnuradio-satellites) [![Read the Docs](https://img.shields.io/readthedocs/gr-satellites)](https://gr-satellites.readthedocs.io/) [![GitHub license](https://img.shields.io/github/license/daniestevez/gr-satellites)](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, 业余无线电, 信号处理, 前向纠错, 卫星地面站, 卫星通信, 图像重组, 射频通信, 开源项目, 数据擦除, 无后门, 航天软件, 解调器, 软件定义无线电, 逆向工具, 遥测解码