實(shí)驗(yàn)六 數(shù)據(jù)鏈路層成幀技術(shù)的matlab仿真_第1頁(yè)
實(shí)驗(yàn)六 數(shù)據(jù)鏈路層成幀技術(shù)的matlab仿真_第2頁(yè)
實(shí)驗(yàn)六 數(shù)據(jù)鏈路層成幀技術(shù)的matlab仿真_第3頁(yè)
實(shí)驗(yàn)六 數(shù)據(jù)鏈路層成幀技術(shù)的matlab仿真_第4頁(yè)
實(shí)驗(yàn)六 數(shù)據(jù)鏈路層成幀技術(shù)的matlab仿真_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)五 數(shù)據(jù)鏈路層成幀的matlab仿真實(shí)驗(yàn)?zāi)康模毫私鈹?shù)據(jù)鏈路層成幀技術(shù)的實(shí)現(xiàn)原理掌握matlab編程,實(shí)現(xiàn)數(shù)據(jù)鏈路層成幀技術(shù)的仿真實(shí)驗(yàn)要求:掌握數(shù)據(jù)鏈路層成幀技術(shù)掌握matlab語(yǔ)言對(duì)于數(shù)據(jù)鏈路層成幀技術(shù)仿真的功能實(shí)驗(yàn)場(chǎng)景:二進(jìn)制碼流:01110010111111111111100111011111110分解標(biāo)志符:01111110二進(jìn)制碼流:0111001011111011111011100111011110110實(shí)驗(yàn)參考程序:%數(shù)據(jù)鏈路層成幀技術(shù)仿真% Author : Teacher Wei% Data : 2012 年 12 月 14 號(hào)clear all;N = 35;%碼個(gè)數(shù)b

2、= 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0; % N 個(gè)碼符c = dec2bin(b); %轉(zhuǎn)化成二進(jìn)制碼流num = 0;%計(jì)算1的個(gè)數(shù)len = 0;%新碼流的初始位置for i = 1 : Nlen = len + 1;%新碼流位置向后移一位d(len) = c(i);%將舊碼流的數(shù)據(jù)賦給對(duì)應(yīng)的新碼流if c(i) = dec2bin(1) %如果這個(gè)舊碼是1num = num + 1;%計(jì)數(shù)器加1if num = 5%如果計(jì)數(shù)器達(dá)到5len = len + 1;%新碼流后移一位d(le

3、n) = dec2bin(0); % 插入 0 值num = 0;%計(jì)數(shù)器歸零endelse%如果舊碼是0num = 0;%則計(jì)數(shù)器歸零endend程序設(shè)計(jì)思路:,數(shù)據(jù)鏈路層(二層)成幀分界標(biāo)志序列為01111110,數(shù)據(jù) 0000111111110101011111010在鏈路中傳輸?shù)臄?shù)據(jù)為000011111011101010111110010每隔5個(gè)1,就無(wú)條件插入一個(gè)0,這樣就避免了鏈路 中的傳輸數(shù)據(jù)和分界標(biāo)志序列有相同的字段,確定了 分界標(biāo)志序列的唯一性,這樣就可以識(shí)別每個(gè)幀的頭 部和尾部任務(wù):按實(shí)驗(yàn)場(chǎng)景完成對(duì)碼流成幀,要求在Matlab軟件的Editor編輯器中寫出程序,并執(zhí)行,觀察

4、更新結(jié)果和手工計(jì)算是否一致; %數(shù)據(jù)鏈路層成幀技術(shù)仿真 % Author : Teacher Wei% Data : 2012 年 12 月 14 號(hào)clear all;N = 35;%碼個(gè)數(shù)b = 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0; % N 個(gè)碼符c = dec2bin(b); %轉(zhuǎn)化成二進(jìn)制碼流num = 0;%計(jì)算1的個(gè)數(shù)len = 0;%新碼流的初始位置for i = 1 : Nlen = len + 1;%新碼流位置向后移一位d(len) = c(i);%將舊碼流的數(shù)據(jù)賦給對(duì)應(yīng)的

5、新碼流if c(i) = dec2bin(1) % 如果這個(gè)舊碼是1num = num + 1;% 計(jì)數(shù)器加1if num = 5%如果計(jì)數(shù)器達(dá)到5len = len + 1;%新碼流后移一位 d(len) = dec2bin(0); % 插入 0 值num = 0;%計(jì)數(shù)器歸零endelse%如果舊碼是0 endendnum = 0;%則計(jì)數(shù)器歸零 b b =Columns 1 through 2001111111101011011111Columns 21 through 35100111011111110 cc =01110010111111111111100111011111110 d

6、d =01110010111110111110111001110111110110手工計(jì)算:01110010111110111110111001110111110110所以結(jié)果一致將參考例程中的成幀處理模塊單獨(dú)提取出來(lái),做一個(gè)matlab函數(shù),要求函數(shù)名為frame_sim,輸入?yún)?shù)為old_stream,輸出參數(shù)為new_stream,做適當(dāng)?shù)淖⑨? 通過(guò)函數(shù)調(diào)用,重新完成實(shí)驗(yàn)場(chǎng)景要求的成幀,查看是否一致;function old_stream,new_stream=frame_sim(b) N =length(b);old_stream = dec2bin(b); % 轉(zhuǎn)化成二進(jìn)制碼流nu

7、m = 0;%計(jì)算1的個(gè)數(shù)len = 0;%新碼流的初始位置for i = 1 : Nlen = len + 1;%新碼流位置向后移一位new_stream(len) = old_stream(i); %將舊碼流的數(shù)據(jù)賦給對(duì)應(yīng)的新碼流if old_stream(i) 一一 dec2bin(1) % 如果這個(gè)舊碼是 1num 一 num + 1;%計(jì)數(shù)器加1if num 一一 5%如果計(jì)數(shù)器達(dá)到5len 一 len + 1;%新碼流后移一位new_stream(len)一 dec2bin(0); % 插入 0 值num 一 0;%計(jì)數(shù)器歸零endelse%如果舊碼是0endnum 一 0;%則計(jì)

8、數(shù)器歸零endb = 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0;old_stream,new_stream=frame_sim(b)old_stream =01110010111111111111100111011111110new_stream =01110010111110111110111001110111110110用函數(shù)調(diào)用計(jì)算教科書82頁(yè)中的作業(yè)題3以及例題1、2,寫出相應(yīng)的程序;例題1例題1:數(shù)據(jù) 011110111110111111011111110 1111111111110需要

9、發(fā)送,分界標(biāo)志序列為01111110,將此數(shù)據(jù)進(jìn)行位填充發(fā) 送,在鏈路上的數(shù)據(jù)是什么? b=0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0;old_stream,new_stream=frame_sim(b)old_stream =0111101111101111110111111101111111111110 new_stream =011110111110011111010111110110111110111110110,例題2例題2: IP數(shù)據(jù)報(bào)的 格式,如右圖所示, 現(xiàn)經(jīng)過(guò)填

10、充,得到一 個(gè)IP報(bào)文,若此報(bào)文 要作為鏈路層的數(shù)據(jù) 加以傳輸,在分界標(biāo) 志為01111110的前 提下,鏈路中的輸出 數(shù)據(jù)將是什么?0100 0101 000000000000000000011100000000000011111100011111 00000111000 0000000000000111110001010100011000000101010000000000010011010000010100000101000001010000001001111111100000000101010100101010111111111111111111111111100001111b=0 1

11、 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 .0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0 0 0 1 1 111000 0 0 1 1 1 1 1 1 11 0 0 010101 0 0 0 .1 1 0 0 0 000101 0 1 0 0 0 0 0 0 00 0 0 010011 0 1 0 .0 0 0 0 1 010000 0 1 0 1 0 0 0 0 01 0 1 000000 1 0 0 .1 1 1 1 1 1

12、11000 0 0 0 0 0 1 0 1 01 0 1 001010 1 0 1 .1 1 1 1 1 111111 1 1 1 1 1 1 1 1 11 1 1 100001 1 1 1;old_stream,new_stream=frame_sim(b) old_stream = 01000101000000000000000000011100000000000011111100000000000000000001111100000111 111110001010100011000000101010000000000010011010000010100000101000001010000

13、0010 01111111100000000101010100101010111111111111111111111111100001111 new_stream =0100010100000000000000000001110000000000001111101000000000000000000011111000000111110111000101010001100000010101000000000001001101000001010000010100000101000000100111110111000000001010101001010101111101111101111101111

14、1011111000001111P82例 3: b=0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0;old_stream,new_stream=frame_sim(b)old_stream =0111101111101111110new_stream =011110111110011111010七HDLC幀結(jié)構(gòu)用程序隨機(jī)生成10個(gè)字節(jié)的原始數(shù)據(jù),完成HDLC信息幀的封裝,要求地址隨 意設(shè)定,但不要全部為零,控制字段中Seq為000,Next為000,P/F為0,校 驗(yàn)和設(shè)定為“1111001101011000(此處校驗(yàn)和是假設(shè)的,實(shí)際計(jì)算時(shí),不同的 數(shù)據(jù)得到的校驗(yàn)和

15、當(dāng)然不一樣,它通過(guò)循環(huán)冗余碼計(jì)算得到,通信原理中會(huì)教 到),此處數(shù)據(jù)是任意比特的二層的數(shù)據(jù)報(bào)文稱為幀(frame)HDLC心、三層的數(shù)據(jù)報(bào)文稱為包(package)1字節(jié)1字節(jié)1字節(jié) 任意2字節(jié)1字節(jié)01111110地址控制數(shù)據(jù)校驗(yàn)和01111110協(xié)1 3bits lbit 3bits、.0P/FNext10TypeP/FNext11TypeP/FNextfunction old_stream,new_stream=frame_sim(b) N =length(b);old_stream = dec2bin(b); % 轉(zhuǎn)化成二進(jìn)制碼流 num = 0;%計(jì)算1的個(gè)數(shù)len = 0;%新碼流

16、的初始位置 for i = 1 : Nlen = len + 1;%新碼流位置向后移一位new_stream(len) = old_stream(i); %將舊碼流的數(shù)據(jù)賦給對(duì)應(yīng)的新碼流if old_stream(i) 一一 dec2bin(1) % 如果這個(gè)舊碼是 1num 一 num + 1;%計(jì)數(shù)器加1if num 一一 5%如果計(jì)數(shù)器達(dá)到5len 一 len + 1;%新碼流后移一位new_stream(len)一 dec2bin(0); % 插入 0 值num 一 0;%計(jì)數(shù)器歸零endelse%如果舊碼是0endnum 一 0;%則計(jì)數(shù)器歸零end adr=0 0 1 1 1 1

17、0 1con=0 0 0 0 0 0 0 0data=round(rand(1,80)chk=1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 0;frm=adr,con,data,chk;old_stream,new_stream=frame_sim(frm) head=0 1 1 1 1 1 1 0;Frame=dec2bin(head),new_stream,dec2bin(head)adr 一11101001con 一00000000data =Columns 1 through 2011100000100101110Columns 21 through 40 0101101

18、1100110101010Columns 41 through 6011010001001100011011011Columns 61 through 8000000100110001101010old_stream =0011110100000000111000001001011101010101110011010101010111000001100011011011000001001100011010101111001101011000new_stream =001111010000000011100000100101110101010111001101010101011100000110

19、0011011011000001001100011010101111001101011000Frame =01111110001111010000000011100000100101110101010111001101010101011100000110001101101100000100110001101010111100110101100001111110編寫解幀程序,把插過(guò)0的碼流重新變換為原始碼流。(提示計(jì)數(shù)器計(jì)到5,直接跳過(guò)而不處理后續(xù)的0碼),完成實(shí)驗(yàn)場(chǎng)景中的原始碼流恢復(fù)。function d = ext_frame(c)%數(shù)據(jù)鏈路層成幀技術(shù)仿真% Author : Teacher Wei% Data : 2012 年 12 月 14 號(hào)N =length(c); % 碼個(gè)數(shù)num = 0;%計(jì)算1的個(gè)數(shù)len = 0;%新碼流的初始位置d = c; %將舊碼流的數(shù)據(jù)賦給對(duì)應(yīng)的新碼流for i = 1 : Nlen = len + 1;%新碼流位置向后移一位if c(i) = dec2bin(1) % 如果這個(gè)舊碼是1num = num + 1;%計(jì)數(shù)器加1if num = 5%如果計(jì)數(shù)器達(dá)到5d(len+1)=;%刪除新碼流中下一位0碼len = len - 1;%新碼流后移一位num = 0;%計(jì)數(shù)器歸零endelse

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論