一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于角度插值的正余弦编码器细分输出方法及系统

2022-09-03 16:34:26 来源:中国专利 TAG:


1.本发明涉及编码器解调技术领域,特别涉及一种基于角度插值的正余弦编码器细分输出方法及系统。


背景技术:

2.随着高精密设备对伺服系统性能要求的不断提升,对电机转轴位置测量精度的要求也越来越高。选用高分辨率的编码器带来了设备成本和体积的增加,而采用正余弦编码器并输出信号进行细分解调,是一种实现高精度角度检测的低成本方案。为了便于与运动控制卡、信号采集卡等设备进行接口,需要将解调后的角度处理成等效增量编码器的正交脉冲。传统等效编码器的正交脉冲输出采用解调角度与设定阈值进行比较而获得,但当细分倍数较大时会导致输出脉冲丢失。
3.现有对正余弦编码器进行细分正交脉冲输出的方法有硬件电路比较法和软件解调法。硬件电路比较法存在细分倍数低、信号受扰易产生脉冲沿抖动等问题;软件解调法通过解调出离散角度值与设定阈值比较产生等效增量式编码器正交脉冲,但细分倍数受制于采样频率。


技术实现要素:

4.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本发明的第一个目的在于提出一种基于角度插值的正余弦编码器细分输出方法,该方法使输出的等效增量式编码器正交脉冲细分倍数不受制于采样频率,在相同频率的输入信号下实现了更高的细分倍数,而在相同细分倍数要求下提高了输入信号的上限频率。
6.本发明的第二个目的在于提出一种基于角度插值的正余弦编码器细分输出系统。
7.本发明的第三个目的在于提出一种正余弦编码器细分正交脉冲输出设备。
8.本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
9.为达到上述目的,本发明第一方面实施例提出了基于角度插值的正余弦编码器细分输出方法,包括以下步骤:步骤s1,对正余弦编码器输出的1vpp正余弦信号进行信号放大;步骤s2,将放大后的1vpp正余弦信号输入双通道ad转换器中获得采样值;步骤s3,将所述采样值输入至fpga中以利用cordic算法求取两路信号的反正切值,获得离散角度值并进行解调;步骤s4,对解调后的离散角度值进行高分辨率插值计算,再与预设阈值进行比较,获取正交脉冲输出。
10.本发明实施例的基于角度插值的正余弦编码器细分输出方法,对正余弦编码器解调角度进行线性插值,利用插值后的角度再与设定阈值比较,由此实现高分辨的等效增量编码器输出,从而使输出的等效增量式编码器正交脉冲细分倍数不受制于采样频率,在相同频率的输入信号下实现了更高的细分倍数,而在相同细分倍数要求下提高了输入信号的上限频率。
11.另外,根据本发明上述实施例的基于角度插值的正余弦编码器细分输出方法还可以具有以下附加的技术特征:
12.进一步地,在本发明的一个实施例中,所述步骤s3中求解离散角度值的具体步骤为:
13.步骤s301,由横轴和纵轴构成的直角坐标系中,将坐标为(xa,ya)的a点围绕坐标原点o逆时针旋转角度α得到坐标为(xb,yb)的b点,具体为:
[0014][0015]
步骤s302,若由任一点的坐标值求取该点的角度值,即求取该点与x轴正半轴的夹角θ,只需将该点经n次旋转至x轴正半轴上即可;
[0016]
步骤s303,假设第i次旋转的角度为θi,则第i次旋转表达式为:
[0017][0018]
令tanθ=2-i
,则第i次旋转的角度θi=arctan(2-i
);为使得累计旋转角度之和无限接近所求角度,即使y无限接近于0,当y正负变化时,则下次旋转需变换旋转方向,得到cordic算法实现反正切的迭代公式:
[0019][0020]
式中,di=
±
1作为判决因子决定旋转方向,其值取决于前一次迭代后所得yi值的正负,当yi》0时,则di=-1,顺时针迭代;反之则di=1,逆时针迭代,由此得到,利用反正切方法解调出的角度为:
[0021][0022]
进一步地,在本发明的一个实施例中,所述步骤s4中对解调后的离散角度值进行高分辨率插值计算的具体步骤为:
[0023]
步骤s401,在相邻两个离散角度值之间均匀插入n个角度估计值,得到角度插值θ
est
(i),具体为:
[0024][0025]
式中,θ1、θ2为相邻两个角度计算值,t
clk
为fpga芯片的系统时钟周期,ts为信号采样和角度计算周期;
[0026]
步骤s402,将所述角度插值与预设阈值比较,得到获取正交脉冲输出,具体为:
[0027][0028]
其中,a、b为输出的脉冲信号,1代表高电平、0代表低电平,θ

为经解调并插值处理后的单个正余弦周期内的位置值,j为自然数。
[0029]
进一步地,在本发明的一个实施例中,所述正交脉冲输出为若干个周期的正交方波信号。
[0030]
为达到上述目的,本发明第二方面实施例提出了基于角度插值的正余弦编码器细分输出系统,包括:放大模块,用于对正余弦编码器输出的1vpp正余弦信号进行信号放大;采样模块,用于将放大后的1vpp正余弦信号输入双通道ad转换器中进行采用,获得采样值;反正切求取角度模块,用于将所述采样值输入至fpga中以利用cordic算法求取两路信号的反正切值,获得离散角度值并进行解调;角度插值和细分输出模块,用于对解调后的离散角度值进行高分辨率插值计算,再与预设阈值进行比较,获取正交脉冲输出。
[0031]
本发明实施例的基于角度插值的正余弦编码器细分输出系统,对正余弦编码器解调角度进行线性插值,利用插值后的角度再与设定阈值比较,由此实现高分辨的等效增量编码器输出,从而使输出的等效增量式编码器正交脉冲细分倍数不受制于采样频率,在相同频率的输入信号下实现了更高的细分倍数,而在相同细分倍数要求下提高了输入信号的上限频率。
[0032]
另外,根据本发明上述实施例的基于角度插值的正余弦编码器细分输出系统还可以具有以下附加的技术特征:
[0033]
进一步地,在本发明的一个实施例中,所述反正切求取角度模块中求解离散角度值的具体步骤为:
[0034]
由横轴和纵轴构成的直角坐标系中,将坐标为(xa,ya)的a点围绕坐标原点o逆时针旋转角度α得到坐标为(xb,yb)的b点,具体为:
[0035][0036]
若由任一点的坐标值求取该点的角度值,即求取该点与x轴正半轴的夹角θ,只需将该点经n次旋转至x轴正半轴上即可;
[0037]
假设第i次旋转的角度为θi,则第i次旋转表达式为:
[0038][0039]
令tanθ=2-i
,则第i次旋转的角度θi=arctan(2-i
);为使得累计旋转角度之和无限接近所求角度,即使y无限接近于0,当y正负变化时,则下次旋转需变换旋转方向,得到cordic算法实现反正切的迭代公式:
[0040][0041]
式中,di=
±
1作为判决因子决定旋转方向,其值取决于前一次迭代后所得yi值的正负,当yi》0时,则di=-1,顺时针迭代;反之则di=1,逆时针迭代,由此得到,利用反正切方法解调出的角度为:
[0042][0043]
进一步地,在本发明的一个实施例中,所述角度插值和细分输出模块中对解调后的离散角度值进行高分辨率插值计算的具体步骤为:
[0044]
在相邻两个离散角度值之间均匀插入n个角度估计值,得到角度插值θ
est
(i),具体为:
[0045][0046]
式中,θ1、θ2为相邻两个角度计算值,t
clk
为fpga芯片的系统时钟周期,ts为信号采样和角度计算周期;
[0047]
将所述角度插值与预设阈值比较,得到获取正交脉冲输出,具体为:
[0048][0049]
其中,a、b为输出的脉冲信号,1代表高电平、0代表低电平,θ

为经解调并插值处理后的单个正余弦周期内的位置值,j为自然数。
[0050]
进一步地,在本发明的一个实施例中,所述正交脉冲输出为若干个周期的正交方波信号。
[0051]
本发明第三方面实施例提供一种正余弦编码器细分正交脉冲输出设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的基于角度插值的正余弦编码器细分输出方法。
[0052]
本发明第四方面实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的基于角度插值的正余弦编码器细分输出方法。
[0053]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0054]
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得
明显和容易理解,其中:
[0055]
图1是本发明一个实施例的基于角度插值的正余弦编码器细分输出方法的流程图;
[0056]
图2是本发明一个实施例的基于角度插值的正交脉冲细分输出方法的组成框图;
[0057]
图3是本发明一个实施例的cordic算法求解反正切值的原理图;
[0058]
图4是本发明一个实施例的正余弦编码器输出信号波形和解调后的角度波形;
[0059]
图5是本发明一个实施例的采用角度值比较的细分输出原理示意图;
[0060]
图6是本发明一个实施例的未经角度插值时的细分脉冲输出信号仿真图;
[0061]
图7是本发明一个实施例的角度线性插值原理图;
[0062]
图8是本发明一个实施例的高分辨角度插值后的角度信号仿真图;
[0063]
图9是本发明一个实施例的角度插值后的细分脉冲输出信号仿真图;
[0064]
图10是本发明一个实施例的基于角度插值的正余弦编码器细分输出系统的结构示意图。
具体实施方式
[0065]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0066]
下面参照附图描述根据本发明实施例提出的基于角度插值的正余弦编码器细分输出方法及系统,首先将参照附图描述根据本发明实施例提出的基于角度插值的正余弦编码器细分输出方法。
[0067]
图1是本发明一个实施例的基于角度插值的正余弦编码器细分输出方法的流程图。
[0068]
如图1所示,该基于角度插值的正余弦编码器细分输出方法包括以下步骤:
[0069]
在步骤s1中,对正余弦编码器输出的1vpp正余弦信号进行信号放大。
[0070]
在步骤s2中,将放大后的1vpp正余弦信号输入双通道ad转换器中获得采样值。
[0071]
具体地,如图2所示,正余弦编码器输出的两路1vpp正余弦信号,经过滤波、放大电路后,输入到双通道的高速ad转换器中,然后由ad转换器对这两路放大后的正余弦信号进行过采样,ad转换器的数字输出连接fpga,将这两路信号的数字量(即采样值)送入fpga中。
[0072]
在步骤s3中,将采样值输入至fpga中以利用cordic算法求取两路信号的反正切值,获得离散角度值并进行解调。
[0073]
具体地,如图3所示,由横轴(x轴)和纵轴(y轴)构成的直角坐标系中,将坐标为(xa,ya)的a点围绕坐标原点o逆时针旋转角度得到坐标为(xb,yb)的b点,可以采用如下逆时针坐标旋转公式:
[0074][0075]
对上式提取公因式cosα得到:
[0076][0077]
以上为a点经一次旋转到达b点的过程。
[0078]
那么,如果由任一点的坐标值求取该点的角度值,即求取该点与x轴正半轴的夹角θ,只需将该点经n次旋转至x轴正半轴上即可。假设第i次旋转的角度为θi,那么第i次旋转表达式为:
[0079][0080]
令tanθ=2-i
,则第i次旋转的角度θi=arctan(2-i
)。为使得累计旋转角度之和无限接近所求角度,即使y无限接近于0,当y正负变化时,则下次旋转需变换旋转方向,得到cordic算法实现反正切的迭代公式:
[0081][0082]
式中,di=
±
1作为判决因子决定旋转方向,其值取决于前一次迭代后所得yi值的正负,当yi》0时,则di=-1,顺时针迭代;反之则di=1,逆时针迭代,由此得到,利用反正切方法解调出的角度为:
[0083][0084]
需要说明的是,如图4所示,为正余弦编码器输出信号波形和采用cordic算法解调后的角度波形。正余弦编码器输出正弦和余弦信号,经过解调出0~360
°
变化的离散角度值,角度离散点数量取决于正余弦信号的采样频率。
[0085]
在步骤s4中,对解调后的离散角度值进行高分辨率插值计算,再与预设阈值进行比较,获取正交脉冲输出。
[0086]
具体地,如图5所示,在传统方法中,直接根据解调的角度值与设定值比较获得细分脉冲输出,但当所需细分倍数较大或正余弦信号频率较高时,采用传统的将解调角度与设定值比较的方法将导致方波信号正负脉冲宽度不对称或脉冲信号丢失,具体如图6所示的仿真图可知,当32倍频时细分输出信号的正负脉冲宽度出现严重不对称;当64倍频时细分输出信号出现丢失,由此将导致角度错误。
[0087]
如图7所示,本发明实施例为了提高细分倍频数,采用对解调的离散角度进行高分辨率线性插值。在相邻两个角度计算值(如θ1与θ2)之间均匀插入n个角度估计值,得到角度插值θ
est
(i),分别为:
[0088][0089]
式中,θ1、θ2为相邻两个角度计算值,t
clk
为fpga芯片的系统时钟周期,ts为信号采样和角度计算周期;
[0090]
如图8所示,利用正余弦信号采样值反正切运算求取的角度为离散值,受采样频率的限制这些离散角度值呈现明显的台阶式变化。当采用未插值的离散角度进行比较产生正交脉冲时,由于离散角度的台阶式变化导致了如图6所示脉冲丢失的情况发生。当按照本发明实施例进行高分辨率角度插值后,角度的连续性增强,细分倍数得到增加。
[0091]
如图9所示,根据角度插值与设定阈值比较来获取正交脉冲的方法如下:
[0092][0093]
式中,a、b为输出的脉冲信号,1代表高电平、0代表低电平,θ

为经解调并插值处理后的单个正余弦周期内的位置值。
[0094]
进一步地,在本发明的一个实施例中,正交脉冲输出为若干个周期的正交方波信号。
[0095]
具体地,当一个正余弦周期的0~360
°
角度在fpga中用10位二进制数表示时,范围为0~1023。在进行细分脉冲输出时,由于需要4个比较点产生一个周期的正交脉冲,所以一个正余弦周期最多能够产生256个周期的正交方波信号,即0~360
°
角度的256倍细分,即正交脉冲输出256个周期的正交方波信号。
[0096]
如图9所示,同样的正余弦信号频率下,采用本发明实施例的高分辨率角度插值后,细分倍数提高到256倍而未发生脉冲丢失现象。而从图6所示常规方法的仿真结果可以看出,常规方法在细分倍数为64时脉冲已经发生了丢失现象。
[0097]
从以上仿真波形可以看出,本发明实施例的基于角度插值的正交脉冲细分输出方法,能够提高等效增量式编码器输出信号的细分倍数,从而提高了角度检测的精度。
[0098]
综上,本发明实施例提出的基于角度插值的正余弦编码器细分输出方法,对正余弦编码器解调角度进行线性插值,利用插值后的角度再与设定阈值比较,由此实现高分辨的等效增量编码器输出,从而使输出的等效增量式编码器正交脉冲细分倍数不受制于采样频率,在相同频率的输入信号下实现了更高的细分倍数,而在相同细分倍数要求下提高了输入信号的上限频率。
[0099]
其次参照附图描述根据本发明实施例提出的基于角度插值的正余弦编码器细分输出系统。
[0100]
图10是本发明一个实施例的基于角度插值的正余弦编码器细分输出系统的结构示意图。
[0101]
如图10所示,该系统10包括:放大模块100、采样模块200、反正切求取角度模块300、角度插值和细分输出模块400。
[0102]
其中,放大模块100用于对正余弦编码器输出的1vpp正余弦信号进行信号放大。采样模块200用于将放大后的1vpp正余弦信号输入双通道ad转换器中进行采用,获得采样值。反正切求取角度模块300用于将采样值输入至fpga中以利用cordic算法求取两路信号的反正切值,获得离散角度值并进行解调。角度插值和细分输出模块400用于对解调后的离散角度值进行高分辨率插值计算,再与预设阈值进行比较,获取正交脉冲输出。
[0103]
进一步地,在本发明的一个实施例中,反正切求取角度模块中求解离散角度值的具体步骤为:
[0104]
由横轴和纵轴构成的直角坐标系中,将坐标为(xa,ya)的a点围绕坐标原点o逆时针旋转角度α得到坐标为(xb,yb)的b点,具体为:
[0105][0106]
若由任一点的坐标值求取该点的角度值,即求取该点与x轴正半轴的夹角θ,只需将该点经n次旋转至x轴正半轴上即可;
[0107]
假设第i次旋转的角度为θi,则第i次旋转表达式为:
[0108][0109]
令tanθ=2-i
,则第i次旋转的角度θi=arctan(2-i
);为使得累计旋转角度之和无限接近所求角度,即使y无限接近于0,当y正负变化时,则下次旋转需变换旋转方向,得到cordic算法实现反正切的迭代公式:
[0110][0111]
式中所述正交脉冲输出为若干个周期的正交方波信号,由此得到,利用反正切方法解调出的角度为:
[0112][0113]
进一步地,在本发明的一个实施例中,角度插值和细分输出模块中对解调后的离散角度值进行高分辨率插值计算的具体步骤为:
[0114]
在相邻两个离散角度值之间均匀插入n个角度估计值,得到角度插值θ
est
(i),具体为:
[0115][0116]
式中,θ1、θ2为相邻两个角度计算值,t
clk
为fpga芯片的系统时钟周期,ts为信号采样和角度计算周期;
[0117]
将角度插值与预设阈值比较,得到获取正交脉冲输出,具体为:
[0118][0119]
其中,a、b为输出的脉冲信号,1代表高电平、0代表低电平,θ

为经解调并插值处理
后的单个正余弦周期内的位置值,j为自然数。
[0120]
进一步地,在本发明的一个实施例中,正交脉冲输出为若干个周期的正交方波信号。
[0121]
需要说明的是,前述对基于角度插值的正余弦编码器细分输出方法实施例的解释说明也适用于该实施例的系统,此处不再赘述。
[0122]
根据本发明实施例提出的基于角度插值的正余弦编码器细分输出系统,对正余弦编码器解调角度进行线性插值,利用插值后的角度再与设定阈值比较,由此实现高分辨的等效增量编码器输出,从而使输出的等效增量式编码器正交脉冲细分倍数不受制于采样频率,在相同频率的输入信号下实现了更高的细分倍数,而在相同细分倍数要求下提高了输入信号的上限频率。
[0123]
为了实现上述实施例,本发明还提出了一种正余弦编码器细分正交脉冲输出设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如前述实施例所述的基于角度插值的正余弦编码器细分输出方法。
[0124]
为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施例所述的基于角度插值的正余弦编码器细分输出方法。
[0125]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0126]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0127]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0128]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装
置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或n个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0129]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0130]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0131]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0132]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献