CN115130484A - 自适应频率的电子标签数据解码方法、系统、装置及介质 - Google Patents
自适应频率的电子标签数据解码方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN115130484A CN115130484A CN202210617896.2A CN202210617896A CN115130484A CN 115130484 A CN115130484 A CN 115130484A CN 202210617896 A CN202210617896 A CN 202210617896A CN 115130484 A CN115130484 A CN 115130484A
- Authority
- CN
- China
- Prior art keywords
- frequency
- bit
- pulse width
- value
- sequence
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10019—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
- G06K7/10029—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the time domain, e.g. using binary tree search or RFID responses allocated to a random time slot
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种自适应频率的电子标签数据解码方法、系统、计算机装置及计算机可读存储介质,包括获取电子标签发送的脉冲信号,确定脉冲信号中的每个脉冲的脉宽,获得脉宽序列,根据脉宽序列确定中频率脉宽,执行多轮脉宽位宽转换过程,执行多轮位宽字节转换过程,将比特时间数据序列转换成字节数据等步骤。本发明通过对脉冲信号对应的脉宽序列执行脉宽位宽转换过程以及位宽字节转换过程,能够将电子标签发送的脉冲信号转换成为字节数据,其中通过确定脉冲信号对应的中频率脉宽,在脉宽位宽转换过程中根据中频率脉宽判断脉宽序列对应的比特位值,能够适应不同频率的脉冲信号,从而实现读写器的频率自适应。本发明广泛应用于近场通信技术领域。
Description
技术领域
本发明涉及近场通信技术领域,尤其是一种自适应频率的电子标签数据解码方法、系统、计算机装置及计算机可读存储介质。
背景技术
无线射频识别即射频识别技术(Radio Frequency Identification,RFID),属于自动识别技术以及近场通信技术。通过无线射频方式进行非接触双向数据通信,利用无线射频方式对记录媒体(电子标签或射频卡)进行读写,可以实现识别目标和数据交换,是一种具有发展潜力的信息技术。
射频识别技术的工作原理可以通过半双工(HDX,Half Duplex)技术来进行说明。半双工(HDX,Half Duplex)技术是ISO11784/11785中规定的一种标签与读写器之间的通讯方式。在HDX技术中,读写器先打开射频场对标签充电以激活标签,然后关闭磁场,标签在读写器磁场关闭的情况下向读写器传送数据。与全双工(FDX)相比,HDX通常识别能力更强,因为HDX读写器的射频场在HDX标签响应期间关闭,从而读写器可以专注于接收来自标签的信号,同时也消除了读写器射频场对标签信号的干扰。参照图1,HDX采用移频键控(FSK)技术,发送数据“1”使用124.2KHz的频率,发送数据“0”使用134.2KHz的频率,数据的传送速率大约8Kbps,基本上是FDX(Full Duplex,全双工)的两倍。实际工作时读写器持续打开射频场至少50毫秒,以激活标签,在读写器关闭射频场3毫秒的时间之内,标签开始回送识别数据。
在现有的技术方案中,在对标签回送的数据进行识别的时候,通常是在程序内预先设定好HDX标签的工作频率,在使用中,只按照设定的频率进行解码,这导致若标签频率出现偏差,将完全无法进行解码。例如,若因为环境干扰或者HDX标签工艺标准的改变,使得HDX标签发出的表示比特位“1”的数据在到达读写器处时变成了145KHz,那么读写器按照原先“124.2KHz表示比特位1,134.2KHz表示比特位0”的规则,将无法识别HDX标签发出的数据。
发明内容
针对目前射频识别技术中对电子标签发送的信号频率适应性差等技术问题,本发明的目的在于提供一种自适应频率的电子标签数据解码方法、系统、计算机装置及计算机可读存储介质。
一方面,本发明实施例包括一种自适应频率的电子标签数据解码方法,包括:
所述自适应频率的电子标签数据解码方法包括:
获取电子标签发送的脉冲信号;
确定所述脉冲信号中的每个脉冲的脉宽,获得脉宽序列;所述脉宽序列供依序每次读出两个脉宽;
根据所述脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽;
执行多轮脉宽位宽转换过程,直至从所述脉宽序列中读取出全部脉宽;在任一轮所述脉宽位宽转换过程中,从所述脉宽序列中读取出这一轮所述脉宽位宽转换过程对应的两个脉宽,根据读取出的两个脉宽与上一轮所述脉宽位宽转换过程对应的时间计数值,确定当前时间计数值,所述当前时间计数值为该轮所述脉宽位宽转换过程对应的时间计数值,根据所述当前时间计数值与所述中频率脉宽之间的大小关系,确定所述当前时间计数值对应的比特位值,将所述当前时间计数值写入比特时间数据序列,所述比特时间数据序列依次记录各轮所述脉宽位宽转换过程分别加入的比特位值,获取比特时间数据序列的同频率计数和异频率计数,所述同频率计数为所述比特时间数据序列中与所述当前时间计数值对应的信号频率相同的时间计数值的计数,所述异频率计数为所述比特时间数据序列中与所述当前时间计数值对应的信号频率不同的时间计数值的计数,当所述同频率计数为0,则将所述异频率计数覆盖保存至补偿系数初始值中,增加所述同频率计数,将所述异频率计数清零;
当所述比特时间数据序列不存在错误,执行多轮位宽字节转换过程;在任一轮所述位宽字节转换过程中,根据所述补偿系数初始值确定补偿系数值,从所述比特时间数据序列读取出该轮所述位宽字节转换过程对应的比特位值,根据读取出的所述比特位值、所述补偿系数值和所述高频率脉宽确定比特数量,根据所述比特数量对所述比特时间数据序列执行位移操作,将所述比特时间数据序列转换成字节数据。
进一步地,所述自适应频率的电子标签数据解码方法还包括:
对所述字节数据进行CRC校验。
进一步地,所述对所述字节数据进行CRC校验,包括:
将所述字节数据划分成多个字节块;每个所述字节块分别包括13个字节;
获取同一所述字节块对应的第一CRC值和第二CRC值;所述第一CRC值为该所述字节块中第0-7个字节的CRC值,所述第二CRC值为该所述字节块中第0-10个字节的CRC值;
将所述第一CRC值与所述字节块中的第8-9个字节进行对比,将所述第二CRC值与所述字节块中的第11-12个字节进行对比,
当所述第一CRC值与所述字节块中的第8-9个字节相同,且所述第二CRC值与所述字节块中的第11-12个字节相同,确定该所述字节块正确,反之,确定该所述字节块错误进一步地,所述根据所述脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽,包括:
对所述脉宽序列中的第20-120个脉宽求平均值,所得结果作为所述高频率脉宽;
对所述高频率脉宽加上固定值,所得结果作为所述低频率脉宽;
确定所述高频率脉宽和所述低频率脉宽的算术平均值,所得结果作为所述中频率脉宽。
进一步地,所述自适应频率的电子标签数据解码方法还包括:
在其中任一轮所述脉宽位宽转换过程中,对所述同频率计数进行取余,根据取余结果确定维持或者跳转所述当前时间计数值对应的比特位值。
进一步地,所述对所述同频率计数进行取余,根据取余结果确定维持或者跳转所述当前时间计数值对应的比特位值,包括:
将所述同频率计数对16取余;
当取余结果大于13,则跳转所述当前时间计数值对应的比特位值,反之,则维持所述当前时间计数值对应的比特位值。
进一步地,所述当所述比特时间数据序列不存在错误,包括:
对所述比特时间数据序列进行检测;
当检测到所述比特时间数据序列中存在帧头,确定所述比特时间数据序列不存在错误,反之,确定所述比特时间数据序列存在错误。
另一方面,本发明实施例还包括一种自适应频率的电子标签数据解码系统,所述自适应频率的电子标签数据解码系统包括驱动芯片、推挽电路、谐振电路、天线、放大电路、鉴频器、比较器和单片机;所述单片机依次与所述驱动芯片、所述推挽电路、所述谐振电路和所述天线连接,所述天线依次与所述鉴频器、所述比较器和所述单片机连接;
所述单片机用于生成激活信号,依次通过所述驱动芯片、所述推挽电路和所述谐振电路向所述天线输出所述激活信号;
所述天线用于向电子标签发送所述激活信号,接收所述电子标签发送的脉冲信号,依次通过所述鉴频器和所述比较器向所述单片机发送所述脉冲信号;
所述单片机用于执行实施例中的自适应频率的电子标签数据解码方法,对所述脉冲信号进行处理。
另一方面,本发明实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例中的自适应频率的电子标签数据解码方法。
另一方面,本发明实施例还包括一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行实施例中的自适应频率的电子标签数据解码方法。
本发明的有益效果是:实施例中的自适应频率的电子标签数据解码方法,通过对脉冲信号对应的脉宽序列执行脉宽位宽转换过程以及位宽字节转换过程,能够将电子标签发送的脉冲信号转换成为字节数据,其中通过确定脉冲信号对应的中频率脉宽,在脉宽位宽转换过程中根据中频率脉宽判断脉宽序列对应的比特位值,能够适应不同频率的脉冲信号,从而实现读写器的频率自适应。
附图说明
图1为实施例中HDX通过移频键控发送信号的原理图;
图2为实施例中自适应频率的电子标签数据解码系统的结构示意图;
图3为实施例中标签数据接收采集步骤的流程图;
图4为实施例中数据初处理步骤的流程图;
图5为实施例中将脉宽转换成为位宽的步骤的流程图;
图6为实施例中将脉宽转换成为位宽的原理示意图;
图7为实施例中将位宽转换成为字节的步骤的流程图。
具体实施方式
本实施例中,使用图2所示的自适应频率的电子标签数据解码系统执行自适应频率的电子标签数据解码方法。其中,图2所示的自适应频率的电子标签数据解码系统可以作为读写器,与HDX标签等电子标签配套使用。
参照图2,自适应频率的电子标签数据解码系统包括驱动芯片、推挽电路、谐振电路、天线、放大电路、鉴频器、比较器和单片机;单片机依次与驱动芯片、推挽电路、谐振电路和天线连接,天线依次与鉴频器、比较器和单片机连接。本实施例中,推挽电路为半桥推挽电路,谐振电路为LC谐振电路,谐振电路与天线之间还设有共模抑制电感,天线与鉴频器之间还设有限幅电路和放大电路。本实施例中,自适应频率的电子标签数据解码系统还设有天线插入检测电路,天线插入检测电路用来检测天线的接入,将天线的接入和取出转换成单片机能够识别的开关量信号。
图2中,单片机用于生成激活信号,依次通过驱动芯片、推挽电路和谐振电路向天线输出激活信号;天线用于向电子标签发送激活信号,接收电子标签发送的脉冲信号,依次通过鉴频器和比较器向单片机发送脉冲信号。具体地,134KHz方波从单片机输出,经过驱动芯片和半桥推挽电路增强驱动能力,使用LC谐振电路将信号放大至60V左右,经天线辐射出去,用于激活HDX标签。在激活HDX标签后,单片机停止134KHz方波的输出,将天线电压降至0V,接收HDX标签返回的数据信号。HDX标签返回的数据信号具有图1所示的脉冲形式,可以称为脉冲信号。天线接收回来的脉冲信号经过限幅电路以及放大电路放大信号,经过二次放大的脉冲信号输入到鉴频放大器,滤除杂波后再次放大输出,最后使用比较器将信号整形称为方波,输入进单片机内。单片机执行自适应频率的电子标签数据解码方法,对脉冲信号进行解码处理。
本实施例中,自适应频率的电子标签数据解码方法包括以下步骤:
S1.获取电子标签发送的脉冲信号;
S2.确定脉冲信号中的每个脉冲的脉宽,获得脉宽序列;脉宽序列供依序每次读出两个脉宽;
S3.根据脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽;
S4.执行多轮脉宽位宽转换过程,直至从脉宽序列中读取出全部脉宽;在任一轮脉宽位宽转换过程中,从脉宽序列中读取出这一轮脉宽位宽转换过程对应的两个脉宽,根据读取出的两个脉宽与上一轮脉宽位宽转换过程对应的时间计数值,确定当前时间计数值,当前时间计数值为该轮脉宽位宽转换过程对应的时间计数值,根据当前时间计数值与中频率脉宽之间的大小关系,确定当前时间计数值对应的比特位值,将当前时间计数值写入比特时间数据序列,比特时间数据序列依次记录各轮脉宽位宽转换过程分别加入的比特位值,获取比特时间数据序列的同频率计数和异频率计数,同频率计数为比特时间数据序列中与当前时间计数值对应的信号频率相同的时间计数值的计数,异频率计数为比特时间数据序列中与当前时间计数值对应的信号频率不同的时间计数值的计数,当同频率计数为0,则将异频率计数覆盖保存至补偿系数初始值中,增加同频率计数,将异频率计数清零;
S5.当比特时间数据序列不存在错误,执行多轮位宽字节转换过程;在任一轮位宽字节转换过程中,根据补偿系数初始值确定补偿系数值,从比特时间数据序列读取出该轮位宽字节转换过程对应的比特位值,根据读取出的比特位值、补偿系数值和高频率脉宽确定比特数量,根据比特数量对比特时间数据序列执行位移操作,将比特时间数据序列转换成字节数据;
S6.对字节数据进行CRC校验。
本实施例中,步骤S1-S6可以由图2所示的自适应频率的电子标签数据解码系统中的单片机来执行。
本实施例中,步骤S1为标签数据接收采集步骤,其具体流程如图3所示。首先,单片机通过天线发送持续100ms的134KHz载波去激活电子标签,发送完毕后关闭载波发送,等待1.9ms,启用外部中断DMA,在开始接收的50ms后关闭接收程序,停止采集数据,结束标签数据接收采集步骤。
本实施例中,步骤S2-S3为数据初处理步骤,该步骤可以获取标签频率。步骤S2-S3的具体流程如图4所示,其中的“A”所示流程节点与图3中的“A”所示流程节点相衔接。步骤S2中,单片机通过DMA接收脉冲信号中的每个脉冲时,通过定时器记录接收到一个脉冲的上升沿或者下降沿的时间,因此可以通过计算一个脉冲相邻的两个上升沿或者下降沿的时间差,从而得到这个脉冲的脉宽。通过确定脉冲信号中的每个脉冲的脉宽,可以获得一个由多个脉宽组成的序列,即脉宽序列。
在获得脉宽序列后,可以将脉宽序列中的各个脉宽按照顺序存储到数组InData[]中。
参照图4,在执行步骤S3,也就是根据脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽这一步骤时,具体可以执行以下步骤:
S301.对脉宽序列中的第20-120个脉宽求平均值,所得结果作为高频率脉宽;
S302.对高频率脉宽加上固定值,所得结果作为低频率脉宽;
S303.确定高频率脉宽和低频率脉宽的算术平均值,所得结果作为中频率脉宽。
参照图4,步骤S301中,可以将脉宽序列中的第20-120个脉宽的总和除以50,所获得的结果作为高频率脉宽。步骤S301中的第20-120个脉宽,是标签HDX协议中起始帧为1的地方,因此可以通过脉宽序列中的第20-120个脉宽的固定的值确定高频率对应的脉宽。
步骤S302中,可以将步骤S301所计算得到的高频率脉宽加上12,所获得的结果作为低频率脉宽。步骤S303中,可以将步骤S301所计算得到的高频率脉宽与步骤S302所计算得到的低频率脉宽之和除以2,所获得的结果作为中频率脉宽。
本实施例中,步骤S301所求得的高频率脉宽可以存储在变量HighFreq中,步骤S302所求得的低频率脉宽可以存储在变量LowFreq中,步骤S303所求得的中频率脉宽可以存储在变量MidFreq中。
通过步骤S301-S303所计算得到的高频率脉宽HighFreq能够表示脉冲信号中频率较高的信号的脉宽,其一般表示比特位“0”,低频率脉宽LowFreq能够表示脉冲信号中频率较低的信号的脉宽,其一般表示比特位“1”。中频率脉宽MidFreq作为高频率脉宽HighFreq和低频率脉宽LowFreq的平均值,能够作为一个判断基准,根据一个脉冲的脉宽与中频率脉宽MidFreq之间的大小关系,判断这个脉冲属于高频率脉宽HighFreq还是属于低频率脉宽LowFreq。
本实施例中,步骤S4为将脉宽转换成为位宽的步骤。步骤S4的具体流程如图5所示,其中的“B”所示流程节点与图4中的“B”所示流程节点相衔接。
步骤S4中,执行多轮脉宽位宽转换过程,每轮脉宽位宽转换过程分别从脉宽序列InData[]中读取出两个脉宽进行处理。图5所示的为其中轮脉宽位宽转换过程的步骤。由于各轮脉宽位宽转换过程的原理是相同的,都可以如图6所示,将脉宽转换成为位宽,因此可以针对其中一轮脉宽位宽转换过程进行说明。
参照图5,在任一轮脉宽位宽转换过程中,从脉宽序列InData[]中读取出这一轮脉宽位宽转换过程对应的两个脉宽,即InData[i]和InData[i+1],其中i是计数变量,每执行完一轮脉宽位宽转换过程则i=i+2,从而实现每轮脉宽位宽转换过程都读取不同的两个脉宽。根据读取出的两个脉宽InData[i]和InData[i+1]与上一轮脉宽位宽转换过程对应的时间计数值Timesum,确定该轮脉宽位宽转换过程对应的时间计数值,即当前时间计数值,相当于执行运算Timesum=(Timesum+InData[i]+InData[i+1])/2,获得更新后的时间计数值Timesum,更新后的时间计数值Timesum为当前时间计数值。
通过根据上一轮脉宽位宽转换过程对应的时间计数值Timesum与本轮脉宽位宽转换过程读取出的两个脉宽InData[i]和InData[i+1]计算本轮脉宽位宽转换过程对应的当前时间计数值Timesum,所获得的当前时间计数值Timesum相当于经过平滑化的脉宽。在执行第一轮脉宽位宽转换过程,不存在上一轮脉宽位宽转换过程对应的时间计数值Timesum的情况下,可以将时间计数值Timesum设置为第一轮脉宽位宽转换过程读取出的两个脉宽InData[0]或InData[1]。
参照图5,在任一轮脉宽位宽转换过程中,根据当前时间计数值Timesum与中频率脉宽MidFreq之间的大小关系,确定当前时间计数值Timesum对应的比特位值。具体地,若当前时间计数值Timesum大于中频率脉宽MidFreq,表明当前时间计数值Timesum对应的脉冲的脉宽接近高频率脉宽HighFreq,而通常以高频率的脉冲来表示比特位值“0”,因此可以确定本轮脉宽位宽转换过程中,所要识别的时间计数值Timesum对应的脉冲表示比特位值“0”;若当前时间计数值Timesum小于中频率脉宽MidFreq,表明当前时间计数值Timesum对应的脉冲的脉宽接近低频率脉宽LowFreq,而通常以低频率的脉冲来表示比特位值“1”,因此可以确定本轮脉宽位宽转换过程中,所要识别的时间计数值Timesum对应的脉冲表示比特位值“1”。
本实施例中,参照图5,在执行一轮脉宽位宽转换过程,确定比特位值为Bit=0或者Bit=1之后,将当前时间计数值Timesum写入比特时间数据序列BitTimeData中。比特时间数据序列BitTimeData还记录了以前各轮脉宽位宽转换过程识别到的时间计数值Timesum。
本实施例中,参照图5,获取比特时间数据序列BitTimeData的同频率计数和异频率计数。其中,同频率计数为比特时间数据序列中与当前时间计数值Timesum对应的脉冲频率相同的时间计数值的计数,异频率计数为比特时间数据序列中与当前时间计数值Timesum对应的脉冲频不同的比特位值的计数。例如,如果当前时间计数值Timesum对应的比特位值为“1”,那么这个比特位值对应的脉冲为低频率脉冲,因此同频率计数为低频率计数,可以表示比特时间数据序列BitTimeData中比特位值为1的计数,异频率计数为高频率计数,可以表示比特时间数据序列BitTimeData中比特位值为0的计数。
本实施例中,当同频率计数为0,则将异频率计数覆盖保存至补偿系数初始值TimeNumComp中,增加同频率计数,将异频率计数清零。例如,参照图5,在将表示比特位值1的当前时间计数值Timesum(对应低频率的脉冲信号)写入比特时间数据序列BitTimeData[k]之后,在不跳转的情况下,当低频率计数为0,则将高频率计数覆盖保存至补偿系数初始值TimeNumComp中,增加低频率计数(低频率计数+1),将高频率计数清零;参照图5,在将表示比特位值0的当前时间计数值Timesum(对应高频率的脉冲信号)写入比特时间数据序列BitTimeData[k]之后,在跳转的情况下,当前时间计数值Timesum变为表示比特位值1(对应低频率的脉冲信号),当低频率计数为0,则将高频率计数覆盖保存至补偿系数初始值TimeNumComp中,增加低频率计数(低频率计数+1),将高频率计数清零。
本实施例中,在其中任一轮脉宽位宽转换过程中,还对同频率计数进行取余,根据取余结果确定维持或者跳转当前时间计数值对应的比特位值。例如,参照图5,如果当前时间计数值Timesum表示比特位值1(对应低频率的脉冲信号),还对高频率计数进行取余,具体地对高频率计数取余16,判断取余结果是否大于13,如果取余结果大于13那么将变量BitSta_H置为1,允许当前时间计数值Timesum表示比特位值由1跳转为0。通过跳转,可以纠正在一堆高频率的波形中,由于相位偏移夹杂入一两个低频率波形引起的错误,或者在一堆低频率的波形中,由于相位偏移夹杂入一两个高频率波形引起的错误。
本实施例中,步骤S5和S6为将位宽转换成为字节的步骤。步骤S5和S6的具体流程如图7所示,其中的“C”所示流程节点与图5中的“C”所示流程节点相衔接。
在执行步骤S5时,可以对比特时间数据序列BitTimeData[k]进行检测,确定比特时间数据序列BitTimeData[k]中是否存在帧头。一般来说,帧头固定为01111110,因此可以判断总长3ms的时间内,比特时间数据序列BitTimeData[k]中是否有元素(时间计数值Timesum)大于4倍高频率脉宽HighFreq同时小于7倍高频率脉宽HighFreq,若从头开始判断过数据总时长加起来超过3ms,则认为无帧头,比特时间数据序列BitTimeData[k]存在错误,反之则认为比特时间数据序列BitTimeData[k]中有帧头,比特时间数据序列BitTimeData[k]不存在错误。
参照图7,步骤S5中,在任一轮位宽字节转换过程中,根据补偿系数初始值TimeNumComp确定补偿系数值TimeComp。具体地,若比特时间数据序列BitTimeData[k]中一个时间计数值Timesum对应的比特位值为0,则通过TimeComp=14-(TimeNumComp/6.0/100)计算得到补偿系数值TimeComp;若比特时间数据序列BitTimeData[k]中一个时间计数值Timesum对应的比特位值为1,则通过TimeComp=TimeNumComp/6.0/100计算得到补偿系数值TimeComp。接着,根据读取出的比特位值BitTimeData、补偿系数值TimeComp和高频率脉宽HighFreq,通过公式BitNum=(HighFreq+TimeComp)/BitTimeData确定比特数量BitNum。
在获得比特数量BitNum之后,根据比特数量BitNum对比特时间数据序列BitTimeData[k]执行位移操作,将比特时间数据序列转换成字节数据。参照图7,使用高频率脉宽HighFreq加上补偿系数值TimeComp再除与Bit时间数据BitTimeData得出BitNum,表示该数据对应多少位Bit,再对BitNum取余,判断余数是否超过高频率脉宽HighFreq加上补偿系数值TimeComp的一半,超过则将BitNum加1,反之不进行操作。取得BitNum之后,通过位移操作将Bit转换为字节。
步骤S6中,对字节数据进行CRC校验。具体地,可以执行以下步骤:
S601.将字节数据划分成多个字节块;每个字节块分别包括13个字节;
S602.获取同一字节块对应的第一CRC值和第二CRC值;第一CRC值为该字节块中第0-7个字节的CRC值,第二CRC值为该字节块中第0-10个字节的CRC值;
S603.将第一CRC值与字节块中的第8-9个字节进行对比,将第二CRC值与字节块中的第11-12个字节进行对比,
S604.当第一CRC值与字节块中的第8-9个字节相同,且第二CRC值与字节块中的第11-12个字节相同,确定该字节块正确,反之,确定该字节块错误。
步骤S604中,如果确定一个字节块正确,那么返回这个字节块;如果确定一个字节块错误,那么返回相应的错误码。
可以通过编写执行本实施例中的自适应频率的电子标签数据解码方法的计算机程序,将该计算机程序写入至计算机装置或者计算机可读存储介质中,当计算机程序被读取出来运行时,执行本实施例中的自适应频率的电子标签数据解码方法,从而实现与实施例中的自适应频率的电子标签数据解码方法相同的技术效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的计算机可读存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性计算机可读存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入计算机可读存储介质、RAM、ROM等,使得其可由可编程计算机读取,当计算机可读存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (10)
1.一种自适应频率的电子标签数据解码方法,其特征在于,所述自适应频率的电子标签数据解码方法包括:
获取电子标签发送的脉冲信号;
确定所述脉冲信号中的每个脉冲的脉宽,获得脉宽序列;所述脉宽序列供依序每次读出两个脉宽;
根据所述脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽;
执行多轮脉宽位宽转换过程,直至从所述脉宽序列中读取出全部脉宽;在任一轮所述脉宽位宽转换过程中,从所述脉宽序列中读取出这一轮所述脉宽位宽转换过程对应的两个脉宽,根据读取出的两个脉宽与上一轮所述脉宽位宽转换过程对应的时间计数值,确定当前时间计数值,所述当前时间计数值为该轮所述脉宽位宽转换过程对应的时间计数值,根据所述当前时间计数值与所述中频率脉宽之间的大小关系,确定所述当前时间计数值对应的比特位值,将所述当前时间计数值写入比特时间数据序列,所述比特时间数据序列依次记录各轮所述脉宽位宽转换过程分别加入的比特位值,获取比特时间数据序列的同频率计数和异频率计数,所述同频率计数为所述比特时间数据序列中与所述当前时间计数值对应的信号频率相同的时间计数值的计数,所述异频率计数为所述比特时间数据序列中与所述当前时间计数值对应的信号频率不同的时间计数值的计数,当所述同频率计数为0,则将所述异频率计数覆盖保存至补偿系数初始值中,增加所述同频率计数,将所述异频率计数清零;
当所述比特时间数据序列不存在错误,执行多轮位宽字节转换过程;在任一轮所述位宽字节转换过程中,根据所述补偿系数初始值确定补偿系数值,从所述比特时间数据序列读取出该轮所述位宽字节转换过程对应的比特位值,根据读取出的所述比特位值、所述补偿系数值和所述高频率脉宽确定比特数量,根据所述比特数量对所述比特时间数据序列执行位移操作,将所述比特时间数据序列转换成字节数据。
2.根据权利要求1所述的自适应频率的电子标签数据解码方法,其特征在于,所述自适应频率的电子标签数据解码方法还包括:
对所述字节数据进行CRC校验。
3.根据权利要求2所述的自适应频率的电子标签数据解码方法,其特征在于,所述对所述字节数据进行CRC校验,包括:
将所述字节数据划分成多个字节块;每个所述字节块分别包括13个字节;
获取同一所述字节块对应的第一CRC值和第二CRC值;所述第一CRC值为该所述字节块中第0-7个字节的CRC值,所述第二CRC值为该所述字节块中第0-10个字节的CRC值;
将所述第一CRC值与所述字节块中的第8-9个字节进行对比,将所述第二CRC值与所述字节块中的第11-12个字节进行对比,
当所述第一CRC值与所述字节块中的第8-9个字节相同,且所述第二CRC值与所述字节块中的第11-12个字节相同,确定该所述字节块正确,反之,确定该所述字节块错误。
4.根据权利要求1所述的自适应频率的电子标签数据解码方法,其特征在于,所述根据所述脉宽序列,确定高频率脉宽、低频率脉宽和中频率脉宽,包括:
对所述脉宽序列中的第20-120个脉宽求平均值,所得结果作为所述高频率脉宽;
对所述高频率脉宽加上固定值,所得结果作为所述低频率脉宽;
确定所述高频率脉宽和所述低频率脉宽的算术平均值,所得结果作为所述中频率脉宽。
5.根据权利要求1所述的自适应频率的电子标签数据解码方法,其特征在于,所述自适应频率的电子标签数据解码方法还包括:
在其中任一轮所述脉宽位宽转换过程中,对所述同频率计数进行取余,根据取余结果确定维持或者跳转所述当前时间计数值对应的比特位值。
6.根据权利要求5所述的自适应频率的电子标签数据解码方法,其特征在于,所述对所述同频率计数进行取余,根据取余结果确定维持或者跳转所述当前时间计数值对应的比特位值,包括:
将所述同频率计数对16取余;
当取余结果大于13,则跳转所述当前时间计数值对应的比特位值,反之,则维持所述当前时间计数值对应的比特位值。
7.根据权利要求1所述的自适应频率的电子标签数据解码方法,其特征在于,所述当所述比特时间数据序列不存在错误,包括:
对所述比特时间数据序列进行检测;
当检测到所述比特时间数据序列中存在帧头,确定所述比特时间数据序列不存在错误,反之,确定所述比特时间数据序列存在错误。
8.一种自适应频率的电子标签数据解码系统,其特征在于,所述自适应频率的电子标签数据解码系统包括驱动芯片、推挽电路、谐振电路、天线、放大电路、鉴频器、比较器和单片机;所述单片机依次与所述驱动芯片、所述推挽电路、所述谐振电路和所述天线连接,所述天线依次与所述鉴频器、所述比较器和所述单片机连接;
所述单片机用于生成激活信号,依次通过所述驱动芯片、所述推挽电路和所述谐振电路向所述天线输出所述激活信号;
所述天线用于向电子标签发送所述激活信号,接收所述电子标签发送的脉冲信号,依次通过所述鉴频器和所述比较器向所述单片机发送所述脉冲信号;
所述单片机用于执行权利要求1-7任一项所述的自适应频率的电子标签数据解码方法,对所述脉冲信号进行处理。
9.一种计算机装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1-7任一项所述的自适应频率的电子标签数据解码方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行权利要求1-7任一项所述的自适应频率的电子标签数据解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210617896.2A CN115130484A (zh) | 2022-06-01 | 2022-06-01 | 自适应频率的电子标签数据解码方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210617896.2A CN115130484A (zh) | 2022-06-01 | 2022-06-01 | 自适应频率的电子标签数据解码方法、系统、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115130484A true CN115130484A (zh) | 2022-09-30 |
Family
ID=83378344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210617896.2A Pending CN115130484A (zh) | 2022-06-01 | 2022-06-01 | 自适应频率的电子标签数据解码方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115130484A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519116A (zh) * | 2024-01-05 | 2024-02-06 | 永联科技(常熟)有限公司 | 待监测设备的性能数据确定方法、装置及电子设备 |
-
2022
- 2022-06-01 CN CN202210617896.2A patent/CN115130484A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519116A (zh) * | 2024-01-05 | 2024-02-06 | 永联科技(常熟)有限公司 | 待监测设备的性能数据确定方法、装置及电子设备 |
CN117519116B (zh) * | 2024-01-05 | 2024-03-08 | 永联科技(常熟)有限公司 | 待监测设备的性能数据确定方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4578139B2 (ja) | 所定の情報を受信する情報処理装置、プログラム、記憶媒体および方法 | |
EP2238559B1 (en) | Method and apparatus for providing energy to passive tags in a radio -frequency identification system | |
US8174365B2 (en) | IC tag, method of controlling the IC tag, and IC tag system | |
CN102483796B (zh) | 配置有具有各种读取范围的rfid标签的rfid门闸系统 | |
US7782204B2 (en) | Wireless IC tag with counter, and information management system | |
US20110193687A1 (en) | Radio-frequency tag communication device | |
US20070205868A1 (en) | Tag communication device, control device, and tag communication method | |
US20110084812A1 (en) | Rfid interrogator device | |
KR20080010343A (ko) | 리더/태그 통합형 rfid 장치 및 방법 | |
US20110037568A1 (en) | Rfid reader, rfid tag, and controlling method thereof | |
CN115130484A (zh) | 自适应频率的电子标签数据解码方法、系统、装置及介质 | |
US8344855B2 (en) | Radio frequency identification interrogator and method of operating the same | |
CN113361293A (zh) | 刷卡方法、卡控制器、电子设备及存储介质 | |
JP6406004B2 (ja) | 無線タグ通信システム、タグリーダ | |
JP2017200112A (ja) | 交信装置、交信装置を含むシステムおよびプログラム | |
JP4594250B2 (ja) | 通信装置 | |
CN110458257A (zh) | 基于rfid系统的标签盘点方法及装置 | |
EP1901197A2 (en) | Reader/writer and data communication method | |
JP6831652B2 (ja) | タグ読取装置 | |
US20100164687A1 (en) | Rfid reader and identification method for identifying the same | |
EP3428833A1 (en) | Radio tag reading device and radio tag reading method | |
EP2620895B1 (en) | System for managing RFID tags | |
JP4336969B2 (ja) | Rfidリーダ/ライタ装置 | |
US11120232B2 (en) | Early collision detection and handling in CDMA-based RFID systems | |
JP4648215B2 (ja) | 通信装置 |
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 |