230MHz无线电台通信系统在电力负荷管理系统和用户用电信息采集系统中有着广泛的应用。然而,随着无线通信技术的发展,在不同时期投入应用的无线电台,虽然基本结构类似,但调制方式、波形结构、调制速率都有较大差别,不同的设备占用不同频段单独组网,独立运行,十分不利于系统的维护,而且,随着对高速通信电台设备需求的增加[1],使得通信系统结构更加复杂。
为了解决上述问题,本文基于GNU Radio 系统提出了一种多信道、多传输速率、多调制方式的软件无线电多通道主站电台的系统结构。该系统在调制方式上与现有的无线电台设备全面兼容,覆盖整个电力系统230 MHz 全双工频段,可以同时在多个频点运行,以不同的速率、调制方式进行通信,很好地保证了现有业务的正常运营。此外,基于软件无线电的系统具有极强的可配置性,为将来的业务拓展和设备升级提供了可靠保障,降低了系统的维护和升级成本。
1、230 MHz 无线通信系统分析
230MHz无线通信系统由主站电台和从站电台组成,主站采用全双工电台,从站采用半双工电台。无线电管理委员会将230 MHz 频段的15 对双频频点分配给电力系统专用[2],频点分配如表1 所示。每个频点带宽为25 kHz,相邻频点间隔为50~150 kHz,15 个接收/发送频点总带宽约为2 MHz,上下行频率间隔为7 MHz。
目前电力行业中使用的大部分是模拟调频电台,电台内增加调制解调模块后进行数据传输。早期的低速电台采用FSK,MSK 等调制方式,传输速率为600~2 400 bps;高速电台采用GMSK 调制方式,实现9 600 bps 的信号收发。此外,部分地区运行着230 MHz 频段的Mobitex 系统,它直接采用GMSK 调制,避免了第二级FM 调制对信道资源的浪费,仅占用12.5 kHz 的射频带宽,实现了8 kbps数据传输。
2、GNU Radio 主站电台总体设计
GNURadio 系统是一种运行于通用处理器(GPP)上的开放的软件无线电平台,并配以USRP(Universal Software RadioPeripheral)作为硬件射频前端。GNU(GNU’s Not Unix)是一个推进软件开放源代码的著名项目,由FSF(Free SoftwareFoundaTIon)提供支持。GNU Radio 运行于Linux *** 作系统,其软件代码和硬件设计完全公开,其设计的核心思想是:基带信号处理过程由通用处理器而不是DSP 实现;基带信号通过USB 2.0 接口与USRP 系统相连,由USRP 上的FPGA 实现数字上下变频,然后通过AD/DA 芯片与射频子板连接;覆盖不同频段的射频子板将模拟信号变换到射频进行信号收发。
本文设计的多通道主站电台系统的系统结构如图1 所示,由基带信号处理部分、USRP 主板、230 MHz 射频子板三个部分组成。
(1)基带信号处理部分
基带信号处理部分包括数据缓存、编解码、调制解调等模块。这部分的主要工作是基带信号处理模块和信号收发流图(Flow Graph)的设计。此外,可使用WxPython 跨平台GUI 工具库编写人机交互界面,采用MySQL 作为数据库系统。
(2)USRP 主板
USRP主板实现了信号的中频处理,主要为数字上下变频 *** 作。板载FPGA 芯片采用了Altera 公司生产的Cyclone 系列芯片EP1C12Q240C8,设计开发工具为Quartus II 7.2,各模块逻辑采用Verilog语言描述。
(3)230 MHz 射频子板
目前 USRP 配套的全双工子板没有覆盖到230MHz 频段,本文根据USRP 主板与子板连接的接口说明,设计了收发频率覆盖200~250 MHz 的射频子板。同时,由于子板输出功率过小,发送信号需外接至大功率天线设备输出。
3、GNU Radio 主站电台基带信号处理GNURadio 的基带信号处理编程基于C++++和Python 脚本语言的混合方式。C++执行效率较高,用于编写各种底层信号处理模块。Python 是一种新型的脚本语言,用来编写连接各个信号处理模块的脚本,最终使之成为完整的信号收发流图。
3.1GNU Radio 基带信号处理模块设计
GNURadio 提供一个基带信号处理的底层模块库,含有100 多种信号处理模块,如:滤波器,FFT 变换、调制解调器、时频同步模块等[3]。
本系统同时支持多种无线通信电台,而不同电台的调制方式、信号速率可以不相同。通过分析可知,电台系统中基带信号所用的数字调制方式如FSK、MSK、GMSK 等均属于恒包络调制方式,这些信号都可以通过FM 调制器输出。
下面以 GMSK 调制模块为例简要说明GNURadio 信号处理模块的实现原理及实现方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)