Skip to content

Prototype implementations for a more compile-time efficient flowgraph API

License

Notifications You must be signed in to change notification settings

fair-acc/gnuradio4

Repository files navigation

License CMake All Contributors

GNU Radio 4.0 prototype

Important

This is the GNU Radio 4.0 (GR4) prototype and is currently in a beta state. For production use, please use the GNU Radio 3.X (GR3) version found here. Bug reports related to this beta should be submitted here, and bug reports for GNU Radio 3.X should be submitted here

GNU Radio is a free & open-source signal processing runtime and signal processing software development toolkit. Originally developed for use with software-defined radios and for simulating wireless communications, it's robust capabilities have led to adoption in hobbyist, academic, and commercial environments. GNU Radio has found use in software-defined radio, digital communications, nuclear physics, high- energy particle physics, astrophysics, radio astronomy and more!

Helpful Links

What's New in GNU Radio 4.0?

  • Smooth Transition with Updated GR3 Paradigms: User-defined blocks and flow-graphs continue to be accessible graphically, through Python, and using C++. Notable simplifications and streamlining have been made to the underlying low-level architecture and design, as described here.
  • Enhanced Data Types: Support for fundamental data types (i.e. ints, floats, complex numbers) as well as more complex, structured, and user-defined custom types.
  • Simplified Block Development: Modern C++ and computing standards enable rapid development.
  • High-Performance Signal-Processing: Significant performance boosts from lock-free buffers, compile-time optimisations, and built-in SIMD & SYCL support.
  • Flexible Scheduling: An updated scheduling method improves performance and enables user-defined schedulers to balance throughput, parallelism, and latency depending on the application.
  • Recursive Directed Graphs: Support for basic feedback loops.
  • Broadened Hardware Support: Ready for CPUs, MCUs, GPUs, and aspirationally FPGAs.
  • Bridging R&D and Industrial Use: Aims to bridge the gap between academics using GNU Radio for research, hobbyists using it for prototyping and safe operational use by research organizations and industry.

License and Copyright

Unless otherwise noted: SPDX-License-Identifier: LGPL-3.0-or-later All code contributions to GNU Radio will be integrated into a library under the LGPL, ensuring it remains free/libre (FLOSS) for both personal and commercial use, without further constraints on either. For details on how to contribute, please consult: CONTRIBUTING.md

Copyright (C) 2001-September 2020 GNU Radio Project -- managed by Free Software Foundation, Inc.
Copyright (C) September 2020-2024 GNU Radio Project -- managed by SETI Institute
Copyright (C) 2018-2024 FAIR -- Facility for Antiproton & Ion Research, Darmstadt, Germany

Acknowledgements

The GNU Radio project appreciates the contributions from FAIR in the co-development of GNU Radio 4.0. Their dedicated efforts have played a key role in enhancing the capabilities of our open-source SDR technology. We would like to recognize the following contributors for their roles in redesigning the core that has evolved into GR 4.0:

Contributors

Thanks goes to these wonderful people (emoji key):


Alexander Krimm

Bailey Campbell

Frank Osterfeld

Ivan Čukić

Matthias Kretz

Ralph J. Steinhagen

drslebedev

mormj
Add your contributions