基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于GPIB總線的無線電頻譜監(jiān)測系統(tǒng)的設(shè)計(jì)-設(shè)計(jì)應(yīng)用隨著通信技術(shù)的發(fā)展,無線電資源作為公共資源的一種,需要國家有關(guān)部門對其進(jìn)行有效的分配和監(jiān)控。設(shè)計(jì)界面友好、運(yùn)行穩(wěn)定、實(shí)時反應(yīng)迅速的監(jiān)測軟件是對無線電資源進(jìn)行有效配置的重要環(huán)節(jié),也是國家和公眾信息安全保障的重要環(huán)節(jié)。本文以Rohde-Schwarz公司的ESVN40作為頻譜監(jiān)測接收機(jī)來進(jìn)行無線電監(jiān)測軟件的設(shè)計(jì)。

1系統(tǒng)的工作原理及組成

1.1工作原理

系統(tǒng)以工控機(jī)、監(jiān)測接收機(jī)及天線系統(tǒng)為主組建無線電監(jiān)測軟件系統(tǒng)。監(jiān)測接收機(jī)通過其上的天線接口來采集無線電信號,然后通過監(jiān)測機(jī)自帶的通用接口總線(General-PurposeInterfaceBus,GPIB),由安裝在工控機(jī)上的PCI插槽中的PCI-GPIB卡傳輸?shù)焦た貦C(jī),由工控機(jī)實(shí)現(xiàn)對采集到的信號樣本的顯示、分析和保存等操作功能。

1.2系統(tǒng)的硬件組成

無線電信號監(jiān)測系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)由工控機(jī)、PCI-GPIB卡、GPIB接口電纜、ESVN40測試接收機(jī)和帶有天線選擇轉(zhuǎn)換器的9k~3000MHz的多模天線系統(tǒng)組成。

1.3ESVN40測試接收機(jī)的特點(diǎn)

ESVN40作為功能較為強(qiáng)大的場強(qiáng)監(jiān)測及掃描接收機(jī),覆蓋了9k~2.75GHz的頻率范圍,可以完成以下的無線電監(jiān)測任務(wù):(1)單頻點(diǎn)的ITU(InternationalTelecommunicationUnion)測量,包括電平、調(diào)制深度、頻率偏移、相位偏移及頻率補(bǔ)償量的測量。(2)單頻點(diǎn)的頻譜分析。(3)頻段的掃描。該方式支持多種掃描方式,以滿足用戶對掃描速度和返回?cái)?shù)據(jù)的要求。在與主控機(jī)的通信方式上ESVN40采用GPIB總線方式與主控機(jī)進(jìn)行控制信息和數(shù)據(jù)信息的交換,其控制較靈活。同時GPIB卡的接口方式使得主控機(jī)對遠(yuǎn)程設(shè)備的控制變得較為容易。

1.4GPIB接口方式的優(yōu)越性

GPIB工業(yè)總線是NI公司的產(chǎn)品。它在軟件方面提供了完全的兼容性,為用戶軟件的升級節(jié)約了成本,提高了開發(fā)效率。GPIB系統(tǒng)的特點(diǎn)如下。

(1)GPIB板卡軟件的成熟性。NI公司提供了具有良好兼容性能的API函數(shù)。NI提供的每一代驅(qū)動軟件都保持與現(xiàn)有的NI-488應(yīng)用底層的兼容性。無論開發(fā)者是使用NI-488.2的函數(shù),還是使用LabVIEW或LabWindows/CVI(CforVirtualInstruments)等應(yīng)用開發(fā)環(huán)境,NI-488.2軟件結(jié)構(gòu)都能提供一種穩(wěn)定的GPIB控制。同時NI-488.2軟件也在不斷地更新,以取得的性能。

(2)系統(tǒng)的可擴(kuò)充性。如果要在該軟件的基礎(chǔ)上增加測向的功能,利用GPIB作為一種標(biāo)準(zhǔn)總線形式,則只要加入帶有GPIB接口的儀器,便可以將該系統(tǒng)擴(kuò)展為一個功能較完備的監(jiān)測系統(tǒng)。

1.5軟件系統(tǒng)的設(shè)計(jì)

本系統(tǒng)軟件在結(jié)構(gòu)上采用了模塊化的設(shè)計(jì)思想。同時為了提高系統(tǒng)的實(shí)時速度,充分利用了Windows軟件設(shè)計(jì)的多線程技術(shù),采用Windows的消息環(huán)來完成多個線程之間的信息交流。系統(tǒng)應(yīng)用了2個線程:(1)底層取數(shù)據(jù)線程,其流程如圖2所示。它用于實(shí)時地通過GPIB卡與ESVN40進(jìn)行控制與數(shù)據(jù)的采集。(2)上層用戶界面線程,其流程如圖3所示。它用于用戶界面的顯示,響應(yīng)用戶的測量任務(wù),對實(shí)時數(shù)據(jù)進(jìn)行顯示、分析和保存等操作。這樣,可以使2個線程并行,從而提高整個軟件系統(tǒng)的實(shí)時響應(yīng)速度。取數(shù)據(jù)線程,采用VC++開發(fā),這主要是考慮到C++語言易于實(shí)現(xiàn)對硬件的控制;而用戶界面處理的線程主要用Delphi來完成,主要是考慮到Delphi語言對界面的設(shè)計(jì)非常便利和靈活,可以大大提高開發(fā)效率。

二個線程的工作機(jī)理:在用戶程序初始化的過程中,創(chuàng)建以上的2個線程,同時它們都處于等待的狀態(tài)。當(dāng)用戶在程序界面開始各種測量任務(wù)時,由界面線程以消息的形式發(fā)給下層取數(shù)線程,各種任務(wù)號在消息參數(shù)中進(jìn)行傳遞。下層取數(shù)線程在接到任務(wù)消息后,根據(jù)具體的任務(wù),通過GPIB卡把任務(wù)翻譯為ESVN40的命令字符串傳送給接收機(jī),同時對測量參數(shù)進(jìn)行有針對性的設(shè)置,然后通過具體的命令啟動儀器來完成測量任務(wù)。當(dāng)監(jiān)測到儀器把相應(yīng)的數(shù)據(jù)準(zhǔn)備好,且狀態(tài)寄存器標(biāo)識為有效后,通過GPIB卡讀入測量數(shù)據(jù)。讀數(shù)線程將讀到的數(shù)據(jù)進(jìn)行解析,然后放入某個內(nèi)存區(qū)中并以消息的形式通知用戶界面線程數(shù)據(jù)已經(jīng)準(zhǔn)備好,而數(shù)據(jù)塊的地址包含在消息參數(shù)中。用這種方式發(fā)送儀器控制命令和讀取儀器的測量結(jié)果,用戶界面線程負(fù)責(zé)完成相應(yīng)的測量結(jié)果的顯示、分析及保存。2條線程的處理在時間上完全分開,從而儀器在實(shí)時信號分析的時候,幾乎是在連續(xù)地進(jìn)行采樣,這樣大大提高了整個系統(tǒng)的實(shí)時響應(yīng)性能。

2軟件設(shè)計(jì)中擴(kuò)展性問題的解決方案

在該系統(tǒng)中,為了加強(qiáng)系統(tǒng)的功能,就要對系統(tǒng)進(jìn)行擴(kuò)展,但是儀器與控制計(jì)算機(jī)不一定都采用GPIB接口。為了提高底層取數(shù)線程的可擴(kuò)展性,底層充分利用C++中類的思想進(jìn)行設(shè)計(jì),為此可以創(chuàng)建一個通信接口類ICommDevice作為通信接口。接口方法如下:

(1)打開一個通信接口。

(2)向該通信接口寫一個字符串。

(3)從該通信接口讀一個字節(jié)。

(4)從該通信接口讀一個字符串。

(5)關(guān)閉已打開的通信接口。

在系統(tǒng)中,GPIB卡作為該通信接口類的子類,其實(shí)現(xiàn)以上方法的關(guān)鍵代碼和具體方法的功能如下:

①在打開GPIB卡的方法中,主要完成對GPIB卡的初始化,同時獲得ESVN40和GPIB卡的控制句柄。

BOOLCGPIB∷Open(intBdIndx,intpad,intsad,inttmo,inteot,inteos)

{if(m_bOpened==TRUE)

returnTRUE;

m_ctrl=ibfind(″GPIB0″);//獲得GPIB卡的控制句柄

if(m_ctrl0)

returnFALSE;

ibconfig(m_ctrl,IbcAUTOPOLL,0);//禁止AutoPoll

eot=1;

eos=0x0C0A;

m_dev=ibdev(BdIndx,pad,sad,tmo,1,eos);

//獲得ESVN40的控制句柄

if(ibstaERR)

{sprintf(ErrString,″打開GPIB卡出錯!錯誤號:ibsta=

0x%xiberr=%dn″,ibsta,iberr);

this-SetError(ErrString);

returnFALSE;

}

ibbna(m_dev,″GPIB0″);//將ESVN40分配給GPIB卡

setGPIBEos(0x0C0A);

m_bOpened=TRUE;

returnm_bOpened;

}

②GPIB類中向儀器寫字符串的方法主要用于完成從控制計(jì)算機(jī)向儀器發(fā)送控制字符串的功能,可以用異步或者同步方式進(jìn)行傳送。在寫之前,要對超時進(jìn)行合理的設(shè)置。通常,如果字符串較長,可以把超時設(shè)定得大一些。其關(guān)鍵代碼如下:

intCGPIB∷SendData(constchar*buf,intDataLength)

{stringtmpbuf;

tmpbuf=buf;

tmpbuf+=10;

ibeot(m_dev,1);

ibwrta(m_dev,(void*)tmpbuf.c_str(),tmpbuf.size());

//異步寫字符串到儀器

ibwait(m_dev,0x4100);//等待寫操作完成

ibwait(m_dev,0x0000);//讀出GPIB的狀態(tài)

if(ibstaERR)

{

returnFALSE;

}

returnibcntl;

}

③從儀器接收字節(jié)的方法主要用于完成從ESVN40的數(shù)據(jù)緩沖區(qū)中讀入一個字節(jié)。該方法對于讀取儀器的狀態(tài)寄存器非常有用。

intCGPIB∷ReadChar(char*ch)

{

if(!(m_bOpened)||(m_dev==NULL))

returnFALSE;

inti=1;

RecvData((void*)ch,i);

returnTRUE;

}

④從儀器讀入數(shù)據(jù)的方法主要用于完成讀入儀器的測量結(jié)果。對于ESVN40而言,預(yù)期返回?cái)?shù)據(jù)的長度與實(shí)際返回的數(shù)據(jù)長度是有差別的。在設(shè)定預(yù)期返回?cái)?shù)據(jù)長度時,應(yīng)該盡量設(shè)置得大一些,以保證每次測量數(shù)據(jù)不被認(rèn)為丟失。對于超時參數(shù)的設(shè)置,與寫操作的原則是相同的。該方法的實(shí)現(xiàn)代碼如下:

intCGPIB∷RecvData(void*Buffer,intlimitLength)

{if(!(m_bOpened)||(m_dev==NULL))

returnFALSE;

ibeot(m_dev,1);

i^mo(m_ctrl,T3s);

i^mo(m_dev,T3s);

ibrda(m_dev,Buffer,limitLength);

//從儀器異步讀數(shù)據(jù)到Buffer

ibwait(m_dev,0x4100);//等待異步讀完成

intnLocCount=ibcntl;

if(ibstaERR)

returnFALSE;

ibwait(m_ctrl,0x0000);

if(ibstaERR)

return-1;

returnnLocCount;

}

⑤關(guān)閉儀器的方法主要用于將儀器置為本地測量方式,同時使儀器處于離線狀態(tài)。其關(guān)鍵代碼如下:

BOOLCGPIB∷Close()

{if(!(m_bOpened)||(m_dev==NULL))

returnTRUE;

ibloc(m_dev);//置ESVN40為本地測量方式

ibonl(m_dev,0);//置ESVN40為離線方式

if(ibstaERR)

returnFALSE;

m_bOpened=FALSE;

ibonl(m_ctrl,0);//設(shè)置GPIB卡為OFF-Line狀態(tài)

return1;

}

3程序運(yùn)行界面

該系統(tǒng)可以進(jìn)行無線電信號的監(jiān)測,其中包括某個頻點(diǎn)的電平、調(diào)整深度、頻率補(bǔ)償和頻率偏移等。此外,系統(tǒng)還能對單頻點(diǎn)的頻譜進(jìn)行分析,對給定的頻段進(jìn)行信號掃描。在實(shí)際應(yīng)用中,采用雙線程的工作機(jī)理,可以很大程度地提高數(shù)據(jù)采集的速度。系統(tǒng)對信號進(jìn)行頻率掃描時的運(yùn)行界面如圖4所示。在界面中,由于ESVN40只是返回掃描駐點(diǎn)的電平值,因此在軟件中對該掃描功能進(jìn)行了擴(kuò)充。在界面上只要設(shè)定一個電平閾值(用戶可以認(rèn)為超過該閾值的電平,可能存在信道占用)和一個用戶認(rèn)為每個信道應(yīng)該占用的帶寬或法定的帶寬,則通過軟件設(shè)計(jì)對采樣的樣本進(jìn)行分析后,可以對占用信道的中心頻點(diǎn)進(jìn)行初步定位。用戶根據(jù)在測量結(jié)果表中顯示的值,可以進(jìn)一步分析該中心

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論