侧边栏壁纸
    • 累计撰写 302 篇文章
    • 累计收到 527 条评论
    GUN Radio实战信号源设计&USRP发射接收波形信号
    我的学记|刘航宇的博客

    GUN Radio实战信号源设计&USRP发射接收波形信号

    刘航宇
    2022-05-20 / 0 评论 / 2,717 阅读 / 正在检测是否收录...

    信号源设计

    目标:创建一个正弦波,并使用时域 Scope Sink 查看生成的波形。了解基本的流程图构建和常用模块的使用。
    1.在终端窗口中输入:gnuradio-companion 打开 GRC 软件。
    2.将 Options 模块的 ID 属性设置为 LAB2,Generate Options 属性设置为 QT
    GUI。
    3.使用快捷键 Ctrl+F 或点击菜单栏中的 搜索图标 查找模块 signal source 信号
    发生模块,和 scope sink 图形显示模块。双击或拖动模块到画布上。

    1. 由于 GNU 中 scope 模块只有 WX GUI 类型的,如下图所示

      所以我们需要将 Options 模块的 Generate Options 属性值相应的改为 WX
      GUI。否则程序将会报错并不能被执行。如下图所示,连接 Signal Source 模块
      和 WX GUI Scope Sink 模块,而 WX GUI Scope Sink 模块为红色,点击工具栏中的运行按钮会显示出错误原因:

    5.此时,若我们想在程序运行时,在 GUI 界面能够随时改变频率的值,则需要添加 WX GUI Slider 模块。

    6.为了防止 CPU 过载,我们添加一个 Throttle 模块。Throttle 模块主要起到限速的作用,设置高的速率,程序执行的快,设置低的速率程序行的慢。当有硬件连接的时候,我们不需要 Throttle 模块,因为硬件本身就对速率有了限制。

    这里我们讲一下,为什么所有的流程图都要用 Throttle 模块,先看下使用了与没有使用 Throttle 模块的正弦波流程图上的系统资源监控对比:

    下图为 Throttle 为不同值时,CPU 的使用速率。

    Throttle 模块的作用可以理解为限速:速度越高我们流程图运行的速度越高,速度越低流程图运行的速度越低。我们如果将 Throttle 模块的采样率调到1e6比调到
    1e3(CPU 配置低就调的更低一些防止跑死)的 CPU 负载要高很多。

    7.在桌面创建一个 LAB-LW 的文件夹,将刚刚连接好的程序保件夹中,并将其保存为 LAB1.grc。
    整体流程框图:

    流程结果图:

    用 USRP 发射接收波形信号

    目标:学会使用 USRP 设备利用现有的程序进行简单的修改实现简单的发送接收。
    并熟悉 UHD 模块的基本使用。
    通过上一个练习我们已经知道怎样建立一个不通过外部设备即可接收到波形信号的程序,在本节练习中,我们将对上节程序进行简单的修改然后利用外部 USRP 设备进行发射接收波形信号。

    1. 将 Options 模块的 ID 属性设置为 LAB2,Generate Options 属性设置为 QT
      GUI。
      2.由于有外部硬件连接了,所以我们不需要 Throttle 模块了, Throttle WX GUI Scope Sink 模块删除。
      3.删除两个 WX GUI Slider 模块。
      4.修改 Signal Source 模块的属性参数:

      5.从模块库中将 QT GUI Sink,UHD:USRP Sink 模块添加到 布中,将 Signal
      Source 模块的输出端与 QT GUI Sink 模块和 UHD:USRP S nk 模块的输入端连接到一起。其中 UHD:USRP Sink 模块用来发射波形信号,QT GUI Sink 模块用来查看发射的波形信号。
      其具体的模块属性参数如下图所示:

      6.从模块库中将 UHD:USRP Source,QT GUI Sink 模块 加到画布中,将
      UHD:USRP Source 模块的输出端连接到 QT GUI Sink 模块的输入段。其中, UHD:USRP Source 模块用来接收波形信号,QT GUI Sink 模块用来显示接收 波形。

    其具体的模块属性参数如下图所示:

    UHD:USRP Sourc属性参数。
    USRP B210 更改 A 通道或 B 通道:

    7.添加两个 QT GUI Range 模块,并将其 ID 改为 gain_tx,和 gain_rx。用于调整发射端和接收端的增益值。


    8.为了方便我们查看发射和接收的波形信号,我们添加一个 QT GUI Tab Widget模块。将 ID 更改为 ab,Num Tabs 改为2,Label0名称更改为 TX,用来查看发射端的波形情况;Label1名称更改为RX,用来查看接收端的波形情况。

    同时,更改发射端 QT GUI Sink 模块的 GUI Hint 属性为 lab@0;更改接收端 QT GUI Sink 模块的GUI Hint 属性为 lab@1。

    1. 将连接好的程序保存在 LAB-LW 的文件夹中,并将其保存为 LAB2.grc
      整体流程框图:

      流程结果图:
      (此程序采用 USRP-LW B210运行,同时将通道 A 的 TX/RX2端外接馈线或连接天线)
      发射端波形:

      接收端波形:
    5
    【2】Verilog练习-补码转化与7段译码逻辑设计
    « 上一篇 2022-05-21
    【2】Verilog练习-组合逻辑电路多路选择器
    下一篇 » 2022-05-17

    评论 (0)

    取消