高月红,陈 露,杨昊天
(北京邮电大学 信息与通信工程学院,北京 100876)
随着信息技术的高速发展,人们对于分布式系统的需求也越来越大,许多复杂的的应用都建立在分布式系统的基础之上[1]。分布式测试系统由分散在不同测试点的测试模型或仪器组成,根据传输介质的不同,通常分为有线分布式测试系统和无线分布式测试系统[2]。在早期,分布式测试系统中通常利用有线的连接方式,通过测试总线来连接各个设备,进行信息传递,这种方式具有数据传输快、可靠性强以及安全性高的特点,但同时也伴随着高成本,而且对于规模较大、分布较广的测试对象存在一定的困难[3],而采用无线通信的方式可以改善这一局限性。无线的通信方式使得系统能够不受制于线缆,能够对范围更大、更分散的对象进行测试,具有更高的灵活性且安装和维护的成本也更低[4]。
测试系统需要完成不同的测试任务,触发的精确性对测试结果至关重要。在系统建立时钟同步的前提下,系统内部的主设备需对一个或多个从设备发送指令实现可靠触发,完成测试任务。同时,还需保证信息收发的整个过程产生的时延尽可能地小,即从设备可以尽快地收到消息,以便于及时做出反应。
本文设计了一条无线传输链路作为触发的基础,用于实现触发指令的传输,并设计了不同的触发模式,以满足不同测试任务的需求,然后依托于软件无线电思想[1],用LabVIEW编程实现信号收发过程中的信号处理,利用通用软件无线电外设(USRP,universal software radio peripheral)实现信号的发送与接收,对系统进行测试,验证系统的可行性。
系统结构主要分为触发模式、无线传输链路两个部分,其中触发模式包括定时触发和随机触发两种,无线传输链路则由信道编解码、调制解调等多个环节组成。系统结构如图1所示。
图1 系统结构图
该系统中,触发模式和无线传输链路的结合共同实现基于无线方式的可靠的触发信息传输。主设备通过无线传输链路向从设备发出指令信息,从设备收到信息并解出,对信息做出判断后执行相应操作。
1.2.1 触发模式
结合实际需要,在设计触发信息时,考虑了两种触发模式:定时触发和随机触发。
定时触发是指从设备收到指令信息后,按照信息内容中的时间信息与操作指令,在指定时刻进行指定操作;
随机触发是指从设备收到指令信息后,按照信息内容中的操作指令,立即进行指定操作。
针对不同的触发模式,本文设计了两种不同的信息格式,如图2所示。
图2 触发信息格式
其中,时间信息是指主设备要求从设备进行操作的时刻。接收设备编号是指要求执行该指令的设备编号。当接收设备编号为0时,表示对所有从设备进行信息传递;当接收设备编号设为其他数字时,表示对某一特定从设备进行信息传递,也就由此实现了“一对一”和“一对所有”的信息传输。操作指令是指主设备要求从设备进行的操作的对应指令,例如,收发双方事先约定操作指令111代表某一测试任务,那么在传输的信息中不需要描述具体的测试任务,只需发送指令111。
1.2.2 无线传输链路
无线传输链路是无线触发的重要基础,用于实现信息的有效可靠传输,因此设计了相应的的无线传输链路。
结合前文所述无线触发系统的传输需要,发送端所包含的功能模块及处理流程如图3所示。整体流程包含如下环节:发送端首先需要设置指令信息,然后将其转换为二进制比特流便于传输,再对其进行信道编码、行列交织及调制处理,之后在信息前端添加同步序列,经过成型滤波、内插、DAC等处理由射频前端将信号放大后经天线发射出去。
图3 发送端示意图
下面按照处理过程分别介绍每个模块的功能。
指令信息:因为不同类型的触发包含的指令信息是不同的,所以这个环节的目的在于确定指令信息的内容。例如,定时触发时,需要指定触发时刻、接收设备的编号以及操作指令。
二进制转换:为了方便交互,指令信息通常是以其他数据形式传入程序,例如字符串,而为了便于对信息进行处理及传输,通常将其转换为二进制比特流。
信道编码:信道编码通过在传输的数据中插入具有一定规律的冗余信息,使得接收端在收到相应的编码后,可以利用这些冗余信息来判断数据在传输过程中是否出现错误,如果出现错误就可以利用这些冗余的信息来进行纠正[6]。
行列交织:行列交织[7]主要通过分散数据,以避免传输过程中出现的大片连续差错,解决成串的比特差错问题。交织深度越大,符号的离散性就越大,抗突发差错能力就越强。
调制:对信号进行调制,将二进制比特流串并变换,映射为符号信息。
添加同步序列:在符号信息之前添加同步序列,目的是便于收端和发端的同步,帮助收端检测到数据帧头,避免解码出现差错。
成形滤波:主要目的是为了避免在传输过程中数据的高频成分在传输频带较窄时信号的展宽与相邻信号之间重叠,造成数据间的相互干扰[8]。
内插、上变频、DAC、射频前端及天线:将基带信号的数据率提升[9],并进行数模转换,然后将其频率搬移到射频,射频信号再经由天线发向空中[10]。
图4 接收端示意图
从图4中可以看出,接收端的操作与发送端相反。此处,介绍其中几个关键环节。
相关计算:用同步序列对收到的信号进行相关计算,通过峰值找到数据帧头,便于后续对信息的相关处理。
解调:将符号信息进行判决,然后并串变换,恢复成二进制比特序列。
指令信息恢复:将信息从二进制比特流恢复成收端需要的数据形式。
上文所述的无线传输链路有多种实现方式,考虑到软件无线电的可模块化和开放性的特点,采用LabVIEW+USRP的软件无线电结构来对设计方案进行实现。
在传统无线电中,每个硬件组件都具有特定的功能,灵活性较低。当需要更改某些参数时,信息解码可能会出错,而为了在新配置的参数环境下能够正常工作,传统无线电需要对硬件进行重新设计或更换,这会带来更高的成本[11]。而软件无线电最大的特点就是无需更换硬件设备,仅通过改变软件来实现无线设备的不同功能。其主要原理就是依托于通用硬件平台,通过不同的软件编程实现信息的传递[12]。这样的模块化设计,既降低了成本,又具有较强的可拓展性。近几年来,NI公司研发的通用软件无线电硬件外设USRP和图形化编辑软件LabVIEW,逐渐成为发展最迅速、运用最普遍的无线通讯平台。图5给出了软件及硬件的工作示意图。
图5 LabVIEW+USRP软件无线电示意图
USRP是数字通信系统的一个软件可重配置的射频硬件[13],是软件无线电研究领域广泛使用的平台,具有使用简单、便捷、可扩展等特性,可避免采用复杂的FPGA开发技术[14]。它主要实现基带信号到射频信号的转换与处理,它包括两个部分:一个带有高速信号处理的FPGA母板和一个或者多个覆盖不同频率的可调换的子板[15],如图6所示。
图6 USRP硬件工作原理
测试中使用的USRP型号为NI-USRP 2900,射频前端的频率覆盖范围是70 MHz~6 GHz,表1给出了其主要参数。
应用脂质体Lipofectamine-2000对HEK-293细胞与miR-219及对照质粒(miR CTRL)和PRKCI共转染。转染24 h后,用双荧光素酶报告系统(PROMEGA,美国)检测细胞的荧光素酶活性。
表1 NI-USRP 2900主要运行参数
LabVIEW是一款基于图形化编程语言的虚拟仪器开发软件,具有多种不同的通信接口和功能丰富的库函数,可以简单地配置和操作外部输入输出设备,方便用户进行虚拟仪器设计的快速开发设计[16]。LabVIEW利用图标代替文本行进行编程,与传统的代码编程相比,图形化编程的不同之处在于,它只需设计数据流程,在流程图完成后,程序就会自动生成,而不需要编写复杂的代码。这一特点能够让开发者很容易上手,一定程度上加快了开发速度,减少了开发时间[17]。LabVIEW软件由程序框图、前面板和图标/接线端口构成,前面板用于模拟真实仪器的前面板;框图程序则是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标/接线端口则用于把LabVIEW程序定义成一个子程序,从而实现模块化编程[18]。
采用USRP+LabVIEW的软件无线电结构时,主机中的LabVIEW负责进行基带信号的处理[19],即信号内插之前的模块以及信号抽取之后的模块,比如滤波器、调制、解调等;USRP负责完成模拟前端和数字前端的功能,即发射端中信号内插及之后的模块和接收端中信号抽取及之前的模块,比如模数转换、数模转换等[20]。在软件开发过程中,需要充分考虑硬件的特性及约束条件,比如工作频段、最高采样率等,软件与硬件设备通过有效的配合,才能实现无线触发的完整通信过程。本文基于USRP 2900硬件平台,设计和开发了支持无线触发功能的测试系统。
图7给出了基于LabVIEW开发的发送端程序框图。图中左半部分是关于USRP基本配置,包括USRP的检测、参数设置等。右半部分是对信号的处理,包括二进制转换、信道编码等,与上文所述信息处理流程一致。接收端类似,考虑到篇幅有限不再给出接收端的程序框图。
图7 发送端LabVIEW程序框图
测试中使用3台USRP,型号为NI USRP-2900,每台USRP分别与一台PC相连,PC上运行LabVIEW编写的程序,组成系统中的终端设备。将其中一组设备作为主设备,其他两组作为从设备,编号分别设为1和2。在测试中,主设备作为发射端,从设备作为接收端系统测试过程包括收发端USRP的配置、软件启动等。收发端的USRP设备分别与PC连接,在发端PC输入指令信息后,LabVIEW对其进行基带处理,然后经过USRP将信号传入空中。收端USRP接收到信号,对其进行相应的处理,解出信息。
首先对收发端USRP的参数进行基本设置,包括IQ速率、载波频率、同步序列的长度等,如表2所示。IQ速率、载波频率和增益是USRP的基本配置参数,可视实际传输条件做适当调整;同步序列是指在进入成型滤波前,在信息前端添加的前导序列,程序中采用具有良好自相关特性和尖锐峰特性的巴克码作为前导序列[21],而在现有的9组巴克码中,长度为13的效果最好,因此将同步序列设为长度为13的巴克码。在载波频率方面,实验中选取USRP频率覆盖范围(70 MHz~6 GHz)内的200 MHz作为中心频点。在交织方面,交织深度越大,符号离散型就越大,抗突发差错能力越强,但处理时延也就越长,试验中将交织深度设为5,可以兼顾交织效果和处理时延。在信道编码方面,考虑到循环码编码简单,纠检错能力较强,试验中选用(15,11)循环码用于信道编码。同步序列的类型及长度、交织深度的大小和信道编码的类型可通过改写程序来实现不同的选择。
表2 核心参数列表
以上参数收发端需保持一致,否则在解调信息时会出现错误。配置好参数后,发端设置指令信息,比如事件信息、接收设备编号等。在收发端PC中启动程序即可接收信息,并通过收端PC的程序前面板来观察接收结果。
从功能上,对系统的链路联通性进行测试;从性能上,对系统的时延进行评估。考虑到测试系统的成本,以下基于1台主设备和2台从设备的场景开展测试。测试结果可以扩展到具有更多从设备的场景。
(1)功能验证。
①定时触发模式下的触发信息传递测试。
测试目的:在定时触发模式下,由发射端发出指令信息,要求某台从设备在指定的时刻执行某个事件,其余无关的从设备不接收该指令。
测试过程:在主设备端和两台从设备端分别运行程序,在主设备端设置好发射指令所需的参数,具体包括时间信息、事件编号和接收指令的设备编号,如图8(a)所示。同时观察两台从设备的接收面板。其中,1号从设备的接收面板显示结果如图8(b)所示,可以看出,1号从设备可以正确接收发端指定的触发时间以及事件编号。相比之下,通过观察2号从设备的接收面板可以发现该设备并未接收到有效的指令信息,如图8(c)所示,这一结果符合主设备在发射端的设置,即从设备不会接收与自己无关的指令。
图8 定时触发功能测试面板图
②随机触发模式下的触发信息传递测试。
测试目的:在随机触发模式下,由发射端发出指令信息,要求某台从设备在接收到指令的时候立刻执行某个事件,其余无关的从设备不接收该指令。
测试过程:在主设备端和两台从设备端分别运行程序,在主设备端设置好发射指令所需的参数。在随机触发模式下,只包含事件编号和接收指令的设备编号,而不需要配置时间信息,发送面板如图9(a)所示。同时观察两台从设备的接收面板。由1号从设备的接收面板(图9(b))可以看出,该设备正确接收到随机触发指令。而2号从设备并未接收到有效的指令信息,其接收面板如图9(c)所示。上述结果验证了随机触发指令发送的有效性和正确性。
图9 随机触发功能测试面板图
③“一对所有”场景下的信息传递测试。
测试目的:前面的两项测试均针对“一对一”模式开展,即发送端发送的指令仅针对某一个从设备。接下来针对“一对所有”场景开展测试,即发送端发送的指令会被所有从设备接收。此处,以定时触发为例。随机触发的情况相似,出于篇幅所限不再给出其测试过程和结果。
测试过程:在主设备端和两台从设备端分别运行程序,在主设备端设置好发射指令所需的参数,具体包括定时触发的时间信息和事件编号,同时将和接收指令的设备编号设置为0,即表示所有从设备均接收此条指令,如图10(a)所示。将该指令发出后,可以看到1号从设备和2号从设备的接收面板均显示了相应的定时触发信息,如图10(b)(c)所示,也就是说,两个从设备均正确接收了该指令,即完成了“一对所有”场景下触发信息的传递。
图10 “一对所有”场景测试面板图
(2)性能评估。
上述测试过程主要是对无线触发的功能进行验证,可以看到在定时触发和随机触发两种模式下都能顺利进行指令信息的传递,并且都能实现“一对一”和“一对所有”的信息传递。除了功能验证之外,本文也对性能进行了评估和讨论。
无线触发的性能评估主要是对信息传输过程造成的时延进行分析。在上文所述的信息传递过程中,按照信息传递的顺序分析,时延主要由以下几个部分组成:发端处理时延、发送时延、传播时延和收端处理时延。
其中,发端处理时延是指发端对信息做编码等处理所需的时间;发送时延是指发出信息所需的时间,主要受信息长度和发送速率的影响;传播时延是指信号在空中传播的时间,由于电磁波传播速度极快,这部分时延通常忽略不计;收端处理时延是指收端对信息做解码等处理所需的时间。
为了避免硬件带来的误差,本文采用仿真与理论推导结合的方式来对这几部分时延进行分析。
利用LabVIEW编写仿真程序,其框图如图11所示。与图5相比,发射模块与接收模块的处理流程完全相同,只是将中间通过USRP收发信号的部分换成了高斯白噪声信道模块。在LabVIEW仿真程序中,需要分别在发端和收端增加记录时间戳的功能,用于计算从发端发送信息到收端收到信息并解出信息这一过程总共耗费的时间。
图11 仿真程序框图
运行仿真程序,分别测试定时触发和随机触发下的时延,结果如图12和图13所示。
图12 定时触发模式下的时延
图13 随机触发模式下的时延
可以看到随机触发模式下的时延明显比定时触发的小,这是因为随机触发模式的数据更短。定时触发模式下的数据帧多了一项时间信息,而时间信息在LabVIEW中的数据格式为“时间戳”(Timestamp,LabVIEW中一种表示绝对时间的数据类型),长度为128 bit,数据相对较长,因此,与随机触发相比,时延更大。除此之外,观察结果我们还能发现,两种模式下的平均时延都极小,图像显示最大时延也只是在1 ms附近。
由于仿真仅基于软件进行,没有连接硬件设备,通过仿真程序求得的这个时间仅仅只是收发端处理时延。由于电磁波传播速度极快,信号在空中传播所需的这部分传播时延忽略不计;发送时延主要与软硬件配置相关,需要根据不同情况具体分析。例如,在USRP+LabVIEW的软件无线电结构中,理论上来说,USRP的IQ速率最高可设置为15 MS/s(测试所用的USRP型号为2900),但是若速率过高,而数据相对较短,则会由于软件处理速率跟不上而导致程序报错,经过测试,在当前数据条件下,USRP的IQ速率在定时触发模式下最高可设为3 MS/s,在随机触发模式下最高可设为1 MS/s。不难推算,在这两个速率下的软件无线电环境中,发送时延为毫秒级,具体数值与传输链路的参数有关,例如滤波器参数、调制类型等等。
总的来说,在USRP+LabVIEW的配置环境下,时延可以控制在毫秒级,具体数值由链路参数决定。
本文设计和实现的无线触发系统,关键在于触发模式和无线传输链路两个方面。一方面,定时触发和随机触发两种触发模式可以满足不同测试任务的需求,使得测试系统适用性更高;另一方面,无线传输链路的设计使得各设备间的联系不受制于线缆,提高了系统的灵活性。而且链路可通过多种方式实现,例如FPGA、软件无线电等。测试环节采用USRP+LabVIEW的软硬件结合,从功能上对方案进行了验证,即不同触发模式,主设备都能顺利地将指令信息传递给从设备,并且都能实现“一对一”和“一对所有”的信息传递。然后仿真与理论推导相结合,对性能进行了评估。通过功能测试和性能评估,该方案的合理可行性可以得到证明。