本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
本文介绍GNU Radio源码的gr-qtgui相关实例及模块。
目录
一、gui_sink
GRC文件为《gnuradio-3.9.1.0/gr-qtgui/examples/gui_sink.grc》。该流图的功能是实现信号时域、频域、瀑布图和星座图的仿真展示。
1、Signal Source模块
Signal Source - GNU Radiohttps://wiki.gnuradio.org/index.php/Signal_Source
该模块是信号源模块,用于生成常数、正弦波、余弦波、方波、三角波和锯齿波的信号,支持complex、float、int、short和byte类型输出类型。
模块参数解释如下:
Sample Rate,采样率。
Waveform,可选项包括[Constant常数,Sine正弦波,Cosine余弦波,Square方波,Triangle三角波,Saw Tooth锯齿波]。
对于带有变量的选项,应使用以下取值:常数=100,正弦=101,余弦=102,方波=103,三角形=104,锯齿=105。
Frequency,信号的频率。
Amplitude:输出幅度(默认值为1)。
Offset:从零开始偏移(默认值为0)。
Initial Phase:默认值为0(弧度)。
2、Noise Source模块
Noise Source - GNU Radiohttps://wiki.gnuradio.org/index.php/Noise_Source
该模块是噪声源模块,是通过使用高斯或均匀分布来生成“噪声”信号,支持complex、float、int或short类型的数据输出。
模块参数解释如下:
Noise Type,随机分布类型,支持高斯分布、均匀分布、拉普拉斯分布和冲激分布。
Amplitude,噪声信号振幅,表示一维噪声的标准差,如果噪声源是复数噪声源,则该参数需分配为实部和虚部。
Seed,随机噪声生成器的种子,对于均匀分布和高斯分布,该种子取值应该是一个负数。
3、QT GUI Sink模块
QT GUI Sink - GNU Radiohttps://wiki.gnuradio.org/index.php/QT_GUI_Sink
该模块是QT GUI Frequency Sink、QT GUI Waterfall Sink、QT GUI Time Sink和QT GUI Constellation Sink模块的组合,即可用该模块实现信号时域、频域、瀑布图和星座图的可视化。模块参数解释如下。
Type,模块输入数据类型,支持complex和float类型。
Name,可视化界面的标题。
FFT Size,FFT长度。
Window Type,窗口类型,支持Blackman-harris、Hamming、Hann、Blackman、Rectangular、Kaiser类型。
Center Frequency (Hz),中心频率值。
Bandwidth (Hz),带宽,取值为采样率,即流图的采样率会影响Sink模块可视化界面的宽度。
Update Rate,数据更新速率。
Show RF Freq,可视化界面上是否勾选显示射频频率。
Plot Frequency、Plot Waterfall、Plot Time、Plot Const,是否显示频域、瀑布图、时域和常数。
GUI Hint,模块坐标定位及大小参数设置。
Show Msg Ports,是否显示消息端口选项。
4、Add模块
Add - GNU Radiohttps://wiki.gnuradio.org/index.php/Add
该模块实现逻辑加运算,输出值为输入值的和,即output[n] = sum( x_0[n], x_1[n], ..., x_m[n])
模块参数解释如下:
IO type,输入输出数据类型,支持complex、float、int和short。
Num Inputs,数据数据源个数。
Vec Length,向量长度,一般取值为1。
二、Number_Sink
GRC文件为《gnuradio-3.9.1.0/gr-qtgui/examples/Number_Sink.grc》。该流图的功能是实现信号数值的可视化展示。
1、Signal Source模块
Signal Source - GNU Radiohttps://wiki.gnuradio.org/index.php/Signal_Source
该模块是信号源模块,用于生成常数、正弦波、余弦波、方波、三角波和锯齿波的信号,支持complex、float、int、short和byte类型输出类型。
模块参数解释如下:
Sample Rate,采样率。
Waveform,可选项包括[Constant常数,Sine正弦波,Cosine余弦波,Square方波,Triangle三角波,Saw Tooth锯齿波]。
对于带有变量的选项,应使用以下取值:常数=100,正弦=101,余弦=102,方波=103,三角形=104,锯齿=105。
Frequency,信号的频率。
Amplitude:输出幅度(默认值为1)。
Offset:从零开始偏移(默认值为0)。
Initial Phase:默认值为0(弧度)。
2、QT GUI Number Sink模块
QT GUI Number Sink - GNU Radiohttps://wiki.gnuradio.org/index.php/QT_GUI_Number_Sink
该模块实现在简单的文本框GUI中以数字形式或者可选的条形图显示数据流的功能。该模块显示的数值可以是输入数据的平均值。在这种情况下,所有接收到的数值均应为平均值。如果不是平均值,则基于该模块的更新时间对输入数据流中的数值进行采样。由于目前在具体实现中的缺陷,该模块无法接收整数型输入数据。如果输入数据为整数型,则该模块将其视为浮点型。该模块支持char,short和float,并通过将构造函数的itemsize设置为这三个值(分别为sizeof_char,sizeof_short和sizeof_float)之一来正确转换它们,并将整数输入数据流通过Int To Float模块实现数据转换。