crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错
上传时间: 2014-01-16
上传用户:hphh
首先简单介绍了GPS 接收机串口通信的基本概念, 然后通过实例详细介绍了计算机与GPS 接收机进行 数据传输的两种方法: 一种是使用W in32 A P I 通信函数的文件读写方式 另一种是通过VC+ + 6. 0 提供的 M SComm 控件实现。
上传时间: 2015-10-23
上传用户:xuan‘nian
实现一个类,描述二维平面的直线Line。 描述属性:私有属性 直线所通过的点:Point p; 直线的斜率:double m 实现方法: 直线的构建; 返回直线的两个属性; 返回直线在Y轴上的截距:yIntercept ; 判断两条直线是否相等; 显示直线的内容:y = mx + b isParallelTo(Line line2),判断本直线与直线line2是否平行; isPeroendicularTo(Line line2),判断本直线与直线line2是否垂直; translate(double dx, double dy),将直线向右移动dx单位,向上移动dy单位; rarate(double ta),将直线沿逆时针方向旋转ta度
标签:
上传时间: 2015-10-24
上传用户:Divine
TLV1544与TMS320VC5402通过串行口连接,此时,A/D转换芯片作为从设备,DSP提供帧同步和输入/输出时钟信号。TLV1544与DSP之间数据交换的时序图如图3所示。 开始时, 为高电平(芯片处于非激活状态),DATA IN和I/OCLK无效,DATAOUT处于高阻状态。当串行接口使CS变低(激活),芯片开始工作,I/OCLK和DATAIN能使DATA OUT不再处于高阻状态。DSP通过I/OCLK引脚提供输入/输出时钟8序列,当由DSP提供的帧同步脉冲到来后,芯片从DATA IN接收4 b通道选择地址,同时从DATAOUT送出的前一次转换的结果,由DSP串行接收。I/OCLK接收DSP送出的输入序列长度为10~16个时钟周期。前4个有效时钟周期,将从DATAIN输入的4 b输入数据装载到输入数据寄存器,选择所需的模拟通道。接下来的6个时钟周期提供模拟输入采样的控制时间。模拟输入的采样在前10个I/O时钟序列后停止。第10个时钟沿(确切的I/O时钟边缘,即上升沿或下降沿,取决于操作的模式选择)将EOC变低,转换开始。
上传时间: 2014-12-05
上传用户:yepeng139
有一个魔王总是使用自己的一种非常精练而抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1) α→β1β2…βm (2) (θδ1δ2…δn)→θδnθδn-1…θδ1θ 在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,用下述两条具体规则和上述规则形式(2)实现,把他的话解释成人能听得懂的话。 (1) B→tAdA (2) A→sae 设大写字母表示魔王语言的词汇;小写字母表示人的语言词汇;希腊字母表示可以用大写字母或小写字母代换的变量。魔王语言可含人的词汇。测试用例见题集p97。
上传时间: 2013-12-22
上传用户:ardager
% 文件名:randlsbget.m % 程序员:余波 % 编写时间:2007.6.25 % 函数功能: 本函数将完成提取隐秘于上的秘密信息 % 输入格式举例:result=( scover.jpg ,56, secret.txt ,2001) % 参数说明: % output是信息隐藏后的图象 % len_total是秘密信息的长度 % goalfile是提取出的秘密信息文件 % key是随机间隔函数的密钥 % result是提取的信息 function result=randlsbget(output,len_total,goalfile,key) ste_cover=imread(output) ste_cover=double(ste_cover) % 判断嵌入信息量是否过大 [m,n]=size(ste_cover) frr=fopen(goalfile, a ) % p作为信息嵌入位计数器将信息序列写回文本文件 p=1 % 调用随机间隔函数选取像素点 [row,col]=randinterval(ste_cover,len_toal,key) for i=:len_toal if bitand(ste_cover(row(i),col(i)),1)==1 fwrite(frr,1, bit1 ) result(p,1) else fwrite(frr,0, bit1 ) result(p,1)=0 end if p==len_total break end p=p+1 end fclose(frr)
标签: randlsbget result scover 2007
上传时间: 2015-11-10
上传用户:yzhl1988
C++Primer中文版 第三版 深入系列 Primer 第三版 著 中中文文版版潘爱民张丽译 Addison-Wesley 中国电力出版社 www.infopower.com.cn Stanley B Lippman J o s é e L a j o i e
标签: Primer Addison-Wesley infopower www
上传时间: 2014-01-14
上传用户:myworkpost
本题的算法中涉及的三个函数: double bbp(int n,int k,int l) 其中n为十六进制位第n位,k取值范围为0到n+7,用来计算16nS1,16nS2,16nS3,16nS4小数部分的每一项。返回每一项的小数部分。 void pi(int m,int n,int p[]) 计算从n位开始的连续m位的十六进制数字。其中p为存储十六进制数字的数组。 void div(int p[]) void add(int a[],int b[]) 这两个函数都是为最后把十六进制数字转换为十进制数字服务的。 最后把1000个数字分别存储在整型数组r[]中,输出就是按顺序输出该数组。
上传时间: 2014-01-05
上传用户:xcy122677
Java 版本的 PHP serialize/unserialize 完整实现。目前实现了对各种基本类型、数组、ArrayList、HashMap、和其它可序列化对象的序列化。实现了 PHP 5 中的Serializable 接口的支持。实现了 PHP 中的 __sleep 和 __wakeup 魔术方法的支持。实现了对所有标示(N、b、i、d、s、a、O、R、r、U、C)的反序列化,在对标示 a 反序列化时,可以根据下标和值来自动判断是 ArrayList 还是 HashMap。并且在反序列化时可以强制指定反序列化的类型。该类是静态类,无需也不能被实例化。除了包含了 serialize 和 unserialize 方法以外,还增加了一个 cast 方法,用来进行反序列化后的类型转换,该方法主要用于将反序列化后的 ArrayList 转化为数组或者 HashMap。
标签: unserialize ArrayList PHP serialize
上传时间: 2016-01-06
上传用户:奇奇奔奔
一维信号的计盒分形维数,用 m a t l a b编辑的
上传时间: 2013-12-14
上传用户:685