crc算法详解
“crc算法详解”相关的资料有哪些?“crc算法详解”相关的范文有哪些?怎么写?下面是小编为您精心整理的“crc算法详解”相关范文大全或资料大全,欢迎大家分享。
CRC算法原理
CRC校验算法
CRC(Cyclic Redundancy Check)循环冗余校验是常用的数据校验方法,讲CRC算法的文章很多,之所以还要写这篇,是想换一个方法介绍CRC算法,希望能让大家更容易理解CRC算法。
先说说什么是数据校验。数据在传输过程(比如通过网线在两台计算机间传文件)中,由于传输信道的原因,可能会有误码现象(比如说发送数字5但接收方收到的却是6),如何发现误码呢?方法是发送额外的数据让接收方校验是否正确,这就是数据校验。最容易想到的校验方法是和校验,就是将传送的数据(按字节方式)加起来计算出数据的总和,并将总和传给接收方,接收方收到数据后也计算总和,并与收到的总和比较看是否相同。如果传输中出现误码,那么总和一般不会相同,从而知道有误码产生,可以让发送方再发送一遍数据。 CRC校验也是添加额外数据做为校验码,这就是CRC校验码,那么CRC校验码是如何得到的呢?
非常简单,CRC校验码就是将数据除以某个固定的数(比如ANSI-CRC16中,这个数是0x18005),所得到的余数就是CRC校验码。
那这里就有一个问题,我们传送的是一串字节数据,而不是一
CRC算法原理
CRC校验算法
CRC(Cyclic Redundancy Check)循环冗余校验是常用的数据校验方法,讲CRC算法的文章很多,之所以还要写这篇,是想换一个方法介绍CRC算法,希望能让大家更容易理解CRC算法。
先说说什么是数据校验。数据在传输过程(比如通过网线在两台计算机间传文件)中,由于传输信道的原因,可能会有误码现象(比如说发送数字5但接收方收到的却是6),如何发现误码呢?方法是发送额外的数据让接收方校验是否正确,这就是数据校验。最容易想到的校验方法是和校验,就是将传送的数据(按字节方式)加起来计算出数据的总和,并将总和传给接收方,接收方收到数据后也计算总和,并与收到的总和比较看是否相同。如果传输中出现误码,那么总和一般不会相同,从而知道有误码产生,可以让发送方再发送一遍数据。 CRC校验也是添加额外数据做为校验码,这就是CRC校验码,那么CRC校验码是如何得到的呢?
非常简单,CRC校验码就是将数据除以某个固定的数(比如ANSI-CRC16中,这个数是0x18005),所得到的余数就是CRC校验码。
那这里就有一个问题,我们传送的是一串字节数据,而不是一
CRC校验PLC算法
CRC校验函数
cBuffer:计算CRC校验码的数组。 iBufLen:该数组的长度。
unsigned int CRC_Verify(unsigned char *cBuffer, unsigned int iBufLen) {
unsigned int i, j; //#define wPolynom 0xA001 unsigned int wCrc = 0xffff;
unsigned int wPolynom = 0xA001;
/*---------------------------------------------------------------------------------*/ for (i = 0; i < iBufLen; i++) {
wCrc ^= cBuffer[i]; for (j = 0; j < 8; j++) {
if (wCrc &0x0001)
{ wCrc = (wCrc >> 1) ^ wPolynom; } else
{ wCrc = wCrc
CRC校验算法
1.生成多项式。
16位的CRC码产生的规则是先将要发送的二进制序列数左移16位(既乘以
)后,再除以一个多项式,最后所得到的余数既是CRC码。任意一个由二进制位串组成的代码都可以和一个系数仅为?0?和?1?取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。 标准CRC生成多项式如下表:
名称 生成多项式 简记式* 标准引用 CRC-4 x4+x+1 3 ITU G.704 CRC-8 x8+x5+x4+1 0x31 CRC-8 x8+x2+x1+1 0x07 CRC-8 x8+x6+x4+x3+x2+x1 0x5E CRC-12 x12+x11+x3+x+1 80F
CRC-16 x
LDA算法详解
线性鉴别分析法
线性鉴别分析(Linear Discriminant Analysis, LDA),有时也称Fisher线性判别(Fisher Linear Discriminant ,FLD), 这种算法是Ronald Fisher 于 1936年发明的,是模式识别的经典算法[i]。在1996年由Belhumeur引入模式识别和人工智能领域的。性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。因此,它是一种有效的特征抽取方法。使用这种方法能够使投影后模式样本的类间散布矩阵最大,并且同时类内散布矩阵最小。就是说,它能够保证投影后模式样本在新的空间中有最小的类内距离和最大的类间距离,即模式在该空间中有最佳的可分离性。 3.2.1 Fisher线性判别准则
假设有一组属于两个类的n个d维样本于类?1 ,后面
22...,xx,
1n,其中前
n个样本属
1n个样本属于类?,均服从同协方差矩阵的高斯分布。各类样
mi=
1本均值向量mi(i=1,2)如式(3-15):
nix?Xt?X i=1,2
匿名pid算法详解
对串级PID和单级PID的理解(基于匿名微型六轴)
来源:本站 | 作者:小古 | 发表时间:2015-04-01 | 点击量:1565
/******************** (C) COPYRIGHT 2014 ANO Tech
*************************** * 文件名 :ANO_FlyControl.cpp
* 描述 :飞行控制
*********************************************************************
*************/
include \ANO_FlyControl fc;
/*
先整定内环,后整定外环。 参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
*/ /*
ROLL和PIT轴向按照以上公式计算PID输出,但YAW轴比较特殊,因为偏航
角法线方向刚好和地球重力平行,
这个方
匿名pid算法详解
对串级PID和单级PID的理解(基于匿名微型六轴)
来源:本站 | 作者:小古 | 发表时间:2015-04-01 | 点击量:1565
/******************** (C) COPYRIGHT 2014 ANO Tech
*************************** * 文件名 :ANO_FlyControl.cpp
* 描述 :飞行控制
*********************************************************************
*************/
include \ANO_FlyControl fc;
/*
先整定内环,后整定外环。 参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
*/ /*
ROLL和PIT轴向按照以上公式计算PID输出,但YAW轴比较特殊,因为偏航
角法线方向刚好和地球重力平行,
这个方
循环冗余码(CRC)
循环冗余码(CRC)
(1)CRC的工作方法
在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。
(2)循环冗余码的产生与码字正确性检验例子
54
例1.已知:信息码:110011 信息多项式:K(X)=X+X+X+1
43
生成码:11001 生成多项式:G(X)=X+X+1(r=4) 求:循环冗余码和码字。
5449854解:① (X+X+X+1)*X的积是 X+X+X+X 对应的码是1100110000。 1 0 0 0 0 1←Q(X) r G(x)→1 1 0 0 1 )1 1 0 0 1 1 0 0 0 0←F(X)*X 1 1 0 0 1 , 1 0 0 0 0 1 1 0 0 1 1 0 0 1←R(X)(冗余码) 98543
例2.已知:接收码字:1100111001 多项式:T(X)=X+X+X+X+X+1
43
生成码: 11001
CRC8 - verilog
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: //
// Create Date: 15:40:57 09/17/09 // Design Name:
// Module Name: crc8 // Project Name: // Target Device: // Tool versions: // Description: //
// Dependencies: //
// Revision:
// Revision 0.01 - File Created // Additional Comments: //
////////////////////////////////////////////////////////////////////////////////
module crc8(reset,clk,start,data_in,out_rs,crc_code); paramet
Harris角点检测算法详解
不适用opencv的代码(转)
////////////////////////////////////////////////////////////////////// // Construction/Destruction
////////////////////////////////////////////////////////////////////// #define B(image,x,y) ((uchar *)(image->imageData+image->widthStep*(y)))[(x)*3] #define G(image,x,y) ((uchar *)(image->imageData+image->widthStep*(y)))[(x)*3+1] #define R(image,x,y) ((uchar *)(image->imageData+image->widthStep*(y)))[(x)*3+2] #define S(image,x,y) ((uchar *)(image->imageData+image->widthStep*(y)))[(x)]
//卷积计算求Ix,Iy,以及滤波
//a指向的