一起玩转GNU Radio:gr-channels

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

本文介绍GNU Radio源码的gr-channels相关实例及模块。

目录

一、channel_tone_response

1、Signal Source模块

2、Throttle模块

 3、Fading Model模块

4、Channel Model模块

5、QT GUI Frequency Sink模块

6、QT GUI Waterfall Sink模块

7、QT GUI Range模块

二、demo_gmsk 

1、Random Source模块

2、GMSK Mod模块

3、HW impairments模块

4、Quadrature Demod模块

5、QT GUI Constellation Sink模块

6、QT GUI Time Sink模块

三、demo_ofdm

1、Random Source模块

2、Int To Float模块

3、Float To Complex模块

4、Stream to Vector模块

5、Add Const

6、FFT模块

7、Vector to Stream模块

8、HW impairments模块

9、QT GUI Time Sink模块

10、QT GUI Constellation Sink模块

四、demo_quantization

1、Band Pass Filter模块

2、Quantizer模块

3、QT GUI Histogram Sink模块

五、demo_spec_an

1、RMS模块

2、Divide模块

3、Log10模块

六、demo_two_tone

1、Amplitude Balance模块

2、Noise Source模块


一、channel_tone_response

GRC文件为《gnuradio-3.9.1.0/gr-channels/examples/channel_tone_response.grc》。该流图的功能是实现信道作用的基本模拟,支持对信道噪声功率、采样频率相对偏移、最大多普勒频率偏移、信道的频率偏移等信道作用的仿真。

1、Signal Source模块

Signal Source - GNU Radio

该模块是信号源模块,用于生成常数、正弦波、余弦波、方波、三角波和锯齿波的信号,支持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、Throttle模块

Throttle - GNU Radio

该模块是节流器模块,用来控制纯仿真流图的数据流量,以使平均数据速率不超过特定速率(即采样率,samples per second, sps)。当我们的流图中不使用任何SDR设备、电脑的扬声器或麦克风的时候,进行纯仿真的时候,我们才需要使用该模块。该模块并不是用来规定采样率的,而是用来限定纯仿真流图的平均数据速率,避免仿真流图消耗电脑过多资源。节流模块通常直接作为非硬件源模块(例如信号源模块)的输出模块,以限制信号源模块的数据速率。

模块参数解释如下:

Sample rate,平均采样率的最大既定取值。

Ignore rx_rate tag,如果设置为False,则该块将使用rx_rate的值将其采样率设置为已接收标签的值,并忽略其他标签取值。

 3、Fading Model模块

Fading Model - GNU Radio

该模块是一个基本的衰落模型仿真模块,可用于帮助评估、设计和测试各种信号,波形和算法。模块参数解释如下:

Num Sinusoids (SoS model),用于模拟通道的正弦信号通道数量,数值8是一个不错的选择。

Normalized Max Doppler (fD*Ts),归一化最大多普勒频率fD * Ts。

LOS Model,在Rayleigh(NLOS)和Rician(LOS)模型之间选择“视距”路径。

Rician factor (K),Rician因子K,定义为占主导分量的信号功率与(局部均值)散射功率的比值 

Seed,噪声发生器的种子。

4、Channel Model模块

Channel Model - GNU Radio

该模块是一个基本的信道模型仿真模块,可用于帮助评估,设计和测试各种信号,波形和算法。该模型允许用户设置AWGN噪声源,(标准化)处理后的频率偏移,采样定时偏移等参数,以随机化或再现AWGN噪声源。在此模型中,可以通过使用带有参数的多径延迟曲线的FIR滤波器来模拟多径效应。当仿真需要时变通道模拟功能时,请使用Channel Model 2(Channel Model 2 - GNU Radio)。

模块参数解释如下:

Noise Voltage,AWGN噪声电平的电压值(将用来计算信噪比SNR)

Frequency Offset,归一化频率偏移。0为无偏移;对于数字调制解调器,0.25将是符号率的四分之一。

Epsilon,采样时序偏移,可模拟发送器和接收器的采样时钟之间的不同速率。

Taps,FIR滤波器的抽头参数,可用来模拟多径延迟曲线。默认值为1+1j,表示单一路径,因此没有多路径。

Seed,噪声源的随机数生成器种子。

Block Tag Propagation,如果设置为true,则标记为无法通过此块传播。

5、QT GUI Frequency Sink模块

该模块是基于QT GUI的信号频域显示模块,它采用一组浮点数据流来绘制信号的功率谱密度PSD。每个信号都以不同的颜色绘制,并且可更改给定输入信号的标签和颜色。该模块支持绘制流浮点数据或消息。消息端口被命名为“in”,这两种模式不能同时使用,在使用消息模式时应将其设置为0。GRC通过提供可删除流端口的“float Message”类型来解决此问题。模块参数解释如下:

fftsize,FFT大小值。如果使用PDU消息端口绘制样本,则每个PDU的长度必须是FFT大小的倍数。

wintype:要应用的窗口类型,支持Blackman-harris、Hamming、Hann、Blackman、Rectangular、Kaiser、Flat-top类型,具体可参见GNU Radio的官方GNU Radio manual and C++ API Reference gr::fft::window::win_type

https://www.gnuradio.org/doc/doxygen/classgr_1_1fft_1_1window.html

Center Frequency:信号中心频率(仅用于x轴标签)

Bandwidth:信号带宽(用于x轴标签)。

Name:QT GUI Frequency界面的标题。

GUI Hint:界面中图形的位置坐标。

6、QT GUI Waterfall Sink模块

QT GUI Waterfall Sink - GNU Radio

该模块是用来显示信号瀑布图(频谱图)的,在界面上显示多个信号的图形接收。<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值