先学习一下matlab中CRC函数。

语法如下:

h = crc.generator(‘Polynomial', polynomial, ‘param1', val1, etc.)

再看一个例子就比较好容易理解,

% Construct a CRC generator with a polynomial defined

% by x^3+x+1, with zero initial states,

% and with an all-ones final XOR value:

h = crc.generator('Polynomial', [1 0 1 1], ...

'InitialState', [0 0 0], ...

'FinalXOR', [1 1 1])

Polynomial指的是CRC的生成多项式,上面的是二进制表示,同样可以用十六进制表示'0xb',和上面是等效的,InitialState指的是CRC的初始值,FinalXOR指的是最后的输出需不需要做异或,如果为全零其实就是保持原来的值,全1表示为把结果取反。

这里还有几个参数也按我的理解说一下。ReflectInput这是个布尔变量,当它为true时,进入移位寄存器是按byte进去的,所以要求多项式的长度必须是8的倍数。它的default值是false。

我项目中需要的一个例子如下:

h = crc_generator('Polynomial',[1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1],'InitialState',[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0],'FinalXOR',[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]);

%这个多项式为x^16+x^15+x^2+1,注意后面'InitialState'和'FinalXOR'的值都是16个0.

crc_din = 3;%这里是十进制,而且可以用load一个文件后面的几行就是为了load一个文件而处理的

crc_din_bi = de2bi(crc_din,2);%转换成2位的二进制,后面的2指的是2位

crc_din_trans = transpose(crc_din_bi);%这个函数的意思就是把crc_din_bi这个矩阵翻转,比如原来crc_din_bi是一个1x2的矩阵,翻转后变成2x1,前面是行数,后面是列数

crc_din_trans_reshape = reshape(crc_din_trans,[],1);%中间是一个方括号。reshaple的意思是把一个矩阵串起来,按照一列串起来

encoded = generate(h,crc_din_trans_reshape);%执行CRC

这个程序运行的结果是

1%原数据

1%原数据

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

0

后面16位就是输出的CRC值,其实就是0xa

如果要输出一个文件

fid = fopen('crc_out.txt','w+');

for cnt = 1 : size(encoded,1)

fprintf(fid,'%-d\n',encoded(cnt));

end

fclose(fid;)

matlab中crc,matlab中CRC的函数使用相关推荐

  1. OpenCV中与matlab中相对应的函数

    1.matlab中的imread相当于OpenCV中的cvLoadImage(imageName,  CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR): ...

  2. matlab产生时间数组以月为单位_Matlab中处理日期与时间的函数

    Matlab用三种格式来表示日期与时间 (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示 ...

  3. java 中调用 Matlab 的函数

    一.matlab版本必须支持java 在command 模式下面运行deploytool,如果支持该命令即可使用 二.matlab中function的书写 %定义一个函数operation(a,b), ...

  4. matlab中find函数_在R中使用Matlab函数

    R, Matlab MATLAB是一款商业数学软件, R是一个拥有庞大工具库的数据统计.建模.可视化分析软件.R 不仅支持C/C++, python代码的运行和工程移植, 也支持在R中使用MATLAB ...

  5. C/C++ VS中调用matlab函数的方法

    C/C++ VS中调用matlab函数的方法 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/73743654 Matla ...

  6. 将函数当做参数 matlab,Matlab中如何将(自定义)函数作为参数传递给另一个函数...

    假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...

  7. 在VC中使用MATLAB C++函数库

    http://Tech.16C.Cn 在VC中使用MATLAB C/C++函数库 MATLAB广泛应用于线性代数.自动控制理论.数理统计.数字信号处理.时间序列分析.动态系统仿真等领域.因此如果在VC ...

  8. matlab中饼图绘制程序,MATLAB中绘制二维饼图的函数是(? ? ) (1.5分)

    MATLAB中绘制二维饼图的函数是(? ? ) (1.5分) 答:pie 计算机的内存储器比外存储器读写速度 ______ 答:快 新民主主义革命时期,提出了反帝反封建这个任务就等于真正懂得了什么叫反 ...

  9. MATLAB及app designer中函数:定义与调用

    本文介绍MATLAB 及其APP designer 中函数定义和调用的相关方法和注意事项: 文章结构如下: 1.脚本文件(.m)中函数调用: A.同一脚本文件下,函数定义在脚本末端 B.不同脚本文件, ...

  10. 一种MATLAB中解复杂方程(高次、指数、无解析解)的方法,可以在实现论文中公式时使用,solve函数。

    前几天我在实现一篇论文时,对于一个公式其他参数都已知的情况下,要得到剩下得那个未知的变量,由于方程的形式很复杂,用常规方法很难处理,故在实现时使用了MATLAB中solve函数,现在把方法呈现在这里, ...

最新文章

  1. python条码识别
  2. matlab理想低通滤波器代码_自己动手,解开Matlab下AMD锐龙处理器性能封印
  3. Python 库安装方法:pip安装tar.gz压缩包,pip安装whl文件
  4. 进程间通信 IPC 的本地过程调用 LPC(Local Procedure Call)和远程过程调用 RPC(Remote Procedure Call)
  5. linux知识点记录二
  6. IDEA中双击两下shift全局搜索怎样取消和修改
  7. 谷歌最新双塔DNN召回模型——应用于YouTube大规模视频推荐场景
  8. ubuntu 15.04 下的 nvidia(待续)
  9. React面试题总结,就是这么简单
  10. kali下搭建WiFi钓鱼热点
  11. Qt5开发工具---常用Qt5开发工具(附下载地址)
  12. matlab基本函数的输入输出,Matlab函数的基本使用
  13. 同一计算机打印机无法连接,共享打印机无法连接怎么办 共享打印机无法连接解决方法【图文教程】...
  14. 前端花瓣飘落特效代码
  15. android 删除垃圾文件夹,Android手机里的垃圾文件和文件夹清理
  16. 孩子不听话家长怎么办
  17. python程序下载腾讯企业邮箱附件_获取腾讯企业邮箱通讯录python脚本(带登录功能)...
  18. 关于前端代码埋点数据上报的实现
  19. 中国武术职业联赛(WMA)
  20. 【idea】Error:java: Annotation processing is not supported for module cycles. Please ensure that all..

热门文章

  1. 梅赛德斯-奔驰在上海车展发布EQG概念车
  2. centos搭建http代理
  3. win 7下Cad 2008的激活问题解决
  4. php rename函数_PHP rename函数使用详解(php重命名文件)
  5. 00后的程序员都开始期望年薪百万
  6. 恐怖的奴隶主(bob)
  7. 获得三星(Samsung) Galaxy Note 10.1的root权限--(3)
  8. FFmpeg rmvb demuxer中COOK 音频解析
  9. 英特尔iPhone基带远逊于高通 苹果“尝鲜”失败或放弃
  10. Javaswing界面设计拖动