摘 要:在傳感器設計、模擬試驗等方面經常需要產生一些測試信號,一臺能方便產生各種有規律和不規則信號的任意信號產生器將減少設備的研制復雜度。從軟件的角度著手,提出一種任意信號發生器軟件的設計方法,這種軟件可以在各種任意信號發生器硬件之間移植重復利用,所以具有良好的應用前景。介紹本任意信號產生器的原理及軟件結構設計和信號數據的產生方法,給出部分由本任意信號產生器產生的信號波形圖。
關鍵詞:任意信號發生器;軟件設計;數字射頻存儲器BCB;信號波形圖
中圖分類號:TP311.5 文獻標識碼:B
文章編號:1004-373X(2008)10-177-03
Software Design of the Arbitrary Signal Generator
HUANG Chao1,YANG Ruiming2,YANG Guanghui2
(1.Electronic Engineering Institute of Hefei,Hefei,230037,China;
2.Key Laboratory of Electronic Restriction,Electronic Engineering Institute of Hefei,Hefei,230037,China)
Abstract:It is needed to generate some test signals in sensor designing and in experiment environment simulating.A set of arbitrary signal generator which can generate various kinds of regulation and irregular signals will reduce the research complications and manufacture complications.This paper brings forward a designing method of software of the arbitrary signal generator throw the aspect of using the software.It can be reused among various kinds of the arbitrary signal generators,so it has a good application foreground.This paper first introduces the main principles,immediately after introduces the designing method of the software structure and the creation method of the signal data,at last shows a part of the wave forms of the signal data created by the arbitrary signal generator.
Keywords:arbitrary signal generator;software design;DRFM BCB;signal waveform picture
1 引 言
在傳感器設計、模擬試驗等方面經常需要產生一些測試信號,包括簡單的正弦波、三角波、方波、鋸齒波、Sin(x)/x、升指數、降指數、真流電壓、脈沖、隨機噪聲等,還需要心律波、地震波、碰撞波等特殊的信號,在移動通信的電子設備設計與測試領域還需要簡單的模擬和數字調制信號以及實際應用的通信信號,在雷達設備的研制過程中還需要簡單脈沖信號、脈內調制信號以及脈沖串信號等,在聲納設備的研制和測試中還需要一些水聲信號。所以任意信號發生器的應用領域是很廣泛的,而當前任意信號發生器由于硬件的限制,往往設計成某頻段的針對某特殊領域的信號發生器,從嚴格的意義上講,并不能任意產生所需的信號。本文從軟件的角度出發,研究設計可以在各種任意信號發生器之間移植重復利用,可以編輯產生任意信號的軟件。直接利用這種軟件到任意信號發生器系統,可以減少設備的研制復雜度,開發和維護方便經濟。
2 任意信號發生器的工作原理
這種任意信號發生器的工作原理是:主要根據信號模型,產生所需信號波形的采樣點值,在控制邏輯的控制下存儲到波形數據存儲設備中,一般是數字射頻存儲器,再通過控制邏輯將數據點值讀出送到D/A轉換成模擬信號波形,形成實際的信號。其工作原理圖如圖1所示。這種從模擬信號波形到離散數值再到模擬信號波形的轉換依據是奈奎斯特采樣定理。奈奎斯特采樣定理可表述如下:設有一個頻率帶限信號f(t),其頻帶限制在(0,fh)內,如果以不小于fs=2#8226; fh的采樣速率對f(t)進行等間隔采樣,得到時間離散的采樣信號f(n)= f(n#8226;Ts)(其中Ts =1/fs稱為采樣間隔),則原信號f(t)將被所得到的采樣值f(n)完全確定。采樣定理的數學表達式為:f(t)=∑+∞-∞f(n)#8226;Sa(π#8226;fs#8226;t-n#8226;π)。采樣率越高,越能擬合所需的物理信號波形,在不改變輸出信號樣值點速率和采樣頻率大于或等于奈奎斯特采樣頻率的前提下,改變每周期的采樣點數,就可以改變輸出信號頻率。這種軟件可以安裝在計算機上或者直接安裝在任意信號發生器內。
3 軟件的總體設計思想
該軟件充分運用軟件無線電理論、計算機技術、數字信號處理技術,主要運用軟件化的設計理念進行設計。
圖1 任意信號發生器的工作原理圖
3.1 波形數據的方式
該軟件設計了4種產生波形數據的方式:
(1) 數據采集法。在計算機的控制下,利用數據采集卡采集外部信號,存儲到波形數據存儲器中,然后經D/A輸出數據形成信號波形。
(2) 預置程序產生法。利用計算機屏幕上的軟件界面選擇具體的信號類型,然后調用此信號模型對應的數據產生程序進行計算處理,生成數據點值,在計算機的控制下,存儲到波形數據存儲器中,最后經D/A輸出數據形成信號波形。
(3) 讀取外部文件法。利用計算機屏幕上的軟件界面,讀取外部文件的波形數據,存儲到波形數據存儲器中,經D/A輸出數據形成信號波形。
(4) 動態編輯法。包括波形手繪法,鍵盤輸入點值法以及輸入公式計算法。利用計算機屏幕上的軟件界面,利用鼠標繪出波形,轉換成數據點值;或利用鍵盤輸入數據點值;或輸入表達式計算得到波形數據點值;然后存儲到波形數據存儲器中,再經D/A輸出數據形成信號波形。
其數據產生方式示意圖如圖2所示。
圖2 數據產生方式示意圖
3.2 軟件結構設計
軟件的功能結構框圖如圖3所示。
(1) 控制模塊主要是控制程序,控制和協調各模塊之間控制信息和數據信息的傳遞,控制和協調各模塊和器件的動作;
(2) 波形數據生成模塊包括各種信號的數據產生程序,主要完成波形數據的計算;
(3) 數據輸出模塊包括數據輸出輸入程序,完成數據存儲、對外送數據和控制信號的功能;
(4) 特殊算法模塊包括噪聲、信道模擬、濾波器設計等程序;
(5) 顯示模塊包括各種顯示程序,實現屏幕可視化;
(6) 客戶輸入模塊完成接收用戶輸入的各種參數和數據;
(7) 讀取(采集)模塊包括磁盤讀取程序和數據采集程序,完成從第三方接收數據的功能。
圖3 軟件功能結構圖
4 數據結構的設置
4.1 信號數據模式的設置。
因為信號發生器能產生的都是實信號,所以在時域信號強制為實數,虛數部分強制為0。在數據處理中將有頻譜分析和處理,頻域部分設置了實部和虛部。由于當前信號產生器常設計為正交雙通道型,所以數據也設置了I路和Q路數據模式,這種模式可選。
4.2 信號數據類型的設置
由于數據設置了I路和Q路數據,所以采樣點數據類型設置為doublecomplex結構體,內含兩個double型的數據變量,分別用來表示I路和Q路數據。用double而不用float是因為要求獲得較高的數據精度。當不采用正交雙通道模式時,I路為全部數據,Q路強制為0。
信號數據的采樣點最大值歸一化為1,數據都歸一化。實際信號的功率實現放在放大器里面實現。在數據處理時需要將實信號轉換成復數。在復數表達時,也用doublecomplex結構體來表示數據,內含的2個double數據變量分別表示數據的實部和虛部。在進行時頻轉換時,把I路和Q路的數據相加作為復數的實部,虛部為0,這樣進行FFT正變換,得到信號頻譜,FFT輸出也是復數形式,即數據類型也用doublecomplex 。
5 軟件的總體工作流程
軟件的具體工作流程比較復雜,總體的工作流程如圖4所示。
6 軟件的實現
由于Borland C++Builder利于編寫友好的人機交互界面,Borland C++Builder的編譯器優于VC++,也可以調用Matlab程序,所以采用此工具。這種軟件實現的關鍵在于各個信號模型的建模,包括各種簡單信號、通信、雷達、水聲、噪聲以及特殊信號的建模。在研究的過程中,借鑒了一些前人對信號建模的經驗。通過采用Borland C++Builder 6.0作為編程工具,在PC機上的Windows XP環境下編寫程序,初步實現了這種軟件的目的。以下是這種軟件產生的部分信號。圖5是載波為80 MHz,最大頻偏為25 MHz的MSK信號。圖6是重復頻率為50 MHz,占空比為0.5,載波為1 GHz的雷達脈沖信號。圖7是隨機沖擊信號及其頻譜。
圖4 總體工作流程圖
圖5 MSK信號 圖6 雷達脈沖信號
7 結 語
利用這種軟件可以在友好的可視化人機交互界面上
圖7 隨機沖擊信號及其頻譜
方便地實現各種調制樣式,能夠產生各個頻率段的信號、能夠產生復雜的特殊信號;并且這種軟件操作方便,當出現新的信號樣式時,可以在軟件中予以追加相應的信號樣式,升級方便經濟;因此這種基于任意波發生器的信號產生軟件具有十分廣泛的應用前景。
參 考 文 獻
[1]鄭君里,應啟珩,楊為理.信號與系統[M].2版.北京:高等教育出版社,2000.
[2]劉益成,孫祥娥.數字信號處理[M].北京:電子工業出版社,2005.
[3]程佩青.數字信號處理教程[M].北京:清華大學出版社,2001.
[4][美]John G.Proakis.數字通信[M].4版.張力軍,張宗橙,鄭寶玉,等譯.北京:電子工業出版社,2005
[5]樊昌信.通信原理教程[M].北京:電子工業出版社,2005.
[6]楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業出版社,2005.
[7]樊昌信.通信原理教程[M].北京:電子工業出版社,2005.
[8]林茂庸,柯有安.雷達信號理論[M].北京:國防工業出版社,1981.
[9]張萬里,陳戰林.C++ Builder 5.0高級開發技巧與范例[M].北京:電子工業出版社,2001.
作者簡介 黃 超 男,1980年出生,合肥電子工程學院碩士研究生。研究方向為任意信號產生技術。
楊瑞明 男,1966年出生,合肥電子工程學院副教授。主要研究方向數字信號處理。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。