在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于通用接口總線和工控機實現無線電信號監測系統的設計

電子設計 ? 來源:微型機與應用 ? 作者:楊建軍,龔曉峰, ? 2021-06-08 15:07 ? 次閱讀

作者:楊建軍,龔曉峰,劉佳嘉,張繼宏

隨著通信技術的發展,無線電資源作為公共資源的一種,需要國家有關部門對其進行有效的分配和監控。設計界面友好、運行穩定、實時反應迅速的監測軟件是對無線電資源進行有效配置的重要環節,也是國家和公眾信息安全保障的重要環節。本文以Rohde-Schwarz公司的ESVN40作為頻譜監測接收機來進行無線電監測軟件的設計。

1 系統的工作原理及組成

1.1 工作原理

系統以工控機、監測接收機及天線系統為主組建無線電監測軟件系統。監測接收機通過其上的天線接口來采集無線電信號,然后通過監測機自帶的通用接口總線(General-Purpose Interface Bus,GPIB),由安裝在工控機上的PCI插槽中的PCI-GPIB卡傳輸到工控機,最后由工控機實現對采集到的信號樣本的顯示、分析和保存等操作功能。

1.2 系統的硬件組成

無線電信號監測系統的結構框圖如圖1所示。該系統由工控機、PCI-GPIB卡、GPIB接口電纜、ESVN40測試接收機和帶有天線選擇轉換器的9k~3 000MHz的多模天線系統組成。

1.3 ESVN40測試接收機的特點

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

1.4 GPIB接口方式的優越性

GPIB工業總線是NI公司的產品。它在軟件方面提供了完全的兼容性,為用戶軟件的升級節約了成本,提高了開發效率。GPIB系統的特點如下。

(1)GPIB板卡軟件的成熟性。NI公司提供了具有良好兼容性能的API函數。NI提供的每一代驅動軟件都保持與現有的NI-488應用底層的兼容性。無論開發者是使用NI-488.2的函數,還是使用LabVIEW或LabWindows/CVI(C for Virtual Instruments)等應用開發環境,NI-488.2軟件結構都能提供一種穩定的GPIB控制。同時NI-488.2軟件也在不斷地更新,以取得最優的性能。

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

1.5 軟件系統的設計

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

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

2 軟件設計中擴展性問題的解決方案

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

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

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

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

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

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

在系統中,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類中向儀器寫字符串的方法主要用于完成從控制計算機向儀器發送控制字符串的功能,可以用異步或者同步方式進行傳送。在寫之前,要對超時進行合理的設置。通常,如果字符串較長,可以把超時設定得大一些。其關鍵代碼如下:

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的狀態

if(ibsta & ERR)

{

return FALSE;

}

return ibcntl;

}

③從儀器接收字節的方法主要用于完成從ESVN40的數據緩沖區中讀入一個字節。該方法對于讀取儀器的狀態寄存器非常有用。

int CGPIB∷ReadChar(char*ch)

{

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

return FALSE;

int i=1;

RecvData((void*)ch,i);

return TRUE;

}

④從儀器讀入數據的方法主要用于完成讀入儀器的測量結果。對于ESVN40而言,預期返回數據的長度與實際返回的數據長度是有差別的。在設定預期返回數據長度時,應該盡量設置得大一些,以保證每次測量數據不被認為丟失。對于超時參數的設置,與寫操作的原則是相同的。該方法的實現代碼如下:

int CGPIB∷RecvData(void*Buffer,int& limitLength)

{ if(!(m_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;

}

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

BOOL CGPIB∷Close( )

{ if(!(m_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狀態

return 1;

}

3 程序運行界面

該系統可以進行無線電信號的監測,其中包括某個頻點的電平、調整深度、頻率補償和頻率偏移等。此外,系統還能對單頻點的頻譜進行分析,對給定的頻段進行信號掃描。在實際應用中,采用雙線程的工作機理,可以很大程度地提高數據采集的速度。系統對信號進行頻率掃描時的運行界面如圖4所示。在界面中,由于ESVN40只是返回掃描駐點的電平值,因此在軟件中對該掃描功能進行了擴充。在界面上只要設定一個電平閾值(用戶可以認為超過該閾值的電平,可能存在信道占用)和一個用戶認為每個信道應該占用的最大帶寬或法定的最大帶寬,則通過軟件設計對采樣的樣本進行分析后,可以對占用信道的中心頻點進行初步定位。用戶根據在測量結果表中顯示的值,可以進一步分析該中心頻點的頻譜或測量其他的調制特征值。可見,通過虛擬儀器的思想,將軟硬件結合使用,可以極大地擴充硬件的功能。

4 結束語

在系統的開發中,采用了C++中類的思想,使得系統具備了良好的擴展性,對于不同的儀器接口方式,可以最大限度地利用已開發的代碼段。同時,也增強了系統的可維護性,在實際應用中取得了不錯的效果。在采用了雙線程工作機制后,充分發揮了儀器的性能,比單線程的速度提高了50%。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工控機
    +關注

    關注

    10

    文章

    1812

    瀏覽量

    51358
  • 監測系統
    +關注

    關注

    8

    文章

    2817

    瀏覽量

    82106
  • 總線
    +關注

    關注

    10

    文章

    2935

    瀏覽量

    89123
收藏 人收藏

    評論

    相關推薦

    基于PSoC腦電信號采集系統

    對自由活動大鼠神經信號的采集和處理系統進行了研究設計, 主要包括腦電信號采集電極、前置放大和簡單的濾波, 應用片上可編程系統(PSoC)對信號
    發表于 11-22 14:59

    霧霾成為無線電信號

    在簡云定眼中,空氣里飄揚的不是北京的霧霾,而是醉人的無線電信號。為了捕捉一串汽車鑰匙開鎖發出的無線信號,他需要一套“行頭”。于是,他用了兩個月的時間,繪制了一套電路圖,在面包板上做電路測試,聯系廠商
    發表于 08-07 08:23

    E3238S/N6820E專用無線電信號監測系統

    E3238S/N6820E專用無線電信號監測系統(配置和性能參考)
    發表于 09-29 14:35

    基于MATLAB無線電信號功率譜仿真與分析

    畢業設計,麻煩大神幫我把基于MATLAB無線電信號功率譜仿真做出來,謝謝。
    發表于 11-09 16:59

    無線電信號的頻譜如何劃分

    無線電信號的頻譜如何劃分
    發表于 12-18 06:33

    WiFi光纖無線電信號分布系統具有什么優勢?

    WiFi光纖無線電信號分布系統具有什么優勢?光載無線交換機有什么特點?
    發表于 05-27 06:49

    誰能做攔截無線電信號?

    誰能做雷達無線電信號攔截和微波通信傳輸,本人被腦控了!
    發表于 10-21 12:02

    無線電信號處理電路圖

    無線電信號處理電路
    發表于 05-12 10:02 ?1021次閱讀
    <b class='flag-5'>無線電信號</b>處理電路圖

    無線電信號的頻率及分段

    無線電信號的頻率及分段1、信號頻率及波譜       任何信號都具有一定的頻率或波長。 我們這里所講的頻率特性就是
    發表于 06-30 00:51 ?1.9w次閱讀
    <b class='flag-5'>無線電信號</b>的頻率及分段

    無線電信號的特性

    無線電信號的特性           在高頻電路中, 我們要處理的無線電信號主要有三種: 基帶(消息)信號
    發表于 06-30 00:55 ?5449次閱讀
    <b class='flag-5'>無線電信號</b>的特性

    無線電信號的發送和接收

    廣大無線電愛好者都知道無線電通信是利用電磁波在空間的傳播來傳遞信息的。 但是電磁波又是怎樣把信息傳遞出去的呢?對于無線電信號是怎樣發送和接收的,估計大部分人就不太清楚了,來聊聊無線電信號
    發表于 03-09 10:17 ?1.6w次閱讀

    使用WRAP軟件實現民航無線電信號覆蓋情況的仿真分析

    民航系統對空通信導航的陸基系統主要依靠地面無線電天線設備,其發出的無線電信號易受地面地形起伏、周圍山體、高大構筑物等障礙物遮蔽影響,使用WRAP 軟件可以從理論角度比較直觀的仿真出
    發表于 08-06 17:27 ?18次下載
    使用WRAP軟件<b class='flag-5'>實現</b>民航<b class='flag-5'>無線電信號</b>覆蓋情況的仿真分析

    基于GPRS和ZigBee的無線電信號監測系統

    基于GPRS和ZigBee的無線電信號監測系統
    發表于 06-23 11:48 ?17次下載

    無線電信號和脈沖信號的區別

    無線電信號和脈沖信號的區別? 無線電信號和脈沖信號是現代通信系統中常用的兩種信號形式。它們在
    的頭像 發表于 02-05 16:36 ?2366次閱讀

    工控機怎樣度 CAN 總線

    隨著中國智能科技的快速發展,越來越多的行業對工控機提出了采集和控制的需求。特別是在高鐵、地鐵和航空等領域,工控機需要配備 CAN 總線接口。然而,由于 CAN
    的頭像 發表于 06-18 09:51 ?685次閱讀
    主站蜘蛛池模板: 在线电影天堂 | 韩国理论片在线看2828dy | 亚洲欧美国产五月天综合 | 中文字幕色网站 | 国产色网站 | 欧美高清a | 久久成人性色生活片 | 日本综合视频 | 免费任我爽橹视频在线观看 | 天天狠狠色噜噜 | 天堂在线观看视频观看www | 亚洲第一视频在线播放 | 深夜视频免费看 | 久久网站免费观看 | 综合色亚洲 | 1024手机在线观看视频 | 国产精品一区牛牛影视 | 9色网站| 色噜噜噜噜噜在线观看网站 | 沟沟人体一区二区 | ts国产| 啪啪调教所29下拉式免费阅读 | 福利视频一区二区三区 | 亚洲天天做日日做天天欢毛片 | 国产特级 | 视频免费在线 | 日本3级视频 | 男女在线免费视频 | 扒开末成年粉嫩的小缝强文 | 仙踪林欧美另类视频 | 中国同志chinese小彬tv | 九九热精品在线观看 | 天天摸天天做天天爽 | 狠狠色丁香婷婷综合最新地址 | 在线观看日本免费视频大片一区 | 成人男女啪啪免费观看网站 | 天天摸天天操天天干 | 成人免费看片视频色多多 | 黄网站视频 | 亚洲国产精品热久久2022 | www.好吊色 |