实验六 数据链路层成帧技术的matlab仿真

上传人:jin****ng 文档编号:125666339 上传时间:2022-07-27 格式:DOC 页数:8 大小:229.50KB
收藏 版权申诉 举报 下载
实验六 数据链路层成帧技术的matlab仿真_第1页
第1页 / 共8页
实验六 数据链路层成帧技术的matlab仿真_第2页
第2页 / 共8页
实验六 数据链路层成帧技术的matlab仿真_第3页
第3页 / 共8页
资源描述:

《实验六 数据链路层成帧技术的matlab仿真》由会员分享,可在线阅读,更多相关《实验六 数据链路层成帧技术的matlab仿真(8页珍藏版)》请在装配图网上搜索。

1、实验五 数据链路层成帧的 matlab 仿真实验目的: 了解数据链路层成帧技术的实现原理 掌握matlab编程,实现数据链路层成帧技术的仿真实验要求: 掌握数据链路层成帧技术 掌握 matlab 语言对于数据链路层成帧技术仿真的功能实验场景:二进制码流:分解标志符:01111110二进制码流:01111100110实验参考程序:% 数据链路层成帧技术仿真% Author : Teacher Wei% Data : 2012 年 12 月 14 号clear all;N = 35;% 码个数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

2、 1 0 1 1 1 1 1 1 1 0; % N 个码符 c = dec2bin(b); % 转化成二进制码流num = 0;% 计算 1 的个数len = 0;% 新码流的初始位置for i = 1 : Nlen = len + 1;% 新码流位置向后移一位d(len) = c(i);% 将旧码流的数据赋给对应的新码流if c(i) = dec2bin(1) %如果这个旧码是1num = num + 1;% 计数器加 1if num = 5% 如果计数器达到 5len = len + 1;% 新码流后移一位d(len) = dec2bin(0); % 插入 0 值num = 0;% 计数器

3、归零endelse% 如果旧码是 0num = 0;% 则计数器归零end程序设计思路:占数据链路层(二层)成帧分界标志序列为01111110,数据为 在链路中传输的数据为每隔5个1,就无条件插入一个0,这样就避免了链路 中的传输数据和分界标志序列有相同的字段,确定了 分界标志序列的唯一性,这样就可以识别每个帧的头 部和尾部任务:(1) 按实验场景完成对码流成帧,要求在Matlab软件的Editor编辑器中写出程序,并执行,观察更新结果和手工计算是否一致; % 数据链路层成帧技术仿真% Author : Teacher Wei % Data : 2012 年 12 月 14 号clear al

4、l;N = 35;% 码个数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 个码符 c = dec2bin(b); % 转化成二进制码流num = 0;% 计算 1 的个数len = 0;% 新码流的初始位置for i = 1 : Nlen = len + 1;% 新码流位置向后移一位d(len) = c(i);% 将旧码流的数据赋给对应的新码流if c(i) = dec2bin(1) % 如果这个旧码是 1num = num + 1;% 计数器加 1% 新码流后移一位if num =

5、 5% 如果计数器达到5); % 插入 0 值 % 计数器归零len = len + 1;%d(len) = dec2bin(0); num = 0; %end elsenum = 0;% 如果旧码是 0% 则计数器归零end b b =Columns 1 through 2001110010111111111111Columns 21 through 35100111011111110 cc = dd =手工计算:所以结果一致(2) 将参考例程中的成帧处理模块单独提取出来,做一个matlab函数,要求函数名为frame_sim,输入参数为old_stream,输出参数为new_stream,

6、做适当的注释; 通过函数调用,重新完成实验场景要求的成帧,查看是否一致;function old_stream,new_stream=frame_sim(b)N =length(b);old_stream = dec2bin(b); % 转化成二进制码流num = 0;% 计算 1 的个数len = 0;% 新码流的初始位置for i = 1 : Nlen = len + 1;% 新码流位置向后移一位new_stream(len) = old_stream(i); % 将旧码流的数据赋给对应的新码流if old_stream(i) = dec2bin(1) % 如果这个旧码是 1num = n

7、um + 1;% 计数器加 1if num = 5% 如果计数器达到 5len = len + 1;% 新码流后移一位new_stream(len)= dec2bin(0); % 插入 0 值num = 0;% 计数器归零endelse% 如果旧码是 0num = 0;% 则计数器归零endendb = 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 =new_stream (3) 用函数调用计算教科书82页中的作

8、业题3以及例题1、2,写出相应的程序;例题1例题1:数据 需要发送,分界标志序列为01111110,将此数据进行位填充发 送,在链路上的数据是什么? 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 =new_stream =占例题2例题2: IP数据报的 格式,如右图所示, 现经过填充,得到一 个IP报文,若此报文 要作为链路层的数据 加以传输,在分界标 志为01111110的前 提下,链

9、路中的输出 数据将是什么?版本首部长度服务类型(ToS)数据报总长度标识标志片偏移生存时间(TTL)协议首部校验和源1P地址目的IP地址IP选项(可选、变长)数据04816193120 字节卜首部0100 01010000000000000000000111000000000000111111000 00000000000000001111100000111数据b=0 1 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

10、 0 0 0 0 0 0 .0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 .1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 .0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 .1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 .1 1 1 1 1 1 1 1 1 1 1 1 1

11、1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1; old_stream,new_stream=frame_sim(b) old_stream new_stream =P82.例 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 =new_stream =(4) 用程序随机生成10个字节的原始数据,完成HDLC信息帧的封装,要求地址随意设定,但不要全部为零,控制字段中Seq为000,Next为000,P/F为0,校 验和设定为“”(此处校验和是

12、假设的,实际计算时,不同的 数据得到的校验和当然不一样,它通过循环冗余码计算得到,通信原理中会教 到),此处数据是任意比特的function old_stream,new_stream=frame_sim(b)N =length(b);old_stream = dec2bin(b); % 转化成二进制码流 num = 0; % 计算 1 的个数 len = 0; % 新码流的初始位置 for i = 1 : Nlen = len + 1; % 新码流位置向后移一位new_stream(len) = old_stream(i); % 将旧码流的数据赋给对应的新码流if old_stream(i)

13、 = dec2bin(1) % 如果这个旧码是 1num = num + 1;% 计数器加 1if num = 5% 如果计数器达到 5len = len + 1;% 新码流后移一位new_stream(len)= dec2bin(0); % 插入 0 值num = 0;% 计数器归零endelse% 如果旧码是 0num = 0;% 则计数器归零endend adr=0 0 1 1 1 1 0 1 con=0 0 0 0 0 0 0 0 data=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,ch

14、k;old_stream,new_stream=frame_sim(frm) head=0 1 1 1 1 1 1 0;Frame=dec2bin(head),new_stream,dec2bin(head)adr =00111101con =00000000data =Columns 1 through 2011100000100101110101Columns 21 through 4001011100110101010101Columns 41 through 6011000001100011011011Columns 61 through 800000010011000 1101010

15、old_stream =new_stream =Frame =(5) 编写解帧程序,把插过0 的码流重新变换为原始码流。(提示计数器计到5,直接跳 过而不处理后续的0 码),完成实验场景中的原始码流恢复。function d = ext_frame(c)% 数据链路层成帧技术仿真% Author : Teacher Wei% Data : 2012 年 12 月 14 号N =length(c); % 码个数num = 0; % 计算 1 的个数len = 0; % 新码流的初始位置d = c; % 将旧码流的数据赋给对应的新码流for i = 1 : Nlen = len + 1; % 新码

16、流位置向后移一位if c(i) = dec2bin(1)% 如果这个旧码是 1num = num + 1;% 计数器加 1if num = 5%如果计数器达到5d(len+1)=;%删除新码流中下一位0码len = len - 1;%新码流后移一位num = 0;%计数器归零endelse%如果旧码是0num = 0;%则计数器归零endend function d = gen_frame(c)% 数据链路层成帧技术仿真% Author : Teacher Wei% Data : 2012 年 12 月 14 号 N =length(c); % 码个数 num = 0; % 计算 1 的个数

17、len = 0; % 新码流的初始位置 for i = 1 : Nlen = len + 1; % 新码流位置向后移一位 d(len) = c(i); % 将旧码流的数据赋给对应的新码流 if c(i) = dec2bin(1) % 如果这个旧码是 1num = num + 1;% 计数器加 1if num = 5 % 如果计数器达到5 len = len + 1;% 新码流后移一位d(len) = dec2bin(0); % 插入 0 值 num = 0;%计数器归零endelse%如果旧码是 0num = 0;%则计数器归零endend 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 个码符 c = dec2bin(b) % 转化成二进制码流d = gen_frame(c) c1 = ext_frame(d) c d c1

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!