日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于通用接口總線和工控機實現無線電信號監(jiān)測系統(tǒng)的設計

出處:維庫電子市場網 發(fā)布于:2021-07-23 16:48:41

    隨著通信技術的發(fā)展,無線電資源作為公共資源的一種,需要國家有關部門對其進行有效的分配和監(jiān)控。設計界面友好、運行穩(wěn)定、實時反應迅速的監(jiān)測軟件是對無線電資源進行有效配置的重要環(huán)節(jié),也是國家和公眾信息安全保障的重要環(huán)節(jié)。本文以Rohde-Schwarz公司的ESVN40作為頻譜監(jiān)測接收機來進行無線電監(jiān)測軟件的設計。
    1 系統(tǒng)的工作原理及組成
    1.1 工作原理
    系統(tǒng)以工控機、監(jiān)測接收機及天線系統(tǒng)為主組建無線電監(jiān)測軟件系統(tǒng)。監(jiān)測接收機通過其上的天線接口來采集無線電信號,然后通過監(jiān)測機自帶的通用接口總線(General-Purpose Interface Bus,GPIB),由安裝在工控機上的PCI插槽中的PCI-GPIB卡傳輸到工控機,  后由工控機實現對采集到的信號樣本的顯示、分析和保存等操作功能。
    1.2 系統(tǒng)的硬件組成
    無線電信號監(jiān)測系統(tǒng)的結構框圖如圖1所示。該系統(tǒng)由工控機、PCI-GPIB卡、GPIB接口電纜、ESVN40測試接收機和帶有天線選擇轉換器的9k~3 000MHz的多模天線系統(tǒng)組成。

    1.3 ESVN40測試接收機的特點
    ESVN40作為功能較為強大的場強監(jiān)測及掃描接收機,覆蓋了9k~2.75GHz的頻率范圍,可以完成以下的無線電監(jiān)測任務:(1)單頻點的ITU(International Telecommunication Union)測量,包括電平、調制深度、頻率偏移、相位偏移及頻率補償量的測量。(2)單頻點的頻譜分析。(3)頻段的掃描。該方式支持多種掃描方式,以滿足用戶對掃描速度和返回數據的要求。在與主控機的通信方式上ESVN40采用GPIB總線方式與主控機進行控制信息和數據信息的交換,其控制較靈活。同時GPIB卡的接口方式使得主控機對遠程設備的控制變得較為容易。
    1.4 GPIB接口方式的優(yōu)越性
    GPIB工業(yè)總線是NI公司的產品。它在軟件方面提供了完全的兼容性,為用戶軟件的升級節(jié)約了成本,提高了開發(fā)效率。GPIB系統(tǒng)的特點如下。
    (1)GPIB板卡軟件的成熟性。NI公司提供了具有良好兼容性能的API函數。NI提供的每一代驅動軟件都保持與現有的NI-488應用底層的兼容性。無論開發(fā)者是使用NI-488.2的函數,還是使用LabVIEW或LabWindows/CVI(C for Virtual Instruments)等應用開發(fā)環(huán)境,NI-488.2軟件結構都能提供一種穩(wěn)定的GPIB控制。同時NI-488.2軟件也在不斷地更新,以取得  優(yōu)的性能。
    (2)系統(tǒng)的可擴充性。如果要在該軟件的基礎上增加測向的功能,利用GPIB作為一種標準總線形式,則只要加入帶有GPIB接口的儀器,便可以將該系統(tǒng)擴展為一個功能較完備的監(jiān)測系統(tǒng)。
    1.5 軟件系統(tǒng)的設計
    本系統(tǒng)軟件在結構上采用了模塊化的設計思想。同時為了提高系統(tǒng)的實時速度,充分利用了Windows軟件設計的多線程技術,采用Windows的消息環(huán)來完成多個線程之間的信息交流。系統(tǒng)應用了2個線程:(1)底層取數據線程,其流程如圖2所示。它用于實時地通過GPIB卡與ESVN40進行控制與數據的采集。(2)上層用戶界面線程,其流程如圖3所示。它用于用戶界面的顯示,響應用戶的測量任務,對實時數據進行顯示、分析和保存等操作。這樣,可以使2個線程并行,從而提高整個軟件系統(tǒng)的實時響應速度。取數據線程,采用VC++++開發(fā),這主要是考慮到C++語言易于實現對硬件的控制;而用戶界面處理的線程主要用Delphi來完成,主要是考慮到Delphi語言對界面的設計非常便利和靈活,可以大大提高開發(fā)效率。

    二個線程的工作機理:在用戶程序初始化的過程中,創(chuàng)建以上的2個線程,同時它們都處于等待的狀態(tài)。當用戶在程序界面開始各種測量任務時,由界面線程以消息的形式發(fā)給下層取數線程,各種任務號在消息參數中進行傳遞。下層取數線程在接到任務消息后,根據具體的任務,通過GPIB卡把任務翻譯為ESVN40的命令字符串傳送給接收機,同時對測量參數進行有針對性的設置,然后通過具體的命令啟動儀器來完成測量任務。當監(jiān)測到儀器把相應的數據準備好,且狀態(tài)寄存器標識為有效后,通過GPIB卡讀入測量數據。讀數線程將讀到的數據進行解析,然后放入某個內存區(qū)中并以消息的形式通知用戶界面線程數據已經準備好,而數據塊的地址包含在消息參數中。用這種方式發(fā)送儀器控制命令和讀取儀器的測量結果,用戶界面線程負責完成相應的測量結果的顯示、分析及保存。2條線程的處理在時間上完全分開,從而儀器在實時信號分析的時候,幾乎是在連續(xù)地進行采樣,這樣大大提高了整個系統(tǒng)的實時響應性能。
    2 軟件設計中擴展性問題的解決方案
    在該系統(tǒng)中,為了加強系統(tǒng)的功能,就要對系統(tǒng)進行擴展,但是儀器與控制計算機不一定都采用GPIB接口。為了提高底層取數線程的可擴展性,底層充分利用C++中類的思想進行設計,為此可以創(chuàng)建一個通信接口類ICommDevice作為通信接口。接口方法如下:
    (1)打開一個通信接口。
    (2)向該通信接口寫一個字符串。
    (3)從該通信接口讀一個字節(jié)。
    (4)從該通信接口讀一個字符串。
    (5)關閉已打開的通信接口。
    在系統(tǒng)中,GPIB卡作為該通信接口類的子類,其實現以上方法的關鍵代碼和具體方法的功能如下:
    ①在打開GPIB卡的方法中,主要完成對GPIB卡的初始化,同時獲得ESVN40和GPIB卡的控制句柄。
    BOOL CGPIB∷Open(int BdIndx,int pad,int sad,int tmo,int eot,int eos)
    { if (m_bOpened==TRUE)
    return TRUE;
    m_ctrl=ibfind(″GPIB0″);//獲得GPIB卡的控制句柄
    if (m_ctrlreturn FALSE;
    ibconfig(m_ctrl,IbcAUTOPOLL,0);//禁止AutoPoll
    eot=1;
    eos=0x0C0A;
    m_dev=ibdev(BdIndx,pad,sad,tmo,1,eos);
    //獲得ESVN40的控制句柄
    if (ibsta & ERR)
    { sprintf(ErrString,″打開GPIB卡出錯!錯誤號:ibsta=
    0x%x iberr=%dn″,ibsta,iberr);
    this-》SetError(ErrString);
    return FALSE;
    }
    ibbna(m_dev,″GPIB0″);//將ESVN40分配給GPIB卡
    setGPIBEos(0x0C0A);
    m_bOpened=TRUE;
    return m_bOpened;
    }
    ②GPIB類中向儀器寫字符串的方法主要用于完成從控制計算機向儀器發(fā)送控制字符串的功能,可以用異步或者同步方式進行傳送。在寫之前,要對超時進行合理的設置。通常,如果字符串較長,可以把超時設定得大一些。其關鍵代碼如下:
    int CGPIB∷SendData(const char*buf,int DataLength)
    { string tmpbuf;
    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(ibsta & ERR)
    {
    return FALSE;
    }
    return ibcntl;
    }
    ③從儀器接收字節(jié)的方法主要用于完成從ESVN40的數據緩沖區(qū)中讀入一個字節(jié)。該方法對于讀取儀器的狀態(tài)寄存器非常有用。
    int CGPIB∷ReadChar(char*ch)
    {
    if(?。╩_bOpened)||(m_dev==NULL))
    return FALSE;
    int i=1;
    RecvData((void*)ch,i);
    return TRUE;
    }
    ④從儀器讀入數據的方法主要用于完成讀入儀器的測量結果。對于ESVN40而言,預期返回數據的長度與實際返回的數據長度是有差別的。在設定預期返回數據長度時,應該盡量設置得大一些,以保證每次測量數據不被認為丟失。對于超時參數的設置,與寫操作的原則是相同的。該方法的實現代碼如下:
    int CGPIB∷RecvData(void*Buffer,int& limitLength)
    { if(?。╩_bOpened)||(m_dev==NULL))
    return FALSE;
    ibeot(m_dev,1);
    i^mo(m_ctrl,T3s);
    i^mo(m_dev,T3s);
    ibrda(m_dev,Buffer,limitLength);
    //從儀器異步讀數據到Buffer
    ibwait(m_dev,0x4100);//等待異步讀完成
    int nLocCount=ibcntl;
    if(ibsta & ERR)
    return FALSE;
    ibwait(m_ctrl,0x0000);
    if(ibsta & ERR)
    return -1;
    return nLocCount;
    }
    ⑤關閉儀器的方法主要用于將儀器置為本地測量方式,同時使儀器處于離線狀態(tài)。其關鍵代碼如下:
    BOOL CGPIB∷Close( )
    { if(?。╩_bOpened)||(m_dev==NULL))
    return TRUE;
    ibloc(m_dev);//置ESVN40為本地測量方式
    ibonl(m_dev,0);//置ESVN40為離線方式
    if(ibsta & ERR)
    return FALSE;
    m_bOpened=FALSE;
    ibonl(m_ctrl,0);//設置GPIB卡為OFF-Line狀態(tài)
    return 1;
    }
    3 程序運行界面
    該系統(tǒng)可以進行無線電信號的監(jiān)測,其中包括某個頻點的電平、調整深度、頻率補償和頻率偏移等。此外,系統(tǒng)還能對單頻點的頻譜進行分析,對給定的頻段進行信號掃描。在實際應用中,采用雙線程的工作機理,可以很大程度地提高數據采集的速度。系統(tǒng)對信號進行頻率掃描時的運行界面如圖4所示。在界面中,由于ESVN40只是返回掃描駐點的電平值,因此在軟件中對該掃描功能進行了擴充。在界面上只要設定一個電平閾值(用戶可以認為超過該閾值的電平,可能存在信道占用)和一個用戶認為每個信道應該占用的  大帶寬或法定的  大帶寬,則通過軟件設計對采樣的樣本進行分析后,可以對占用信道的中心頻點進行初步定位。用戶根據在測量結果表中顯示的值,可以進一步分析該中心頻點的頻譜或測量其他的調制特征值??梢?,通過虛擬儀器的思想,將軟硬件結合使用,可以極大地擴充硬件的功能。
    4 結束語
    在系統(tǒng)的開發(fā)中,采用了C++中類的思想,使得系統(tǒng)具備了良好的擴展性,對于不同的儀器接口方式,可以  大限度地利用已開發(fā)的代碼段。同時,也增強了系統(tǒng)的可維護性,在實際應用中取得了不錯的效果。在采用了雙線程工作機制后,充分發(fā)揮了儀器的性能,比單線程的速度提高了50%。

關鍵詞:基于通用接口總線和工控機實現無線電信號監(jiān)測系統(tǒng)的設計

版權與免責聲明

凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。

本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。

OEM清單文件: OEM清單文件
*公司名:
*聯系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯系人:

聯系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經采納,將有感恩紅包奉上哦!