虚拟矢量信号发生器和分析仪的设计与实现

2013-06-20 04:37刘在英
计算机与现代化 2013年12期
关键词:虚拟仪器基带框图

沙 洁,刘在英

( 上海杉达学院信息科学与技术学院,上海 201209)

0 引 言

一个通信系统通常包括3个要素:发射器、信道和接收器[1]。

发射器的功能是把信息源产生的信号注入载波,然后通过改变载波的幅值、频率或相位,调制成适合在信道中传输的信号。调制过程可以把源信号的频谱搬移到任意位置,从而有利于信号的传送,并且可以借助多路复用的方法使得频谱资源得到充分利用。采用正交载波实现多路信号复用的调制信号称为矢量信号。对于正弦载波来说,如果相位相差90°则会产生两路载波信号:同相(in-phase)载波和正交(quadrature)载波[2]。

信道是信号传输的媒介,在传输的过程中信号会有不同程度的衰减,其主要来源是可加性噪声。因此,接收器需要用相应解调算法从载波中提取出原始的信号信息。实际解调的准确性取决于解调算法的选择、信噪比等因素。

矢量信号发生器(VSG)和矢量信号分析仪(VSA)是数字通信系统的测量和调试仪器,但是价格动辄上千美金且市场长期被国外公司垄断。在科研工作中,VSG 和VSA是分析不同通信技术性能的有用工具;在高校通讯专业的日常教学中,很多概念的解释也离不开VSG 和VSA。

LabVIEW是美国国家仪器公司开发的一种创新的图形化编程环境,相比基于文本的编程语言,提出了基于框图(Block Diagram)的系统设计方法。使用LabVIEW 编制的程序称为虚拟仪器程序(VI)。VI主要包括两个部分:程序前面板和框图程序。前面板供开发者使用LabVIEW 提供的各种图形组件建立图形用户界面(GUI);每一个程序前面板都对应着一段框图程序,相当于传统程序的源代码。框图程序由端口、节点、框图和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,框图被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。LabVIEW的核心思想是结构化的数据流,每一个VI 运行都必须遵循数据流的规范,即一个节点只有当所有的输入都具备时才可运行,运行完成后的结果作为下一个节点的输入。LabVIEW 提供了一些基本功能VI,开发者可以利用这些VI 构建功能更加强大复杂的虚拟仪器程序。一个VI 可以由多个子VI 组成,也可以被当做子VI 被其他VI 调用。

本文使用LabVIEW 设计一组VSG 和VSA 虚拟仪器程序。VSG 虚拟仪器程序运行在安装了数据采集卡的PC 上,能够基于不同的调制算法产生射频信号,包括二进制相移键控(BPSK)、正交相移键控(QPSK)、8 相移键控(8PSK)和16 正交幅度调制(16QAM)。调制信号通过数据采集卡终端的模拟信道传输给运行VSA 虚拟仪器程序的另外一台PC,由虚拟VSA 程序对实时接收到的信号进行分析。VSA可按照不同算法解调信号,显示信号波形图、星座图,计算比特误码率(BER)等。模拟信号的输出及采集采用了两块NI 公司的PCI-6024E DAQmx 数据采集卡及BNC2120的信号终端。

1 VSG 设计及实现

VSG 相当于通信系统中的发射器,用于生成调制信号并把数字信号转换成能够在数据采集卡中传输的格式。VSG 虚拟仪器程序由基带数字信号发生器、脉冲成形滤波器、I/Q 调制器和数据采集单元组成,每个模块通过一个自定义子VI 实现,上一个子VI的功能输出作为下一个子VI的输入。图1为整个VSG的设计框图。

图1 VSG 设计框图

1.1 基带数字信号发生器

数字信号发生器负责生成随机的二进制数据,映射二进制比特为符号并把符号分离成in-phase 和quadrature分量。星座图(Constellation Diagram)在二维的复平面上显示了不同调制方法的所有可能的符号值,映射的方法根据不同的调制方法而有所不同。基带的二进制数通过信号的星座图映射成in-phase和quadrature 通道的符号值SI和SQ。符号值的映射采用格雷编码(Gray Code)方式以最小化传输过程中的突发错误。

在实现过程中,考虑到调制后符号的能量控制,输出符号的幅值需要乘以一个控制常量Δ。这一个常量可以由不同调制算法的星座图中推导出来。对于PSK 来说,平均符号能量Δ 和ES的关系经推导后得到[3]:

其中Δ是为复平面的符号幅值,θ为符号的相位。

对于QAM 来说,平均符号能量Δ 和ES的关系经推导后为[3]:

其中,M为QAM 级数,Δ为相邻两个字符距离的一半(水平和垂直方向),Ek为第k个符号的能量。

1.2 脉冲成形滤波器

脉冲成形滤波器作用于先前生成的基带调制符号来限制信号的带宽。它必须满足奈奎斯特准则以避免符号间干扰(ISI)[4]。

Sinc 脉冲是一种非因果脉冲,在频域表现为一个矩形频谱,能够很好地控制传输信号的带宽;在时域里每个符号周期都有零交叉点,能够满足奈奎斯特准则且不会产生ISI。但是,实际LabVIEW中只能使用因果脉冲,而且Sinc的无限时域长度在软件里是无法实现的。解决这一问题的方法是采用升余弦(RC)滤波器。RC 滤波器在时域每个符号周期都有零交叉点,满足内奎斯特条件;在频域,低频段为单位增益,中频段为升余弦频谱,高频段为零增益,可以有效控制信号的带宽。本文使用了两个根升余弦(RRC)滤波器:一个作为VSG 端成形滤波器,一个在VSA 端形成匹配滤波,两者的总效果相当于单个RC 滤波器,这样做不仅能够使得抽样时信噪比达到最高,又能够在一定的带限平坦信道中不引入码间干扰[5]。

RRC 滤波器的脉冲响应的定义如下[6]:

其中α是滚降因子,Ts是符号周期。

借助于LabVIEW的移位寄存器[7],发送端把RRC 脉冲响应在每个符号周期作用于调制过的基带信号,相当于在频域作用了一个根升余弦滤波器,LabVIEW 程序结构图如图2所示。

图2 模拟基带脉冲流

1.3 I/Q 调制

I/Q 调制模块的目的:一是整合分离的in-phase和quadrature 数据流以便提高频谱利用率;二是提升基带信号的频率到适合远距离传输的范围。两个通道的基带信号被两个正交的同频率fc载波调制,与I/Q 通道的信号经乘积调制后的和作为最后的输出信号,LabVIEW 程序流程图如图3所示。

图3 频率提升和I/Q 复用

1.4 VSG 端DAQ 设计

VSG 端的DAQ 设计是为了实现D/A 转换,把LabVIEW 生成的I/Q 调制信号转变成物理信号通过模拟信道传输出去。此模块通过LabVIEW框图程序控制数据采集卡把由I/Q 调制模块输出的信号通过指定的物理信道传输出去。物理信号的传送需要精准的时序控制和收发同步,因此本文使用两个函数发生器:一个作为外部时钟源,另一个作为两个信号采集卡的起动触发器。DAQ 板的参数如表1所示[8]。

表1 DAQ 板主要参数

1.5 VSG 用户界面

在VSG的用户设计中,用户可以像使用VSG 设备一样设置虚拟仪器的相关参数,例如调制方法的选择、每槽的符号数、采样频率、载波频率等。每个阶段的信号波形也将显示在前面板上,整个界面如图4所示。

图4 VSG 用户界面

2 VSA 设计及实现

VSA是数字解调和测量的有用工具。本文的VSA 虚拟仪器程序由5个模块组成:DAQ 测量、I/Q解调、接收端滤波器、采样映射和比特误码率(BER)测量。整个结构图如图5所示。

图5 VSA 设计结构图

2.1 DAQ 设计

VSA的DAQ 部分主要完成接收模拟信号的数字化采样以便于后续在LabVIEW中进行分析。采样前需要先通过编写程序设置采集的参数,如采样频率、使用的物理信道等。然后通过外部两个函数发生器,即采样时钟和开始触发器,分别连接两块采集卡的BNC-2120 终端可编程接口PFI0 和PFI6 口以实现同步[9]。整个框图程序流程如图6所示。

图6 VSA 端DAQ 设计流图

2.2 I/Q 解调

I/Q 解调器作用与I/Q 调制器相反。它将接收信号降频,把信号分离为in-phase 和quadrature 部分。接收到的调制信号需经过两个相干的检波器:inphase 检波器A'ccos(2πfct)和quadrature 检波 器A'csin(2πfct)。需要指出的是,检波器的频率和相位必须和发射器端的载波保持一致。因此检波器的输出可用数学方法推导为:

从结果可以看出,经过两个检波器后输出的信号包含高频部分和低频部分,通过低通滤波器可以得到含有数据信息的低频部分信号SI(t)和SQ(t)。Lab-VIEW 设计框图如图7所示。

2.3 接收端滤波器

接收滤波器模块是为了配合VSG中的RRC 滤波器成对使用,从而使得总共的频率响应满足奈奎斯特准则[10]。由数学定律知,在时域进行卷积相当于在频域进行乘法运算。因此,在LabVIEW中,解调后的基带信号和截取特定长度的RRC 脉冲响应执行卷积操作[11],结构图如图8所示。

图7 降频解调框图

图8 接收端滤波器结构图

2.4 采样及映射

采样的目的是把符号从滤波后的基带信号抽取出来,采样频率和符号速率保持一致,都是1/TS。其关键点是如何找准采样点,第k个采样距离应该满足(6+i)Ts,i=0,1,2,…(过密采样不在本文的考虑范围内)。因为LabVIEW 不能表示连续时间信号,所有时序信号是以离散的采样点表示,时间分辨率Tres应远远小于Ts或者时间解析速率Rres应远远大于采样速率Rs。因此在LabVIEW中进行采样操作的时候需要计算离散样本的索引值。一个符号周期内的离散点的数目由Rres和Rs决定。第n个符号的位置ln可以写成:

其中i是符号索引。

开标必须得有招标人进行主持,然后邀请全部的投标人来参与。除了开标工作人员、投标人、监督人员和公证人员以外,其他不相关的人员应该予以回避。如果进行某一标段项目进行划分且对其唱标时,没有参与投唱标段的人员必须得回避。

除此之外,为了最后绘出标准化星座图,每个采样的符号还要除以平均的符号能量。最后,符号根据不同调制算法映射到星座图上绘制图像。图9是整个采样及映射的设计流图。

图9 采样及映射设计流图

2.5 BER 测试器

在通讯系统中,比特错误率(BER)定义为传输过程中错误比特的数目与总共传输的比特的比值,而EVM 作为数字射频发射器和接收器性能的度量。本文为了模拟实际信道的环境,发射端传输两种不同的信号:一种是加入可加性高斯白噪声的信号,另一种是未加入噪声的信号。接收端通过比较两种不同信号来计算BER 和EVM。图10是测试器的LabVIEW流图。

图10 BERT 和EVMT 流图

2.6 VSA 用户界面

在VSA中,用户可以设置A/D 转换的采样速率、载波频率、选择物理接收频道等,如图11所示。

图11 VSA 用户界面

3 模拟测试结果及分析

仪器的测试是仪器设计中不可缺少的一个重要环节。本模拟测试中,VSG 和VSA分别安装在两台电脑上,每台电脑分别与一个数据采集卡相连,同步和采样时钟由外部的函数发生器产生。VSG的参数如下:每槽的符号数=100,符号速率=10sym/s,采样频率=5kHz,载波频率=100Hz。通过调整信号中白噪声的强度观察VSA 上接收信号星座图的变化,统计得到不同调制方法下VSA 性能衰减点如表2所示。

表2 星座图变化起始点

理论上,添加高斯可加性白噪声的BPSK 调制的误码率可以通过下式计算[12]:

其中Eb/N0是信号噪声比率,Q(x)是高斯Q 函数:

QPSK 可以看成是正交载波的BPSK,误码率和BPSK 一样。

对于高阶的MPSK,不能用简单的表达式表示误码率,可以通过积分推导得到[12]:

矩形QAM的BER 表达式可以推导但是会牵涉到复杂的表达式,其值取决于实际的符号与比特分配;使用格雷编码的MQAM的误码率为[13]:

BER 测试的过程针对相同的噪声变量使用不同的符号能量,为了得到更加准确的结果,每次测试生成一百万个符号。经过系统测试后,LabVIEW 程序实际测量值和理论值通过Matlab 绘制如图12所示[14]。

图12 BER versus SNR 曲线

从绘制的分析图看,实际实验的误码率与理论值基本一致。16QAM的BER 值与理论值存在些许偏差是因为接收平均符号能量的推导式在高噪声时存有误差。

4 结束语

本文利用美国国家仪器公司的LabVIEW 语言设计完成虚拟的VSG 和VSA。实验表明该虚拟设备具备对硬件支持频域内矢量信号的发生和分析功能,界面直观,易于扩展;为学校教学和科研工作的提供了有用工具,节约了成本。

[1][美]Proakis J G,[美]Manolakis D G.数字信号处理(第4 版)[M].方艳梅,刘永清译.北京:电子工业出版社,2007.

[2]陈向民.矢量信号分析中数字解调设计[J].电子测量与仪器学报,2006,20(5):98-102.

[3][美]奥本海姆,[美]威尔斯基,[美]纳瓦布.信号与系统:精编版(第2 版)[M].刘树棠译.西安:西安交通大学出版社,2010.

[4]Stüber G L.Principles of Mobile Communication(3rd ed)[M].Springer,2012.

[5][美]库奇.数字与模拟通讯系统[M].北京:电子工业出版社,2010.

[6][美]Sklar B.数字通讯基础与应用[M].徐平平译.北京:电子工业出版社,2010.

[7]雷振山,肖成勇.LabVIEW 高级编程与虚拟仪器工程应用(第2 版)[M].北京:中国铁道出版社,2012.

[8]National Instrument.User Manual of PCI-6024E DAQmx Board[DB/OL].http://www.ni.com/pdf/manuals/370503k.pdf,2007-02-18.

[9]白云,高育鹏,胡小江.基于LabVIEW的数据采集与处理技术[M].西安:西安电子科技大学出版社,2009.

[10]陈泳恩,宋志豪.FIR 结构IQ 串行处理RRC 滤波器[J].电子技术,2011,38(4):26-27.

[11]郑大钟.线性系统理论(第2 版)[M].北京:清华大学出版社,2005.

[12]Ziemer R E,Tranter W H.Principles of Communications:Systems,Modulation and Noise[M].袁东风,江铭炎译.北京:高等教育出版社,2004.

[13]庄宁,于宏毅,杨珂.十字形QAM 信号的符号错误率计算方法[J].计算机工程,2011,27(13):279-281,284.

[14]张德丰.详解MATLAB 数字信号处理[M].北京:电子工业出版社,2010.

猜你喜欢
虚拟仪器基带框图
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
电路图2017年凯迪拉克XT5
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
算法框图的补全
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器的DMFC实时监控系统
2014年LTE基带收益占蜂窝基带收益50%以上
AIS基带信号的接收与处理
基于图表法构建《万有引力定律与航天》知识网络