张少侃,梁中英,高心炜
(广州海格通信集团股份有限公司,广州510663)
一种利用MATLAB软件和安捷伦E4438C仪器产生自定义信号的方法
张少侃,梁中英,高心炜
(广州海格通信集团股份有限公司,广州510663)
摘要:为了产生模拟接收机在复杂无线电波环境下的测试接收物理波形信号,给出一种使用MATLAB软件和安捷伦E4438C矢量信号源产生自定义物理波形信号的方法。以QPSK调制信号为例,给出MATLAB软件产生数字波形文件的详细代码,并且给出数字波形文件下载到E4438C仪器和使用E4438C产生物理波形文件的具体详细步骤。最后,通过示波器和EVM测试仪验证所产生的QPSK物理波形的正确性。
关键词:MATLAB;E4438C矢量信号源;自定义波形
在我们当前生存的无线电环境中,充满着各种各样复杂的无线电波,因此任何真实的电子系统都必须能够在复杂的无线电信号环境中工作。在当前无线电波环境中,空中除了本电子系统发射的信号外,还同时存在着各种噪声和其他电子系统发出的干扰信号,因此在接收机的开发和测试过程中,要充分考虑到真实复杂环境中噪声和其他干扰信号的影响。为了测试接收机能否在真实无线电波环境中工作,也即接收机能否在复杂无线电波环境下工作,我们需要有一个真实的可以自定义产生任何形式信号的信号源[1]。
文献[2]介绍了一种复杂波形产生器的设计与实现方法,但其只能产生复杂载波并不能产生自定义的信息内容,而且使用可编程逻辑硬件开发,不能达到复杂无线电波形的快速搭建要求。另外,虽然现有的很多仪器已经可以很容易地合成出各种标准的通信信号,甚至是各种衰落形式的信号,但是实际的无线电波环境中往往情况更加复杂。例如雷达系统中对复杂波形信号的要求体现为宽的信号带宽、波形捷变能力以及较低的相位噪声和杂散电平等[3-4]。因此,研究复杂自定义信号物理波形的产生意义重大。本文利用MATLAB软件产生任意形式的数字信号域波形文件,将数字信号波形文件下载到安捷伦公司的E4438C矢量信号源[5]中,让它产生我们想要的任意形式物理信号。
MATLAB软件是一款集信号仿真和信号分析的强大工具软件,用它我们可以产生任意形式的数字域波形文件,如我们常见的QPSK、GMSK调制信号以及更加复杂的FDMA、CDMA等多址接入信号。另外其强大的信号处理工具箱,使得我们可以通过MATLAB产生形式的数字波形信号。
下面我们以常见的QPSK调制信号为例,给出使用MATLAB产生可以下载到安捷伦E4438C仪器中的波形文件。首先给出QPSK的映射星座图为[pi/4, pi*7/ 4, pi*3/4, pi*5/4],成型滤波采用平方根升余弦滚降成型滤波器,内插倍数为4,滚降因子为0.35,群迟延为6。相应的MATLAB脚本代码如下:
insValue=4; %内插倍数
alpha=0.35; %滚降因子
groupDelay=6; %群迟延
filterCoeff =rcosine(1,insValue,'fir/sqrt',alpha,groupDelay);%生成平方根升余弦滚降成型FIR滤波器系数
filterDelay=(length(filterCoeff)-1)/2; %滤波器的延迟
qpskAngle=[pi/4, pi*7/4, pi*3/4, pi*5/4]; %QPSK星座映射图
msg=randint(1,1000); %随机产生0、1序列
code=reshape(msg, 2, length(msg)/2); %串行转并行
id=bi2de(code','left-msb'); %二进制转十进制
codeAngle=qpskAngle(id+1); %星座图角度映射
sig=exp(1i*codeAngle); %QPSK调制映射
sig=upsample(sig, insValue); %信号插零
txSig=conv(sig,filterCoeff); %成型滤波
txSig=txSig(filterDelay+1:length(txSig)-filterDelay); %去除延迟
通过执行以上MATLAB代码,我们得到了QPSK调制信号的数字域波形txSig,信号txSig的信号图和IQ两路的时域波形图分别如图1和图2所示。
图1 QPSK信号图
图2 QPSK信号时域波形图
有了以上信号,我们还需要对txSig做定点量化处理,这里我们选择实部和虚部的量化位宽均是16比特。量化的MATLAB脚本语句为:
quantityBit=16; %量化位宽
sigPulseI=real(txSig); %取出实部
sigPulseQ=imag(txSig); %取出虚部
factorDIV=max(max(abs(sigPulseI)),max(abs(sig-PulseQ))); %取IQ两路最大幅值作为归一化因子
if(factorDIV ==0)%此种情况对应IQ两路全为零
sigPulseI_quantity=zeros(size(sigPulseI));
sigPulseQ_quantity=zeros(size(sigPulseQ));
else %此时进行量化处理
sigPulseI_quantity =floor(sigPulseI /factorDIV *(2^(quantityBit -1)-1));
sigPulseQ_quantity =floor(sigPulseQ/factorDIV *(2^ (quantityBit-1)-1));
end
sigPulse_quantity =sigPulseI_quantity +1j* sigPulseQ_ quantity; %合并为复数
得到16比特量化后的复信号sigPulse_quantity后,我们需要将其实部和虚部分别写入到txt文件中,以便下载到安捷伦E4438C仪器中。这里对两个txt文件的名字有要求,IQ两路信号的txt文件名需为***_i. txt和***_q.txt的格式,例如本例中我们选择的名字为QPSK_i.txt和QPSK_q.txt。以下给出将sigPulse_quantity信号写入txt文件的MATLAB脚本代码。
Isig=real(sigPulse_quantity); %取出实部
Qsig=imag(sigPulse_quantity); %取出虚部
fileNameI='QPSK_i.txt'; %实部波形文件名
fileNameQ='QPSK_q.txt'; %虚部波形文件名
fid = fopen(fileNameI, 'wt'); %打开实部文件
if(fid==-1)%打开文件失败
error('实部信号波形文件打开失败');
end
for i=1:length(Isig)
fprintf(fid, '%d ', Isig(i)); %写入数据
end
fclose(fid);
fid = fopen(fileNameQ, 'wt'); %打开虚部文件
if(fid==-1)%打开文件失败
error('虚部信号波形文件打开失败');
end
for i=1:length(Qsig)
fprintf(fid, '%d ', Qsig(i)); %写入数据
end
fclose(fid);
至此,我们便使用MATLAB软件得到了QPSK调制信号实部和虚部波形文件QPSK_i.txt和QPSK_q.txt,后面我们需要将这两个波形文件使用安捷伦E4438C产生物理波形。
在上面部分我们得到了QPSK调制信号实部和虚部的两个波形文件,本部分主要解决将两个波形文件下载到安捷伦E4438C仪器中。文献[6]中虽然介绍了E4438C构建功放生产测试平台的方法,但其并未对MATLAB产生的数字波形文件下载到E4438C中做详细介绍。本文介绍的下载方法使用的是安捷伦E4438C仪器的网口与计算机网口连接的方式,其连接框图如图3所示。
图3 计算机和安捷伦E4438C连接示意图
计算机想要通过网口和安捷伦E4438C连接,计算机需要首先安装安捷伦E4438C的驱动程序,安装完驱动程序后进入“Agilent IO control”界面如下:
图4 Agilent IO control界面
通过界面指引操作把通过网口连接的E4438C仪器找到,如出现图5所示界面,则表示驱动安装成功。
图5 计算机连接E4438C成功界面
计算机连接E4438C成功后,我们还不能直接把波形文件下载进去,这时我们需要借助插件工具Intuilink才能将MATLAB生成的两个波形文件下载到E4438C仪器中。安装完Intuilink插件工具后,此插件需要在微软Office办公软件中的Excel中找到,打开一个Excel,点击加载项,会有一个图6所示的界面,表示Intuilink插件安装成功。
图6 Intuilink插件安装成功界面
在计算机成功连接E4438C后,我们就可以使用图6所示Intuilink插件界面从计算机往E4438C仪器里面下载MATLAB生成的两个波形文件了,对应的下载界面如图7所示。
图7 Intuilink插件下载MATLAB生成的波形文件界面
点击图7中红圈所示的“Start Download”按钮,等待一段时间,待下载完成后,我们便完成了数字波形文件到E4438C仪器的下载过程。
通过上一部分的操作,我们已经将MATLAB生成的数字域波形文件下载到E4438C仪器中,本节则需要使用E4438C仪器来产生下载进来的数字域波形文件的物理信号。
在E4438C操作面板上,首先我们通过mode->Dual ARB->select waveform来选择刚才下载到E4438C的数字域波形文件,如图8所示。
图8 E4438C选择需要产生物理信号的数字域波形文件界面
在选择完数字域波形文件后,我们通过E4438C面板上的mode ->ARB ->ARB setup ->ARB sample clock来设置发端波形的采样时钟,只有采样时钟和波形信号对应上后才能产生出我们想要的任意形式和速率的物理信号。至此,我们便通过E4438C仪器产生了我们自定义的物理信号。
本节通过示波器和EVM测试仪来对上面部分通过E4438C产生的物理信号进行验证。首先给出验证使用的物理仪器连接框图,如图9所示。
图9 物理仪器连接示意图
仪器连接完成后,实际的物理信号频谱图、EVM测试图以及同步误差相关参数测量图分别如图10、图11和图12所示。
图10 物理信号频谱图
图11 物理信号EVM测试图
图12 同步误差相关参数测量图
从上述验证结果可知,我们通过MATLAB软件和安捷伦E4438C仪器产生了我们想要的自定义物理信号。
本文以QPSK调制信号为例,给出了MATLAB软件产生QPSK数字调制信号波形文件的详细代码,给出了将数字波形文件下载到安捷伦E4438C矢量信号源以及使用信号源产生物理波形的具体详细步骤,最后通过示波器以及EVM测试仪验证了自定义QPSK调制信号物理波形的正确性。
参考文献:
[1]刘亚平.基于SOPC的任意波形发生器的设计[D].河北:河北科技大学,2012.
[2]余铁军,由法宝,任亚欣.一种复杂波形信号产生器的设计与实现[J].电子科技,2013,26(5): 78-80.
[3]张春荣.雷达捷变频频率综合器技术及跳频时间测量[J].火控雷达技术,2004,12(4):42-45.
[4]糜光璞.雷达复杂信号产生技术[J].火控雷达技术,2006,35(3):22-26.
[5]安捷伦ESG矢量信号发生器用户指南,2002.
[6]范德睿,朱蕾,陈江.用E4438C和E4440A构建功放生产测试平台[J].电子测量与仪器学报,2009增刊:285-288.
梁中英(1985-),女,黑龙江鹤岗人,硕士研究生,工程师,从事领域为卫星通信数字信号处理
高心炜(1986-),男,福建人,本科,助理工程师,从事领域为卫星通信数字信号处理
A Method Using MATLAB Software and Agilent E4438C Vector Signal Source to Generate the Custom Waveforms
ZHANG Shao-kan,LIANG Zhong-ying,GAO Xin-wei
(Guangzhou HAIGE Communications Group Incorporated Company, Guangzhou 510063)
Abstract:In order to generate the simulated receiving physical waveform signals in the complicated radio environment, gives a method using MATLAB software and Agilent E4438C vector signal source to generate the custom physical waveform signals. Takes QPSK modulation signal as an example, gives a detailed code of MATLAB software to generate the digital waveform file, and presents the specific and detailed steps of the digital waveform file download to the E4438C instrument and using E4438C to generate the physical waveform signal. Finally, the correctness of the QPSK modulation physical waveform signal generated by the method presented is verified by the observation using oscilloscope and EVM test instrument.
Keywords:MATLAB; E4438C Vector Signal Source; Custom Waveform
收稿日期:2016-01-05修稿日期:2016-03-03
作者简介:张少侃(1988-),男,陕西西安人,硕士研究生,助理工程师,从事领域为卫星通信数字信号处理
文章编号:1007-1423(2016)10-0076-05
DOI:10.3969/j.issn.1007-1423.2016.10.019
基金项目:发改办高技[2012]2083号