周雅芳 范玉娜 張耀寰 羅 浩(沈陽理工大學,遼寧 沈陽110159)
Visual C++是微軟推出的一款C++編譯器,將C++語言翻譯為“機器語言”的程序。Visual C++是一個功能強大的可視化軟件開發工具,已成為專業程序員進行軟件開發的首選工具。由于C++是由C語言發展起來的,也支持C語言的編譯[1]。但是代碼編制復雜,不適合算法設計繪制函數/數據圖像等常用功能外,MATLAB還可以用來創建用戶界面及與調用其它語言(包括C,C++和FORTRAN)編寫的程序,但是可視化編程太復雜[2]。用VC++來做應用程序的界面,而用Matlab來實現應用程序的功能,這樣在VC中就不用再寫復雜的算法,在Matlab中也就不用再為復雜的可視化而煩惱。
MATLAB與VC混合編程的方法有很多,其中包括通過MATLAB Engine方式,直接調用C/C++數學函數庫,用MATLAB自帶的MATLAB Compiler,使用MATLAB的combuilde工具以及使用matcom工具五種方法,其中,本文采取的是使用matcom工具進行仿真的方法。matcom是一個十分有用的.m文件翻譯器,是一個能將M文件轉化成相同功能C++代碼的工具。相比MATLAB自帶的編譯器Compiler,用matcom轉化代碼要簡單和方便得多[3]。Visual C++與MATLAB混合編程流程圖如圖1所示:

圖1 Visual C++與MATLAB混合編程流程圖
隨著空間科學和空間技術的不斷發展,許多任務要求在航天器與航天器之間、航天器與地面站之間雙向傳輸音頻、視頻、科學實驗等多種不同類型的數據[4-5]。為可靠、有效地傳輸這些數據,本實驗對信道噪聲進行了研究分析,仿真結果如圖2所示:

圖2 原始波形與加入噪聲的波形
本實驗我們選取的原始波形如圖2中的上部分所示,在原始波形中,我們選取橫坐標從1到33一共33個“0”、“1”組成的二進制碼流作為發送端的傳輸碼流,下部分加入噪聲波形所加入的噪聲是高斯白噪聲[6]。由于計算機是以“0”、“1”排列組合成的二進制碼流對發送端的信源進行存儲與傳輸,經過傳輸信道的時候受到傳輸信道噪聲的影響生成原始波形下方的加入噪聲波形,可以看出在橫坐標的1到33處,波形的幅值有明顯的變化。
[1]謝賢芬.21天學通Visual C++[M].2版.北京:電子工業出版社,2001,2.
[2]龔純,王正林.MATLAB語言常用算法程序集[M].2版.北京:電子工業出版社,2011,3.
[3]余姜德.MATLAB與VC++混合編程的實現[J].軟件導刊,2007,7.
[4]田野,馮永新,馬玉峰,劉桂君.高級在軌系統中的多路復用與差錯控制技術研究[M].北京:科學出版社,2014,4.
[5]Tian ye,Li Qingfan,Feng yongxin,Gao xiaoling.A virtual channels scheduling algorithm with broad applicability based on movable boundary[J].Mathematical Problems in Engineering,2013,9:1-8.
[6]樊昌信,曹麗娜.通信原理[M].6版.北京:國防工業出版社,2007:334-335.