matlab中crc,matlab中CRC的函数使用
先学习一下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的函数使用相关推荐
- OpenCV中与matlab中相对应的函数
1.matlab中的imread相当于OpenCV中的cvLoadImage(imageName, CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR): ...
- matlab产生时间数组以月为单位_Matlab中处理日期与时间的函数
Matlab用三种格式来表示日期与时间 (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示 ...
- java 中调用 Matlab 的函数
一.matlab版本必须支持java 在command 模式下面运行deploytool,如果支持该命令即可使用 二.matlab中function的书写 %定义一个函数operation(a,b), ...
- matlab中find函数_在R中使用Matlab函数
R, Matlab MATLAB是一款商业数学软件, R是一个拥有庞大工具库的数据统计.建模.可视化分析软件.R 不仅支持C/C++, python代码的运行和工程移植, 也支持在R中使用MATLAB ...
- C/C++ VS中调用matlab函数的方法
C/C++ VS中调用matlab函数的方法 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/73743654 Matla ...
- 将函数当做参数 matlab,Matlab中如何将(自定义)函数作为参数传递给另一个函数...
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- 在VC中使用MATLAB C++函数库
http://Tech.16C.Cn 在VC中使用MATLAB C/C++函数库 MATLAB广泛应用于线性代数.自动控制理论.数理统计.数字信号处理.时间序列分析.动态系统仿真等领域.因此如果在VC ...
- matlab中饼图绘制程序,MATLAB中绘制二维饼图的函数是(? ? ) (1.5分)
MATLAB中绘制二维饼图的函数是(? ? ) (1.5分) 答:pie 计算机的内存储器比外存储器读写速度 ______ 答:快 新民主主义革命时期,提出了反帝反封建这个任务就等于真正懂得了什么叫反 ...
- MATLAB及app designer中函数:定义与调用
本文介绍MATLAB 及其APP designer 中函数定义和调用的相关方法和注意事项: 文章结构如下: 1.脚本文件(.m)中函数调用: A.同一脚本文件下,函数定义在脚本末端 B.不同脚本文件, ...
- 一种MATLAB中解复杂方程(高次、指数、无解析解)的方法,可以在实现论文中公式时使用,solve函数。
前几天我在实现一篇论文时,对于一个公式其他参数都已知的情况下,要得到剩下得那个未知的变量,由于方程的形式很复杂,用常规方法很难处理,故在实现时使用了MATLAB中solve函数,现在把方法呈现在这里, ...
最新文章
- python条码识别
- matlab理想低通滤波器代码_自己动手,解开Matlab下AMD锐龙处理器性能封印
- Python 库安装方法:pip安装tar.gz压缩包,pip安装whl文件
- 进程间通信 IPC 的本地过程调用 LPC(Local Procedure Call)和远程过程调用 RPC(Remote Procedure Call)
- linux知识点记录二
- IDEA中双击两下shift全局搜索怎样取消和修改
- 谷歌最新双塔DNN召回模型——应用于YouTube大规模视频推荐场景
- ubuntu 15.04 下的 nvidia(待续)
- React面试题总结,就是这么简单
- kali下搭建WiFi钓鱼热点
- Qt5开发工具---常用Qt5开发工具(附下载地址)
- matlab基本函数的输入输出,Matlab函数的基本使用
- 同一计算机打印机无法连接,共享打印机无法连接怎么办 共享打印机无法连接解决方法【图文教程】...
- 前端花瓣飘落特效代码
- android 删除垃圾文件夹,Android手机里的垃圾文件和文件夹清理
- 孩子不听话家长怎么办
- python程序下载腾讯企业邮箱附件_获取腾讯企业邮箱通讯录python脚本(带登录功能)...
- 关于前端代码埋点数据上报的实现
- 中国武术职业联赛(WMA)
- 【idea】Error:java: Annotation processing is not supported for module cycles. Please ensure that all..