GRC Basic
Introduction to GRC
GNU Radio Companion (GRC) is the graphical user interface for GNU Radio, allowing users to design communication systems by dragging and dropping components, and generating corresponding Python/C++ code. GRC has rich functionality, and this unit mainly introduces some basic concepts of GRC, including data types, streams and vectors, choosers and selectors, GUI Hints, QT GUI Tab Widgets, Virtual Sources, and Virtual Sinks.
Data Types
The main data types in GNU Radio are divided into two categories: Streams and Vectors. A stream is a continuous sequence of data, commonly used to represent time series, such as the sampled values of an analog signal. A vector is used to represent a fixed-size block of data, which is particularly useful for operations that require fixed-length inputs, such as the Fast Fourier Transform (FFT).
Chooser and Selector
A chooser is used to select specific items, and a common example is a dropdown list. A selector is used to determine how inputs and outputs are mapped, and it is often used to select a specific data stream.
GUI Hint
The GUI Hint is primarily used to set the layout of QT GUI components.
QT GUI Tab Widget
The QT GUI Tab Widget allows users to create additional tab pages, increasing the flexibility of the system layout.
Virtual Source and Virtual Sink
Virtual Sources and Virtual Sinks can be used to break down a large system into smaller, more manageable blocks based on the data flow graph, allowing for a more hierarchical and flexible system design.