張少侃,梁中英,高心煒
(廣州海格通信集團股份有限公司,廣州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號