• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WPF的3D雷達(dá)終端界面設(shè)計(jì)

      2023-10-12 07:22:46盧珊珊
      火控雷達(dá)技術(shù) 2023年3期
      關(guān)鍵詞:雷達(dá)站線程神經(jīng)網(wǎng)絡(luò)

      盧珊珊 王 明 李 哲

      (西安電子工程研究所 西安 710100)

      0 引言

      雷達(dá)終端界面作為人機(jī)交互的一種。為用戶提供空中目標(biāo)的航跡信息,實(shí)現(xiàn)重要軍事用途。同時(shí)要求長(zhǎng)時(shí)間存儲(chǔ)和錄取雷達(dá)系統(tǒng)的各項(xiàng)指標(biāo)數(shù)據(jù)。通過(guò)對(duì)數(shù)據(jù)分析可以檢測(cè)雷達(dá)系統(tǒng)的性能和運(yùn)轉(zhuǎn)狀態(tài)。

      本文設(shè)計(jì)的雷達(dá)終端軟件,考慮從以下四個(gè)方面提高用戶的人機(jī)交互體驗(yàn):

      1)采用WPF做為軟件開(kāi)發(fā)環(huán)境,達(dá)到最優(yōu)圖形渲染效果;

      2)使用3D Unity工具實(shí)現(xiàn)雷達(dá)產(chǎn)品的3D顯示,并通過(guò)狀態(tài)參數(shù)的綁定達(dá)到對(duì)雷達(dá)運(yùn)行動(dòng)作的同步映射,可更直觀地展現(xiàn)雷達(dá)站的當(dāng)前運(yùn)動(dòng)狀態(tài);

      3)采用TensorFlow.Net搭建CNN神經(jīng)網(wǎng)絡(luò)模型。運(yùn)用軟件長(zhǎng)時(shí)間采集的雷達(dá)站狀態(tài)參數(shù)做為訓(xùn)練集(前定長(zhǎng)時(shí)刻數(shù)據(jù)為輸入,當(dāng)前時(shí)刻數(shù)據(jù)為輸出),對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行離線訓(xùn)練。使模型具備對(duì)未來(lái)狀態(tài)的預(yù)判功能。通過(guò)用預(yù)判信息和實(shí)際信息的比較達(dá)到對(duì)雷達(dá)站運(yùn)行的健康監(jiān)測(cè)功能;

      4)通過(guò)System.Speech程序集,加入語(yǔ)音識(shí)別、翻譯和文本朗讀功能,進(jìn)一步提高人機(jī)交互的生動(dòng)性。

      本文將從這四個(gè)方面安排章節(jié)進(jìn)行描述。

      1 WPF環(huán)境

      WPF(Windows Presentation Foundation)[1]是微軟推出的基于Windows的用戶圖形呈像框架。目前已經(jīng)是一個(gè)成熟的GUI框架,擁有自己的一套完整的生態(tài)并且被納入微軟長(zhǎng)期穩(wěn)定更新計(jì)劃。

      WPF前端使用xmal語(yǔ)言,后端使用c#語(yǔ)言,前后端分離可以提供UI設(shè)計(jì)人員和邏輯設(shè)計(jì)人員的分工協(xié)作,高效完成軟件任務(wù)。這種前后端分離的優(yōu)越性也被進(jìn)一步運(yùn)用到了網(wǎng)站設(shè)計(jì)工作中,前端html語(yǔ)言和后端javascript語(yǔ)言也逐步形成了一股潮流。

      WPF最大特點(diǎn)是對(duì)矢量圖的超強(qiáng)支持,支持XPS和消鋸齒以及浮點(diǎn)類型的像素坐標(biāo),比GDI+更具優(yōu)越性。所以用WPF做出的軟件外觀會(huì)特別美觀,這也正是WPF的強(qiáng)大之處。

      2 三維顯示設(shè)計(jì)

      2.1 Unity 3D 開(kāi)發(fā)工具

      3D Unity[2]是一款跨平臺(tái)的開(kāi)發(fā)工具,適用于開(kāi)發(fā)游戲、體驗(yàn)、媒體內(nèi)容及交互應(yīng)用程序。3D Unity 包含了集成開(kāi)發(fā)環(huán)境、實(shí)時(shí)3D開(kāi)發(fā)技術(shù)、腳本編程、資源管理系統(tǒng)以及實(shí)時(shí)成像技術(shù)等功能,讓你可以實(shí)現(xiàn)自己想要的動(dòng)態(tài)3D影像。3D Unity 的開(kāi)發(fā)技術(shù)可以在多種平臺(tái)上運(yùn)行,包括PC、移動(dòng)設(shè)備和VR/AR等。是一個(gè)全面整合的專業(yè)游戲引擎。

      3D Unity個(gè)人版提供免費(fèi)學(xué)習(xí)使用。

      在WPF中嵌入U(xiǎn)nity引擎有以下幾種方法:

      1)在WPF項(xiàng)目中創(chuàng)建一個(gè)控件,如System. Windows.Forms.Integration.ElementHost,用于與Unity應(yīng)用程序進(jìn)行通信。

      2)將Unity項(xiàng)目編譯為Windows應(yīng)用程序,并將其作為ElementHost控件的子級(jí)。

      3)使用Unity API與WPF應(yīng)用程序進(jìn)行通信,以便在兩個(gè)應(yīng)用程序之間共享數(shù)據(jù)和功能。

      4)創(chuàng)建一個(gè)WPF窗口。該窗口將允許WPF應(yīng)用程序訪問(wèn)Unity應(yīng)用程序的內(nèi)容。

      其中最快又能最大限度發(fā)揮Unity渲染速度的方法就是使用Unity API與WPF應(yīng)用進(jìn)行通信來(lái)實(shí)現(xiàn)三維模型的顯示。在Unity開(kāi)發(fā)環(huán)境中,可以使用腳本程序,嵌入socket內(nèi)容,可以把三維模型推薦做成客戶端(client),使用WPF程序做服務(wù)器端,通過(guò)網(wǎng)絡(luò)來(lái)控制三維模型的展示方式。

      本文為了避免涉密內(nèi)容,所以并沒(méi)有使用實(shí)際項(xiàng)目的三維模型,而是以一個(gè)虛擬模型代替實(shí)際雷達(dá)站外觀,模型如圖1所示。

      圖1 模擬雷達(dá)站的三維模型

      2.2 三維控制邏輯

      fbx格式的三維模型可以導(dǎo)入到3DUnity環(huán)境中。在3D Unity端對(duì)虛擬雷達(dá)站三維模型進(jìn)行骨架搭建。進(jìn)一步把雷達(dá)站模型的天線部分、架設(shè)撤收機(jī)構(gòu)和車體部分,分開(kāi)成獨(dú)立部分并對(duì)每一個(gè)部分建立獨(dú)立坐標(biāo)系。當(dāng)腳本接收到相應(yīng)控制命令時(shí),可以使獨(dú)立部分完成繞指定坐標(biāo)軸轉(zhuǎn)動(dòng),變換姿態(tài)等相對(duì)位置變化來(lái)展現(xiàn)實(shí)際雷達(dá)站工作中的空間狀態(tài)。

      WPF軟件端使用包含所接收到的雷達(dá)天線方位、俯仰、架設(shè)撤收工作狀態(tài)等信息的網(wǎng)絡(luò)通信協(xié)議,與Unity腳本端進(jìn)行定周期網(wǎng)絡(luò)通信。在腳本中應(yīng)用數(shù)據(jù)綁定方法把雷達(dá)天線方位、俯仰數(shù)據(jù)與模型中的天線部分z坐標(biāo)變換角度和x坐標(biāo)變換角度建立數(shù)據(jù)綁定。當(dāng)腳本接收到變化的方法、俯仰信息時(shí),會(huì)自動(dòng)更新模型相對(duì)坐標(biāo)軸的位置變化角度,從而實(shí)現(xiàn)天線方位旋轉(zhuǎn),俯仰高低角變化的展示。進(jìn)一步控制三維雷達(dá)站模型完成架設(shè)、撤收、圓周掃描、目標(biāo)位置跟蹤等雷達(dá)站的動(dòng)作模擬。在架設(shè)撤收這種沒(méi)有指定變化參數(shù)的運(yùn)動(dòng)展示任務(wù)中,可以通過(guò)雷達(dá)站設(shè)計(jì)指定的架設(shè)撤收時(shí)間,建立指定時(shí)間的架設(shè)撤收動(dòng)畫來(lái)展示。當(dāng)對(duì)展示的同步性有嚴(yán)格要求時(shí),也可通過(guò)網(wǎng)絡(luò)轉(zhuǎn)發(fā)(或使用組播)把實(shí)際雷達(dá)站數(shù)據(jù)發(fā)送給Unity三維模型,腳本將直接解析雷達(dá)站協(xié)議,模型將依照實(shí)際雷達(dá)站的運(yùn)動(dòng),實(shí)時(shí)復(fù)現(xiàn)雷達(dá)站正在進(jìn)行的運(yùn)動(dòng),實(shí)現(xiàn)雷達(dá)站動(dòng)作的實(shí)時(shí)監(jiān)控。比如,雷達(dá)站正在做目標(biāo)跟蹤動(dòng)作,雷達(dá)站本身上報(bào)的天線位置信息可以通過(guò)終端轉(zhuǎn)發(fā)給Unity三維模型,這樣模型的相對(duì)位置和雷達(dá)站的天線運(yùn)動(dòng)位置可以保持一致。就可以實(shí)現(xiàn)實(shí)際雷達(dá)站狀態(tài)到三維模型的映射,位置信息是很基礎(chǔ)的雷達(dá)站信息,通常PPI或者圖表就可以反映其影響效果,同時(shí)可以將雷達(dá)站的其他信息比如升降架設(shè)、調(diào)平、油機(jī)狀態(tài)等復(fù)雜信息都映射到三維模型上,通過(guò)通信使模型呈現(xiàn)一個(gè)特殊狀態(tài)或警告狀態(tài),這對(duì)于終端技術(shù)和操控管理都是具有深遠(yuǎn)意義的。

      本文軟件界面如圖2所示,對(duì)三維模型中的模塊添加材質(zhì)和貼圖描述,再加入光線配置。得益于3DUnity強(qiáng)大的渲染功能,可以得到較好的模型展示效果。

      圖2 軟件界面圖

      終端作為人機(jī)交互的一種形式,以控制命令下發(fā)和顯示設(shè)備信息反饋為作用。三維技術(shù)不僅可以提升終端軟件的觀感體驗(yàn),還可以更直觀地反映設(shè)備信息和動(dòng)態(tài)影響,可以促進(jìn)終端技術(shù)面向更高質(zhì)量方向發(fā)展。

      3 健康管理

      設(shè)備健康管理[3]技術(shù)主要由計(jì)算機(jī)軟件和硬件相結(jié)合而成,它能夠檢測(cè)設(shè)備的運(yùn)行情況,以及發(fā)現(xiàn)可能的故障,并及時(shí)采取合理的措施來(lái)維護(hù)設(shè)備的健康和安全性。它可以根據(jù)設(shè)備的工作復(fù)雜情況,實(shí)時(shí)調(diào)整設(shè)備的參數(shù),以提高設(shè)備的性能和可靠性。此外,它還可以通過(guò)遠(yuǎn)程監(jiān)控和管理,實(shí)現(xiàn)設(shè)備的自動(dòng)化管理。它還可以通過(guò)數(shù)據(jù)分析,發(fā)現(xiàn)設(shè)備的性能問(wèn)題,從而改善設(shè)備的質(zhì)量和可靠性。

      在WPF環(huán)境下有適用于C#語(yǔ)言的基于.NET的開(kāi)源人工智能庫(kù),如Accord.NET或者Encog可以調(diào)用。此外還可選擇,如Microsoft Cognitive Toolkit或Keras的API來(lái)構(gòu)建神經(jīng)網(wǎng)絡(luò)模型。本文僅采用TensorFlow.Net訓(xùn)練CNN神經(jīng)網(wǎng)絡(luò)模型,來(lái)實(shí)現(xiàn)對(duì)雷達(dá)站數(shù)據(jù)的建模和訓(xùn)練。TensorFlow.NET是SciSharp STACK團(tuán)隊(duì)做的一個(gè)開(kāi)源機(jī)器學(xué)習(xí)平臺(tái),集成了大量API和底層封裝,使TensorFlow的Python代碼風(fēng)格和編碼習(xí)慣可以無(wú)縫移植到.NET平臺(tái)。特別適合C#語(yǔ)言的WPF來(lái)應(yīng)用。

      本文對(duì)雷達(dá)站搜索、扇掃、跟蹤工作模式,分別做了神經(jīng)網(wǎng)絡(luò)建模,因?yàn)閱我还ぷ鳡顟B(tài)下數(shù)據(jù)不會(huì)有很大變化,建模所需的神經(jīng)網(wǎng)絡(luò)單元數(shù)也會(huì)相對(duì)少一些。每種工作模式使用一種神經(jīng)網(wǎng)絡(luò),可以得到較好的預(yù)測(cè)精度。訓(xùn)練結(jié)果如圖3所示。

      圖3 扇掃模式下訓(xùn)練精度圖

      圖3中train對(duì)應(yīng)的曲線為模型訓(xùn)練曲線。把一段長(zhǎng)時(shí)間扇掃模式下的數(shù)據(jù)分組,每11個(gè)連續(xù)時(shí)刻數(shù)據(jù)為一組進(jìn)行隨機(jī)抽取。每組前10個(gè)時(shí)刻數(shù)據(jù)做為輸入,第11個(gè)時(shí)刻數(shù)據(jù)做為輸出,以達(dá)到根據(jù)前10個(gè)時(shí)刻數(shù)據(jù)預(yù)測(cè)下一時(shí)刻數(shù)據(jù)的功能。用隨機(jī)抽取的1萬(wàn)個(gè)數(shù)據(jù)組做為訓(xùn)練集,在剩下的數(shù)據(jù)組隨機(jī)抽200組來(lái)測(cè)試訓(xùn)練的效果,做為測(cè)試集。圖3中test對(duì)應(yīng)測(cè)試曲線。訓(xùn)練曲線的精度是訓(xùn)練集的輸入,經(jīng)過(guò)模型得到的輸出與對(duì)應(yīng)訓(xùn)練集結(jié)果的比較誤差,而測(cè)試曲線的精度是測(cè)試集的輸入,經(jīng)過(guò)模型得到的輸出與測(cè)試集結(jié)果的比較誤差??梢钥吹接?xùn)練曲線的誤差和測(cè)試曲線的誤差都在隨著訓(xùn)練樣本數(shù)的增加而減小,并最終維持在一個(gè)很小的誤差范圍內(nèi)。經(jīng)過(guò)大量的數(shù)據(jù)訓(xùn)練和合理的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì),最終可以使兩條曲線重合并維持在很小的誤差內(nèi)。

      4 語(yǔ)音識(shí)別和翻譯工具

      微軟針對(duì).NET應(yīng)用推出了System.Speech[5]程序集,即語(yǔ)音合成程序集,可以將文本轉(zhuǎn)換成口語(yǔ)通過(guò)程序播放出來(lái),同時(shí)還具備語(yǔ)音識(shí)別能力,可以將話筒捕捉到的口語(yǔ)轉(zhuǎn)換為文本。當(dāng)引入System.Speech程序集后,在 System.Speech.Synthesis 命名空間中的 SpeechSynthesizer 類可以朗讀安裝語(yǔ)言庫(kù)對(duì)應(yīng)的段落,可以豐富人機(jī)交互的生動(dòng)性,同時(shí)配合SpeechRecognitionEngine類來(lái)監(jiān)聽(tīng)語(yǔ)音命令,可以在程序里直接轉(zhuǎn)換成字符串,經(jīng)過(guò)簡(jiǎn)單語(yǔ)義分析處理就可以當(dāng)作指令命令直接下發(fā)。可以帶來(lái)更生動(dòng)的操作體驗(yàn)。

      5 多線程數(shù)據(jù)處理

      多線程[6]多數(shù)用在實(shí)時(shí)操作系統(tǒng)中。像Windows這樣的非實(shí)時(shí)操作系統(tǒng)通常是通過(guò)分配時(shí)間碎片(CPU時(shí)間的基本單元)并進(jìn)行輪詢來(lái)實(shí)現(xiàn)多線程的。其實(shí)這種多線程是異步運(yùn)行的。在避免線程之間數(shù)據(jù)競(jìng)爭(zhēng)的前提下,本文終端軟件分別為網(wǎng)口通信線程、數(shù)據(jù)錄取線程、健康監(jiān)測(cè)線程和目標(biāo)信息解析線程。而神經(jīng)網(wǎng)絡(luò)的訓(xùn)練運(yùn)算是作為觸發(fā)事件,對(duì)保存數(shù)據(jù)的文件進(jìn)行數(shù)據(jù)訓(xùn)練刷新健康監(jiān)測(cè)線程里的神經(jīng)網(wǎng)絡(luò)參數(shù)。語(yǔ)音識(shí)別也是做為觸發(fā)事件按需要進(jìn)行響應(yīng)。得益于WPF獨(dú)特的數(shù)據(jù)綁定機(jī)制,可以把后臺(tái)數(shù)據(jù)和前臺(tái)圖形進(jìn)行綁定,來(lái)做到同步更新,所以數(shù)據(jù)顯示功能都是通過(guò)數(shù)據(jù)綁定實(shí)現(xiàn)的,并不占用過(guò)多線程任務(wù)。

      在多線程應(yīng)用中,為了避免發(fā)生數(shù)據(jù)競(jìng)爭(zhēng)??梢允褂肅#下WaitOneEevent來(lái)分時(shí)觸發(fā)并行任務(wù),進(jìn)一步保證了程序的線程安全。本文軟件中的線程框圖如圖4所示。

      圖4 多線程框圖

      如圖4所示,本軟件的主線程是通信線程。優(yōu)先輪詢網(wǎng)絡(luò)通信數(shù)據(jù)的接收,在數(shù)據(jù)不丟失的情況下可以下發(fā)對(duì)雷達(dá)站的控制命令,并進(jìn)行數(shù)據(jù)錄取。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練線程并行預(yù)測(cè)新?tīng)顟B(tài),如果網(wǎng)絡(luò)接收的新?tīng)顟B(tài)數(shù)據(jù)和預(yù)測(cè)狀態(tài)存在很大差距,則提示故障。語(yǔ)音服務(wù)作為觸發(fā)式線程。模型訓(xùn)練線程也是觸發(fā)性的執(zhí)行用保存下的數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練工作,并同步更新模型用于健康監(jiān)測(cè)。

      6 結(jié)束語(yǔ)

      本文測(cè)試了用神經(jīng)網(wǎng)絡(luò)單元組成的模型可以實(shí)現(xiàn)狀態(tài)參數(shù)曲線的預(yù)測(cè)。但是本文的神經(jīng)網(wǎng)絡(luò)是分模式建立的,即用單一工作模式下的數(shù)據(jù)訓(xùn)練該模式下的神經(jīng)網(wǎng)絡(luò)模型,對(duì)于不同模式下的健康監(jiān)測(cè)使用對(duì)應(yīng)模式下的神經(jīng)網(wǎng)絡(luò)進(jìn)行狀態(tài)監(jiān)測(cè)。對(duì)于工作模式切換帶來(lái)的擾動(dòng)采用延時(shí)判斷或門限回避。因此在工作模式切換時(shí)容易出現(xiàn)較大預(yù)測(cè)誤差。所以希望在以后的工作學(xué)習(xí)中可以通過(guò)神經(jīng)網(wǎng)絡(luò)的合理規(guī)劃,來(lái)應(yīng)對(duì)工作狀態(tài)改變時(shí)的數(shù)據(jù)準(zhǔn)確預(yù)測(cè)需求。

      猜你喜歡
      雷達(dá)站線程神經(jīng)網(wǎng)絡(luò)
      神經(jīng)網(wǎng)絡(luò)抑制無(wú)線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      淺談linux多線程協(xié)作
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
      雷達(dá)站
      紫帽山雷達(dá)站防雷系統(tǒng)幾個(gè)關(guān)鍵參數(shù)分析
      Linux線程實(shí)現(xiàn)技術(shù)研究
      么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
      地球上最高的雷達(dá)站
      临湘市| 通许县| 怀仁县| 伊宁市| 广西| 宜州市| 阳新县| 景谷| 宜宾县| 樟树市| 昆山市| 常熟市| 永吉县| 九龙县| 甘德县| 永寿县| 南宁市| 邵东县| 共和县| 皋兰县| 甘南县| 西丰县| 和田市| 连城县| 宜阳县| 上思县| 彩票| 白朗县| 平塘县| 仁寿县| 原平市| 日土县| 青铜峡市| 阿克| 五大连池市| 华蓥市| 工布江达县| 汽车| 奉贤区| 海口市| 星座|