了解最新公司动态及行业资讯
李磊1 , 邢军2 , 许高明1 , 谢晋雄3 , 刘太君1★ ( 1.宁波大学未来无线研究院,宁波315211; 2. 深圳海关信息中心,深圳518045; 3.深圳出入境检验检疫科学研究院,深圳518045)
摘要:本文提出了一种基于软件无线电的短波电台模拟器设计方法。模拟器前端采用 Vue3 实现,后端利用 Python 开发,网络通信基于 WebSocket 完成,同时结合 GNU Radio 平台 和 Lime-SDR 硬件完成了短波电台模拟器的软硬件实现。文中提出的短波电台模拟器设计 方法具有极好的灵活性和扩展性,适用于各种型号短波电台模拟器的快速开发,可以大大降低 短波电台模拟器的成本,具有很好的应用前景。
关键词:软件无线电,短波电台,模拟器,GNU Radio,Lime-SDR
Design and Implementation of SDR Based Shortwave Radio Simulator
Abstract: This paper proposes a design method of a shortwave radio simulator based on software ra⁃ dio. The front-end of the simulator is implemented using Vue3, the back-end is developed using Py⁃ thon, and the network communication is completed based on WebSocket. At the same time, the short⁃ wave radio simulator is implemented by combining the GNU Radio platform and Lime-SDR hard⁃ ware. The design method of shortwave radio simulator proposed in this paper has excellent flexibility and scalability, and is suitable for the rapid development of various types of shortwave radio simula⁃ tors. It can effectively reduce the cost of learning and mastering shortwave radio stations for users, and has good application prospects .
Key words: Software Defined Radio, Shortwave radio, Simulator,GNU Radio,Lime-SDR
1 引 言
短波通信在应急通信、海上通信、军事通信等应 用场景仍然是一种必不可少的通信手段。短波电台 种类繁多,操作复杂,故障原因多种多样,如何高效 地培训短波电台操作人员,使其快速掌握短波电台 的使用方法,识别短波电台的故障特征,快速排除短 波电台的故障,保障短波通信设备的正常运行,是短 波电台使用单位及相关培训机构面临的重大难题。在电台操作人员培训过程中,让培训学员直接操作 电台不仅存在严重的安全问题,而且昂贵的短波电 台也不适合作为培训平台。使用短波电台模拟器构 建一个虚拟的短波通信环境已被证明是一种既安全 又高效地解决该问题的行之有效的方法。
短波电台模拟器以模拟真实的短波电台操作为 目标,基于软件或通用硬件来仿真电台设备运行状 态和工作方式。短波电台模拟器操作简便,无需繁 琐的设备安装,有助于提高培训效率。目前有不同 种类的短波电台模拟器。西安电子科技大学朱晓明 团队设计的短波电台模拟器是基于单片机控制实现 的[1] ,旨在实现衰落信道的仿真和模拟信道的干扰。 然而,这种设计需要大量的硬件组件才能构建一个 完整的系统,而且一旦电路设计并完成实现,模拟器 的型号、外观和功能都难以再进行更改,从而缺乏灵 活性。中北大学李荣伟设计的车载短波电台模拟系 统[2] ,硬件部分也是基于单片机制作,并结合三维可 视化上位机界面,形成了一个完整的系统。
本文提出了一种基于软件无线电的短波电台模 拟器解决方案,采用前端 Vue3技术和 WebSocket技 术,以及GNU Radio软件无线电平台和Lime-SDR硬 件进行实现。软件无线电技术的优势在于可以通过 软件实现多种调制方式和频率的模拟,而无需更换 硬件。它能够将传统无线电设备中的大部分硬件电 路转换为软件实现。本文的通用短波电台模拟器框 架实现了物理层和网络层的标准化接口。物理层的 标准化接口利用 GNU Radio 工具封装出能够驱动 Lime-SDR 实现各种通信模式的模块化程序,并提 供标准化接口。后端程序调用接口开启任务,可以 通过控制驱动程序内的各项参数实现不同功能。网 络层的标准接口是后端提供的电台模拟器操作接 口,前端发送约定的控制命令语句即可实现对应的 模拟器操作步骤。这种通用框架的优势在于只需更 换不同的前端页面,就能实现对不同电台的模拟,从 而大大节约了短波电台模拟器的开发成本。
2 电台模拟器设计
本系统采用前后端分离的 Web应用程序架构, 将前端和后端的开发进行分离,并通过 API 接口进 行通信,以实现数据的传输和交互。
前后端分离架构将前端和后端的开发分离,前端专注于页面展示和交互,后端专注于业务逻辑和 数据处理。这种架构的优势在于显著提升开发效 率、代码可维护性和可扩展性。
本系统前端使用Vue3技术,后端使用python 的 pywss 服务,前后端之间采用 HTTP 和 WebSocket 通 信。前端页面接受用户的操作转化为指令通过 WebSocket 发送给后端,后端运行处理指令的逻辑 程序实现模拟电台的运行然后通过WebSocket将模 拟电台的状态发送给前端实现交互。在后端中通过 开启进程调用 GNU Radio 的 python 代码对 LimeSDR 进行控制,实现 FM 等功能的发射与接收。系 统框图如图1所示。

图1 基于Lime-SDR的短波电台模拟器系统框图
3 基于软件无线电的短波电台模拟器 原理
软件无线电是一种新型的无线电通信技术,它 将传统无线电设备中的大部分硬件电路转换为软件 实现。相比于传统的硬件设计无线电平台,软件无 线电设备具有多频段、多功能的通信能力,并且具有 更好的灵活性和兼容性[3] ,因此在无线电通信领域 具有广泛的应用前景。短波电台是一种基于模拟调 制和解调的无线电通信设备,短波电台的主要原理 是通过调制载波信号的振幅、相位或频率,将信息信 号传输到接收端,接收端根据发射端的调制方法进 行对应的解调还原信号。本文设计的短波电台模拟 器是依靠软件功能代替一部分硬件功能实现对信号 的调制和解调,例如用软件的方式实现信号混频、自 动增益控制、数字滤波等
本系统的软件功能基于GNU Radio软件无线电 平台实现,而硬件部分采用 Lime-SDR 软件无线电 模块。通过将 Lime-SDR 模块接入 Linux操作系统, 本系统的操作系统安装在一台工控机上。利用 GNU Radio 软件无线电平台对 Lime-SDR 模块进行 控制,系统能够采集工控机上麦克风的输入信号,并 进行软件调制。同时,用户还可以设置 Lime-SDR的发射频率、发射增益等参数,从而实现短波无线通 信功能。
GNU Radio 是一个通用的软件无线电设计工 具,提供了用于设计、模拟和部署真实高效的无线电 系统的通用流程框架和实现方法,在无线电系统设 计领域内已经被广泛应用[4] 。它由 C++和 Python 编 写,可以运行在多种操作系统上,包括 Linux、Win⁃ dows 和 macOS 等。GNU Radio 提供了一组模块和 库,用于设计和实现软件无线电信号处理系统。可 以将模块以流图形式连接并自动生成 Python 代 码[5] 。
在设计过程中,本文使用 GNU Radio 中的信号 处理库和工具,实现了模拟短波电台的信号发射和 接收功能。在信号发射方面,使用 GNU Radio 中的 调制模块,实现了多种调制方式的模拟,如AM、FM、 SSB等。在信号接收方面,使用Lime-SDR接收器来 接收信号,并将接收到的信号通过 GNU Radio 进行 解调和解码。
4 电台模拟器实现方法
4.1 基于Vue3的前端实现与基于PyWSS Web Socket的网络通信
Vue3 是一种流行的前端 JavaScript 框架是一套 用于构建用户界面的渐进式框架[6] ,Vue3 提供了简 洁易懂、易于使用的API,使开发人员能够迅速上手 并构建复杂的应用程序。本系统充分利用 Vue3 框 架设计优雅前端的界面,以提升人机交互体验。
本系统的后端采用 Python 编写,主要负责解析 前端发送的控制信号,并处理逻辑后将数据发送给 前端展示。前端与后端之间的信息交互通过PyWss 的WebSocket协议框架进行网络通信。
4.2 基于GNU Radio的信号调制与解调
GNU Radio 软件无线电平台与 Lime-SDR 射频 模块的结合,几乎可以实现各种无线通信协议的收 发功能。例如,利用GNU Radio进行设计,可以实现 AM调制解调功能。
AM 调幅就是使载波的振幅随调制信号的变化
规律而变化。AM调制表达式:
m(t) 为调制信号,Ac为载波幅度。
在GNU Radio中,通过将Lime-SDR接收到的信 号经过滤波器进行 AM 解调,最终通过音响发出。 相关的GRC流程图如图2所示。
将麦克风信号进行AM调制的GRC流程图如图 3所示。


5 电台模拟器的硬件实现
本系统硬件部分由电脑和 Lime-SDR 开源软件 无线电模块组成。如图4所示

Lime-SDR 是一款低成本、开放源码的 SDR 应 用模块,可用于支持几乎任何类型的无线通信标 准[7] 。它使用 FPGA 和 USB3.0 接口连接计算机,可 以用于实现各种无线通信应用,包括无线电广播、移 动通信、雷达、定位、卫星通信等。
Lime-SDR 的主要特点是它的高带宽和可编程 性。它可以在频率范围从 100 kHz 到 3.8 GHz 内工 作,并支持多种无线协议,如Wi-Fi、蓝牙、LTE、GSM 等。Lime-SDR 还配备了两个 Tx和 Rx通道,可以同 时发送和接收信号,支持全双工通信。
图 5是 LimeSDR-USB 模块的功能框图,其核心 是 LMS7002M 射频收发器和 FPGA 控制芯片。该模 块的接收通道有6个RF输入端口分为低频、高频和 宽频三组,每组端口 LNA(低噪声放大器)的输入匹 配电路针对不同频率和带宽进行微调。接收到信号 与 RXPLL(接收锁相回路)进行混频,转为基带信号 之后通过第二个LNA/TIA防止信号饱和随后将送入 低 频 或 高 频 可 配 置 滤 波 器 。 最 后 一 个 LNA 是 RXPGA(接收可编程增益放大器)解决信号太弱或太 强的问题,然后将数据转为IQ数据进行处理。

6 电台模拟器的软件实现
本系统可以选择不同类型的电台界面,对于开 发者来说只需要设计不同的界面和修改对应的操作 功能就可以实现不同类型电台模拟器的效果。

如仿照八重洲 FT-891 制作的电台界面效果如 图7所示。

在电台模拟器的模式选择界面中可以选择各类 调制模式,例如选择FM模式效果如图8所示。

FM 模式开启之后会弹出 GNU Radio 的 GUI 控 制窗口,用户可以调整 Lime-SDR 的接收频率和接 收增益,如果在功能界面中设置开启了数字降噪功 能也可以在当前控制窗口中调整各类数字降噪模块 的参数,如图9所示。

按下 PTT 键即可开启 FM 发射。以正常音量对 着麦克风说话。此时会弹出基于 GNU Radio 的 FM 发射控制窗口并关闭 FM 接收控制窗口,FM 发射控 制窗口控制 Lime-SDR 的发射频率和发射增益并将 语音输入数据进行 FM 调制然后通过天线发射输 出,如图10所示。再次按下PTT键返回接收状态

本系统为接受到更清晰的信号,增加了数字降 噪的功能,使用者可以在 GNU Radio 的交互页面中 手动调节低通滤波器的带宽和截止频率。使用者还 可以在菜单功能页面中选择需要的功能,有自动增 益控制功能、高斯滤波、小波分解滤波、陷波滤波器 等。这些功能的实现具体是在GNU Radio中增加自 定义的信号处理函数以到达数字降噪的效果。
按下F键进入菜单功能选择,如图11所示。

通 过 MUTIL 旋 钮 选 择 需 要 的 功 能 并 按 下 MUTIL键确认,如图12所示。

自动增益控制(AGC)功能使得信号最终的输出 幅度维持在同一标准,提高系统的整体性能。
开启数字降噪功能(DNR)时可以手动点击选择 需要的滤波器方法。

7 结论
本文介绍了一种基于软件无线电的短波电台模 拟器设计,使用了前端 Vue3技术、后端 Python Web⁃ Socket 技术、GNU Radio 平台和 Lime-SDR 硬件。通 过前后端分离的架构,实现了短波信号的接收和发 送,并在前端页面进行了显示和控制。本文所介绍 的技术,具有较高的灵活性和可扩展性,可以方便地 应用于各种无线电通信系统的开发和调试。
通过对电台模拟器进行调试和测试,我们验证 了其功能和性能。该电台模拟器能够模拟多种调制 方式和频率,并成功地进行短波信号的发射和接 收。此外,还可以确保该电台模拟器的信号质量和 稳定性,使其具备了一定的实用价值和广阔的应用 前景。
在未来的工程实践中,可以进一步优化和改进 本文所介绍的系统。例如,可以实现多用户之间的 通信和数据共享,提高系统的并发性和响应性能。 另外,可以考虑引入深度学习和人工智能等技术,进 一步提高短波信号的处理和分析能力,实现更为智 能化的无线电通信系统。
总之,基于软件无线电的短波电台模拟器设计 与实现,是一个具有挑战性和前景的课题。本文所 介绍的技术和方法,可以为相关研究提供一定的参 考和借鉴,同时也为工程实践提供了一种可行的解 决方案。
参考文献
[1] 王咪咪. 基于STM32的短波模拟设备设计与实现[D].西 安 电 子 科 技 大 学 , 2022. DOI: 10.27389/d. cnki. gxadu.2022.003139.
[2] 李荣伟 . 车载短波电台模拟训练系统研究[D]. 中北大 学,2015.
[3] 张烨铭,冯俊朗,梅中磊.基于软件无线电的天线阵方向 图测量[J].电气电子教学学报,2023,45(01):171-174.
[4] 郭静,武晓明,武华,刘洋,张波.基于GNURadio的伪卫星 信号软件发射机设计[J].电子制作,2021(11):38-40.DOI: 10.16589/j.cnki.cn11-3571/tn.2021.11.013.
[5] 段锐,刘光辉,符庆阳,邹林 .基于 USRP的软件无线电系 统实验研究[J]. 实验技术与管理,2021,38(04):201-205. DOI:10.16791/j.cnki.sjg.2021.04.040.
[6] 刘翔宇. 基于Vue的数据可视化系统的设计与实现[D]. 北京邮电大学,2018. [7] 韩甫 .新型 SDR模块射频接收性能测试评估[J].电信快 报,2021(09):33-36.