MIT License

项目介绍

isaiah-harville/SigKit 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 MIT License 许可证,目前获得 12 个 Star、0 次 Fork。

仓库全名
isaiah-harville/SigKit
开源许可证
MIT License
Star 数
12
未关闭 Issue
20

README 摘要

SigKit SigKit is a modular digital signal‐processing toolkit built on top of NumPy. It has additive impairments to simulate OTA impairments. We include a full Machine Learning toolkit with methods for PyTorch designed for training Modulation Classification Models that are capable of generalizing over the air (OTA). It provides: Core abstractions (Signal, Impairment, Modem, …) for working in complex baseband NumPy…

完整内容见 GitHub 原始 README 或本页 。

常见问题

SigKit 用什么语言开发?

主要使用 Python 编写,采用 MIT License 许可证,目前有 12 个 Star。

SigKit 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 SigKit 的源码?

可以直接克隆仓库:git clone https://github.com/isaiah-harville/SigKit.git,默认分支为 main;安装与运行步骤见仓库 README。

SigKit 最近还在维护吗?

仓库最近一次更新为 2025年7月3日,当前有 20 个未关闭 Issue;Star 数为 12,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A DSP Toolkit for PyTorch

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

Python
Shell

Release

README

SigKit

Version Tests Passing GitHub Contributors Issues Pull Requests

SigKit is a modular digital signal‐processing toolkit built on top of NumPy. It has additive impairments to simulate OTA impairments. We include a full Machine Learning toolkit with methods for PyTorch designed for training Modulation Classification Models that are capable of generalizing over the air (OTA). It provides:

  • Core abstractions (Signal, Impairment, Modem, …) for working in complex baseband
  • NumPy ipairments, PyTorch Transforms & tools (AWGN, fading, filtering, SNR & BER calculators)
  • PyTorch Transforms so you can drop signal operations straight into Compose
  • PyTorch Lightning Pipeline includes our pretrained model and methods for retraining
  • (WIP) GNURadio Blocks wrapping our tools
  • Synthetic data generators & torch.utils.data.Dataset classes

🚀 Getting Started

Try the example notebook

A quick way to explore SigKit is to run the Jupyter notebook in:

examples/notebooks/basic.ipynb

The notebook is a guide that covers:

  • Generating a signal with a Modem
  • Adding an Impairment like AWGN
  • Calculating Signal Metrics
  • Visualizing the waveform

Be sure to restart your notebook’s kernel after installing the package.

Classification

There is also an example notebook for running the pretrained model.

examples/notebooks/classification.ipynb

Pull down LFS objects first with git lfs pull

Installing SigKit

Package Installation

Installing the pypi package
pip install sigkit
git clone https://github.com/IsaiahHarvi/SigKit.git
cd SigKit
pip install -e .
Sanity Check for source installs

You can be gauranteeed your installation is sound by running pytest without failure from the root of the repository.

(Optional) DevContainer for VS Code

If you use VS Code and would prefer to isolate your SigKit installation, we’ve provided a DevContainer in the repository. It is designed to be OS agnostic but it is confirmed to support: Ubunutu >22.04, ARM MacOS, Windows

To setup:

  1. Install the Remote – Containers extension in VS Code.
  2. Clone, open the project, and run chmod +x .devcontainer/setup.sh.
  3. Run Reopen in Container from the VSCode console.

Inside the container you’ll have all dependencies installed and SigKit ready to run.


State of Implementations

The below table tracks major planned features. Smaller features like Signal Impairments and Torch Transforms are not tracked here.

Feature Implemented Torch Transform
Architecture - -
Rust bindings No -
GNURadio - -
ClassificationBlock No -
Modulator No -
Modems - -
PSK Yes -
FSK Yes -
QAM WIP -
OFDM WIP -
MSK No -
ASK No -
Machine Learning - -
Training Pipeline Yes -
Pretrained Model Yes (WIP) -
Procedural Dataset Yes -
File Dataset No -
Signal Impairments - -
AWGN Yes ✅
Frequency Shift Yes ✅
Phase Shift Yes ✅
Polyphase Resampling No ❌
Rayleigh Fading No ❌
Random Resampling No ❌
IQ Imbalance No ❌
Time Shift No ❌

🛠️ Development

  • Tests:

    pytest
    
  • Lint & Format:

    ruff check . --fix
    ruff format .
    
  • Update docs:

    # Install the optional dependencies [docs] or:
    pip install sphinx piccolo_theme tomli
    
    ./docs/gen.sh
    

License

This project is released under the MIT License. See LICENSE for details.

评论

暂无评论