CN109341726A - 一种串行绝对编码器的编码方法 - Google Patents

一种串行绝对编码器的编码方法 Download PDF

Info

Publication number
CN109341726A
CN109341726A CN201811422617.7A CN201811422617A CN109341726A CN 109341726 A CN109341726 A CN 109341726A CN 201811422617 A CN201811422617 A CN 201811422617A CN 109341726 A CN109341726 A CN 109341726A
Authority
CN
China
Prior art keywords
coded
bits
sequence
coding
value
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.)
Granted
Application number
CN201811422617.7A
Other languages
English (en)
Other versions
CN109341726B (zh
Inventor
陈晓鹏
程炜
汪常进
李敬
甘明刚
张伟民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201811422617.7A priority Critical patent/CN109341726B/zh
Publication of CN109341726A publication Critical patent/CN109341726A/zh
Application granted granted Critical
Publication of CN109341726B publication Critical patent/CN109341726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种串行绝对编码器的编码方法,采用基于二叉树的方法按照深度优先的原则逐位迭代确定编码位,实现了绝对编码序列的生成,生成的编码序列的编码字长和编码数可以根据需要进行设定。本发明提供的编码方法,由于采用了基于二叉树的方法按照深度优先的原则迭代确定编码位,因此能够根据需要设置任意编码字长和编码数,并且所生成的编码序列能够同时支持串行和并行读码方式,从而提高了编码方法的通用性,降低了系统装置的成本和安装技术难度。

Description

一种串行绝对编码器的编码方法
技术领域
本发明涉及自动控制领域,具体涉及一种串行绝对编码器的编码方法。
背景技术
目前,编码器主要有增量式和绝对式两种类型。相对于增量式编码器,绝对式编码器是在光栅上按照一定的规则刻录编码,每一位置都有唯一的编码与之对应,而且当出现断电的情况时,重新上电后这种对应关系仍保持不变,由此保证了数据的可靠性和稳定性。对于编码器的读码,有串行读码和并行读码两种方式。由于现有的编码方法中,主要包括二进制码如格雷码、十进制码和六十进制码等,以及在这些编码的基础上进行优化改进的编码方法。
以上这些编码方法,一般只能通过并行读码的方式才能实现,导致成本偏高和设备安装的困难;另外,当需要进一步提高测量精度时,就需要增加码道,这对编码器的小型化带来困难;最后,由于这些编码方法都是在约定的编码方式上进行的修改,因此难以实现任意设置编码字长得到通用编码。
发明内容
有鉴于此,本发明提供了一种串行绝对编码器的编码方法,采用基于二叉树的方法按照深度优先的原则逐位迭代确定编码位,实现了绝对编码序列的生成,生成的编码序列的编码字长和编码数可以根据需要进行设定。
本发明提供了一种串行绝对编码器的编码方法,包括如下步骤:
步骤1、设定编码数和初始编码值;
步骤2、采用二叉树按照深度优先的原则确定后一位编码位的取值,即为0或1,产生当前的编码序列;
步骤3、对步骤2生成的编码序列进行正、反向的合法性校验,如果校验结果为满足合法性,则执行步骤4;
如果校验结果为不满足合法性,则步骤2中确定的编码位选择另一个取值,形成新的编码序列再次进行校验,如果校验结果为满足,则执行步骤4;
如果校验结果仍为不满足合法性,则回退到步骤2中所确定的编码位的前一位编码位重新进行选择,如果校验结果为满足,则执行步骤4,如果校验结果为不满足,则继续回退到再前一位编码位重新进行选择,直到校验结果为满足时,执行步骤4;
步骤4、存储当前生成的编码序列,当编码序列中的编码位个数小于步骤1中设定的编码数时,返回步骤2迭代计算后续编码位;否则执行步骤5;
步骤5、存储最终生成的编码序列。
进一步地,所述步骤2中的二叉树深度优先原则为,设定当后一位编码位的值为0时为左子树,当后一位编码位的值为1时为右子树,按照先左后右深度优先的遍历原则来生成编码序列。
进一步地,设定编码字长,且将所述步骤2中的编码序列中编码位的编号按照由小到大的顺序进行排序,则所述步骤3中的正向合法性校验的过程为,按照编码位的编号由小到大的顺序,遍历当前编码序列选择出所有的由连续的、设定编码字长个编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为当前编码序列不满足编码合法性约束;如果不存在相等的数值,则认为满足编码合法性约束;
所述步骤3中的反向合法性校验为,按照编码位的编号由大到小的顺序,遍历当前编码序列选择出所有的由连续的、设定编码字长个编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为当前编码序列不满足编码合法性约束;如果不存在相等的数值,则认为满足编码合法性条件。
进一步地,所述步骤3.2中回退到步骤2中所确定的编码位的前一位编码位重新进行选择的过程为,当前一位编码位的取值为0时,则设定该编码位的取值为1,然后进行正、反向合法性校验;当前一位编码位的取值为1时,则直接继续回退到再前一位编码位进行判断。
有益效果:
本发明提供的编码方法,由于采用了基于二叉树的方法按照深度优先的原则迭代确定编码位,因此能够根据需要设置任意编码字长和编码数,并且所生成的编码序列能够同时支持串行和并行读码方式,从而提高了编码方法的通用性,降低了系统装置的成本和安装技术难度。
附图说明
图1为本发明采用的二叉树检索思想的示意图。
图2为本发明根据设计的算法得到的编码数为0100000010、编码字长为10、优先考虑0的编码序列的部分二叉树表示。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种串行绝对编码器的编码方法,其基本思想是:基于预先设定的编码数、编码字长和初始编码值,采用基于二叉树的方法按照深度优先的原则逐位迭代选择剩余编码位的值为0或1,再对生成的编码进行正反向的合法性校验,即,验证编码值是否唯一,校验合格则完成绝对编码序列的生成过程。
本发明所采用的二叉树思想,如图1所示,即,设定好初始编码数、编码字长和初始编码值,开始进行二叉树选择,判断初始编码值的后一位编码位取值为0时是否能够满足所有编码值的正向、反向唯一性要求,如果能够满足则继续判断下一位编码位的取值;否则,令初始编码值的后一位编码位取值为1,判断此时是否能够满足所有编码值的正向、反向唯一性要求,如果能够满足则继续判断下一位编码位的取值;否则,返回上一位编码位重复上述过程,生成的编码序列如图2所示。
实施例一:采用本发明提供的编码方法,实现编码的过程包括如下步骤:
步骤1、设定编码数为N、编码字长为W和初始编码值,通常情况下初始编码值设置为由W位0组成的编码值;
步骤2、设定一个长度可变的数组T,表示为T={b1,b2,...,bi,bi+1,...,bm},其中,bi为数组中的编码位,1≤i≤N,W≤m≤N;
步骤3、将初始编码值存储到数组T中,此时的数组T为包含了W个0的数组,即T={b1,b2,...,bi,bi+1,...,bW}={0,0,...,0,0,...,0};
步骤4、选择数组T中最后一位即bW作为二叉树的根节点,设定当bW+1=1时,表示bW+1为节点bW的右子树;而当bW+1=0时,表示bW+1为节点bW的左子树;这里,我们采取先左后右深度优先的遍历方法来生成编码序列,即在数组T中依次增加bW+j,其中,-W≤j≤(N-W),令j=1;
步骤5、依据先左后右深度优先的优先原则,首先设定bW+j=0,并将bW+j的值存储到数组T中的第W+j位,此时,数组T为:
T={b1,b2,...,bi,bi+1,...,bW,...,bw+j}={0,0,...,0,0,...,0,...,0};
在数组T中进行编码的正向和反向合法性检查:
步骤5.1、正向合法性检查,即按照编码位的编号由小到大的顺序,遍历数组T选择出所有的由连续的W位编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为数组T不满足编码合法性约束,即,bW+j=0的值有误,执行步骤6;如果不存在相等的数值,则认为数组T满足编码合法性约束,执行步骤5.2;
步骤5.2、反向合法性检查,即按照编码位的编号由大到小的顺序,遍历数组T选择出所有的由连续的W位编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为数组T不满足编码合法性约束,即,bW+j=0的值有误,执行步骤6;如果不存在相等的数值,则认为数组T满足编码合法性约束,执行步骤8;
步骤6、设定bW+j=1,并将bW+j的值存储到数组T中的第W+j位,此时,数组T为:
T={b1,b2,...,bi,bi+1,...,bW,...,bw+j}={0,0,...,0,0,...,0,...,1};
在数组T中进行编码的正向和反向合法性检查:
步骤6.1、正向合法性检查,即按照编码位的编号由小到大的顺序,遍历数组T选择出所有的由连续的W位编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为数组T不满足编码合法性约束,即,bW+j=1的值有误,执行步骤7;如果不存在相等的数值,则认为数组T满足编码合法性约束,执行步骤6.2;
步骤6.2、反向合法性检查,即按照编码位的编号由大到小的顺序,遍历数组T选择出所有的由连续的W位编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为数组T不满足编码合法性约束,即,bW+j=1的值有误,执行步骤7;如果不存在相等的数值,则认为数组T满足编码合法性约束,执行步骤8;
步骤7、令j自减1,当bW+j=0时,执行步骤6;当bW+j=1时,执行步骤7,即当编码位的取值为1时,则直接继续回退到再前一位编码位进行判断;
步骤8、令j自加1,当j≤(N-W)时,执行步骤5,否则执行步骤9;
步骤9、此时的数组T为满足合法性要求的编码数为N、编码字长为W的编码序列。
本发明设计的串行绝对编码器的编码方法,可以采用串行读码的方式,此外,如果不考虑成本和安装难度,也可以通过并行读取的方法一次性读取W位连续编码。当采用串行读码方式时,在编码器首次运行时需要成功连续阅读W个编码位后才能准确判断当前位置,其中,W为编码字长,之后则只需要移动一个编码位即可检测出当前的位置信息。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种串行绝对编码器的编码方法,其特征在于,包括如下步骤:
步骤1、设定编码数和初始编码值;
步骤2、采用二叉树按照深度优先的原则确定后一位编码位的取值,即为0或1,产生当前的编码序列;
步骤3、对步骤2生成的编码序列进行正、反向的合法性校验,如果校验结果为满足合法性,则执行步骤4;
如果校验结果为不满足合法性,则步骤2中确定的编码位选择另一个取值,形成新的编码序列再次进行校验,如果校验结果为满足,则执行步骤4;
如果校验结果仍为不满足合法性,则回退到步骤2中所确定的编码位的前一位编码位重新进行选择,如果校验结果为满足,则执行步骤4,如果校验结果为不满足,则继续回退到再前一位编码位重新进行选择,直到校验结果为满足时,执行步骤4;
步骤4、存储当前生成的编码序列,当编码序列中的编码位个数小于步骤1中设定的编码数时,返回步骤2迭代计算后续编码位;否则执行步骤5;
步骤5、存储最终生成的编码序列。
2.根据权利要求1所述的方法,其特征在于,所述步骤2中的二叉树深度优先原则为,设定当后一位编码位的值为0时为左子树,当后一位编码位的值为1时为右子树,按照先左后右深度优先的遍历原则来生成编码序列。
3.根据权利要求1所述的方法,其特征在于,设定编码字长,且将所述步骤2中的编码序列中编码位的编号按照由小到大的顺序进行排序,则所述步骤3中的正向合法性校验的过程为,按照编码位的编号由小到大的顺序,遍历当前编码序列选择出所有的由连续的、设定编码字长个编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为当前编码序列不满足编码合法性约束;如果不存在相等的数值,则认为满足编码合法性约束;
所述步骤3中的反向合法性校验为,按照编码位的编号由大到小的顺序,遍历当前编码序列选择出所有的由连续的、设定编码字长个编码位组成的编码值,并求出每个编码值所对应的十进制的数值,将所有的十进制数值进行比较,如果存在相等的数值,则认为当前编码序列不满足编码合法性约束;如果不存在相等的数值,则认为满足编码合法性条件。
4.根据权利要求1所述的方法,其特征在于,所述步骤3.2中回退到步骤2中所确定的编码位的前一位编码位重新进行选择的过程为,当前一位编码位的取值为0时,则设定该编码位的取值为1,然后进行正、反向合法性校验;当前一位编码位的取值为1时,则直接继续回退到再前一位编码位进行判断。
CN201811422617.7A 2018-11-27 2018-11-27 一种串行绝对编码器的编码方法 Active CN109341726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811422617.7A CN109341726B (zh) 2018-11-27 2018-11-27 一种串行绝对编码器的编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811422617.7A CN109341726B (zh) 2018-11-27 2018-11-27 一种串行绝对编码器的编码方法

Publications (2)

Publication Number Publication Date
CN109341726A true CN109341726A (zh) 2019-02-15
CN109341726B CN109341726B (zh) 2020-08-11

Family

ID=65318116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811422617.7A Active CN109341726B (zh) 2018-11-27 2018-11-27 一种串行绝对编码器的编码方法

Country Status (1)

Country Link
CN (1) CN109341726B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050142A (ja) * 1997-05-30 2003-02-21 Agilent Technol Inc 準絶対位置検出装置
CN101692200A (zh) * 2008-03-11 2010-04-07 魏营隆 数字绳码编码解码及加减乘除倒数算术电路设计的方法
CN104065460A (zh) * 2014-07-11 2014-09-24 成都卫士通信息产业股份有限公司 基于二叉树的编码方法和编码装置
CN104713479A (zh) * 2015-03-11 2015-06-17 吉林大学珠海学院 一种绝对式直线光栅尺及其编码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050142A (ja) * 1997-05-30 2003-02-21 Agilent Technol Inc 準絶対位置検出装置
CN101692200A (zh) * 2008-03-11 2010-04-07 魏营隆 数字绳码编码解码及加减乘除倒数算术电路设计的方法
CN104065460A (zh) * 2014-07-11 2014-09-24 成都卫士通信息产业股份有限公司 基于二叉树的编码方法和编码装置
CN104713479A (zh) * 2015-03-11 2015-06-17 吉林大学珠海学院 一种绝对式直线光栅尺及其编码方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
SARBAJIT PAUL: "Design of absolute encoder disk coding based on affine n digit N-ary gray code", 《2016 IEEE INTERNATIONAL INSTRMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE》 *
王家奎等: "二进制数据的双相编码及其串行传送", 《大连海事大学学报》 *
邱成等: "绝对式光学编码器串行编码方法的研究", 《光学技术》 *
邱成等: "采用单读码器件的串行编码绝对式光学编码器", 《光学技术》 *

Also Published As

Publication number Publication date
CN109341726B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN102741819B (zh) 用于解码码字的方法和设备
CN103782266B (zh) 针对存储器持久性操作的设备及方法
CN1881477A (zh) 编码数据的错误检测和校正
CN101867379B (zh) 一种循环冗余校验辅助的卷积码译码方法
DE60328528D1 (de) E datenkomprimierung bei der speicherung und übertragung mit hierarchischer segmentrepräsentation
US8386884B2 (en) Memory apparatus with multi-level cells and operation method thereof
CN111443869B (zh) 一种文件存储方法、装置、设备及计算机可读存储介质
CN101288232B (zh) 对数据进行编码和解码的方法以及设备
CN110690907B (zh) 一种已知支路信息turbo码删除模式估计方法
CN101291151B (zh) 一种井下信息传输的编码及解码方法
US20030093740A1 (en) Iterative hard decoding method for multidimensional SPC
CN109341726A (zh) 一种串行绝对编码器的编码方法
US10607709B1 (en) System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories
CN101425869B (zh) 一种译码方法及装置
CN1741614A (zh) 使用冗余对视/音频和语音数据进行解码的方法和系统
CN1543077A (zh) 软解调方法和装置
CA2398955A1 (en) Method for compressing data
US8432302B2 (en) Method and apparatus for line coding
CN114385624A (zh) 编码方法、编码查找方法、装置、电子设备及存储介质
CN1620050A (zh) 适用于宽带码分多址系统的盲传输格式检测方法
CN1762102A (zh) 用于建立变长纠错码的方法和装置
CN1534878A (zh) 将以卷积码编码的信号加以解码的方法和装置
KR20180038941A (ko) 섹터 스프레딩을 이용하여 메모리 셀들에 비트들을 매핑하는 방법 및 상기 방법을 수행하는 장치
CN1091535A (zh) 用于纠错码数据传输的方法和设备
CN1726645A (zh) 用于数据压缩的电路和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant