摘要:該文介紹了以vb.net作為平臺開發(fā)的計算機虛擬通信實驗系統(tǒng),該系統(tǒng)用面向對象的方法,采用模塊化設計思想,解決了計算機通信技術課程軟硬實驗現(xiàn)狀的不足。文中介紹了系統(tǒng)的開發(fā)背景、特點,對系統(tǒng)中典型實驗模塊的主要類設計和關鍵技術予以分析。
關鍵詞: 虛擬實驗;面向對象; 雙緩沖技術
中圖分類號:TP312文獻標識碼:A 文章編號:1009-3044(2010)05-1240-02
A Brief Analysis on Virtual Experiment System of Computer Communication
LIU Wan-ni, ZHAO Wen-jing
(Department of Information Engineering, Xian University of Architecture and Technology, Xi'an 710055, China)
Abstract: This paper introduces the development of the computer virtual communication experiment system based on the vb.net as a platform, The system is usedmodule design concepts by object-oriented method, solved the deficiency of the lab condition in computer communication courses. The paper introduces the background and characteristic of the system, analyses the key technologies in typical lab module.
Key words: virtual experiment; object-oriented method; double buffering technique
1 概述
《計算機通信技術》是計算機、網絡等電子類高職專業(yè)一門重要的專業(yè)課程,特別是隨著計算機技術與通信技術的緊密結合,該課程越來越顯示出其重要性。但是該課程覆蓋面廣,內容多,概念抽象,學生難于理解。盡管加強實驗教學是解決這一問題的一種途徑,然而從提高教學效率和減少教學成本的角度考慮,引入虛擬實驗室是一種更好的做法。
2 目前實驗現(xiàn)狀
2.1 硬件實驗環(huán)境
該課程通信部分內容的實驗包括:數(shù)字基帶信號編碼、數(shù)字頻帶傳輸及調制技術等。其主要目的是幫助學生理解通信系統(tǒng)的整體概念和基本理論。在這些實驗中,所需的儀器有:實驗箱、信號發(fā)生器、示波器等。這些儀器投資大,維護困難,設備更新慢,實驗開出率低;其二,實驗涉及面窄,缺乏創(chuàng)造性實驗,大多數(shù)學校的實驗教學總是在固定的設備上進行一些演示性實驗,學生實驗積極性不高。同時實驗儀器有限,不能保證人人動手,實驗效果差;另外,實驗對于該課程中信號的傳輸、通信規(guī)程、流量控制、多路復用等大量內容很少涉及,因此這部分難點內容無法通過實驗加深理解和掌握。
2.2 虛擬實驗現(xiàn)狀
虛擬實驗是指用仿真技術、數(shù)字建模技術和多媒體技術等在計算機上營造的可輔助、部分替代甚至完全替代傳統(tǒng)實驗的各相關操作環(huán)境。與傳統(tǒng)的實驗相比,虛擬實驗的特點是:降低實驗教學成本;不受時間和空間限制;不受客觀條件影響等。目前通信類虛擬仿真軟件也較多,早在1986年美國NI公司就提出“軟件即儀器”的口號,推出了圖形化編程軟件LabView;再如美國Ellanix公司的仿真軟件SystemView就是一個完整的動態(tài)系統(tǒng)設計、仿真和分析的綜合性可視化軟件;國內也有開發(fā)出的通信實驗系統(tǒng)。但這對于高職類學生使用也存在一些問題:一是這些軟件本身比較復雜,要真正掌握其使用并非易事。二是這些軟件大多針對通信硬件實驗仿真,不能夠涵蓋《計算機通信技術》課程所有內容。
3 計算機虛擬通信實驗系統(tǒng)
3.1 系統(tǒng)整體特點
筆者根據(jù)自身教學單位的現(xiàn)狀和要求,搜集多本該課程的書籍,歸類分析,確定實驗的內容符合本專業(yè)高職教學,選用工具為當前流行的Visual basic 2008,用面向對象的方法建立了一個虛擬實驗環(huán)境,采用模塊化結構,操作簡單,仿真結果直觀,具有良好的易用性和擴展性。
在系統(tǒng)的具體實現(xiàn)中采用化整為零,由表及里的思想,即將一個系統(tǒng)分解成多個子系統(tǒng),對每個子系統(tǒng)先完成界面層開發(fā),然后完成內部系統(tǒng)模型的創(chuàng)建和判斷,模塊參數(shù)的設置和判斷。最后才輸出需要研究的信號波形。
3.2 典型實驗子系統(tǒng)介紹
3.2.1 數(shù)據(jù)編碼實驗
在數(shù)據(jù)被傳送出去之前,首先要根據(jù)原有格式和通信硬件的需要對其進行編碼,使之成為通信硬件能夠接收的信號。本實驗主要由三部分組成:動態(tài)波形,波形對比,波形自測。系統(tǒng)提供了常見的8種編碼方式,用戶可以根據(jù)需要選擇不同的編碼類型,輸入原始數(shù)據(jù),進行編碼波形觀察。在系統(tǒng)開發(fā)中采用面向對象的方法抽象出該模塊的類。主要類描述如下:
Coordinate類:根據(jù)所選模塊進行坐標系的確定和繪制。
Encode類:對不同編碼類型創(chuàng)建相應的編碼方法。
Drawwave類:編碼波形的最終繪制。
3.2.2 差錯控制編碼實驗
差錯控制的基本原理在于增加冗余度使得原來的信息可以檢測傳輸?shù)牟铄e。本實驗完成通信系統(tǒng)中最基本的5種差錯編碼,圖2為CRC循環(huán)冗余校驗碼的編碼界面。該編碼最關鍵的一步是CRC校驗碼的產生,在程序中采用雙循環(huán)來獲得校驗碼,外循環(huán)兩個目的:1.s_ remainder=s_ remainder+crc(i).取碼多項式一位給當前的余數(shù);2.if len(s_ remainder) =len(s_G(x)), 判斷余數(shù)與生成多項式長度是否相等,以記錄商值。內循環(huán)以s_ remainder作被除數(shù)求新余數(shù)。
3.2.3 數(shù)字頻帶傳輸系統(tǒng)實驗
由于數(shù)字信號通常含有較低的頻率成分,所以不能直接傳輸基帶信號,需要借助連續(xù)波調制進行頻譜搬移。本實驗包括三部分模塊:幅度鍵控、頻率鍵控、相位鍵控,圖3為示波器中2ASK調制各部分波形。
圖2 差錯控制圖3 2ASK調制波形
在該子系統(tǒng)開發(fā)過程中,要繪制大量圖形,包括背景界面、動態(tài)波形顯示等。直接進行多重繪制會造成閃爍問題,因此在開發(fā)中采用雙緩沖技術來消除刷屏造成了閃爍。當啟用雙緩沖時,所有繪制操作首先呈現(xiàn)到內存緩沖區(qū),而不是屏幕上的繪圖畫面。所有繪制操作完成后,內存緩沖區(qū)直接復制到與其關聯(lián)的繪圖畫面。因為在屏幕上只執(zhí)行一個圖形操作,所以消除了由復雜繪制操作造成的圖像閃爍。繪制坐標系部分代碼如下:
Dimimg As New Bitmap(picturebox1.width, picturebox1.height) '定義一個與picturebox1相同大小的位圖Dimg As Graphics = Graphics.FromImage(img) '定義畫板
'繪制背景坐標
For i As Integer = 0 To num
g.DrawLine(mypen, 40 * i + rect1.X, rect1.Y, 40 * i + rect1.X, rect1.Y + rect1.Height)
Next
g.DrawLine(mypen, rect1.X, rect1.Y + rect1.Height \\ 2, rect1.X + rect1.Width, rect1.Y + rect1.Height \\ 2)
'繪制坐標原點和幅度標記
g.DrawString(\"10.0\", myfont, Brushes.Red, rect1.Left - 30, rect1.Top - 10)
g.DrawString(\"-10.0\", myfont, Brushes.Red, rect1.Left - 30, rect1.Top + rect1.Height - 10)
g.DrawString(\"0.0\", myfont, Brushes.Red, rect1.Left - 20, rect1.Top + rect1.Height \\ 2 - 10)
PictureBox1.Image = img
4 結論
本文介紹了以面向對象的方法建立一個滿足本校教學使用的計算機虛擬通信實驗系統(tǒng),采用模塊化設計思想,直觀的將波形、編碼結果、仿真圖形顯示出來。筆者主張在教學中軟硬互補,虛實結合,加強知識的理解力和學習的靈活性,取得更好的教學效果。
參考文獻:
[1] 潘新民.計算機通信技術[M].北京:電子工業(yè)出版社,2006.
[2] 徐照興.Visual Basic應用程序開發(fā)實例精講[M].北京:電子工業(yè)出版社,2008.
[3] 曹祖圣,等.Visual Basic.net程序設計經典[M].北京:科學出版社,2002.
[4] 申蔚,等.虛擬現(xiàn)實技術[M].北京:科學出版社,2009.