The development of intelligent radio solutions involves multiple steps:
1. First, we need to prepare a machine learning-ready dataset. This involves signal synthesis or capture, followed by
dataset curation to extract and qualify examples. Finally, we need to perform any required data preprocessing—such as
augmentation—and split the dataset into training and test sets.
2. Secondly, we need to design and train a model. This is typically an iterative process, often accelerated using
techniques such as Neural Architecture Search (NAS) and hyperparameter optimization (HPO), which help automate the
discovery of an effective model structure and optimal hyperparameter settings.
3. Once a machine learning model has been trained and validated, the next step is to build an inference application.
This step transforms the model from a research artifact into a practical tool capable of making predictions in
real-world conditions. Building an inference application typically involves several steps including model
optimization, packaging and integration, and monitoring and logging.
This is a lot of work, and much of it involves tedious software development and repetitive tasks, like setting up and
configuring infrastructure. What's more? There is a shortage of domain expertize in ML and MLOps for radio. That's
where we come in. RIA Hub offers a no-code and low-code solution for automating the end-to-end development of
intelligent radio systems.
## ▶️ RIA Hub Workflows
One of the core principles of RIA Hub is Workflows, which allow users to run jobs in isolated Docker containers.
You can create workflows in one of two ways:
- Writing YAML and placing it in the special `.riahub/workflows/` directory in your repository.
- Using RIA Hub's built-in tools for Dataset Management, Model Building, and Application Development, which will
automatically generate the YAML workflow file(s) for you.
Workflows can be configured to run automatically on push and pull request events. You can monitor and manage running
workflows in the 'Workflows' tab in your repository.
Workflows require a _runner_, which retrieves job definitions from RIA Hub, executes them in isolated containers, and
reports the results back to RIA Hub. The next section outlines the convenience and advantage of using Qoherent-hosted
runners. The workflow configuration defines the specifications and settings of the available job containers.
The best part? RIA Hub Workflows are built on [Gitea Actions](https://docs.gitea.com/usage/actions/overview) (similar to [GitHub Actions](https://github.com/features/actions)), providing a
familiar syntax and allowing you to leverage a wide range of third-party Actions.
## ⚙️ Qoherent-hosted runners
Qoherent-hosted runners are workflow runners that Qoherent provides and manages to run your workflows and jobs in
RIA Hub Workflows.
Why use Qoherent-hosted runners?
- Start running workflows right away, without the need to set up your own infrastructure.
- Qoherent maintains runners equipped with access to hardware and tools common for radio ML development, including
SDR testbeds and common embedded targets.
If you want to learn more about the runners we have available, [contact us](https://www.qoherent.ai/contact/) directly. We can also provide
custom runners equipped with specific radio hardware and RAN software upon request.
Want to register your own runner? No problem! Please refer to the RIA Hub documentation for more details.
## 🔍 Modulation Recognition
In radio, the modulation scheme refers to the method used to encode information onto a carrier signal. Common schemes
such as BPSK, QPSK, and QAM vary the amplitude, phase, or frequency of the signal in structured ways to represent
digital data. These schemes are fundamental to nearly all wireless communication systems, enabling efficient and
reliable transmission over different channels and under various noise conditions.
Machine learning-based modulation classification helps identify which modulation scheme is being used, especially
in scenarios where prior knowledge of the signal format is unavailable or unreliable. Traditional methods often rely
on expert-designed features and rule-based algorithms, which can struggle in real-world environments with multipath,
interference, or hardware impairments. In contrast, ML-based approaches can learn complex patterns directly from
raw signal data, offering higher robustness and adaptability. This is particularly valuable in applications like
cognitive radio, spectrum monitoring, electronic warfare, and autonomous communication systems, where accurate and
fast modulation recognition is critical.
## 🚀 Getting started
1. Fork the project repo, using the button in the upper right hand corner.
If you encounter any issues or to report a security vulnerability, please submit a [bug report](https://git.riahub.ai/qoherent/modrec-workflow/issues).
We kindly insist that all contributors review and adhere to our [Code of Conduct](https://github.com/qoherent/.github/blob/main/docs/CODE_OF_CONDUCT.md) and that all code contributors