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信号处理模块的实现原理及实现方法。
从python的角度来讲,gnu radio提供了一种信号流图的抽象,用户可以方便地使用底层信号处理模块连接各种通信模块,最终组成完整的无线通信系统。首先从gnuradio包中导入gr和modulation_utils模块,并在__init__()方法的参数中定义模块中每符号的采样点个数、bt值和程序调试接口等。定义完这些参数之后,方法调用其父类gr_hier_block2的__init__()方法设定该模块的输入输出接口类型,本模块输入为要传输的数据字节,输出为gmsk的调制波形。
gmsk调制模块由三个底层信号处理模块构成,分别是字节到nrz编码变换器,高斯滤波器和fm调制器(fm调制器模块需自行编写,系统提供的fm调制器输出为复采样信号,本调制器输出为实采样信号)。配置好这些模块之后,调用connect函数将这些模块连接,就形成了新的gmsk调制模块。其结构图如图2所示。其他调制方式如fsk、msk调制模块与之十分类似,不再赘述。
通过python语言构造信号处理模块非常灵活,大幅提高了代码的复用度。但由于底层模块库并不完备,在执行某些数据处理时还需采用c++语言编写对应的底层模块,如纠错编码、多相滤波发送、多相滤波接收等,编写底层模块的具体方法可参考文献[4]。
3.2基带信号收发流图设计
本系统同时覆盖了230 mhz频段的15个双工频点,如果将这15个支路的信号分别通过独立的载波调制解调,系统将过于复杂。因此,本文采用了信道化收发机的系统结构,即一部收发机同时处理信道带宽内所有信道上的信号。
图3是主站电台信道化发射机基本调制原理框图。基带信号的处理分为了两部分工作:
第一步是由n个单通道基频发射机产生n个基带数字信号。对于普通数传电台,首先根据不同的基带调制方式(fsk、msk、gmsk等)输出基带信号,再由fm基带正交调制器进行复合调制,调制完成后的基带信号数字谱带宽为25 khz。对于mobitex电台,直接输出速率为8 kbps的gmsk基带正交信号,数字谱带宽为12.5 khz。
第二步将调制完成的各路基带信号进行插值滤波,并分别根据各路占用的不同频点,用移频因子ejωk t搬移到虚频点ωk(即射频频点相差230 mhz的基带频点)处,最后将所有支路上的信号整合,得到覆盖0~2 mhz的整合基带信号,其频谱结构如图4所示。在具体实现时,本文采用了基于多相结构的信道化发射机模型以提高计算效率和实时处理能力,实现细节请参阅文献[5]。
合路器输出的整合基带信号的复采样频率为6 mhz,精度为8 bit,这样每个复采样点占据2个字节,通过usb2.0接口传输到usrp,双向收发占用的usb带宽为24 mbyte/s。在usrp中,基带信号再通过插值和滤波变换为固定速率的中频信号并送到d/a转换器转换为模拟信号,最后在射频子板转换为射频信号发射。
4、usrp主板fpga配置
usrp主板上可支持两路信号并行收发,结构框图如图5所示,本文中只使用其中一路。fpga芯片处于usrp主板中的核心位置,内部逻辑通过verilog语言描述。它的主要功能是将adc采来的中频信号进行数字下变频(ddc),并将基带信号进行插值滤波、速率匹配、输出到dac进行数字上变频(duc),同时还要控制子板信号收发,适配各路adc,dac与pc机之间的数据交换。
usrp提供了标准系统的verilog代码供用户使用,但需要针对不同的信号带宽,信号精度和外插子板情况对verilog文件进行改写并重新编译后,下载到fpga中运行。
本系统中,ad采样输出的数据为两路12bits、64msample/s的正交中频信号,fpga要首先对其中有用的信号进行下变频。
数字下变频的第一步是对信号进行混频,这部分主要由乘法器和dco组成。usrp采用坐标旋转数字计算(cordic)算法生成正弦和余弦信号[6],与常规的查表法不同,cordic算法不占用存储器空间,仅使用移位寄存器和加法器就可产生正余弦信号,具有很好的nco的精度。
数字下变频的第二个环节是对混频后的信号进行抽取滤波,以便降低软件解调的计算复杂度。usrp使用了由一个4级cic抽取滤波器和一个31阶半带滤波器组成的混合滤波器结构。cic滤波器为整系数滤波器,滤波时无需乘法运算,而半带滤波器有一半系数为零,这样在滤波时大大减少了计算量[7]。滤波的同时,在cic滤波器实现了4倍的数据抽取,在半带滤波器实现了2倍的数据抽取,这样就得到了带宽为2mhz的两路8 bits,8msample/s的正交基带信号。
对于发送信号,fpga将usb传输的低速率基带信号进行插值并滤波,变换为32 msample/s的采样信号并输出到dac单元的数字上变频模块中,最终以两路14 bits,128 msample/s的速度转换为模拟信号。
5、230 mhz射频子板的实现
usrp的子板有很多种规格,分别针对了基带信号处理、广播电视接收、移动通信信号处理等领域。但由于在230 mhz频段没有可用的全双工子卡,本文根据usrp与子卡的接口说明,设计了针对230mhz频段应用的全双工子卡,实现信号收发。其硬件实现结构如图6所示。
230mhz子板采用ad8345和ad8348分别作为调制器和解调器。ad8345是analog devices公司推出的正交调制器,其工作频率为140~1000mhz,在数字通信系统中可用作中频调制器或直接上变频器。ad8348是analog devices公司推出的正交解调器,其工作频率为50~1000 mhz,解调带宽75 mhz,内部集成中频可变增益放大器。
ad8345和ad8348输入的本振频率是两块adf4360-7锁相环输出的,本振频率分别为460 mhz和446 mhz。460 mhz的信号在adf4360-7内部二分频输出至ad8345,446 mhz信号在ad8348内部进行二分频。芯片内部vco的中心频率设为460 mhz,这个中心振荡频率值是由外部电感设置的,它们之间的对应关系为:
通过计算可得,外部电感的值为3.84 nh。子板系统中晶振输出的参考频率为10 mhz,通过spi总线控制配置adf4360中的14位r计数器值为200,再配置n计数器数值,就可以以50 khz的步长,覆盖420~500 mhz的频率范围。
此外,由于usrp的板载电源功率过小,子板的天线接口只能提供了100mw的功率输出,而一般的230mhz主站电台的功率为15 w左右,因此,还需要在另外加装高增益的外接天线。
6结束语
本文提出了一种基于gnu radio的多速率、多种调制方式、多信道的软件无线电主站电台的系统结构。该系统基于通用硬件平台,成本较低,既充分的利用了现有的无线电台资源,实现多种电台的全面兼容,又为将来的业务拓展和设备升级提供了保证。该系统使用纯软件的信号处理具有很大的灵活性,采用高级语言(c/c++、python)进行系统开发,扩展性和可移植性强,开发周期短,并且随着cpu处理能力的不断提高以及软件技术的进步,系统性能还有进一步提升的空间。
参考文献
[1]周立岩,孙毅,冯小安.提高电力负荷管理系统通信效率的新方法[j].电力系统通信,2008,28(128):46-49.zhou li-yan,sun yi,feng xiao-an. new methodofimproving communication efficiency in power loadmanagement system[j].telecommunications for electricpower system,2008,28(128):46-49.
[2]无管字5号,民用超短波遥测遥控数据传输业务频率划分[s].radio administrativebureau no.5,frequency allocations ofcivil ultrashort wave telemetering and telecontrol data trasmit servies[s].
[3]曹瀚文,王文博. gnu radio:开放的软件无线电平台[j].电信快报,2007(4):31-34.cao han-wen,wang wen-bo. gnu radio:opensource sdrplatform[j]. telecommunication information,2007(4):31-34.
[4]blossom e. how to write a signal processing block[eb/ol].2006.
[5]杨小牛,楼才义,徐建良.软件无线电原理与应用[m].北京:电子工业出版社,2001.68-85.yang xiao-niu,lou cai-yi,xu jian-liang. principles andapplications of software defined radio[m].beijing:publishing house of electronicsindustry,2001.68-85.
[6]ray andraka. a survey of cordic algorithms for fpga based computers[a]. in: proceedingsof the 1998 acm/sigda sixth international symposium on field programmable gatearrays[c]. 1998. 191-200.
[7]徐以涛,沈良,王金龙. fpga技术在软件无线电中的应用[j].电信科学,2001,11:36-39. xu yi-tao,shen liang,wang jin-long. applicationof fpga technology in software radio [j]. telecommunications science,2001,11:36-39.
Virtuoso中使用skill脚本实现不同pdk的替换
印刷电路板的焊接工艺及详细焊接流程介绍
基于arm的指纹识别门禁系统是如何设计的
卡西欧创新型可拆卸自由式相机采用赛普拉斯触摸屏控制器及MoBL SRAM
KEITHLEY吉时利2304直流电源20V
基于GNU Radio 的多速率、多种调制方式、多信道的软件无线电主站电台设计
本田CR-V刚上市,又将推出CR-V的“哥哥”BR-V,大7座配四驱系统
三星二季度业绩预期趋好 仍未缓解投资者担忧
人脸识别技术引起了人们的担忧,必须要规范AI的使用
石墨炔电极界面在电化学能源存储与转化中的应用进展
DP83640同步以太网模式:在PTP应用中实现次纳秒精度
基于数字微流控与表面增强拉曼的超灵敏自动化免疫检测的新仪器新方法
探讨推动了连接器技术创新背后的真正原因
2019年校招,科技巨头抢AI人才大战到境外
Micro OLED:有望主导VR和AR
贸泽与Molex推出全新电子书 艾迈斯欧司朗推AS7343光谱传感器
逐个脉冲限流功能无法提供有效过流保护最主要原因在哪
python控制Socket通信知识补充
解决这三个问题就是真正的自动驾驶
华为nova6系列搭载麒麟990芯片全方位提升了游戏体验