CN106918802B - 一种高精度雷达码盘方位的计算方法 - Google Patents
一种高精度雷达码盘方位的计算方法 Download PDFInfo
- Publication number
- CN106918802B CN106918802B CN201710129600.1A CN201710129600A CN106918802B CN 106918802 B CN106918802 B CN 106918802B CN 201710129600 A CN201710129600 A CN 201710129600A CN 106918802 B CN106918802 B CN 106918802B
- Authority
- CN
- China
- Prior art keywords
- state
- state1
- value
- state3
- state2
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开高精度雷达码盘方位绝对编码计算方法,该方法用于方位向采用机械扫描雷达的方位绝对编码计算。本发明解决了常规方位绝对编码计算方法计算精度低并且对增量脉冲出现毛刺没有纠错能力的问题:方法中通过对增量码A和增量码B拼接成的变量C,设计状态机,根据C的变化规律进行编码计算。相比常规方法,本发明中的方法精度更高,对增量脉冲出现毛刺的适应力更强。
Description
技术领域
本发明提出了一种新的雷达码盘方位的计算方法,该方法可以有效提高方位向采用机械扫描雷达的方位精度。
背景技术
检测并给出目标的方位信息是雷达的基本功能。对于方位上采用机械扫描的雷达,目标的方位信息是通过方位绝对编码加上角误差得到的。方位绝对编码由码盘发送的清零脉冲,增量脉冲A和增量脉冲B通过计数得到,通常他们的时序关系如图1所示。当增量脉冲A相位超前增量脉冲B四分之一周期时,雷达正转;当增量脉冲A相位落后增量脉冲B四分之一周期时,雷达反转。标准的增量脉冲都是占空比为50%的方波信号。码盘会在雷达转过一圈发送1个清零脉冲和固定个数的增量脉冲,常见的增量脉冲个数为4096。
常规的绝对编码计算方法是:清零脉冲上升沿到来,绝对编码清零。当增量脉冲A的上升沿到来时,判断当前增量脉冲B的值,如果B=0,则编码值加1;如果B=1,则编码值减1。以增量脉冲个数4096为例,编码值的变化范围在0到4095之间,相当于将一周360度的范围平均分成4096份,每一份代表一个绝对编码值。
常规的绝对编码计算方法精度较低,并且最大的缺点是:当出现编码计算错误时,没有自纠错能力。由于增量脉冲往往会受到干扰出现毛刺,导致增量脉冲不再是占空比为50%的标准方波,假如图1(a)中的K处出现了一个能被时钟采到毛刺,编码值就会误减1,一直到下一个清零脉冲到来才能重新正确计算编码。这样就会导致错误的方位信息。
发明内容
要解决的技术问题
本发明的目的在于针对常规方位绝对编码计算方法的不足,在雷达转动一圈增量脉冲个数不变的前提下,提出一种高精度的,具有自纠错能力的绝对编码计算方法,以提高雷达在方位向的精度。
技术方案
一种高精度雷达码盘方位的计算方法,其特征在于步骤如下:
步骤1:设置状态机的四种不同状态:state1,state2,state3,state4;设置绝对编码值M的位宽为N+2,其中N与码盘在雷达转动一圈发送的增量脉冲个数有关,码盘在雷达转动一圈发送的增量脉冲个数可以表示为2的N次方;
步骤2:当清零脉冲上升沿到来时,令工作状态state=state1,绝对编码值M=0;
步骤3:在时钟上升沿到来时,判断工作状态state:
如果state=state1,在工作状态为state1的情况下判断C值,当C=11,此时再判断D的值:如果D=10,则M=M+1,state=state2;如果D=01,则M=M-1,state=state2;当C不等于11或者C=11情况下D不是10或01,保持M=0,state=state1;所述的C为增量脉冲A和增量脉冲B按位拼成一个2比特数,即C={A,B},将C延时两个时钟周期记为D;
如果state=state2,在工作状态为state2的情况下判断C值,当C=01,M=M+1,state=state3;当C=10,M=M-1,state=state3;其他情况都保持M=M,state=state2;
如果state=state3,在工作状态为state3的情况下判断C值,当C=00,此时再判断D的值,如果D=01,则M=M+1,state=state4;如果D=10,则M=M-1,state=state4;当C不等于00或者C=00情况下D不是01或10,保持M=M,state=state3;
如果state=state4,在工作状态为state4的情况下判断C的值,当C=10,M=M+1,state=state1;当C=01,M=M-1,state=state1;其他条件保持M=M,state=state4。
有益效果
本发明提出的一种高精度雷达码盘方位的计算方法,由于充分利用了增量脉冲A和增量脉冲B拼成的2进制数C在雷达正转和反转下的变化规律,在一个完整的增量脉冲周期有4次加1(正转)或减1(反转)运算,使得雷达在方位向的绝对编码精度能够提高4倍,并且在增量脉冲出现毛刺时有很好的纠错能力。
附图说明
图1是雷达在正转和反转时清零脉冲和两个增量脉冲关系示意图;(a)雷达正向转动;(b)雷达反向转动
图2是本发明的实现流程图;
具体实施方式
现结合实施例、附图对本发明作进一步描述:
实现本发明的技术思路是:首先设置状态机的四种不同状态:state1,state2,state3,和state4,将增量码A和增量码B按位拼成一个2比特数C={A,B},同时将C延时两个时钟周期记为D,当清零脉冲上升沿到来时,绝对编码值M清零。时钟上升沿到来时,判断当前C的值,如果C值符合10,11,01,00,10……的变化规律,则绝对编码值M在每次C值发生变化时加1,而如果C值符合01,11,10,00,01……的变化规律,则绝对编码值M在每次C值发生变化时减1。具体在FPGA中实现,参照图2,本发明的实现步骤如下:
步骤1,参数设置:
1a)状态个数设置的准则:增量脉冲A和增量脉冲B拼成的二进制数C,在雷达正向转动时变化规律为10,11,01,00,10……,反向转动时的变化规律为01,11,10,00,01……。不论正转反转,总是00,01,10,11中的一种,因此设置state1,state2,state3,state4四种不同状态能够表示所有情况,例如:state1=00,state2=01,state3=10,state4=11或者state1=0001,state2=0010,state3=0100,state4=1000。
1b)绝对编码位宽设置准则:绝对编码位的宽取决于码盘在雷达转动一圈发送的增量脉冲的个数。通常情况下,码盘在雷达转动一圈发送的增量脉冲个数可以表示为2的N次方,那么绝对编码的位宽取N+2。以一圈4096个增量脉冲为例,则N=12,绝对编码位宽取14。
步骤2,初次上电初始化工作状态和绝对编码值:
将清零脉冲P延时一个时钟周期,记为P0,判断当P=1&&P0=0时,表明清零脉冲的上升沿到来。初次上电到清零脉冲上升沿到来之前这段时间内,编码值M和当前状态state都是未定值。当清零脉冲上升沿到来时,令M=0,工作状态state=state1,进入步骤3,开始状态机的逻辑判断。
步骤3,工作状态state=state1:
如果C=11,此时再判断D的值。如果D=10,则M=M+1,state=state2;如果D=01,则M=M-1,state=state2。其他条件(当C不等于11或者C=11情况下D不是10或01)保持M=0,state=state1。
步骤4,工作状态state=state2:
若C=01,则M=M+1,state=state3;若C=10,则M=M-1,state=state3。其他条件保持M=M,state=state2;
步骤5,工作状态state=state3:
如果C=00,此时再判断D的值。若D=01,则M=M+1,state=state4;若D=10,则M=M-1,state=state4。其他条件(当C不等于00或者C=00情况下D不是01或10)保持M=M,state=state3;
步骤6,工作状态state=state4:
若C=10,则M=M+1,state=state1;若C=01,则M=M-1,state=state1。其他条件保持M=M,state=state4。
上述所有判断都是在时钟上升沿到来时做出的。
由于充分利用了两个增量码的组合数C在完整周期内的变化规律,使得原来只有在增量脉冲上升沿到来时进行一次加1(正转)或减1(反转)运算变成了4次加1(正转)或减1(反转)运算,将方位向的编码精度提高为常规方法的4倍。并且由于状态机的逻辑设计对增量码出现的毛刺有很强的纠错能力,如:图1(a)中的K处出现了一个能被时钟采到的毛刺,常规计算方法会误减1,并且这个错误会一直持续到下一个清零脉冲到来。而本发明中的方法则不会,分析如下:从清零脉冲P到来一直到C=10这段时间,M=0,工作状态state=state1。当C从10跳变到11时,编码进行一次加1运算,工作状态state跳变一次,M=1,state=state2,之后维持当前状态。当C从11跳变到01时,编码进行一次加1运算,工作状态state跳变一次,M=2,state=state3,如果在K点采到一个毛刺,即此时C=11,而根据状态机设计,只有在C=00时,编码值M才会改变,因此,虽然此时增量脉冲有毛刺,但并不影响编码计算结果。上述分析表明,本发明的计算方法对增量脉冲的毛刺有很强的纠错能力。
Claims (1)
1.一种高精度雷达码盘方位的计算方法,其特征在于步骤如下:
步骤1:设置状态机的四种不同状态:state1,state2,state3,state4;设置绝对编码值M的位宽为N+2,其中N与码盘在雷达转动一圈发送的增量脉冲个数有关,码盘在雷达转动一圈发送的增量脉冲个数可以表示为2的N次方;
步骤2:当清零脉冲上升沿到来时,令工作状态state=state1,绝对编码值M=0;
步骤3:在时钟上升沿到来时,判断工作状态state:
如果state=state1,在工作状态为state1的情况下判断C值,当C=11,此时再判断D的值:如果D=10,则M=M+1,state=state2;如果D=01,则M=M-1,state=state2;当C不等于11或者C=11情况下D不是10或01,保持M=0,state=state1;所述的C为增量脉冲A和增量脉冲B按位拼成一个2比特数,即C={A,B},将C延时两个时钟周期记为D;
如果state=state2,在工作状态为state2的情况下判断C值,当C=01,M=M+1,state=state3;当C=10,M=M-1,state=state3;其他情况都保持M=M,state=state2;
如果state=state3,在工作状态为state3的情况下判断C值,当C=00,此时再判断D的值,如果D=01,则M=M+1,state=state4;如果D=10,则M=M-1,state=state4;当C不等于00或者C=00情况下D不是01或10,保持M=M,state=state3;
如果state=state4,在工作状态为state4的情况下判断C的值,当C=10,M=M+1,state=state1;当C=01,M=M-1,state=state1;其他条件保持M=M,state=state4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710129600.1A CN106918802B (zh) | 2017-03-07 | 2017-03-07 | 一种高精度雷达码盘方位的计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710129600.1A CN106918802B (zh) | 2017-03-07 | 2017-03-07 | 一种高精度雷达码盘方位的计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106918802A CN106918802A (zh) | 2017-07-04 |
CN106918802B true CN106918802B (zh) | 2019-04-19 |
Family
ID=59460811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710129600.1A Active CN106918802B (zh) | 2017-03-07 | 2017-03-07 | 一种高精度雷达码盘方位的计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106918802B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109507662B (zh) * | 2018-12-25 | 2021-07-27 | 无锡格跃科技有限公司 | 一种低成本高精度的雷达方位测量方法 |
WO2022094959A1 (zh) * | 2020-11-06 | 2022-05-12 | 深圳市大疆创新科技有限公司 | 角度测量装置、雷达、测量方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539437A (zh) * | 2009-04-25 | 2009-09-23 | 恩平市西特尔数码科技有限公司 | 增量型旋转编码器精确计数的算法及其实现装置 |
CN103575312A (zh) * | 2013-11-25 | 2014-02-12 | 济南飞越机电科技有限公司 | 一种用于光电转台的增量式光电编码器的消抖方法 |
-
2017
- 2017-03-07 CN CN201710129600.1A patent/CN106918802B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539437A (zh) * | 2009-04-25 | 2009-09-23 | 恩平市西特尔数码科技有限公司 | 增量型旋转编码器精确计数的算法及其实现装置 |
CN103575312A (zh) * | 2013-11-25 | 2014-02-12 | 济南飞越机电科技有限公司 | 一种用于光电转台的增量式光电编码器的消抖方法 |
Non-Patent Citations (2)
Title |
---|
基于可编程逻辑器件的增量式编码器信号去抖方法的实现;陈强,朱娜;《导航与控制》;20161031;第15卷(第5期);91-94 |
基于增量式编码器原理分析的去毛刺算法实现;吕盼稂 等;《机械与电子》;20091231(第12期);77-79 |
Also Published As
Publication number | Publication date |
---|---|
CN106918802A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106918802B (zh) | 一种高精度雷达码盘方位的计算方法 | |
EP3707566B1 (en) | Time-to-digital converter | |
CN107449376B (zh) | 一种实时方向盘转角采集系统 | |
CN105159205A (zh) | 应用于运动控制器的高速位置捕捉实现方法及装置 | |
CN106092156A (zh) | 交流伺服串行通信编码器位置反馈脉冲分频输出系统和方法 | |
CN106773897B (zh) | 一种绝对编码器信号转换为增量编码器信号的方法 | |
CN108444506A (zh) | 编码器码盘、绝对值编码器、位置获取方法及系统 | |
CN103676769B (zh) | 可编程逻辑控制器的电子凸轮控制系统及方法 | |
CN102494709A (zh) | 双通道多极旋转变压器精粗机零位的自标定方法 | |
JP5217766B2 (ja) | 回転体の角度位置検出装置及び回転数検出装置 | |
CN109521992A (zh) | 一种无乘法器的基于cordic算法的线性调频信号生成方法 | |
CN109101466A (zh) | 基于分布函数取对数变换的威布尔分布参数估计方法 | |
CN112117994A (zh) | 一种增量式编码器解码方法 | |
CN108075697B (zh) | 一种位置信号倍频的开关磁阻电机相电流迭代控制方法 | |
US7689380B2 (en) | Device and method for sensing a position of a drive unit | |
CN103178832B (zh) | 一种利用增量型编码器的圈数记录方法 | |
Choi et al. | Initial positioning of a smart actuator using dual absolute encoders | |
CN115694084A (zh) | 电子式旋转编码器 | |
CN102829808B (zh) | 一种基于机械齿轮组计圈数的多圈编码转换器 | |
CN103984382A (zh) | 一种串联数字电位器阶数的设置方法 | |
CN111224679A8 (zh) | 一种z相信号产生电路及编码器 | |
RU2433443C1 (ru) | Цифровой регулятор для системы управления электромагнитным подвесом ротора | |
CN111060142A (zh) | 一种机械多圈绝对值编码器及圈数解码方法 | |
KR20130064184A (ko) | 영구자석 동기 전동기 및 이의 제어 방법 | |
CN102664571B (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 |