摘 要:在傳感器設計、模擬試驗等方面經(jīng)常需要產(chǎn)生一些測試信號,一臺能方便產(chǎn)生各種有規(guī)律和不規(guī)則信號的任意信號產(chǎn)生器將減少設備的研制復雜度。從軟件的角度著手,提出一種任意信號發(fā)生器軟件的設計方法,這種軟件可以在各種任意信號發(fā)生器硬件之間移植重復利用,所以具有良好的應用前景。介紹本任意信號產(chǎn)生器的原理及軟件結(jié)構設計和信號數(shù)據(jù)的產(chǎn)生方法,給出部分由本任意信號產(chǎn)生器產(chǎn)生的信號波形圖。
關鍵詞:任意信號發(fā)生器;軟件設計;數(shù)字射頻存儲器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 引 言
在傳感器設計、模擬試驗等方面經(jīng)常需要產(chǎn)生一些測試信號,包括簡單的正弦波、三角波、方波、鋸齒波、Sin(x)/x、升指數(shù)、降指數(shù)、真流電壓、脈沖、隨機噪聲等,還需要心律波、地震波、碰撞波等特殊的信號,在移動通信的電子設備設計與測試領域還需要簡單的模擬和數(shù)字調(diào)制信號以及實際應用的通信信號,在雷達設備的研制過程中還需要簡單脈沖信號、脈內(nèi)調(diào)制信號以及脈沖串信號等,在聲納設備的研制和測試中還需要一些水聲信號。所以任意信號發(fā)生器的應用領域是很廣泛的,而當前任意信號發(fā)生器由于硬件的限制,往往設計成某頻段的針對某特殊領域的信號發(fā)生器,從嚴格的意義上講,并不能任意產(chǎn)生所需的信號。本文從軟件的角度出發(fā),研究設計可以在各種任意信號發(fā)生器之間移植重復利用,可以編輯產(chǎn)生任意信號的軟件。直接利用這種軟件到任意信號發(fā)生器系統(tǒng),可以減少設備的研制復雜度,開發(fā)和維護方便經(jīng)濟。
2 任意信號發(fā)生器的工作原理
這種任意信號發(fā)生器的工作原理是:主要根據(jù)信號模型,產(chǎn)生所需信號波形的采樣點值,在控制邏輯的控制下存儲到波形數(shù)據(jù)存儲設備中,一般是數(shù)字射頻存儲器,再通過控制邏輯將數(shù)據(jù)點值讀出送到D/A轉(zhuǎn)換成模擬信號波形,形成實際的信號。其工作原理圖如圖1所示。這種從模擬信號波形到離散數(shù)值再到模擬信號波形的轉(zhuǎn)換依據(jù)是奈奎斯特采樣定理。奈奎斯特采樣定理可表述如下:設有一個頻率帶限信號f(t),其頻帶限制在(0,fh)內(nèi),如果以不小于fs=2#8226; fh的采樣速率對f(t)進行等間隔采樣,得到時間離散的采樣信號f(n)= f(n#8226;Ts)(其中Ts =1/fs稱為采樣間隔),則原信號f(t)將被所得到的采樣值f(n)完全確定。采樣定理的數(shù)學表達式為:f(t)=∑+∞-∞f(n)#8226;Sa(π#8226;fs#8226;t-n#8226;π)。采樣率越高,越能擬合所需的物理信號波形,在不改變輸出信號樣值點速率和采樣頻率大于或等于奈奎斯特采樣頻率的前提下,改變每周期的采樣點數(shù),就可以改變輸出信號頻率。這種軟件可以安裝在計算機上或者直接安裝在任意信號發(fā)生器內(nèi)。
3 軟件的總體設計思想
該軟件充分運用軟件無線電理論、計算機技術、數(shù)字信號處理技術,主要運用軟件化的設計理念進行設計。
圖1 任意信號發(fā)生器的工作原理圖
3.1 波形數(shù)據(jù)的方式
該軟件設計了4種產(chǎn)生波形數(shù)據(jù)的方式:
(1) 數(shù)據(jù)采集法。在計算機的控制下,利用數(shù)據(jù)采集卡采集外部信號,存儲到波形數(shù)據(jù)存儲器中,然后經(jīng)D/A輸出數(shù)據(jù)形成信號波形。
(2) 預置程序產(chǎn)生法。利用計算機屏幕上的軟件界面選擇具體的信號類型,然后調(diào)用此信號模型對應的數(shù)據(jù)產(chǎn)生程序進行計算處理,生成數(shù)據(jù)點值,在計算機的控制下,存儲到波形數(shù)據(jù)存儲器中,最后經(jīng)D/A輸出數(shù)據(jù)形成信號波形。
(3) 讀取外部文件法。利用計算機屏幕上的軟件界面,讀取外部文件的波形數(shù)據(jù),存儲到波形數(shù)據(jù)存儲器中,經(jīng)D/A輸出數(shù)據(jù)形成信號波形。
(4) 動態(tài)編輯法。包括波形手繪法,鍵盤輸入點值法以及輸入公式計算法。利用計算機屏幕上的軟件界面,利用鼠標繪出波形,轉(zhuǎn)換成數(shù)據(jù)點值;或利用鍵盤輸入數(shù)據(jù)點值;或輸入表達式計算得到波形數(shù)據(jù)點值;然后存儲到波形數(shù)據(jù)存儲器中,再經(jīng)D/A輸出數(shù)據(jù)形成信號波形。
其數(shù)據(jù)產(chǎn)生方式示意圖如圖2所示。
圖2 數(shù)據(jù)產(chǎn)生方式示意圖
3.2 軟件結(jié)構設計
軟件的功能結(jié)構框圖如圖3所示。
(1) 控制模塊主要是控制程序,控制和協(xié)調(diào)各模塊之間控制信息和數(shù)據(jù)信息的傳遞,控制和協(xié)調(diào)各模塊和器件的動作;
(2) 波形數(shù)據(jù)生成模塊包括各種信號的數(shù)據(jù)產(chǎn)生程序,主要完成波形數(shù)據(jù)的計算;
(3) 數(shù)據(jù)輸出模塊包括數(shù)據(jù)輸出輸入程序,完成數(shù)據(jù)存儲、對外送數(shù)據(jù)和控制信號的功能;
(4) 特殊算法模塊包括噪聲、信道模擬、濾波器設計等程序;
(5) 顯示模塊包括各種顯示程序,實現(xiàn)屏幕可視化;
(6) 客戶輸入模塊完成接收用戶輸入的各種參數(shù)和數(shù)據(jù);
(7) 讀取(采集)模塊包括磁盤讀取程序和數(shù)據(jù)采集程序,完成從第三方接收數(shù)據(jù)的功能。
圖3 軟件功能結(jié)構圖
4 數(shù)據(jù)結(jié)構的設置
4.1 信號數(shù)據(jù)模式的設置。
因為信號發(fā)生器能產(chǎn)生的都是實信號,所以在時域信號強制為實數(shù),虛數(shù)部分強制為0。在數(shù)據(jù)處理中將有頻譜分析和處理,頻域部分設置了實部和虛部。由于當前信號產(chǎn)生器常設計為正交雙通道型,所以數(shù)據(jù)也設置了I路和Q路數(shù)據(jù)模式,這種模式可選。
4.2 信號數(shù)據(jù)類型的設置
由于數(shù)據(jù)設置了I路和Q路數(shù)據(jù),所以采樣點數(shù)據(jù)類型設置為doublecomplex結(jié)構體,內(nèi)含兩個double型的數(shù)據(jù)變量,分別用來表示I路和Q路數(shù)據(jù)。用double而不用float是因為要求獲得較高的數(shù)據(jù)精度。當不采用正交雙通道模式時,I路為全部數(shù)據(jù),Q路強制為0。
信號數(shù)據(jù)的采樣點最大值歸一化為1,數(shù)據(jù)都歸一化。實際信號的功率實現(xiàn)放在放大器里面實現(xiàn)。在數(shù)據(jù)處理時需要將實信號轉(zhuǎn)換成復數(shù)。在復數(shù)表達時,也用doublecomplex結(jié)構體來表示數(shù)據(jù),內(nèi)含的2個double數(shù)據(jù)變量分別表示數(shù)據(jù)的實部和虛部。在進行時頻轉(zhuǎn)換時,把I路和Q路的數(shù)據(jù)相加作為復數(shù)的實部,虛部為0,這樣進行FFT正變換,得到信號頻譜,F(xiàn)FT輸出也是復數(shù)形式,即數(shù)據(jù)類型也用doublecomplex 。
5 軟件的總體工作流程
軟件的具體工作流程比較復雜,總體的工作流程如圖4所示。
6 軟件的實現(xiàn)
由于Borland C++Builder利于編寫友好的人機交互界面,Borland C++Builder的編譯器優(yōu)于VC++,也可以調(diào)用Matlab程序,所以采用此工具。這種軟件實現(xiàn)的關鍵在于各個信號模型的建模,包括各種簡單信號、通信、雷達、水聲、噪聲以及特殊信號的建模。在研究的過程中,借鑒了一些前人對信號建模的經(jīng)驗。通過采用Borland C++Builder 6.0作為編程工具,在PC機上的Windows XP環(huán)境下編寫程序,初步實現(xiàn)了這種軟件的目的。以下是這種軟件產(chǎn)生的部分信號。圖5是載波為80 MHz,最大頻偏為25 MHz的MSK信號。圖6是重復頻率為50 MHz,占空比為0.5,載波為1 GHz的雷達脈沖信號。圖7是隨機沖擊信號及其頻譜。
圖4 總體工作流程圖
圖5 MSK信號 圖6 雷達脈沖信號
7 結(jié) 語
利用這種軟件可以在友好的可視化人機交互界面上
圖7 隨機沖擊信號及其頻譜
方便地實現(xiàn)各種調(diào)制樣式,能夠產(chǎn)生各個頻率段的信號、能夠產(chǎn)生復雜的特殊信號;并且這種軟件操作方便,當出現(xiàn)新的信號樣式時,可以在軟件中予以追加相應的信號樣式,升級方便經(jīng)濟;因此這種基于任意波發(fā)生器的信號產(chǎn)生軟件具有十分廣泛的應用前景。
參 考 文 獻
[1]鄭君里,應啟珩,楊為理.信號與系統(tǒng)[M].2版.北京:高等教育出版社,2000.
[2]劉益成,孫祥娥.數(shù)字信號處理[M].北京:電子工業(yè)出版社,2005.
[3]程佩青.數(shù)字信號處理教程[M].北京:清華大學出版社,2001.
[4][美]John G.Proakis.數(shù)字通信[M].4版.張力軍,張宗橙,鄭寶玉,等譯.北京:電子工業(yè)出版社,2005
[5]樊昌信.通信原理教程[M].北京:電子工業(yè)出版社,2005.
[6]楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業(yè)出版社,2005.
[7]樊昌信.通信原理教程[M].北京:電子工業(yè)出版社,2005.
[8]林茂庸,柯有安.雷達信號理論[M].北京:國防工業(yè)出版社,1981.
[9]張萬里,陳戰(zhàn)林.C++ Builder 5.0高級開發(fā)技巧與范例[M].北京:電子工業(yè)出版社,2001.
作者簡介 黃 超 男,1980年出生,合肥電子工程學院碩士研究生。研究方向為任意信號產(chǎn)生技術。
楊瑞明 男,1966年出生,合肥電子工程學院副教授。主要研究方向數(shù)字信號處理。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。