CN104848886B - 针对绝对式码盘的误码校正方法 - Google Patents
针对绝对式码盘的误码校正方法 Download PDFInfo
- Publication number
- CN104848886B CN104848886B CN201510305785.8A CN201510305785A CN104848886B CN 104848886 B CN104848886 B CN 104848886B CN 201510305785 A CN201510305785 A CN 201510305785A CN 104848886 B CN104848886 B CN 104848886B
- Authority
- CN
- China
- Prior art keywords
- code
- value
- old
- code value
- increment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
针对绝对式码盘的误码校正方法,本发明涉及到光电测量和自动控制领域,具体涉及一种绝对式码盘的误码校正方法。本发明首先初始化增量码值w2,然后计算通过计算dw0=w0‑w0_old,并判断dw0和‑2N‑1的关系,对增量码值w2进行计算;然后计算dw1=w1‑w1_old和dw2=w2‑w2_old;并判断dw1与dw2之间的关系,并对计数变量no_err_cnt进行计算;当no_err_cnt≥n1时,用绝对码值w1代替增量码值w2,并对最终码盘值进行校正;当no_err_cnt<n1时,若|dw1‑dw2|>n2,则用增量码值w2代替绝对码值w1;否则用绝对码值w1代替增量码值w2;若绝对码值w1误码率比光栅码w0误码率高,则最终码盘值W=(w2<<N)|w0;否则,最终码盘值W=(w1<<N)|w0。本发明适用于绝对式码盘的误码校正。
Description
技术领域
本发明涉及到光电测量和自动控制领域,具体涉及一种绝对式码盘的误码校正方法。
背景技术
光电编码器是一种能够测量角度位置的传感器,为控制系统提供位置及角度等信息。绝对式码盘能够实时输出当前机械轴的转角,具有位置绝对唯一,抗干扰能力强,无需掉电记忆等优点。
传统的绝对式码盘码值计算一般没有误码校正算法,或者误码校正方法由于多种因素影响造成的校正精度不高,码值误码率较高。
发明内容
本发明为了解决现有的方法存在码盘的误码校正方法的校正精度不高的问题。
针对绝对式码盘的误码校正方法,包括下述步骤:
步骤一、计算增量码值w2,具体步骤如下:
绝对式码盘码值由粗码与精码组合而成,粗码获取自矩阵码盘,精码获取自光栅码盘。定义绝对码值为通过矩阵码盘得到粗码值,用w1表示,定义光栅码值为通过光栅码盘得到的光栅码值,用w0表示(其位数为N)。设最终码盘值为W,则传统算法计算的最终码盘值W=(w1<<N)|w0。
步骤1.1、计算当前运算周期的光栅码值w0和绝对码值w1;
步骤1.2、若当前为第一个运算周期,初始化增量码值w2为w2=w1,初始化上一次光栅码值w0_old为w0_old=w0;若当前不是第一个运算周期,将上一个运算周期的w0记为当前运算周期的w0_old,即w0_old=w0;
其中w0的位数为N;
步骤1.3、计算w0与w0_old之差dw0=w0-w0_old,此值表示当前光栅码值的改变量;执行步骤1.4;
步骤1.4、判断dw0和-2N-1的关系,如果dw0<-2N-1,表明绝对式码盘已正向转过一个光栅码值周期,此时给w2赋新值w′2=w2+1;如果dw0>2N-1,表明光栅码值返回上一周期,绝对式码盘反向转过一个光栅码值周期,此时给w2赋新值w2′=w2-1;如果dw0=-2N-1,w2值不变;
步骤二、对增量码值w2进行累计误码的校正,具体步骤如下:
步骤2.1、若当前为第一个运算周期,定义“无误码”计数变量为no_err_cnt,设置其初值为0;初始化上一次绝对码值w1_old为w1_old=w1,初始化上一次增量码值w2_old为w2_old=w2;若当前不是第一个运算周期,将上一个运算周期最终的w1和w2分别记为当前运算周期的w1_old和w2_old,即w1_old=w1、w2_old=w2;
步骤2.2、在每个运算周期内,计算当前运算周期的绝对码值w1与上一次绝对码值w1_old之差dw1=w1-w1_old,计算当前运算周期的增量码值w2与上一次增量码值w2_old之差dw2=w2-w2_old;
步骤2.3、若dw1与dw2均等于0,即dw1=dw2=0,则执行步骤2.4;否则判断dw1与dw2是否相等,若dw1与dw2相等,令“无误码”计数变量no_err_cnt加1,否则,令“无误码”计数变量no_err_cnt等于0,执行步骤2.4;
步骤2.4、若“无误码”计数变量no_err_cnt大于等于增量码值校正阈值n1,即no_err_cnt≥n1,则说明当前绝对码值w1无误码,此时用绝对码值w1代替增量码值w2,即w2=w1,进入步骤3.2;
否则进入步骤3.1;
三、对码盘值进行误码校正,具体步骤如下:
若系统产生误码,则dw1与dw2不等;由绝对码值w1和增量码值w2自身特点知,若绝对码值w1出现误码,则误码跳变较大,若增量码值w2出现误码,则误码跳变较小;
若|dw1-dw2|>n2,则认为绝对码值w1出现误码可能性更大,增量码值w2没有误差,此时用增量码值w2代替绝对码值w1,即w1=w2;若|dw1-dw2|≤n2,则认为增量码值w2出现误码可能性更大,此时用绝对码值w1代替增量码值w2,即w2=w1;
步骤3.1、若|dw1-dw2|>n2,则用增量码值w2代替绝对码值w1,即w1=w2;否则用绝对码值w1代替增量码值w2,即w2=w1;
n2为误码校正阈值,n2≥0;
步骤3.2、若绝对码值w1误码率比光栅码w0误码率高,则最终码盘值W=(w2<<N)|w0;否则,最终码盘值W=(w1<<N)|w0。
本发明融合了绝对式、增量式误码校正的优点,能够区分粗码误码和精码误码;本发明的对码盘的误码校正精度高,校正率可以达98%以上,可以弥补因多种因素造成的码值误码;而且本发明调试更加方便。
附图说明
图1(a)为增量码值的计算流程图;
图1(b)误码的判断与校正流程图;
图2误码示意图;
图3经过本方法校正后的码值示意图。
具体实施方式
具体实施方式一:结合图1和图2说明本实施方式,1、针对绝对式码盘的误码校正方法,其特征在于它包括下述步骤:
步骤一、计算增量码值w2,具体步骤如下:
绝对式码盘码值由粗码与精码组合而成,粗码获取自矩阵码盘,精码获取自光栅码盘。定义绝对码值为通过矩阵码盘得到粗码值,用w1表示,定义光栅码值为通过光栅码盘得到的光栅码值,用w0表示(其位数为N)。设最终码盘值为W,则传统算法计算的最终码盘值W=(w1<<N)|w0。
步骤1.1、计算当前运算周期的光栅码值w0和绝对码值w1;
步骤1.2、若当前为第一个运算周期,初始化增量码值w2为w2=w1,初始化上一次光栅码值w0_old为w0_old=w0;若当前不是第一个运算周期,将上一个运算周期的w0记为当前运算周期的w0_old,即w0_old=w0;
其中w0的位数为N;
步骤1.3、计算w0与w0_old之差dw0=w0-w0_old,此值表示当前光栅码值的改变量;执行步骤1.4;
步骤1.4、判断dw0和-2N-1的关系,如果dw0<-2N-1,表明绝对式码盘已正向转过一个光栅码值周期,此时给w2赋新值w′2=w2+1;如果dw0>2N-1,表明光栅码值返回上一周期,绝对式码盘反向转过一个光栅码值周期,此时给w2赋新值w′2=w2-1;如果dw0=-2N-1,w2值不变;
步骤二、对增量码值w2进行累计误码的校正,具体步骤如下:
步骤2.1、若当前为第一个运算周期,定义“无误码”计数变量为no_err_cnt,设置其初值为0;初始化上一次绝对码值w1_old为w1_old=w1,初始化上一次增量码值w2_old为w2_old=w2;若当前不是第一个运算周期,将上一个运算周期最终的w1和w2分别记为当前运算周期的w1_old和w2_old,即w1_old=w1、w2_old=w2;
步骤2.2、在每个运算周期内,计算当前运算周期的绝对码值w1与上一次绝对码值w1_old之差dw1=w1-w1_old,计算当前运算周期的增量码值w2与上一次增量码值w2_old之差dw2=w2-w2_old;
步骤2.3、若dw1与dw2均等于0,即dw1=dw2=0,则执行步骤2.4;否则判断dw1与dw2是否相等,若dw1与dw2相等,令“无误码”计数变量no_err_cnt加1,否则,令“无误码”计数变量no_err_cnt等于0,执行步骤2.4;
步骤2.4、若“无误码”计数变量no_err_cnt大于等于增量码值校正阈值n1,即no_err_cnt≥n1,则说明当前绝对码值w1无误码,此时用绝对码值w1代替增量码值w2,即w2=w1,进入步骤3.2;
否则进入步骤3.1;
三、对码盘值进行误码校正,具体步骤如下:
若系统产生误码,则dw1与dw2不等;由绝对码值w1和增量码值w2自身特点知,若绝对码值w1出现误码,则误码跳变较大,若增量码值w2出现误码,则误码跳变较小;
若|dw1-dw2|>n2,则认为绝对码值w1出现误码可能性更大,增量码值w2没有误差,此时用增量码值w2代替绝对码值w1,即w1=w2;若|dw1-dw2|≤n2,则认为增量码值w2出现误码可能性更大,此时用绝对码值w1代替增量码值w2,即w2=w1;
步骤3.1、若|dw1-dw2|>n2,则用增量码值w2代替绝对码值w1,即w1=w2;否则用绝对码值w1代替增量码值w2,即w2=w1;
n2为误码校正阈值,n2≥0;
步骤3.2、若绝对码值w1误码率比光栅码w0误码率高,则最终码盘值W=(w2<<N)|w0;否则,最终码盘值W=(w1<<N)|w0。
具体实施方式二:本实施方式中步骤2.4所述的增量码值校正阈值n1≥1,n1根据实际应用中的误码率确定。
其它步骤和参数与具体实施方式一相同。
实施例
根据具体实施方式三进行仿真实验,实验前的误码示意图如图2所示,利用实施方式三的步骤进行绝对式码盘的误码校正,校正后的码值示意图如图3所示。
Claims (2)
1.针对绝对式码盘的误码校正方法,其特征在于它包括下述步骤:
步骤一、计算增量码值w2,具体步骤如下:
步骤1.1、计算当前运算周期的光栅码值w0和绝对码值w1;
步骤1.2、若当前为第一个运算周期,初始化增量码值w2为w2=w1,初始化上一次光栅码值w0_old为w0_old=w0;若当前不是第一个运算周期,将上一个运算周期的w0记为当前运算周期的w0_old,即w0_old=w0;
其中w0的位数为N;
步骤1.3、计算w0与w0_old之差dw0=w0-w0_old,此值表示当前光栅码值的改变量;执行步骤1.4;
步骤1.4、判断dw0和-2N-1的关系,如果dw0<-2N-1,表明绝对式码盘已正向转过一个光栅码值周期,此时给w2赋新值w′2=w2+1;如果dw0>2N-1,表明光栅码值返回上一周期,绝对式码盘反向转过一个光栅码值周期,此时给w2赋新值w′2=w2-1;如果dw0=-2N-1,w2值不变;
步骤二、对增量码值w2进行累计误码的校正,具体步骤如下:
步骤2.1、若当前为第一个运算周期,定义“无误码”计数变量为no_err_cnt,设置其初值为0;初始化上一次绝对码值w1_old为w1_old=w1,初始化上一次增量码值w2_old为w2_old=w2;若当前不是第一个运算周期,将上一个运算周期最终的w1和w2分别记为当前运算周期的w1_old和w2_old,即w1_old=w1、w2_old=w2;
步骤2.2、在每个运算周期内,计算当前运算周期的绝对码值w1与上一次绝对码值w1_old之差dw1=w1-w1_old,计算当前运算周期的增量码值w2与上一次增量码值w2_old之差dw2=w2-w2_old;
步骤2.3、若dw1与dw2均等于0,即dw1=dw2=0,则执行步骤2.4;否则判断dw1与dw2是否相等,若dw1与dw2相等,令“无误码”计数变量no_err_cnt加1,否则,令“无误码”计数变量no_err_cnt等于0,执行步骤2.4;
步骤2.4、若“无误码”计数变量no_err_cnt大于等于增量码值校正阈值n1,即no_err_cnt≥n1,当前绝对码值w1无误码,用绝对码值w1代替增量码值w2,即w2=w1,进入步骤3.2;
否则进入步骤3.1;
三、对码盘值进行误码校正,具体步骤如下:
步骤3.1、若|dw1-dw2|>n2,则用增量码值w2代替绝对码值w1,即w1=w2;否则用绝对码值w1代替增量码值w2,即w2=w1;
n2为误码校正阈值,n2≥0;
步骤3.2、若绝对码值w1误码率比光栅码w0误码率高,则最终码盘值W=(w2<<N)|w0;否则,最终码盘值W=(w1<<N)|w0。
2.根据权利要求1所述的针对绝对式码盘的误码校正方法,其特征在于,步骤2.4所述的增量码值校正阈值n1≥1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510305785.8A CN104848886B (zh) | 2015-06-05 | 2015-06-05 | 针对绝对式码盘的误码校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510305785.8A CN104848886B (zh) | 2015-06-05 | 2015-06-05 | 针对绝对式码盘的误码校正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104848886A CN104848886A (zh) | 2015-08-19 |
CN104848886B true CN104848886B (zh) | 2017-06-06 |
Family
ID=53848707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510305785.8A Expired - Fee Related CN104848886B (zh) | 2015-06-05 | 2015-06-05 | 针对绝对式码盘的误码校正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104848886B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2450637Y (zh) * | 2000-12-04 | 2001-09-26 | 中国科学院长春光学精密机械与物理研究所 | 绝对式矩阵编码盘 |
CN104236600A (zh) * | 2014-09-26 | 2014-12-24 | 哈尔滨工业大学 | 自我调整比较电压的绝对式光电编码器 |
CN104596550A (zh) * | 2015-01-28 | 2015-05-06 | 哈尔滨工业大学 | 星载绝对式光电码盘粗码译码电路及采用该电路实现的自适应采样法 |
CN104655156A (zh) * | 2014-12-31 | 2015-05-27 | 哈尔滨工业大学 | 一种矩阵式编码方式的绝对式码盘的误差补偿方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009019876A (ja) * | 2005-10-28 | 2009-01-29 | Mitsubishi Electric Corp | 光学式絶対値エンコーダ |
US7875844B2 (en) * | 2008-09-02 | 2011-01-25 | Delta Electronics, Inc. | Absolute-type encoder and method for detecting absolute position |
-
2015
- 2015-06-05 CN CN201510305785.8A patent/CN104848886B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2450637Y (zh) * | 2000-12-04 | 2001-09-26 | 中国科学院长春光学精密机械与物理研究所 | 绝对式矩阵编码盘 |
CN104236600A (zh) * | 2014-09-26 | 2014-12-24 | 哈尔滨工业大学 | 自我调整比较电压的绝对式光电编码器 |
CN104655156A (zh) * | 2014-12-31 | 2015-05-27 | 哈尔滨工业大学 | 一种矩阵式编码方式的绝对式码盘的误差补偿方法 |
CN104596550A (zh) * | 2015-01-28 | 2015-05-06 | 哈尔滨工业大学 | 星载绝对式光电码盘粗码译码电路及采用该电路实现的自适应采样法 |
Non-Patent Citations (1)
Title |
---|
光电轴角编码器的误码检测系统;赵长海等;《电子测量与仪器学报》;20120531;第26卷(第5期);第463页-第468页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104848886A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778322B (zh) | 一种折弯机上模滑块进深控制方法 | |
WO2017151200A8 (en) | Techniques for quantum error correction using bosonic modes and related systems and methods | |
CN105252911A (zh) | 一种激光打标的校正方法和装置 | |
CN103148876A (zh) | 单码道绝对式线位移光栅尺虚拟增量式码道构造方法和解码方法 | |
CN104102450A (zh) | 一种基于触摸屏手势识别的方法及系统 | |
CN109387854A (zh) | 器的两步跟踪的距离测量装置及方法 | |
CN105046691A (zh) | 一种基于正交消失点的相机自标定方法 | |
CN104679858A (zh) | 一种查询数据的方法和装置 | |
CN104848886B (zh) | 针对绝对式码盘的误码校正方法 | |
CN103258300A (zh) | 设计火力发电厂电缆通道中电缆桥架的方法 | |
CN102820892A (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
CN106773651B (zh) | 舵机临界点锁位方法和装置 | |
CN105528735B (zh) | 基于量测风速与空间相关性的异常数据点的校正方法 | |
CN104166985A (zh) | 一种基于区域分割的星敏感器标定方法 | |
CN113300716A (zh) | 循环冗余校验码的生成方法、设备以及计算机可读介质 | |
CN103763064A (zh) | 适用于超高速通讯系统的循环冗余校验码生成方法与电路 | |
CN109450460A (zh) | 一种rs码与卷积码的级联码的参数识别方法 | |
CN102594334B (zh) | 一种流水线型fpga回读帧ecc电路 | |
CN104133407A (zh) | 一种用于增量式编码器的计数装置及计数方法 | |
CN101997540B (zh) | 一种基于fpga实现的分数分频方法以及分数分频器 | |
CN108075697A (zh) | 一种位置信号倍频的开关磁阻电机相电流迭代学习控制方法 | |
CN111721210B (zh) | 变换逻辑光栅分辨率后的初始化方法、装置、设备及介质 | |
CN104298213A (zh) | 一种基于参考批次的指数时变增益型迭代学习控制算法 | |
CN115081429A (zh) | 一种指令校验方法、装置、设备和存储介质 | |
CN106918802A (zh) | 一种高精度雷达码盘方位的计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Yang Inventor after: Yu Zhiliang Inventor after: Cui Ning Inventor before: Chen Xinglin Inventor before: Yu Zhiliang Inventor before: Li Song |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170606 Termination date: 20180605 |