王菊遠,谷玉海,李小群
(北京信息科技大學現代測控技術教育部重點實驗室,北京 100192)
對于任何系統,在實際工作狀況下測試系統的性能是非常必要的。但對處于研發階段的系統而言,難以構建系統的實際工作環境,這樣會給系統在后期調試中帶來難度,從而增加開發周期。因此模擬信號而建立與實際工作相似的環境,成為系統開發過程中不可或缺的環節。同時還可以模擬更加復雜的工況,從而全面測試系統的性能。使得系統性能滿足開發需求,因此該系統對研發階段的產品提供了很好的模擬實際信號[1]。
模擬多型信號并發系統設計是采用C語言進行編程,并根據不同的需求可以選擇不同的信號類型、改變信號的各項參數及對信號的選擇性疊加等。從而更加真實地模擬實際工況,對系統性能的測試提供有效支持。
首先根據需求選擇所需信號類型和自定義信號參數,然后選擇信號疊加和采樣處理產生信號數據,將生成的信號數據通過軟總線平臺進行處理,軟總線平臺提供了多種波形顯示端接口、數據庫接口等其他第三方接口。系統總體設計方案流程如圖1所示。模擬多型信號軟件系統設計首先根據需求選擇多種信號類型,是否根據需求改變信號各項參數(幅值、相位、頻率等),是否根據需要選擇多型信號并發等(圖2)。

圖1 系統總體設計方案流程

圖2 信號參數配置頁面
根據需求選擇疊加信號ID進行疊加,自定義信號的采樣頻率對信號進行采樣處理。信號處理配置頁面如圖3所示。根據采樣處理產生的信號數據,采用軟總線平臺進行數據后期處理。數據可以根據使用者的需要進行顯示、存入數據庫等,還可以根據軟總線平臺提供的數據接口進行其他操作。

圖3 信號處理配置頁面
信號的分類主要有確定性信號和非確定性信號。由于工程中的信號大多數是確定性信號,因此系統主要模擬確定信號的產生。確定性信號主要分為周期信號和非周期信號。確定性信號分類如圖4所示。根據工程上常見的信號類型,系統主要設計了簡單周期信號、復雜周期信號、準周期信號、瞬態信號等4種信號類型。

圖4 確定性信號分類
周期信號是周期、幅值等隨時間重復性變化的信號[2]。系統主要設計2種簡單周期信號:①f(t)=Asin(2πft+θ)+B;②f(t)=Acos(2πwt+θ)+B,式中幅值、頻率、相位、直流分量等特征參數都可以由用戶根據需求輸入設定。
復雜周期信號是在周期內信號圖像較為復雜的周期信號[3]。系統主要設計5種典型復雜周期信號,信號1為不同頻率正弦信號和余弦信號疊加、信號2為方波信號、信號3為三角波信號、信號4為鋸齒波信號、信號5為正弦整流信號。復雜周期信號周期函數表達式如下所示。

以上信號的幅值、頻率、相位、直流分量等特征參數可以根據用戶的需求自定義設置。信號之間也可以進行疊加等。
準周期信號是由一些不同頻率的簡諧信號疊加而成的信號,且各簡諧分量的頻率之比不全為有理數。并且這些簡諧信號的頻率不成簡單整數比,疊加而成的信號不再為周期信號,但信號的頻率描述還具有周期信號的特點,稱為準周期信號[4],f(t)=Asin(2πft+θ)+Bcos(2πωt+β)+C,式中的正弦函數和余弦函數的幅值、頻率,相位、直流分量都可以由用戶根據需求自定義輸入設定,正弦函數和余弦函數頻率至少有一個為無理數。

軟總線平臺是由現代測控教育部重點實驗室項目研發成果。軟總線平臺提供C/C++SOA應用組件開發、部署與運行的創新型一攬子技術解決方案。信號產生后數據傳輸主要提供3種基于軟總線平臺提供進程間通信、網絡通信和數據庫的服務的數據傳輸,可以滿足本地、網絡間、數據庫各種場景使用。
本機內通信主要采用消息隊列,消息隊列提供了一種可靠的進程或線程間通信傳輸,消息隊列采用C++面向對象進行封裝,msgQService類如下。


調用此類變量和方法即可完成可靠的本機內通信。
基于網絡通信數據傳輸主要依靠現代測控教育部實驗室項目團隊封裝基于軟總線平臺的動態庫,windows下msgEngineServiceLib.dll、linux 下 msgEngineService.so 該動態庫封裝提供具有 tcp、udp、http、serial(串口)、ftp功能,通過修改配置文件完成網絡通信數據傳輸的連接傳輸等功能。通過修改配置文件msgEngineService.ini可快速配置網絡通信數據傳輸。
基于數據庫服務數據傳輸主要依靠現代測控教育部實驗室項目團隊封裝基于軟總線平臺的動態庫windows下dbservice.dll,linux 下 dbservice.so。dbservice.dll(dbservice.so)提供mysql、Oracle、sqlServer、sqLite、postgres、mongodb 數據庫的增刪改查等服務。通過讀取配置文件dbservice.ini完成數據庫的連接等服務。
實驗針對該系統,選擇了4種信號。
(1)簡單正弦信號。f(t)=sin(2t)。
(4)疊加信號。
將信號1、信號2、信號3進行疊加,產生信號4。
本次試驗采用1kHz采樣頻率,通過軟總線平臺提供的通信服務組件進行通信,通過改變組件的配置文件配置。

通過通信服務組件TCP/IP傳輸控制協議發送數據,實驗顯示端tcphelper17.6.4(tcphelper17.6.4由現代測控教育部實驗室項目團隊研發tcp通信顯示軟件)同樣采用IP:127.0.0.1、Port:8081。
通過上述實驗,系統產生了4種信號(圖5~圖8),其中,圖5是簡單周期信號,圖6是復雜周期信號,圖7是準周期信號,圖8是疊加周期信號。同時還可以通過系統產生不同的疊加信號等。
采用C語言產生多型信號,并通過軟總線平臺傳輸、tcphelper17.6.4顯示,同時使用者可以根據自己需求定義信號的一些參數,該系統可以作為獨立的服務組件和其他系統模塊結合。該信號發生系統可以縮短系統整體的開發周期、整體系統壓力的測試提供了便捷。

圖5 信號1產生結果顯示

圖6 信號2產生結果顯示

圖7 信號3產生結果顯示

圖8 信號4產生結果顯示