CN111457947A - 位置编码系统及编码方法和装置、电子设备和存储介质 - Google Patents
位置编码系统及编码方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111457947A CN111457947A CN202010401209.4A CN202010401209A CN111457947A CN 111457947 A CN111457947 A CN 111457947A CN 202010401209 A CN202010401209 A CN 202010401209A CN 111457947 A CN111457947 A CN 111457947A
- Authority
- CN
- China
- Prior art keywords
- matrix
- code
- column
- coding
- sub
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Mechanical 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
- G01D5/12—Mechanical 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 using electric or magnetic means
- G01D5/244—Mechanical 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 using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/249—Mechanical 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 using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using pulse code
- G01D5/2497—Absolute encoders
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种位置编码系统及编码方法和装置、电子设备和存储介质,位置编码系统包括具有2M*N个编码位置的码盘,编码方法包括:建立第i个编码位置的初始矩阵A[i],M*N阶A[i]中每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵与A[i+1]中第1列到第N‑1列元素所构成的左子矩阵相同;形成码盘的编码矩阵,编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,C[j]为A[j]中第N列元素所构成的子矩阵。本发明提供一种新的编码方式,在实现同等量程的前提下,可以用更少位数的编码,实现更小空间要求,减小码盘的宽度。
Description
技术领域
本发明实施例涉及编码读码技术,尤其涉及一种位置编码系统及编码方法和装置、电子设备和存储介质。
背景技术
绝对式编码器因其每一个位置绝对唯一、抗干扰、无需掉电记忆,已经越来越广泛地应用于各种工业系统中的角度、长度测量和定位控制。在位置检测领域,位置传感器中多集成有绝对式编码器,用于检测当前的绝对位置。
现有的绝对式编码器,其原理从数学角度可描述为,在每个位置都有一个二进制编码,0或1,编码器的位数Y决定了总编码的个数2Y,精度为k,相应的也决定了位置传感器测量的量程k*2Y。例如:精度k为0.1mm,则16位编码器的总编码个数是216=65536,量程为6553.6mm;8位编码器的总编码个数是28=256,量程为25.6mm。如图1所示为一个8位绝对式编码器的编码示意图,8位编码器的总编码个数是256,编码器码盘中每一列8个方格代表一个8位的位置编码,横向共可分为256列即代表256个位置编码,精度k为0.1mm,量程为25.6mm,其中仅图示出前10列的位置编码且白色方格对照二进制1以及黑色方格对照二进制0。
根据以上原理分析可知,在测量精度确定的情况下,量程与编码个数成正比例,绝对式编码器的量程越大,所需的编码器位数也越多,编码器位数增加则增加了编码器码盘的机械宽度。因此,在测量精度确定的情况下,大量程的编码器的物理空间尺寸大。
发明内容
本发明实施例提供一种位置编码系统及编码方法和装置、电子设备和存储介质,以解决现有编码器物理空间尺寸大的问题。
本发明实施例提供了一种位置编码系统的编码方法,所述位置编码系统包括码盘且所述码盘包括2M*N个编码位置,所述编码方法包括:
建立第i个编码位置的初始矩阵A[i],所述初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M为正整数,N为大于或等于2的正整数,1≤i≤2M*N;
形成所述码盘的编码矩阵,所述编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
基于同一发明构思,本发明实施例提供了一种位置编码系统的编码装置,所述位置编码系统包括码盘且所述码盘包括2M*N个编码位置,所述编码装置包括:
初始矩阵模块,用于建立第i个编码位置的初始矩阵A[i],所述初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M为正整数,N为大于或等于2的正整数,1≤i≤2M*N;
编码矩阵模块,用于形成所述码盘的编码矩阵,所述编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
基于同一发明构思,本发明实施例提供了一种位置编码系统,所述位置编码系统包括码盘和如上所述的编码装置,所述码盘包括2M*N个编码位置。
基于同一发明构思,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的位置编码系统的编码方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的位置编码系统的编码方法。
本发明实施例中,首先建立第i个编码位置的初始矩阵A[i],初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同;再形成码盘的编码矩阵,编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵。编码矩阵是在码盘上实质形成的编码,显然,本发明实施例中M*N位码盘上的编码行数为M行,列数为N-1+2M*N列。现有同等量程的M*N位编码器,码盘上的行数为M*N行且列数为2M*N列,与现有技术相比,本发明实施例提供了一种新的编码方式,使M*N位编码器的物理空间宽度约为现有的1/N,因此在测量精度确定的情况下,同等量程下有效减小了编码器的物理空间尺寸,减小了码盘的宽度,或者,同样物理空间尺寸和同样测量精度下可以实现更大量程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图虽然是本发明的一些具体的实施例,对于本领域的技术人员来说,可以根据本发明的各种实施例所揭示和提示的器件结构,驱动方法和制造方法的基本概念,拓展和延伸到其它的结构和附图,毋庸置疑这些都应该是在本发明的权利要求范围之内。
图1为现有的8位绝对式编码器的编码示意图;
图2是本发明实施例提供的一种位置编码系统的编码方法的流程图;
图3是本发明实施例提供的4个相邻编码位置的编码示意图;
图4是本发明实施例提供的相邻2个编码位置的矩阵关系示意图;
图5是本发明实施例提供的编码矩阵的示意图;
图6是本发明实施例提供的位置编码系统的结构图;
图7是本发明实施例提供的原始矩阵二进制扩展的示意图;
图8是本发明实施例提供的一种位置编码系统的编码方法的流程图;
图9是本发明实施例提供的校验编码矩阵的示意图;
图10是本发明实施例提供的位置编码系统的示意图;
图11是本发明实施例提供的解码原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所揭示和提示的基本概念,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
参考图2所示,为本发明实施例提供的一种位置编码系统的编码方法的流程图。本实施例中该位置编码系统包括码盘且码盘包括2M*N个编码位置,该编码方法包括:
步骤S1、建立第i个编码位置的初始矩阵A[i],初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M和N均为大于或等于2的正整数,1≤i≤2M*N。
本实施例中,该位置编码系统的码盘包括2M*N个编码位置,码盘位数为M*N,量程为k*M*N,按照位置排布顺序依次为第1个编码位置至第2M*N个编码位置,设置每个编码位置的编码为二维且用矩阵A表示,则第1个编码位置的编码为A[1],第2个编码位置的编码为A[2],以此类推,第i个编码位置的编码为A[i],第2M*N个编码位置的编码为A[2M*N],1≤i≤2M *N,在此将编码A[i]命名为初始矩阵以示矩阵名称上的区分。可以理解,每个编码位置的初始矩阵唯一。
初始矩阵A[i]的阶数为M*N,M为正整数,N为大于或等于2的正整数,初始矩阵A[i]中每个矩阵元素为二进制数,二进制数包括0和1,则初始矩阵A[i]中每个矩阵元素为0或1。A[i]包括N列元素,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同。具体的,A[1]中第2列到第N列元素所构成的右子矩阵CR与A[2]中第1列到第N-1列元素所构成的左子矩阵CL相同,A[2]中第2列到第N列元素所构成的右子矩阵CR与A[3]中第1列到第N-1列元素所构成的左子矩阵CL相同,以此类推,A[2M*N-1]中第2列到第N列元素所构成的右子矩阵CR与A[2M*N]中第1列到第N-1列元素所构成的左子矩阵CL相同。
如图3所示为4个相邻编码位置的编码示意图,可选M=2且N=4,可选4个相邻编码位置分别为第1个编码位置的编码A[1]至第4个编码位置的编码A[4]。
如图4所示为相邻2个编码位置的矩阵关系示意图,可选2个相邻编码位置分别为第1个编码位置的编码A[1]和第2个编码位置的编码A[2],其中A[1]中第2列到第N列元素构成A[1]的右子矩阵CR,A[2]中第1列到第N-1列元素构成A[2]的左子矩阵CL,显然,A[1]的右子矩阵CR与A[2]的左子矩阵CL相同。
步骤S2、形成码盘的编码矩阵,编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
本实施例中,编码矩阵是指在码盘上形成的编码,依次由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵。具体的,选取第1个编码位置的编码A[1],从A[2]中抽取第N列元素构成末列子矩阵C[2],从A[3]中抽取第N列元素构成末列子矩阵C[3],以此类推,从A[i]中抽取第N列元素构成末列子矩阵C[i],从A[2M*N]中抽取第N列元素构成末列子矩阵C[2M*N]。由A[1],C[2],C[3],…,C[i],…,C[2M*N]顺序拼接形成的新的矩阵为编码矩阵,编码矩阵是在码盘上实质形成的编码,显然,码盘上的编码行数为M行,列数为N-1+2M*N列。
如图5所示为编码矩阵的示意图。可选编码器的位数为M*N即8,码盘的总编码个数是2M*N即256。初始矩阵依次为A[1]至A[256];抽取的矩阵依次为A[1],C[2],C[3],…,…,C[256];将抽取的矩阵顺序拼接为新的矩阵G。编码矩阵G是在码盘上实质形成的编码,显然,码盘上的编码行数为2行,列数为259列。现有的8位编码器中码盘的行数为8行且列数为256列,本实施例提供的8位码盘的物理空间尺寸约为现有的1/4,因此在测量精度确定的情况下,同等量程下有效减小了编码器的物理空间尺寸,也可以理解为,同样物理空间尺寸下可以实现更大量程。
如图6所示为位置编码系统的码盘结构图。如左图所示原则上256个相邻编码位置的编码A[1]至A[256]在码盘上应顺序且无间隔排布;但如中图所示A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,那么A[1]的右子矩阵CR与A[2]的左子矩阵CL相同,顺序的,A[2]的右子矩阵CR与A[3]的左子矩阵CL相同,则在码盘上形成编码时A[1]的右子矩阵CR可以复用为A[2]的左子矩阵CL,以此类推,A[255]的右子矩阵CR可以复用为A[256]的左子矩阵CL;基于此进行码盘编码,编码矩阵如矩阵G所示,如右图所示在码盘上顺序的第1列至第4列构成的矩阵为A[1],第2列至第5列构成的矩阵为A[2],第3列至第6列构成的矩阵为A[3],第4列至第7列构成的矩阵为A[4],以此类推,第256列至第259列构成的矩阵为A[256]。
如图1所示现有的8位编码器,其码盘结构具有256列编码且1列编码具有8位元素,1列构成的8位元素表征一个编码位置,则8位编码器的码盘结构为8行*256列的编码结构,可以表征256个编码位置。结合图5和图6所示本发明的8位位置编码系统,其码盘结构具有259列编码且1列编码具有2位元素,2行且任意相邻的4列构成的8位元素表征一个编码位置,则8位编码器的码盘结构为2行*259列的编码结构,可以表征256个编码位置。码盘宽度是指其在列方向上的尺寸,显然在测量精度相同的情况下,同等量程下,本实施例减小了码盘宽度。
本发明实施例中,首先建立第i个编码位置的初始矩阵A[i],初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同;再形成码盘的编码矩阵,编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵。编码矩阵是在码盘上实质形成的编码,显然,本实施例中M*N位码盘上的编码行数为M行,列数为N-1+2M*N列。现有同等量程的M*N位编码器,码盘上的行数为M*N行且列数为2M*N列,与现有技术相比,本实施例提供一种新的编码方式,相同测量精度下,使M*N位码盘的物理空间宽度约为现有的1/N,因此同等量程下有效减小了码盘的物理空间尺寸,或者,同样物理空间尺寸下可以实现更大量程。
可选的,步骤S1的建立第i个编码位置的初始矩阵A[i]的操作具体包括:
步骤S11、建立一维原始矩阵Code[1],原始矩阵Code[1]的阶数为1*N且每个矩阵元素为十进制数,矩阵元素最大数值预先设定且已知;
步骤S12、将1*N阶原始矩阵Code[i]中第2列到第N列元素抽取构成副矩阵TC的第1列到第N-1列元素,对副矩阵TC的第N列元素进行任意取值且该取值小于或等于矩阵元素最大数值;
步骤S13、如果1*N阶副矩阵TC唯一,确定其构成原始矩阵Code[i+1],并对Code[i]中每个矩阵元素进行二进制变换以构成A[i];
步骤S14、如果1*N阶副矩阵TC不唯一,重新对副矩阵TC的第N列元素进行取值,直至赋值验证副矩阵TC唯一。
一维原始矩阵Code[i]的阶数为1*N且每个矩阵元素为十进制数,已知预先设定的初始矩阵A[i]的行数M,A[i]的矩阵行数M与Code[i]的矩阵元素最大数值相关,对于M行矩阵A[i]而言,Code[i]的矩阵元素最大数值为2M-1,那么Code[i]中每个矩阵元素小于或等于矩阵元素最大数值。例如所需的A[i]的行数M=2且N=4,那么Code[i]的矩阵元素最大数值为3,则Code[i]的矩阵元素范围为0~3,一维原始矩阵Code[i]中每个矩阵元素可以在0、1、2、3之间取值,预先设定矩阵Code[1]=3,3,3,3。例如,所需的A[i]的行数M=4,那么Code[i]的矩阵元素最大数值为15,则Code[i]的矩阵元素范围为0~15。可以理解,预先设定矩阵Code[1]可以为最大矩阵或最小矩阵。
Code[1]中第2列到第N列元素抽取得到一副矩阵TC=3,3,3,x,对该副矩阵TC中未知的第N列元素x进行任意取值且该取值小于或等于3。例如x=0,那么Code[1]的副矩阵TC=3,3,3,0。判断Code[i]的副矩阵TC是否为全新的编码,即与每个已存编码进行比对,若与任意已存编码均不相同,则确定该Code[i]的1*N阶副矩阵TC唯一,将其确定为原始矩阵Code[i+1]。已知Code[1]的TC=3,3,3,0,已存编码仅含Code[1]=3,3,3,3,验证后确定TC唯一,则将该TC=3,3,3,0确定为原始矩阵Code[2]。
若对Code[i]的副矩阵TC中未知的第N列元素x进行任意取值时,x=3,那么TC=3,3,3,3。验证判断时,确定TC与已存编码Code[1]相同,则确定该1*N阶副矩阵TC不唯一,需要重新对TC的x进行赋值,直至确定到Code[i]的唯一的TC。可以理解,每个Code[i]具有一个副矩阵TC。
对Code[i]赋值成功后,结束此次赋值并使循环变量i自加1,重复此步,直至所有的Code[i]都已赋值完成,得到Code[1]至Code[2M*N],Code[i]唯一。
例如,矩阵元素最大数值为3且N=4,那么一维原始矩阵Code[i]中每个矩阵元素可以在0、1、2、3之间取值,预先设定矩阵Code[1]=3,3,3,3;i依次递增,则其他一维原始矩阵Code[i]可赋值如下:Code[2]=3,3,3,0;Code[3]=3,3,0,0;Code[4]=3,0,0,0;Code[5]=0,0,0,0;Code[6]=0,0,0,1;Code[7]=0,0,1,0;Code[8]=0,1,0,0;Code[9]=1,0,0,0;Code[10]=0,0,0,2;Code[11]=0,0,2,0;…;Code[250]=2,2,3,3;Code[251]=2,3,3,2;Code[252]=3,3,2,3;Code[253]=3,2,3,2;Code[254]=2,3,2,3;Code[255]=3,2,3,3;Code[256]=2,3,3,3。
以下是基于以上方法的软件源代码:
将赋值成功的Code[i]中每个矩阵元素进行二进制变换,即可构成初始矩阵A[i]。例如如图7所示,Code[250]=2,2,3,3,其中每个矩阵元素由十进制变换为二进制后,得到A[250]。可以理解,Code[1]进行二进制变换得到A[1],Code[2]进行二进制变换得到A[2],以此类推,Code[2M*N]进行二进制变换得到A[2M*N]。
可选的,原始矩阵Code[i]中每个矩阵元素为正整数。例如图7所示十进制矩阵元素最大数值为3,那么原始矩阵Code[i]中每个矩阵元素可在0~3之间取值;还可选十进制矩阵元素最大数值为31,那么原始矩阵Code[i]中每个矩阵元素可在0~31之间取值;还可选十进制矩阵元素最大数值为127,那么原始矩阵Code[i]中每个矩阵元素可在0~127之间取值。显然,相关从业人员可根据产品所需合理设置十进制矩阵元素最大数值。
可选的,如图8所示该编码方法还包括:
步骤S3、形成具有校验功能的校验编码矩阵,校验编码矩阵中每1列子矩阵具有对应的校验码以进行容错或纠错。如上所述,编码矩阵是在码盘上实质形成的编码,码盘上的编码行数为M行,列数为N-1+2M*N列。
本实施例中,对编码矩阵G进行行扩展,具体是在每1列子矩阵的末位再扩展一定长度的校验码,校验码具有容错、纠错或检错的能力。可选校验编码矩阵中每1列子矩阵的校验码均为二进制数。可选形成具有校验功能的校验编码矩阵包括:计算编码矩阵G中一列子矩阵中0的数量;若该列子矩阵中0的数量为偶数,设定该列子矩阵的校验码为0;若该列子矩阵中0的数量为奇数,设定该列子矩阵的校验码为1。可以理解,校验码的二进制和奇偶限定仅是一种示例,在其他实施例中还可选为其他校验方式,例如不规则设定的校验码,不限于此。
如图9所示,在编码矩阵G的每1列子矩阵的末位增加一位校验码得到加校验码矩阵ch的校验编码矩阵G+ch,可选A[1]的校验码矩阵=0,0,0,0,C[2]的校验码为0,C[2M*N-3]的校验码为1,C[2M*N-2]的校验码为0,C[2M*N-1]的校验码为0,C[2M*N]的校验码为0。增加校验码可以提高读码准确率。
基于同一发明构思,本发明实施例还提供了一种位置编码系统的编码装置,该编码装置可执行上述任意实施例所述的编码方法,可选该编码装置采用软件和/或硬件构成。位置编码系统包括码盘且码盘包括2M*N个编码位置,本实施例的编码装置包括:初始矩阵模块,用于建立第i个编码位置的初始矩阵A[i],初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M为正整数,N为大于或等于2的正整数,1≤i≤2M*N;编码矩阵模块,用于形成码盘的编码矩阵,编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
可选初始矩阵模块包括:原始矩阵单元,用于建立一维原始矩阵Code[1],原始矩阵Code[1]的阶数为1*N且每个矩阵元素为十进制数,其中,矩阵元素最大数值预先设定且已知;矩阵赋值单元,用于将1*N阶原始矩阵Code[i]中第2列到第N列元素抽取构成副矩阵TC的第1列到第N-1列元素,对该副矩阵TC的第N列元素进行任意取值且该取值小于或等于矩阵元素最大数值;矩阵验证单元,用于如果该1*N阶副矩阵TC唯一,确定1*N阶副矩阵TC构成原始矩阵Code[i+1]并对Code[i]中每个矩阵元素进行二进制变换以构成A[i],如果1*N阶副矩阵TC不唯一,重新对该副矩阵TC的第N列元素进行取值,直至赋值验证该副矩阵TC唯一。
可选编码装置还包括:校验矩阵模块,用于形成具有校验功能的校验编码矩阵,校验编码矩阵中每1列子矩阵具有对应的校验码以进行容错或纠错。
可选校验编码矩阵中每1列子矩阵的校验码均为二进制数。
可选校验矩阵模块用于计算编码矩阵中一列子矩阵中0的数量,若该列子矩阵中0的数量为偶数,设定该列子矩阵的校验码为0,若该列子矩阵中0的数量为奇数,设定该列子矩阵的校验码为1。
本实施例中M*N位码盘上的编码行数为M行,列数为N-1+2M*N列。现有同等量程的M*N位编码器,码盘上的行数为M*N行且列数为2M*N列,与现有技术相比,本实施例提供一种新的编码方式,相同测量精度下,使M*N位码盘的物理空间宽度约为现有的1/N,因此同等量程下有效减小了码盘的物理空间尺寸,或者,同样物理空间尺寸下可以实现更大量程。
基于同一发明构思,本发明实施例还提供了一种位置编码系统,如图6所示位置编码系统包括码盘100和如上所述的编码装置,码盘100包括2M*N个编码位置。编码装置采用如上任意实施例所述的编码方法对码盘100进行编码,其码盘100的编码如编码矩阵G或G+ch所示。
如图10所示该位置编码系统还包括:读码器200;读码器200用于读取码盘100中相邻的N列编码以获得一目标初始矩阵,将目标初始矩阵所对应的编码位置确定为目标编码位置。其中码盘100的编码如矩阵G或G+ch所示。
具体的,读码器200与码盘100发生相对位移,如角度位移或直线位移。每次发生位移时,读码器200通过位移可以读取得到码盘100上编码矩阵中的一个M*N列子矩阵,该M*N列子矩阵即为目标初始矩阵,该目标初始矩阵所表征的编码位置即为得到的目标编码位置。读码器200对目标初始矩阵进行解析可以得到码盘100与读码器200的相对位移。
如图11所示,码盘具有编码矩阵G,其中M=2且N=4。读码器200读取时可以从码盘中读取得到一个M*N的子矩阵,而在码盘的编码矩阵G内任何一个M*N阶子矩阵都是一个初始矩阵A[i],初始矩阵A[i]表征了编码位置,通过解析可以进行位置检测。如图示若读码器200读取得到编码矩阵G的第1列至第4列构成的子矩阵,则目标初始矩阵为A[1];若读码器200读取得到编码矩阵G的第2列至第5列构成的子矩阵,则目标初始矩阵为A[2];若读码器200读取得到编码矩阵G的第3列至第6列构成的子矩阵,则目标初始矩阵为A[3];若读码器200读取得到编码矩阵G的第4列至第7列构成的子矩阵,则目标初始矩阵为A[4];若读码器200读取得到编码矩阵G的第256列至第259列构成的子矩阵,则目标初始矩阵为A[256]。
本实施例的码盘采用了如上任意实施例所述的新的编码方式,在测量精度确定的情况下,使M*N位码盘的物理空间宽度约为现有的1/N,因此同等量程下有效减小了码盘的物理空间尺寸,或者,同样物理空间尺寸下可以实现更大量程。
本发明实施例还提供了一种电子设备,该电子设备包括一个或多个处理器以及存储装置,存储装置用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任意实施例所述的位置编码系统的编码方法。可选电子设备还包括输入装置和输出装置,电子设备中处理器、存储装置、输入装置和输出装置可以通过总线或其他方式连接。
存储装置即存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的位置编码系统的编码方法对应的程序指令/模块。处理器通过运行存储在存储装置中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本发明实施例所提供的位置编码系统的编码方法。
存储装置可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置可包括显示屏等显示设备。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序即计算机可执行指令,该程序被处理器执行时用于实现本发明实施例所提供的位置编码系统的编码方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的位置编码系统的编码方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种位置编码系统的编码方法,其特征在于,所述位置编码系统包括码盘且所述码盘包括2M*N个编码位置,所述编码方法包括:
建立第i个编码位置的初始矩阵A[i],所述初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M为正整数,N为大于或等于2的正整数,1≤i≤2M*N;
形成所述码盘的编码矩阵,所述编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
2.根据权利要求1所述的编码方法,其特征在于,建立第i个编码位置的初始矩阵A[i]包括:
建立一维原始矩阵Code[1],所述原始矩阵Code[1]的阶数为1*N且每个矩阵元素为十进制数,其中,矩阵元素最大数值预先设定且已知;
将1*N阶原始矩阵Code[i]中第2列到第N列元素抽取构成副矩阵TC的第1列到第N-1列元素,对该副矩阵TC的第N列元素进行任意取值且该取值小于或等于所述矩阵元素最大数值;
如果该1*N阶副矩阵TC唯一,确定所述1*N阶副矩阵TC构成原始矩阵Code[i+1],并对所述Code[i]中每个矩阵元素进行二进制变换以构成所述A[i];
如果所述1*N阶副矩阵TC不唯一,重新对该副矩阵TC的第N列元素进行取值,直至赋值验证该副矩阵TC唯一。
3.根据权利要求1所述的编码方法,其特征在于,还包括:
形成具有校验功能的校验编码矩阵,所述校验编码矩阵中每1列子矩阵具有对应的校验码以进行容错或纠错。
4.根据权利要求3所述的编码方法,其特征在于,所述校验编码矩阵中每1列子矩阵的校验码均为二进制数。
5.根据权利要求3所述的编码方法,其特征在于,形成具有校验功能的校验编码矩阵包括:
计算所述编码矩阵中一列子矩阵中0的数量;
若该列子矩阵中0的数量为偶数,设定该列子矩阵的校验码为0;
若该列子矩阵中0的数量为奇数,设定该列子矩阵的校验码为1。
6.一种位置编码系统的编码装置,其特征在于,所述位置编码系统包括码盘且所述码盘包括2M*N个编码位置,所述编码装置包括:
初始矩阵模块,用于建立第i个编码位置的初始矩阵A[i],所述初始矩阵A[i]的阶数为M*N且每个矩阵元素为二进制数,A[i]中第2列到第N列元素所构成的右子矩阵CR与A[i+1]中第1列到第N-1列元素所构成的左子矩阵CL相同,M为正整数,N为大于或等于2的正整数,1≤i≤2M*N;
编码矩阵模块,用于形成所述码盘的编码矩阵,所述编码矩阵由第1个编码位置的初始矩阵A[1]以及末列子矩阵C[2],…,C[j],…,C[2M*N]顺序拼接形成,其中,末列子矩阵C[j]为A[j]中第N列元素所构成的子矩阵,2≤j≤2M*N。
7.一种位置编码系统,其特征在于,所述位置编码系统包括码盘和如权利要求6所述的编码装置,所述码盘包括2M*N个编码位置。
8.根据权利要求7所述的位置编码系统,其特征在于,所述位置编码系统还包括:读码器,所述读码器用于读取所述码盘中相邻的N列编码以获得一目标初始矩阵,将所述目标初始矩阵所对应的编码位置确定为目标编码位置。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1~5中任一所述的位置编码系统的编码方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5中任一所述的位置编码系统的编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010401209.4A CN111457947B (zh) | 2020-05-13 | 2020-05-13 | 位置编码系统及编码方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010401209.4A CN111457947B (zh) | 2020-05-13 | 2020-05-13 | 位置编码系统及编码方法和装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111457947A true CN111457947A (zh) | 2020-07-28 |
CN111457947B CN111457947B (zh) | 2021-11-19 |
Family
ID=71683025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010401209.4A Active CN111457947B (zh) | 2020-05-13 | 2020-05-13 | 位置编码系统及编码方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111457947B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672230A (zh) * | 2021-06-23 | 2021-11-19 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654636A (en) * | 1983-07-15 | 1987-03-31 | Lockheed Missiles & Space Company, Inc. | Displacement measuring apparatus |
JP2000227345A (ja) * | 1999-02-08 | 2000-08-15 | Tamagawa Seiki Co Ltd | モータエンコーダ装置 |
DE19936245A1 (de) * | 1999-07-31 | 2001-02-01 | Valeo Schalter & Sensoren Gmbh | Lenkwinkelsensor |
CN1896693A (zh) * | 2005-10-12 | 2007-01-17 | 中国科学院长春光学精密机械与物理研究所 | 一种采用精码狭缝破相输出十二位码的绝对式矩阵编码盘 |
CN101109650A (zh) * | 2006-07-20 | 2008-01-23 | 中国科学院长春光学精密机械与物理研究所 | 一种单圈绝对式码盘 |
US20080250295A1 (en) * | 2007-04-06 | 2008-10-09 | Sony Corporation | Encoding method, encoding apparatus, and program |
CN103716115A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 时分复用的fec编码方法及装置 |
CN105429646A (zh) * | 2015-06-30 | 2016-03-23 | 南京大学 | 一种咬尾阶梯码的编码及解码方法 |
CN107545289A (zh) * | 2017-09-19 | 2018-01-05 | 闫河 | 矩阵式二维码的编码方法及解码方法 |
CN109478894A (zh) * | 2016-08-19 | 2019-03-15 | 华为技术有限公司 | 一种ldpc码的基矩阵生成方法、编译码方法及设备 |
CN109586732A (zh) * | 2018-10-18 | 2019-04-05 | 天津大学 | 中短码ldpc编解码系统和方法 |
-
2020
- 2020-05-13 CN CN202010401209.4A patent/CN111457947B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654636A (en) * | 1983-07-15 | 1987-03-31 | Lockheed Missiles & Space Company, Inc. | Displacement measuring apparatus |
JP2000227345A (ja) * | 1999-02-08 | 2000-08-15 | Tamagawa Seiki Co Ltd | モータエンコーダ装置 |
DE19936245A1 (de) * | 1999-07-31 | 2001-02-01 | Valeo Schalter & Sensoren Gmbh | Lenkwinkelsensor |
CN1896693A (zh) * | 2005-10-12 | 2007-01-17 | 中国科学院长春光学精密机械与物理研究所 | 一种采用精码狭缝破相输出十二位码的绝对式矩阵编码盘 |
CN101109650A (zh) * | 2006-07-20 | 2008-01-23 | 中国科学院长春光学精密机械与物理研究所 | 一种单圈绝对式码盘 |
US20080250295A1 (en) * | 2007-04-06 | 2008-10-09 | Sony Corporation | Encoding method, encoding apparatus, and program |
CN103716115A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 时分复用的fec编码方法及装置 |
CN105429646A (zh) * | 2015-06-30 | 2016-03-23 | 南京大学 | 一种咬尾阶梯码的编码及解码方法 |
CN109478894A (zh) * | 2016-08-19 | 2019-03-15 | 华为技术有限公司 | 一种ldpc码的基矩阵生成方法、编译码方法及设备 |
CN107545289A (zh) * | 2017-09-19 | 2018-01-05 | 闫河 | 矩阵式二维码的编码方法及解码方法 |
CN109586732A (zh) * | 2018-10-18 | 2019-04-05 | 天津大学 | 中短码ldpc编解码系统和方法 |
Non-Patent Citations (3)
Title |
---|
封国英: "LDPC编码的MIMO系统研究及其性能仿真", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
谢东觉: "LDPC码编译码算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈迷: "高精度海德汉编码器的处理及应用", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672230A (zh) * | 2021-06-23 | 2021-11-19 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
CN113672230B (zh) * | 2021-06-23 | 2024-04-09 | 重庆斯欧智能科技研究院有限公司 | 一种工业要素标识编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111457947B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880998B (zh) | 服务系统异常检测方法、装置、计算机设备和存储介质 | |
CN104850468A (zh) | 基于校验矩阵的纠删码解码方法 | |
JPH02278921A (ja) | 2進データの符号化及び復号のための方法及び復号装置 | |
CN111539502B (zh) | 防伪二维码的生成方法、装置、服务器及存储介质 | |
CN111457947B (zh) | 位置编码系统及编码方法和装置、电子设备和存储介质 | |
US6539513B1 (en) | Dual functioning symbol error correction code | |
CN113297001A (zh) | 一种raid编解码方法及编解码电路 | |
EP1762006A1 (en) | Data processing | |
CN109785895B (zh) | 纠正NAND Flash中多比特错误的ECC装置和方法 | |
CN109427401B (zh) | 编码方法和使用此方法的存储器存储装置 | |
CN104243095A (zh) | 一种卷积码与线性分组码的码字类型盲识别方法 | |
CN112887509A (zh) | 一种基于多混沌系统的融合加密方法 | |
US10394646B1 (en) | Incremental data validation | |
US5604752A (en) | Communication method and apparatus therefor | |
WO2017185213A1 (zh) | 编码方法和编码装置 | |
CN1750411A (zh) | 用于测试循环冗余码算法的测试数据模式 | |
US20030046635A1 (en) | High-efficiency error detection and/or correction code | |
US6961891B2 (en) | High-efficiency error detection and/or correction code | |
Levina et al. | Second-order spline-wavelet robust code under non-uniform codeword distribution | |
CN110348554B (zh) | 数字信息编解码方法、装置、电子设备和存储介质 | |
CN115113816A (zh) | 一种纠删码数据处理系统、方法、计算机设备及介质 | |
US7225386B2 (en) | High-efficiency error detection and/or correction code | |
CN112232025B (zh) | 一种字符串存储方法、装置及电子设备 | |
US7188294B2 (en) | High-efficiency error detection and/or correction code | |
RU2771209C1 (ru) | Способ контроля целостности многомерных массивов данных на основе правил построения квадратных кодов |
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 |