第一篇:TCP_UDP通信過程學習及實驗報告
1.當兩臺計算機分別和中繼器、二層交換機、三層交換、路由器相連時,請分別畫出計 算機與交換設備五層參考模型;
計算機A應用層計算機B應用層傳輸層傳輸層網絡層網絡層數據鏈路層數據鏈路層中繼器物理層物理層物理層 計算機A應用層計算機B應用層傳輸層傳輸層網絡層二層交換機數據鏈路層網絡層數據鏈路層數據鏈路層物理層物理層物理層 計算機A應用層計算機B應用層傳輸層三層交換機網絡層傳輸層網絡層網絡層數據鏈路層數據鏈路層數據鏈路層物理層物理層物理層
計算機A應用層計算機B應用層傳輸層路由器網絡層傳輸層網絡層網絡層數據鏈路層數據鏈路層數據鏈路層物理層物理層物理層
2.學習SOCKET編程,寫出TCP、UDP通信流程;將實例程序兩個同學一組,實現兩臺計 算機之間通信。并寫出學習報告;
(a)TCP通信流程 準備階段:
服務器程序首先進行初始化操作:(1)調用socket創建一個套接字
(2)函數bind將這個套接字與服務器公認地址綁定在一起
(3)函數listen將這個套接字轉換成傾聽套接字(listening socket)(4)調用函數accept來接受客戶機的請求。客戶機程序初始化操作:
(1)客戶機調用函數socket創建一個套接字(2)調用函數connect來與服務器建立連接。
連接建立之后,客戶機與服務器通過讀(read())、寫(write())套接字來進行通信。如下圖:
服務器端SocketTCP通信流程客戶端bindSocketListenconnectwritesendsendwritecloseclose(b)UDP通信流程 準備階段:
服務器程序首先進行初始化操作:(1)調用socket創建一個套接字
(2)函數bind將這個套接字與服務器公認地址綁定在一起 客戶機程序初始化操作:
(1)客戶機調用函數socket創建一個套接字
客戶機與服務器通過讀(sendto())、寫(recvfrom())套接字來進行通信。如下圖: 服務器端SocketUDP通信流程客戶端bindSocketrecvfromsendtosendtorecvfromcloseclose
(c)實驗報告
實現兩臺計算機之間通信
(1)首先在cmd下輸入ipconfig獲取本機IP信息,如下所示:
(2)然后記錄相應的IP地址,再將客戶端代碼中的*Serip=”127.0.0.1”中的”127.0.0.1”替換為該IP地址
(3)先運行服務器端,再運行客戶端,運行截圖如下所示
(d)代碼中遇到的問題
在測試代碼的時候遇到了很多錯誤:
(1)#include
(4)因為我用的是codeblocks,然后在設置-編譯器-連接器設置-添加,添加libws2_32.a,我的libws2_32.a在cMinGWliblibws2_32.a下(d)個人感悟
通過這次對socket編程的學習,我對socked編程有了一個大致的了解,實現了初步的TCP和UDP形式的客戶端與服務器端的通信。這次實驗我對網絡編程產生了濃厚的興趣,同時提高了以后學習計算機網絡這門課的自信心。
第二篇:通信原理實驗報告
1,必做題目
1.1 無線信道特性分析 1.1.1 實驗目的
1)了解無線信道各種衰落特性;
2)掌握各種描述無線信道特性參數的物理意義;
3)利用MATLAB中的仿真工具模擬無線信道的衰落特性。
1.1.2 實驗內容
1)基于simulink搭建一個QPSK發送鏈路,QPSK調制信號經過了瑞利衰落信道,觀察信號經過衰落前后的星座圖,觀察信道特性。仿真參數:信源比特速率為500kbps,多徑相對時延為[0 4e-06 8e-06 1.2e-05]秒,相對平均功率為[0-3-6-9]dB,最大多普勒頻移為200Hz。例如信道設置如下圖所示:
移動通信系統
1.1.3 實驗作業
1)根據信道參數,計算信道相干帶寬和相干時間。
fm=200;t=[0 4e-06 8e-06 1.2e-05];p=[10^0 10^-0.3 10^-0.6 10^-0.9];t2=t.^2;E1=sum(p.*t2)/sum(p);E2=sum(p.*t)/sum(p);rms=sqrt(E1-E2.^2);B=1/(2*pi*rms)T=1/fm
2)設置較長的仿真時間(例如10秒),運行鏈路,在運行過程中,觀察并分析瑞利信道輸出的信道特征圖(觀察Impulse Response(IR)、Frequency Response(FR)、IR Waterfall、Doppler Spectrum、Scattering Function)。(配合截圖來分析)Impulse Response(IR)
移動通信系統
從沖擊響應可以看出,該信道有四條不同時延的路徑。多徑信道產生隨機衰落,信道沖擊響應幅值隨機起伏變化。可以看出,該信道的沖激響應是多路沖激響應函數的疊加,產生嚴重的碼間干擾。Frequency Response(FR)
頻率響應特性圖不再是平坦的,體現出了多徑信道的頻率選擇性衰落。
移動通信系統
IR Waterfall
頻率展寬后,信號的沖激響應不再平坦,是由于多徑信道中不同信道的疊加影響
Doppler Spectrum
由于多普勒效應,接受信號的功率譜展寬擴展到fc-fm至fc+fm范圍。
移動通信系統
3)觀察并分析信號在經過瑞利衰落信道前后的星座圖變化(截圖并解釋)。
前
標準的QPSK星座圖,4個相位 后
移動通信系統
信號經過多徑信道后,相位和幅值均發生了隨機變化,信號不再分布在四個點附近,可以看出信號質量很差。說明多徑信道對信號產生了巨大的干擾。PSK/QPSK通信鏈路搭建與誤碼性能分析
1.2BPSK/QPSK通信鏈路搭建與誤碼性能分析 1.2.1實驗目的
掌握基于simulink的BPSK、QPSK典型通信系統的鏈路實現,仿真BPSK/QPSK信號在AWGN信道、單徑瑞利衰落信道下的誤碼性能。
1.2.2實驗作業
1)基于simulink搭建BPSK/QPSK通信鏈路,經過AWGN信道,接收端相干解調,仿真并繪出BPSK和QPSK信號在EbN0為0~10dB時(間隔:
移動通信系統
1dB)誤碼性能曲線。仿真參數:
a)仿真點數:106
b)信源比特速率:1Mbps。
Bpsk通信鏈路
QPSK通信鏈路
BPSK AWGN參數
移動通信系統
QPSK AWGN參數
用bertool畫出BPSK信號的誤碼率曲線(0~10dB)
移動通信系統
由此可見BPSK和QPSK的在同一Eb/No時誤比特率基本一樣,這與理論分析一致
2)在1的基礎上,信號先經過平坦(單徑)瑞利衰落,再經過AWGN信道,假設接收端通過理想信道估計獲得了信道衰落值(勾選衰落信道模塊的“Complex path gain port”)。仿真并繪出BPSK和QPSK信號在EbN0為0~40dB時(間隔:5dB)誤碼性能曲線。信道仿真參數:最大多普勒頻移為100Hz。
BPSK通信鏈路
移動通信系統
QPSK通信鏈路
瑞利單徑信道參數
移動通信系統
QPSK AWGN參數
移動通信系統
BPSK AWGN參數
BPSK/QPSK 0-40db誤碼率曲線
BPSK和QPSK在同一Eb/No的誤比特率基本一致,這和理論基本一致
移動通信系統
2、分組題目
2.1SIMO系統性能仿真分析 2.1.1實驗目的
1.掌握基于simulink的單發多收(SIMO)16QAM仿真通信鏈路;
2.仿真SIMO 16QAM信號在單徑瑞利衰落信道下,不同接收分集數、不同合并方式下的誤比特率性能。
2.1.2實驗內容
1.掌握單發多收的原理,利用分集技術,搭建單發多收通信系統框圖。2.利用MATLAB中simulink所包含的通信系統模塊搭建基于各種分集技術類型的單發多收通信鏈路。
3.比較分析不同接收分集數、不同合并方式下的誤比特率性能。
2.1.3實驗原理
移動信道的多徑傳播引起的瑞利衰落、時延擴展以及伴隨接收機移動過程產生的多普勒頻移使接收信號受到嚴重的衰落;陰影效應會使接收的信號過弱而造成信號的中斷;信道存在噪聲和干擾,也會使接收信號失真而造成誤碼。因此,在移動通信系統中需要采取一些數字信號處理技術來改善接收信號的質量。其中,多天線分集接收技術就是一個非常重要且常見的方法。
分集接收的基本思想就是把接收到的多個衰落獨立的信號加以處理,合理地利用這些信號的能量來改善接收信號的質量。
分集技術總體來說分為兩類,針對陰影衰落的宏觀分集和針對微觀衰落的微觀分集。本實驗主要注重微觀分集。分集技術對信號的處理包含兩個過程,首 先是要獲得M個相互獨立的多徑信號分量,然后對它們進行處理以獲得信噪比 的改善,這就是合并技術。合并方式共分為三種,選擇合并、等增益合并和最大 比值合并。
選擇合并是最簡單的一種,在所接收的多路信號中,合并器選擇信噪比最高的一路輸出。最大比值合并會將所有路信號的能量和信息都利用上,會明顯改善
移動通信系統
合并器輸出的信噪比。基于這樣的考慮,最大比值合并把各支路信號加權后合并。各路信號權值用數學方法得出。等增益合并性能上不及最大比值合并,但是卻容易實現得多,其主要思想是將各路信號賦予相同權值相加。2.1.4 實驗仿真 2.1.4.1實驗框圖
系統整體框圖
移動通信系統
接收分集
二分集等增益合并
移動通信系統
三分集等增益合并
二分集選擇合并
三分集選擇合并
移動通信系統
二分集最大比值合并
三分集最大比值合并
2.1.4.2 仿真結果
從圖中可以看到,通過等增益合并方式能夠顯著的減小誤碼率,并且隨著Eb/N0 的增加而更好的顯示出性能優越;相對比不同的分集數可看出,分集數的增加能 有效地減小誤碼率。
移動通信系統
由圖可看到,三種合并方式都能顯著地減小誤碼率,在分集數為二的情況下,效果最好的是最大比值合并,等增益次之,都優于選擇合并;
2.1.5 實驗結論
移動信道的多徑傳播引起的瑞利衰落、時延擴展以及伴隨接收機移動過程產生的多普勒頻移使接收信道受到嚴重的衰落,所以必須采取相應的抗衰落的措施來提高系統性能。在本次課程設計中,我們小組學習研究了對三種不同分集合并技術在改善系統性能方面的效果的課題實驗。通過仿真實驗得出的不同分集的誤碼率,分集技術能有效地減小誤碼率從而提高系統性能;而通過對誤碼率曲線的分析,可以看出:對于三種分集合并技術,等分集前提下,最大比值合并優于等增益合并優于選擇合并;而對于同一合并技術,增加分集數能優化其性能。
2.2直接序列擴頻系統性能分析
2.2.1實驗目的
1)了解直接序列擴頻系統的原理
2)基于simulink搭建直接序列擴頻仿真通信鏈路,仿真分析在不同信道條件下的誤比特率性能。
3)觀察體會直接序列擴頻對誤碼率的改善程度 2.2.2 實驗內容
1)搭建基于simulink搭建直接序列擴頻仿真通信鏈路,觀察頻譜和波形 2)仿真分析在不同信道條件下的誤比特率性能。
移動通信系統
2.2.3實驗原理
所謂直接序列擴頻,就是直接用具有高碼率的擴頻碼序列在發送端去擴展信號的頻譜。而在接收端,用相同的擴頻碼序列去進行解擴,把展寬的擴頻信號還原成原始的信息。
直擴系統的抗干擾能力是由接收機對干擾的抑制產生的,如果干擾信號的帶寬與信息帶寬相同(即窄帶),此干擾信號經過發送機偽噪聲碼調制后將展寬為與發送信號相同的帶寬,而其譜密度卻降低了若干倍。相反,直擴信號經偽噪聲碼解擴后變成了窄帶信息,從而使增益提高了若干倍。
實驗原理框圖
伯努利信源b(t)x(t)s(t)信道r(t)e(t)Tby(Tb)dt?判決0y(t)c(t)cos(wct)c(t)cos(wct)
直接序列擴頻通信系統
2.2.4實驗仿真
直接序列擴頻simulink仿真通信鏈路
a.伯努利序列參數和PN序列參數: 伯努利信源100bps
移動通信系統
PN序列2kbps
移動通信系統
b.擴頻前后頻譜變化: 擴頻前頻譜:
類似sinc函數的頻譜
擴頻后頻譜:
頻譜明顯展寬 功率譜密度降低
移動通信系統
擴頻調制后波形:
移動通信系統
解擴解調波形:
c.誤比特率
AWGN信道(仿真點數1e6)
移動通信系統
BPSK理論誤碼率(-7到10dB的誤比特率曲線)
通過兩者對比,我們可以發現直接序列擴頻通信系統對Eb/No的改善近似為13dB,這和理論分析出的值接近。
第三篇:通信網絡實驗報告
通信網絡實驗報告
實驗一 隱終端和暴露終端問題分析
一、實驗目的1、2、3、4、了解無線網絡中的載波檢測機制;
熟悉節點的傳輸范圍、沖突干擾范圍、載波檢測范圍和噪聲干擾范圍的概念; 了解載波檢測接入體制中存在的隱終端問題和暴露終端問題; 結合仿真實驗分析載波檢測無線網絡中的隱終端問題和暴露終端問題。
二、實驗結果
Node: 1, Layer: AppCbrClient,(0)Server address: 2 Node: 1, Layer: AppCbrClient,(0)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(0)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(0)Session status: Not closed Node: 1, Layer: AppCbrClient,(0)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(0)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(0)Throughput(bits per second): 409600 Node: 2, Layer: AppCbrServer,(0)Client address: 1 Node: 2, Layer: AppCbrServer,(0)First packet received at [s]: 0.007438001 Node: 2, Layer: AppCbrServer,(0)Last packet received at [s]: 99.999922073 Node: 2, Layer: AppCbrServer,(0)Average end-to-end delay [s]: 0.739902205 Node: 2, Layer: AppCbrServer,(0)Session status: Not closed Node: 2, Layer: AppCbrServer,(0)Total number of bytes received: 4975616 Node: 2, Layer: AppCbrServer,(0)Total number of packets received: 9718 Node: 2, Layer: AppCbrServer,(0)Throughput(bits per second): 398078 Node: 3, Layer: AppCbrClient,(0)Server address: 4 Node: 3, Layer: AppCbrClient,(0)First packet sent at [s]: 0.000000000 Node: 3, Layer: AppCbrClient,(0)Last packet sent at [s]: 99.990000000 Node: 3, Layer: AppCbrClient,(0)Session status: Not closed Node: 3, Layer: AppCbrClient,(0)Total number of bytes sent: 5120000 Node: 3, Layer: AppCbrClient,(0)Total number of packets sent: 10000 Node: 3, Layer: AppCbrClient,(0)Throughput(bits per second): 409600 Node: 4, Layer: AppCbrServer,(0)Client address: 3 Node: 4, Layer: AppCbrServer,(0)First packet received at [s]: 0.003058001 Node: 4, Layer: AppCbrServer,(0)Last packet received at [s]: 99.993058001 Node: 4, Layer: AppCbrServer,(0)Average end-to-end delay [s]: 0.003119031 Node: 4, Layer: AppCbrServer,(0)Session status: Not closed Node: 4, Layer: AppCbrServer,(0)Total number of bytes received: 5120000 Node: 4, Layer: AppCbrServer,(0)Total number of packets received: 10000 Node: 4, Layer: AppCbrServer,(0)Throughput(bits per second): 409612
三、實驗結果分析
通過仿真結果可以看出,節點2無法收到數據。由于節點3是節點1的一個隱終端,節點1無法通過物理載波檢測偵聽到節點3的發送,且節點3在節點2的傳輸范圍外,節點3無法通過虛擬載波檢測延遲發送,所以在節點1傳輸數據的過程中,節點3完成退避發送時將引起沖突。
四、思考題
1、RTS/CTS能完全解決隱終端問題嗎?如果不能,請說明理由。
從理論分析上看,RTS/CTS協議似乎可以完全解決數據鏈隱藏終端問題,然而在實際網絡中并非如此,尤其是在AdHoc 網絡中。以節點為中心,存在發送區域和干擾區域。在發送區域內,在沒有干擾的情況下,數據包可正常收發;該區域的大小由站點的功率等參數確定,可視為定值。干擾區域是相對于接受節點而言的,在該區域內,節點可以受到來自非相關節點發送的數據的干擾,造成沖突、丟包。RTS/CTS對隱藏終端問題的屏蔽實際上是建立在兩區域相等的基礎上的,即所有的隱藏終端都位于接受節點發送范圍內。此中假設并不成立,干擾區域與收發節點間距有關。
實驗二 無線局域網DCF協議飽和吞吐量驗證
一、實驗目的
1、了解IEEE 802.11 DCF 協議的基本原理。
2、理解網絡飽和吞吐量的概念。
3、通過仿真對DCF協議飽和吞吐量的二維馬爾可夫鏈模型進行驗證。
二、實驗結果
Node: 1, Layer: AppCbrClient,(4)Server address: 55 Node: 1, Layer: AppCbrClient,(4)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(4)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(4)Session status: Not closed Node: 1, Layer: AppCbrClient,(4)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(4)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(4)Throughput(bits per second): 409600 Node: 1, Layer: AppCbrClient,(3)Server address: 54 Node: 1, Layer: AppCbrClient,(3)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(3)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(3)Session status: Not closed Node: 1, Layer: AppCbrClient,(3)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(3)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(3)Throughput(bits per second): 409600 Node: 1, Layer: AppCbrClient,(2)Server address: 53 Node: 1, Layer: AppCbrClient,(2)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(2)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(2)Session status: Not closed Node: 1, Layer: AppCbrClient,(2)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(2)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(2)Throughput(bits per second): 409600 Node: 1, Layer: AppCbrClient,(1)Server address: 52 Node: 1, Layer: AppCbrClient,(1)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(1)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(1)Session status: Not closed Node: 1, Layer: AppCbrClient,(1)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(1)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(1)Throughput(bits per second): 409600 Node: 1, Layer: AppCbrClient,(0)Server address: 51 Node: 1, Layer: AppCbrClient,(0)First packet sent at [s]: 0.000000000 Node: 1, Layer: AppCbrClient,(0)Last packet sent at [s]: 99.990000000 Node: 1, Layer: AppCbrClient,(0)Session status: Not closed Node: 1, Layer: AppCbrClient,(0)Total number of bytes sent: 5120000 Node: 1, Layer: AppCbrClient,(0)Total number of packets sent: 10000 Node: 1, Layer: AppCbrClient,(0)Throughput(bits per second): 409600 Node: 51, Layer: AppCbrServer,(0)Client address: 1 Node: 51, Layer: AppCbrServer,(0)First packet received at [s]: 0.003056858 Node: 51, Layer: AppCbrServer,(0)Last packet received at [s]: 99.995493030 Node: 51, Layer: AppCbrServer,(0)Average end-to-end delay [s]: 0.351972641 Node: 51, Layer: AppCbrServer,(0)Session status: Not closed Node: 51, Layer: AppCbrServer,(0)Total number of bytes received: 5102592 Node: 51, Layer: AppCbrServer,(0)Total number of packets received: 9966 Node: 51, Layer: AppCbrServer,(0)Throughput(bits per second): 408219 Node: 52, Layer: AppCbrServer,(1)Client address: 1 Node: 52, Layer: AppCbrServer,(1)First packet received at [s]: 0.006449537 Node: 52, Layer: AppCbrServer,(1)Last packet received at [s]: 99.998965709 Node: 52, Layer: AppCbrServer,(1)Average end-to-end delay [s]: 0.355584451 Node: 52, Layer: AppCbrServer,(1)Session status: Not closed Node: 52, Layer: AppCbrServer,(1)Total number of bytes received: 5102592 Node: 52, Layer: AppCbrServer,(1)Total number of packets received: 9966 Node: 52, Layer: AppCbrServer,(1)Throughput(bits per second): 408233 Node: 53, Layer: AppCbrServer,(2)Client address: 1 Node: 53, Layer: AppCbrServer,(2)First packet received at [s]: 0.010001809 Node: 53, Layer: AppCbrServer,(2)Last packet received at [s]: 99.992000125 Node: 53, Layer: AppCbrServer,(2)Average end-to-end delay [s]: 0.358534977 Node: 53, Layer: AppCbrServer,(2)Session status: Not closed Node: 53, Layer: AppCbrServer,(2)Total number of bytes received: 3926016 Node: 53, Layer: AppCbrServer,(2)Total number of packets received: 7668 Node: 53, Layer: AppCbrServer,(2)Throughput(bits per second): 314112 Node: 54, Layer: AppCbrServer,(3)Client address: 1 Node: 54, Layer: AppCbrServer,(3)First packet received at [s]: 0.013774900 Node: 54, Layer: AppCbrServer,(3)Last packet received at [s]: 0.773715844 Node: 54, Layer: AppCbrServer,(3)Average end-to-end delay [s]: 0.184107930 Node: 54, Layer: AppCbrServer,(3)Session status: Not closed Node: 54, Layer: AppCbrServer,(3)Total number of bytes received: 22016 Node: 54, Layer: AppCbrServer,(3)Total number of packets received: 43 Node: 54, Layer: AppCbrServer,(3)Throughput(bits per second): 1761 Node: 55, Layer: AppCbrServer,(4)Client address: 1 Node: 55, Layer: AppCbrServer,(4)First packet received at [s]: 0.017127686 Node: 55, Layer: AppCbrServer,(4)Last packet received at [s]: 0.777148630 Node: 55, Layer: AppCbrServer,(4)Average end-to-end delay [s]: 0.187729553 Node: 55, Layer: AppCbrServer,(4)Session status: Not closed Node: 55, Layer: AppCbrServer,(4)Total number of bytes received: 22016 Node: 55, Layer: AppCbrServer,(4)Total number of packets received: 43 Node: 55, Layer: AppCbrServer,(4)Throughput(bits per second): 1761
三、實驗結果分析
各發送節點發包間隔較大,當網絡中發送節點較少時,網絡還未飽和。逐漸往網絡中增加負載,網絡總吞吐量逐漸增大,之后,網絡吞吐量逐漸趨向于平穩,此時,網絡即達到了飽和狀態。
四、思考題
1、總結IEEE 802.11DCF協議飽和吞吐量和哪些因素有關。
任選一個時隙,網絡中有節點在發送數據的概率 當有節點在發送數據包時,數據包發送成功的概率 數據包發送成功和發送失敗所需的時間
2、為什么在數據包長度較長時,采用RTS/CTS模式更合理?
“隱藏終端”多發生在大型單元中(一般在室外環境),這將帶來效率損失,并且需要錯誤恢復機制。當需要傳送大容量文件時,尤其需要杜絕“隱藏終端”現象的發生。
實驗三 動態源路由協議路由選擇驗證
一、實驗目的1、2、了解DSR路由協議的優缺點。
理解DSR路由協議中路由發現過程和路由維護過程。
3、掌握DSR路由協議性能的仿真分析方法。
二、實驗結果 Time(s): 1.000001000, Node: 1, Route path: 2 Time(s): 2.000001000, Node: 1, Route path: 2 Time(s): 3.000001000, Node: 1, Route path: 2 Time(s): 4.000001000, Node: 1, Route path: 2 Time(s): 5.000001000, Node: 1, Route path: 2 Time(s): 6.000001000, Node: 1, Route path: 2 Time(s): 7.000001000, Node: 1, Route path: 2 Time(s): 8.000001000, Node: 1, Route path: 4-2 Time(s): 9.000001000, Node: 1, Route path: 4-2 Time(s): 10.000001000, Node: 1, Route path: 4-2 Time(s): 11.000001000, Node: 1, Route path: 4-2 Time(s): 12.000001000, Node: 1, Route path: 4-2 Time(s): 13.000001000, Node: 1, Route path: 4-2 Time(s): 14.000001000, Node: 1, Route path: 4-2 Time(s): ***0, Node: 1, Route path: 4-2 Time(s): 16.000001000, Node: 1, Route path: 4-2 Time(s): 17.000001000, Node: 1, Route path: 4-2 Time(s): 18.000001000, Node: 1, Route path: 4-2 Time(s): 19.000001000, Node: 1, Route path: 4-2 Time(s): 20.000001000, Node: 1, Route path: 4-2 Time(s): 21.000001000, Node: 1, Route path: 4-2 Time(s): 22.000001000, Node: 1, Route path: 4-2 Time(s): 23.000001000, Node: 1, Route path: 4-2 Time(s): 24.000001000, Node: 1, Route path: 4-2 Time(s): 25.000001000, Node: 1, Route path: 4-2 Time(s): 26.000001000, Node: 1, Route path: 4-2 Time(s): 27.000001000, Node: 1, Route path: 4-2 Time(s): 28.000001000, Node: 1, Route path: 4-2 Time(s): 29.000001000, Node: 1, Route path: 4-2 Time(s): 30.000001000, Node: 1, Route path: 4-2 Time(s): 31.000001000, Node: 1, Route path: 4-2 Time(s): 32.000001000, Node: 1, Route path: 4-2 Time(s): 33.000001000, Node: 1, Route path: 4-2 Time(s): 34.000001000, Node: 1, Route path: 4-2 Time(s): 35.000001000, Node: 1, Route path: 4-2 Time(s): 36.000001000, Node: 1, Route path: 4-2 Time(s): 37.000001000, Node: 1, Route path: 4-2 Time(s): 38.000001000, Node: 1, Route path: 5-4-2 Time(s): 39.000001000, Node: 1, Route path: 5-4-2 Time(s): 40.000001000, Node: 1, Route path: 5-4-2 Time(s): 41.000001000, Node: 1, Route path: 5-4-2 Time(s): 42.000001000, Node: 1, Route path: 5-4-2 Time(s): 43.000001000, Node: 1, Route path: 5-4-2 Time(s): 44.000001000, Node: 1, Route path: 5-4-2 Time(s): 45.000001000, Node: 1, Route path: 5-4-2 Time(s): 46.000001000, Node: 1, Route path: 5-4-2 Time(s): 47.000001000, Node: 1, Route path: 5-4-2 Time(s): 48.000001000, Node: 1, Route path: 5-4-2 Time(s): 49.000001000, Node: 1, Route path: 5-4-2 Time(s): 50.000001000, Node: 1, Route path: 5-4-2 Time(s): 51.000001000, Node: 1, Route path: 5-4-2 Time(s): 52.000001000, Node: 1, Route path: 5-4-2 Time(s): 53.000001000, Node: 1, Route path: 5-4-2 Time(s): 54.000001000, Node: 1, Route path: 5-4-2 Time(s): 55.000001000, Node: 1, Route path: 5-4-2 Time(s): 56.000001000, Node: 1, Route path: 5-4-2 Time(s): 57.000001000, Node: 1, Route path: 5-4-2 Time(s): 58.000001000, Node: 1, Route path: 5-4-2 Time(s): 59.000001000, Node: 1, Route path: 5-4-2 Time(s): 60.000001000, Node: 1, Route path: 5-4-2 Time(s): 61.000001000, Node: 1, Route path: 5-4-2 Time(s): 62.000001000, Node: 1, Route path: 5-4-2 Time(s): 63.000001000, Node: 1, Route path: 5-4-2 Time(s): 64.000001000, Node: 1, Route path: 5-4-2 Time(s): 65.000001000, Node: 1, Route path: 5-4-2 Time(s): 66.000001000, Node: 1, Route path: 5-4-2 Time(s): 67.000001000, Node: 1, Route path: 5-4-2 Time(s): 68.000001000, Node: 1, Route path: 3-2 Time(s): 69.000001000, Node: 1, Route path: 3-2 Time(s): 70.000001000, Node: 1, Route path: 3-2 Time(s): 71.000001000, Node: 1, Route path: 3-2 Time(s): 72.000001000, Node: 1, Route path: 3-2 Time(s): 73.000001000, Node: 1, Route path: 3-2 Time(s): 74.000001000, Node: 1, Route path: 3-2 Time(s): 75.000001000, Node: 1, Route path: 3-2 Time(s): 76.000001000, Node: 1, Route path: 3-2 Time(s): 77.000001000, Node: 1, Route path: 3-2 Time(s): 78.000001000, Node: 1, Route path: 3-2 Time(s): 79.000001000, Node: 1, Route path: 3-2 Time(s): 80.000001000, Node: 1, Route path: 3-2 Time(s): 81.000001000, Node: 1, Route path: 3-2 Time(s): 82.000001000, Node: 1, Route path: 3-2 Time(s): 83.000001000, Node: 1, Route path: 3-2 Time(s): 84.000001000, Node: 1, Route path: 3-2 Time(s): 85.000001000, Node: 1, Route path: 3-2 Time(s): 86.000001000, Node: 1, Route path: 3-2 Time(s): 87.000001000, Node: 1, Route path: 3-2 Time(s): 88.000001000, Node: 1, Route path: 3-2 Time(s): 89.000001000, Node: 1, Route path: 3-2 Time(s): 90.000001000, Node: 1, Route path: 3-2 Time(s): 91.000001000, Node: 1, Route path: 3-2 Time(s): 92.000001000, Node: 1, Route path: 3-2 Time(s): 93.000001000, Node: 1, Route path: 2 Time(s): 94.000001000, Node: 1, Route path: 2 Time(s): 95.000001000, Node: 1, Route path: 2 Time(s): 96.000001000, Node: 1, Route path: 2 Time(s): 97.000001000, Node: 1, Route path: 2 Time(s): 98.000001000, Node: 1, Route path: 2 Time(s): 99.000001000, Node: 1, Route path: 2
三、實驗結果分析
仿真過程中路由表變化:2,4-2,5-4-2,3-2,2。當節點[1]在節點[2]的傳輸范圍內時,節點[1]和[2]之間直接通信,不需要中間節點。隨著節點[1]的移動,節點[1]離開節點[2]的傳輸范圍并漸漸遠離,最后又逐漸靠近。在節點[1]離開節點[2]的傳輸范圍,節點[1]和[2]需要通過中間節點來通信,而且節點[1]離節點[2]越遠,需要的中間節點越多。
第四篇:通信原理實驗報告
通信原理實驗報告
中南大學
《通信原理》實驗報告
姓 名 班 級 學 號
課程名稱 指導教師
通信原理 董健
通信原理實驗報告
目錄
通信原理實驗報告
實驗一 數字基帶信號
一、實驗目的
1、了解單極性碼、雙極性碼、歸零碼、不歸零碼等基帶信號波形特點。
2、掌握AMI、HDB3碼的編碼規則。
3、掌握從HDB3碼信號中提取位同步信號的方法。
4、掌握集中插入幀同步碼時分復用信號的幀結構特點。
5、了解HDB3(AMI)編譯碼集成電路CD22103。
二、實驗內容
1、用示波器觀察單極性非歸零碼(NRZ)、傳號交替反轉碼(AMI)、三階高密度雙極性碼(HDB3)、整流后的AMI碼及整流后的HDB3碼。
2、用示波器觀察從HDB3碼中和從AMI碼中提取位同步信號的電路中有關波形。、用示波器觀察HDB3、AMI譯碼輸出波形
三、實驗步驟
1、熟悉數字信源單元和HDB3編譯碼單元的工作原理。接好電源線,打開電源開關。
2、用示波器觀察數字信源單元上的各種信號波形。
用信源單元的FS作為示波器的外同步信號,示波器探頭的地端接在實驗板任何位置的GND點均可,進行下列觀察:
(1)示波器的兩個通道探頭分別接信源單元的NRZ-OUT和BS-OUT,對照發光二極管的發光狀態,判斷數字信源單元是否已正常工作(1碼對應的發光管亮,0碼對應的發光管熄);
通信原理實驗報告
(2)用開關K1產生代碼×1110010(×為任意代碼,1110010為7位幀同步碼),K2、K3產生任意信息代碼,觀察本實驗給定的集中插入幀同步碼時分復用信號幀結構,和NRZ碼特點。
通信原理實驗報告
3、用示波器觀察HDB3編譯單元的各種波形。仍用信源單元的FS信號作為示波器的外同步信號。
(1)示波器的兩個探頭CH1和CH2分別接信源單元的NRZ-OUT和HDB3單元的AMI-HDB3,將信源單元的K1、K2、K3每一位都置1,觀察全1碼對應的AMI碼(開關K4置于左方AMI端)波形和HDB3碼(開關K4置于右方HDB3端)波形。再將K1、K2、K3置為全0,觀察全0碼對應的AMI碼和HDB3碼。觀察時應注意AMI、HDB3碼的碼元都是占空比為0.5的雙極性歸零矩形脈沖。編碼輸出AMI-HDB3比信源輸入NRZ-OUT延遲了4個碼元。
全1碼對應的AMI碼
全1碼對應的HDB3碼
通信原理實驗報告
全0碼對應的AMI碼
(2)將K1、K2、K3置于0111 0010 0000 1100 0010 0000態,觀察并記錄對應的AMI碼
通信原理實驗報告
和HDB3碼。
AMI碼
HDB3碼
通信原理實驗報告
(3)將K1、K2、K3置于任意狀態,K4先置左方(AMI)端再置右方(HDB3)端,CH1接信源單元的NRZ-OUT,CH2依次接HDB3單元的DET、BPF、BS-R和NRZ,觀察這些信號波形。
CH1接信源單元的NRZ-OUT,CH2依次接AMI單元的DET
CH1接信源單元的NRZ-OUT,CH2依次接HDB3單元的DET HDB3
通信原理實驗報告
CH1接信源單元的NRZ-OUT,CH2依次接AMI單元的BPF
CH1接信源單元的NRZ-OUT,CH2依次接HDB3單元的BPF
CH1接信源單元的NRZ-OUT,CH2依次接AMI單元的BS-R
通信原理實驗報告
CH1接信源單元的NRZ-OUT,CH2依次接HDB3單元的BS-R
通信原理實驗報告
CH1接信源單元的NRZ-OUT,CH2依次接AMI單元的NRZ
CH1接信源單元的NRZ-OUT,CH2依次接HDB3單元的NRZ
通信原理實驗報告
四、根據實驗現象回答
1.根據實驗觀察和紀錄回答:
(1)不歸零碼和歸零碼的特點是什么?
不歸零碼特點:脈沖寬度τ 等于碼元寬度Ts 歸零碼特點:τ <Ts(2)與信源代碼中的“1”碼相對應的AMI碼及HDB3碼是否一定相同?為什么? 與信源代碼中的“1”碼對應的AMI 碼及HDB3 碼不一定相同。因信源代碼中的 “1”碼對應的AMI 碼“1”、“-1”相間出現,而HDB3 碼中的“1”,“-1”不但與信源代碼中的“1”碼有關,而且還與信源代碼中的“0”碼有關。
舉例: 信源代碼:
***001 AMI: 10000-110000-1000001 HDB3:10001-11-100-100010-1 2.總結從HDB3碼中提取位同步信號的原理。HDB3位同步信號
整流窄帶帶通濾波器整形移相
HDB3中不含有離散譜fS(fS在數值上等于碼速率)成分。整流后變為一個占空比等于0.5的單極性歸零碼,其連0個數不超過3,頻譜中含有較強的離散譜fS成分,故可 通過窄帶帶通濾波器得到一個相位抖動較小的正弦信號,再經過整形、移相后即可得到合乎要求的位同步信號。
通信原理實驗報告
實驗二 數字調制
一、實驗目的
1、掌握絕對碼、相對碼概念及它們之間的變換關系。
2、掌握用鍵控法產生2ASK、2FSK、2DPSK信號的方法。
3、掌握相對碼波形與2PSK信號波形之間的關系、絕對碼波形與2DPSK信號波形之間的關系。
4、了解2ASK、2FSK、2DPSK信號的頻譜與數字基帶信號頻譜之間的關系。
二、實驗內容
1、用示波器觀察絕對碼波形、相對碼波形。
2、用示波器觀察2ASK、2FSK、2PSK、2DPSK信號波形。
3、用頻譜儀觀察數字基帶信號頻譜及2ASK、2FSK、2DPSK信號的頻譜。
三、實驗步驟
本實驗使用數字信源單元及數字調制單元。
1、熟悉數字調制單元的工作原理。接通電源,打開實驗箱電源開關。將數字調制單元單刀雙擲開關K7置于左方N(NRZ)端。
2、用數字信源單元的FS信號作為示波器的外同步信號,示波器CH1接信源單元的(NRZ-OUT)AK(即調制器的輸入),CH2接數字調制單元的BK,信源單元的K1、K2、K3置于任意狀態(非全0),觀察AK、BK波形,總結絕對碼至相對碼變換規律以及從相對碼至絕對碼的變換規律 AK波形
通信原理實驗報告
BK波形
3、示波器CH1接2DPSK,CH2分別接AK及BK,觀察并總結2DPSK信號相位變化與絕對碼的關系以及2DPSK信號相位變化與相對碼的關系(此關系即是2PSK信號相位變化與信源代碼的關系)。注意:2DPSK信號的幅度比較小,要調節示波器的幅度旋鈕,而且信號本身幅度可能不一致,但這并不影響信息的正確傳輸。
CH1接2DPSK,CH2接AK
通信原理實驗報告
CH1接2DPSK,CH2接BK
4、示波器CH1接AK、CH2依次接2FSK和2ASK;觀察這兩個信號與AK的關系(注意“1”碼與“0”碼對應的2FSK信號幅度可能不相等,這對傳輸信息是沒有影響的)示波器CH1接AK、CH2接2FSK
通信原理實驗報告
示波器CH1接AK、CH2接2ASK
四、實驗總結
1、設絕對碼為全
1、全0或1001 1010,求相對碼。
2、設相對碼為全
1、全0或1001 1010,求絕對碼。
3、設信息代碼為1001 1010,假定載頻分別為碼元速率的1倍和1.5倍,畫出2DPSK及2PSK信號波形。
4、總結絕對碼至相對碼的變換規律、相對碼至絕對碼的變換規律并設計一個由相對碼至絕對碼的變換電路。
通信原理實驗報告
實驗三 模擬鎖相環與載波同步
一、實驗目的
1.掌握模擬鎖相環的工作原理,以及環路的鎖定狀態、失鎖狀態、同步帶、捕捉帶等基本概念。
2.掌握用平方環法從2DPSK信號中提取相干載波的原理及模擬鎖相環的設計方法。
3.了解相干載波相位模糊現象產生的原因。
二、實驗內容
1.觀察模擬鎖相環的鎖定狀態、失鎖狀態及捕捉過程。2.觀察環路的捕捉帶和同步帶。
3.用平方環法從2DPSK信號中提取載波同步信號,觀察相位模糊現象。
三、實驗步驟
本實驗使用數字信源單元、數字調制單元和載波同步單元。
1.熟悉載波同步單元的工作原理。接好電源線,打開實驗箱電源開關。
2.檢查要用到的數字信源單元和數字調制單元是否工作正常(用示波器觀察信源NRZ-OUT(AK)和調制2DPSK信號有無,兩者邏輯關系正確與否)。
3.用示波器觀察載波同步模塊鎖相環的鎖定狀態、失鎖狀態,測量環路的同步帶、捕捉帶。
(1)觀察鎖定狀態與失鎖狀態
打開電源后用示波器觀察ud,若ud為直流,則調節載波同步模塊上的可變電容C34,ud隨C34減小而減小,隨C34增大而增大(為什么?請思考),這說明環路處于鎖定狀態。用示波器同時觀察調制單元的CAR和載波同步單元的CAR-OUT,可以看到兩個信號頻率相等。若有頻率計則可分別測量CAR和CAR-OUT頻率。在鎖定狀態下,向某一方向變化C34,可使ud由直流變為交流,CAR和CAR-OUT頻率不再相等,環路由鎖定狀態變為失鎖。
接通電源后ud也可能是差拍信號,表示環路已處于失鎖狀態。失鎖時ud的最大值和最小值就是鎖定狀態下ud的變化范圍(對應于環路的同步范圍)。環路處于失鎖狀態時,CAR和CAR-OUT頻率不相等。調節C34使ud的差拍頻率降低,當頻率降低到某一程度時ud會突然變成直流,環路由失鎖狀態變為鎖定狀態。
4.觀察環路的捕捉過程
先使環路處于失鎖定狀態,慢慢調節C34,使環路剛剛進入鎖定狀態后,關閉電源開關,然后再打開電源,用示波器觀察ud,可以發現ud由差拍信號變為直流的變化瞬態過程。ud的這種變化表示了環路的捕捉過程。
通信原理實驗報告
5.觀察相干載波相位模糊現象
使環路鎖定,用示波器同時觀察調制單元的CAR和載波同步單元的CAR-OUT信號,反復斷開、接通電源可以發現這兩個信號有時同相、有時反相。
通信原理實驗報告
四、實驗總結
1.總結鎖相環鎖定狀態及失鎖狀態的特點。
答:模擬鎖相環鎖定的特點:輸入信號頻率與反饋信號的頻率相等,鑒相器輸出電壓為直流。模擬鎖相環失鎖的特點:鑒相器輸出電壓為不對稱的差拍電壓。2.設K0=18 HZ/V,根據實驗結果計算環路同步帶ΔfH及捕捉帶ΔfP。答:代入指導書“3式”計算得:v1?12v,則
fH?18?6?108Hz;v2?8v,則fp?18?4?72Hz
3.由公式?n?RCKdKo及??6811?n計算環路參數ωn和ζ,式中 Kd=6
2(R25?R68)C114
-6 V/rad,Ko=2π×18 rad/s.v,R25=2×10?,R68=5×10?,C11=2.2×10F。(fn=ωn/2π應遠小于碼速率,ζ應大于0.5)。
答:?n??n2??18?6.5fn??17.6Hz遠小于碼速率 ;?111rad43?62?(2?10?5?10)?2.2?105?103?2.2?10?6170.5(波特);???111?0.6
24.總結用平方環提取相干載波的原理及相位模糊現象產生的原因。
答:平方運算輸出信號中有2fc離散譜,模擬環輸出信號頻率等于2fc,二分頻,濾波后得到干擾波;?2電路有兩個初始狀態,導致提取的相干載波有兩種相反的相位狀態 5.設VCO固有振蕩頻率f0 不變,環路輸入信號頻率可以改變,試擬訂測量環路同步帶及捕捉帶的步驟。
答:環路處于鎖定狀態后,慢慢增大C34,使ud增大到鎖定狀態下的最大值ud1(此值不大于+12V);
① ud增大到鎖定狀態下的最大值ud1值為: 4.8 V
通信原理實驗報告
②
繼續增大C34,ud變為交流(上寬下窄的周期信號)。③ 環路失鎖。再反向調節減小C34,ud的頻率逐漸變低,不對稱程度越來越大。
④ 直至變為直流。記環路剛剛由失鎖狀態進入鎖定狀態時鑒相器輸出電壓為ud2;繼續減小C34,使ud減小到鎖定狀態下的最小值ud3;
環路剛剛由失鎖狀態進入鎖定狀態時鑒相器輸出電壓為ud2為:2.4 V ud減小到鎖定狀態下的最小值ud3為 :1.6 V ⑤ 再繼續減小C34,ud變為交流(下寬上窄的周期信號),環路再次失鎖。然后反向增大C34,記環路剛剛由失鎖狀態進入鎖定狀態時鑒相器輸出電壓為ud4。環路剛剛由失鎖狀態進入鎖定狀態時鑒相器輸出電壓為ud4的值為:4.4 V
通信原理實驗報告
實驗四 數字解調與眼圖
一、實驗目的
1.掌握2DPSK相干解調原理。
2.掌握2FSK過零檢測解調原理。
二、實驗內容
1.用示波器觀察2DPSK相干解調器各點波形。
2.用示波器觀察2FSK過零檢測解調器各點波形。3.用示波器觀察眼圖。
三、實驗步驟
1.復習前面實驗的內容并熟悉2DPSK解調單元及2FSK解調單元的工作原理,接通實驗箱電源。將數字調制單元單刀雙擲開關K7置于左方NRZ端。
2.檢查要用到的數字信源、數字調制及載波同步單元是否工作正常,保證載波同步單元處于同步態!
3.2DPSK解調實驗
(1)將數字信源單元的BS-OUT用信號連線連接到2DPSK解調單元的BS-IN點,以信源單元的FS信號作為示波器外同步信號,將示波器的CH1接數字調制單元的BK,CH2(建議使用示波器探頭的x10衰減檔)接2DPSK解調單元的MU。MU與BK同相或反相,其波形應接近圖4-3所示的理論波形。
(2)示波器的CH2接2DPSK解調單元的LPF,可看到LPF與MU同相。當一幀內BK中“1”碼“0”碼個數相同時,LPF的正、負極性信號電平與0電平對稱,否則不對稱
通信原理實驗報告
(3)示波器的CH1接VC,調節電位器R39,保證VC處在0電平(當BK中“1”與“0”等概時LPF的中值即為0電平),此即為抽樣判決器的最佳門限。
(4)觀察數字調制單元的BK與2DPSK解調單元的MU、LPF、BK之間的關系,再觀察數字信源單元中AK信號與2DPSK解調單元的MU、LPF、BK、AK-OUT信號之間的關系。BK與 2DPSK 的MU
BK與 2DPSK 的LPF
通信原理實驗報告
BK與 2DPSK 的BK
AK與 2DPSK 的MU
通信原理實驗報告
AK與 2DPSK 的LPF
AK與 2DPSK 的BK
通信原理實驗報告
AK與 2DPSK 的AK-OUT
(6)將數字調制單元單刀雙擲開關K7置于右方(M序列)端,此時數字調制器輸入的基帶信號是偽隨機序列(本系統中是M序列)信號。用示波器觀察2DPSK解調單元LPF點,即可看到無噪聲狀態下的眼圖。
通信原理實驗報告
4.2FSK解調實驗
將數字調制單元單刀雙擲開關K7還原置于左方NRZ端。將數字信源單元的BS-OUT用信號連線換接到2FSK解調單元的BS-IN點,示波器探頭CH1接數字調制單元中的AK,CH2分別接2FSK解調單元中的FD、LPF、CM及AK-OUT,觀察2FSK過零檢測解調器的解調過程(注意:低通及整形2都有倒相作用)。LPF的波形應接近圖4-4所示的理論波形。
AK與 2FSK的 FD
AK與 2FSK的 LPF
通信原理實驗報告
AK與 2FSK的 AK-OUT
四、實驗總結
1.設絕對碼為1001101,根據實驗觀察得到的規律,畫出如果相干載波頻率等于碼速率的1.5倍,在CAR-OUT與CAR同相、反相時2DPSK相干解調MU、LPF、BS、BK、AK波形示意圖,總結2DPSK克服相位模糊現象的機理。
當相干載波為-cosωt時,MU、LPF及BK與載波為cosωt時的狀態反相,但AK仍不變(第一位與BK的起始電平有關)。2DPSK系統之所能克服相位模糊現象,是因為在發端將絕對碼變為了相對碼,在收端又將相對碼變為絕對碼,載波相位模糊可 使解調出來的相對碼有兩種相反的狀態,但它們對應的絕對碼是相同的。
第五篇:串口通信實驗報告范文
華南農業大學
實驗報告
----------目錄----------
1、實驗任務和目的..............................................................................................................2、實驗準備..........................................................................................................................3、實驗步驟................................................................................................................................4、實驗分析與總結....................................................................................................................(1)、分析.............................................................................................................................(2)、總結.............................................................................................................................1、實驗任務和目的
了解串行通信的背景知識后,通過三線制制作一條串口通信線(PC-PC),并編程實現兩臺PC間通過RS-232C通信。要求兩臺PC機能進行實時的字符通信,并了解工業自動化控制中的基本通信方式。
2、實驗準備
1、檢查PC是否具有串行通信接口,并按其針腳類準備一條串口通信線纜。
2、串口包的安裝,下載javacomm20-win32.zip并解壓,將win32com.dll復制到
3、實驗步驟
1、將實驗所需RS-232纜線準備好,并將JAVA串口包復制到相應地目錄下。
2、查找有關串口通信的書籍以及在網上查找相應地串口通信代碼。
3、用JAVA編程軟件JCreator編寫代碼。
4、實驗分析與總結
(1)、分析
(I)、對串口讀寫之前需要先打開一個串口并檢測串口是否被占用: public void open(){//打開串口以及輸入輸出流
recieve=false;
try
{serialPort=(SerialPort)portId.open(“Serial Communication”, 2000);}
catch(PortInUseException e){System.out.println(“端口正被占用!”);}
try
{serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);}
catch(UnsupportedCommOperationException e){System.out.println(“不支持通信”);}
try
{
outputStream=serialPort.getOutputStream();
inputStream=serialPort.getInputStream();
1-完整運行程序如圖所示:
圖1
(2)、總結
通過本次串口實驗,我對串口通信的知識了解的更透徹,這是在剛開始對串口通信知識不了解的情況下就編程而造成許多錯誤之后才得到的結果。在網上查找資料的時候也接觸到了不少其他的編程語言例如VB,delphi,C#等,這也讓我對這些從沒有學過的語言有所了解,我想這些知識對以后的實驗工作都有幫助。
3--