0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机通信与网络v2 实验课程(11)

通信工程师专辑 来源:未知 2022-11-15 00:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

继续讲解!先回顾2018年的场景!先教做人再教知识!强烈呼吁电工院的学生在物电楼上厕所的时候区分大小便池,小便请上小便池,大便去大便池。还有请记得便后冲水。当然不是所有的学生都不懂这些道理,但就是有那么一些低素质的学生连水都不冲。当然也会有一些老师居然也有类似的不文明行为。不知道这种素质的年轻人走入社会后会变成什么样?这就是发生在大学校园里面的现象。不要觉得奇怪,这种现象已经持续很多年了,至少在我回归学校的那一年就有这样的现象。有一点小小的进步也值得晒一下。厕所里面贴了请不要抽烟的告示,抽烟的人确实少了很多。但依旧还有那种厚颜无耻的人在厕所里面抽烟。请大家看见这样的人一起来声讨他,督促这种人改掉坏习惯。同学们应该具备基本的廉耻之心。希望在学校期间能不断的提升素质,打造一个好的校园环境。呼吁大家文明使用卫生间!2022年11月,回看本段内容,觉得当年自己是不是有点“二”?真把自己当成育德之人了?做梦吧!我应该没有这方面的能力,半点能力都没有!好好把课上完就很不错了!学生能听进多少呢?本人只能苦笑,想传播知识还是到网上吧!回归正题!

上堂课给出了示例程序让同学们进行消化。让我惊喜的是我的学生居然想出不同的办法来实现CRC,这就是一种进步,真正的思考了,掌握了!为15级的小杨同学点赞。现在已经很多年没有碰到好学的人了。给出他当年写的程序作为参考。首先是函数程序。

%%%%%%% 模二除法函数模块程序 %%%%

%%%%% File:function_two_div.m %%%%%

%%% Date:2018-10-24 Author:杨子逊 %%%%%

%*************** 函数名 *************%

function [ remainder ] = function_two_div(data_crc,crc_code)

%%%%%%%%% 程序说明 %%%%%%%%%%%

% 将输入的数组data_crc与crc_code进行模二除法运算,并输出余数

% 操作对象仅限为二进制数据的数组,输出的余数前n位位真正的余数

% (n位CRC位数)

% 比如:CRC-16的n为16

%%%%% 变量名定义 %%%%

%%% 输出变量

% remainder :余数

%%% 输入变量

% data_crc = 模二除法被除数

% crc_code = 模二除法除数

%----------------- 程序主体 ------------------%

data_length = length(data_crc); % 被除数长度

code_length = length(crc_code); % 除数长度


%%% 将除数补0,直到与被除数一样长,方便进行异或运算

crc_code = [crc_code zeros(1,data_length-code_length)];

%%% 进行模二除法运算循环

remainder = data_crc;

for i = 1:data_length - code_length + 1

if remainder(1) == 1

remainder = xor(remainder,crc_code);

end

remainder = [remainder(2:end) remainder(1)];

end

%%% 循环结束


end

%%% 结论

%% 本函数能进行CRC专用的模二除法运算。

没想到小黄车都撑不过2018年。

社会素质不提高,

共享类事物很难健康发展。

校园里面都存在大量的被破坏的共享单车。

当下,学生的素质真堪忧!回看本段,一直为我院学生的学习状况发愁!愁也解决不了问题,也就默默的写文章吧!

继续给出测试函数程序!

%%%%% CRC_TEST %%%%%%%

%%%% File:crc_test_sim1.m %%%%

%%% Date:2018-10-24 Author:杨子逊 %%

%********** 程序说明 *************%

% 本程序完成测试模二除法函数的功能,并用该函数进行

% CRC校验码的生成,最后测试校验是否准确


% 软件版本 matlab 6.5

%************** 程序主体 *************%

clc;


% 生成原始数据

%data_origin = randi(2,1,10)-1; % 2016b以上版本使用

data_origin = randint(1,20); % 旧版本使用

% 生成CRC—16的16位码,参照G(x) = x^16+x^12+x^5+1

crc_origin_code = [1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1];


%%% 生成CRC-16的校验码

% 给原始数据添加16个0在末尾

data_zero = [data_origin zeros(1,16)];

% 生成CRC校验码

crc_code = function_two_div(data_zero,crc_origin_code);

crc_code = crc_code(1:16);

% 组帧

data_crc_result = [data_origin crc_code];

% 如果出错 (假设第五位出错)

data_crc_error_result = data_crc_result;

data_crc_error_result(5) = ~data_crc_error_result(5);

%%%%%% 接收端检验

% 若remainder为全零数组,则代表信息无出错

remainder = function_two_div(data_crc_result,crc_origin_code)


% 若remainder_error_result数组不全为零,则代表CRC校验出信息有错误

remainder_error_result = function_two_div(data_crc_error_result,crc_origin_code)


%*********** END OF PROGRAM ***********%

%% 结论

%% 本程序可以完成CRC-16校验有效性的测试。

未完,待续!



修订记录

20181113 完成初稿;

20221114 修订内容v2;


原文标题:计算机通信与网络v2 实验课程(11)

文章出处:【微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信网络
    +关注

    关注

    22

    文章

    2112

    浏览量

    54459

原文标题:计算机通信与网络v2 实验课程(11)

文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    计算机专业408考研科目

    ”模型。 在这个阶段,不要急于背诵数据结构的代码或操作系统的算法,而是要理解计算机是如何“思考”的。你需要将数据结构视为信息的组织方式,将组成原理视为信息的物理载体,将操作系统视为资源的管理者,将网络视为
    发表于 04-11 16:44

    AA Boost Module V2:便捷的电源解决方案

    AA Boost Module V2:便捷的电源解决方案 在电子设计中,电源供应是一个关键问题。今天要给大家介绍的是DFRobot的独家产品——AA Boost Module V2(SKU
    的头像 发表于 03-27 12:50 192次阅读

    由顺序主导的计算机体系

    ,中途没有按任何符号,它自然地表述成了8个1,也就是8。 数字对应规则 - 日常理解:第1个1=1,第2个1=2,第3个1=3…… - 计算机语言:必须从0开始 第1个1=0,第2个1
    发表于 02-28 22:53

    RDMA设计37:RoCE v2 子系统模型设计

    仿真模型。在 RoCE v2 协议中,本地主机与远程主机之间往往需要进行复杂的指令、信息、数据交互,使得在进行仿真验证时如何模拟复杂网络环境成为一个急需解决的问题。 因此,本IP设计了一个RoCE v2
    发表于 02-06 16:19

    十进制计算机硬件体系结构及“独值”量化逻辑运算革命(一)

    采用“独值”量化逻辑理论设计十进制数字计算机,十进制网络计算机,十进制模拟计算机,十进制模糊计算机,实现
    的头像 发表于 01-29 09:13 1111次阅读
    十进制<b class='flag-5'>计算机</b>硬件体系结构及“独值”量化逻辑运算革命(一)

    香蕉派 BPI-2K3000 工业计算机开发板采用龙芯2K3000芯片设计

    BPI-2K3000 工业计算机 []() Banana Pi BPI-2K3000工业计算机开发平台,基于龙芯最新一代2K3000(3B6
    发表于 11-15 11:43

    龙架构计算机系统能力核心课程教学研讨会圆满举行

    2025年11月8日,由教育部计算机类专业系统能力课程群虚拟教研室指导、北京航空航天大学计算机学院主办的龙架构计算机系统能力核心
    的头像 发表于 11-14 13:52 769次阅读

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    赛昉科技VisionFive 2单板计算机开发板测评作品合集 产品介绍: 昉·星光 2是全球首款集成了3D GPU的高性能量产RISC-V单板计算机
    发表于 09-04 09:08

    2025年地方高校计算机类专业核心课程暑期师资培训成功举办

    近日,2025年地方高校计算机类专业核心课程暑期师资培训在昆明成功举办。培训由“中西部高校关键计算技术人才培养共同体”“计算机类专业系统能力课程
    的头像 发表于 08-20 11:29 1408次阅读

    自动化计算机经过加固后有什么好处?

    -40℃的寒冷环境中运行⁰C和温度达到85℃的灼热环境,这要归功于此类系统中使用的宽温度组件和被动冷却技术。2.抗冲击和振动自动化计算机是工业级计算机,其设计和制造可
    的头像 发表于 07-21 16:44 748次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    【VisionFive 2单板计算机试用体验】环境搭建与点灯实验

    一、概况 昉·星光 2是全球首款集成了GPU的高性能RISC-V单板计算机。与昉·星光相比,昉·星光 2全面升级,在处理器速度、多媒体处理能力、可扩展性等方面均有显著提升。性能卓越,价
    发表于 07-20 22:55

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 891次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 908次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    权威评测:Orange Pi RV2等5 款 RISC-V 单板计算机测试-性能、基准测试、功能和见解

    如果计算的未来不是被锁定在专有架构上,那会怎样?想象一下,在这个世界上,开发人员和业余爱好者都可以利用开源硬件的强大功能自由构建、创新和实验。进入RISC-V单板计算机(SBC)领域—
    的头像 发表于 06-30 13:35 1387次阅读
    权威评测:Orange Pi RV<b class='flag-5'>2</b>等5 款 RISC-<b class='flag-5'>V</b> 单板<b class='flag-5'>计算机</b>测试-性能、基准测试、功能和见解

    【VisionFive 2单板计算机试用体验】 + 开箱体验

    在x86与ARM架构主导的单板计算机市场,中国团队打造的VisionFive 2(防星光2)如同一颗新星,凭借开源开放的RISC-V架构和成熟的桌面体验,为开发者与极客提供了全新的选择
    发表于 06-27 09:06