一种标签信号解码方法、标签解码装置及标签阅读器与流程

文档序号:14267300阅读:196来源:国知局
一种标签信号解码方法、标签解码装置及标签阅读器与流程

本发明涉及rfid射频技术领域,主要涉及一种标签信号解码方法、标签解码装置及标签阅读器。



背景技术:

rfid(radiofrequencyidentification)技术是指以识别和数据交换为目的,利用感应、无线电波或微波进行非接触双向通信的自动识别技术,利用这种技术可以实现对所有物理对象的追踪和管理。rfid标签信号解码的好坏直接影响到读写器的灵敏度和吞吐量,成为评定读写器性能的一个重要指标。

根据gb29768标准规定规定,rfid标签返回给rfid读写器的标签信号是fm0编码格式。标签信号包括帧头部分和数据部分。

fm0编码的特点是:在一个位窗内采用电平的变化表示不同的逻辑。如果电平只在位窗的起始处翻转(即变化),其它位置不翻转,则表示逻辑“1”;如果电平既在位窗的起始处翻转,又在位窗的中间翻转,则表示逻辑“0”。另外,根据fm0编码规则,无论传送的码元是“0”还是“1”,在位窗的起始处都需要发生电平翻转。图1示出了四个fm编码格式的数据波形图。其中,s1、s4代表逻辑“1”,s2、s3代表逻辑“0”。图2示出了s1、s2、s3、s4之间的状态切换图。

现有技术在寻找标签信号的帧头时,通常根据标签信号的强度来判断:当信号强度大于一定阈值时,即认为是标签信号的帧头,进而开始后续数据部分的解码流程。当标签信号的信噪比比较小的时候,容易将噪声误认为是有效帧头,从而错误的开启一个解码过程,错过真正的有效信号,降低解码成功率。

申请公布号cn104361370a,申请公布日2015年2月18日的发明专利申请公开了一种超高频rfid读写器fm0编码帧头判别方法,该方法利用epc协议中关于帧头信号的规定,抓住帧头主要判别标识v,提高码元在接收起始段的容错性,在接收稳定后恢复误码判断的灵敏度,来实现即提高帧头正确判断的效率,又保证无效信号及时被发现并终止通信。但是,该技术方案仅适用于标签信号由于干扰造成帧头起始部分偏差的情况下被误判为无效通信的问题。如果干扰发生在帧头的中间部分,则无法识别出帧头。

现有技术对fm0标签信号数据部分的解码主要有两种方法:

一.根据一定的频率来对采样数据进行固定点数的切分,切分的点数取决于采样倍数。比如四倍采样时,则以四个采样点为单位对数据部分进行切分,然后对每个单位(四个采样点)按照fm0编码规则进行解码。当标签信号的频率存在偏差时,对采样数据的切分就存在误差,并且这个误差会累积。数据量越大,误差越大,容易导致时间顺序上靠后的数据部分的解码错误。

申请公布号cn104361383a,申请公布日2015年2月18日的发明专利申请公开了一种超高频rfid读写器fm0编码的解码方法。利用频率提取模块提取标签信号的实际频率,然后根据提取到的实际频率得到下一个码元的理想模板,并根据下一个码元的实际信号与理想模板比较的结果确定码元的值。需要动态采集标签信号的实际频率,并且根据采集到的实际频率动态生成标签信号的每一个码元(即每一位标签数据的信号)的理想模板并将实际信号与理想模板进行比较。系统实现复杂、成本高、运算量大。

二.通过采样数据部分信号上升沿或者下降沿的方式来进行解码。其中一种方法是:采样数据部分信号相邻两个下降沿之间的时间间隔,根据fm0的编码规则(比如fm0最小位周期为t),下降沿在1t、1.5t、2t时分别代表不同的电平数据,根据该编码规则把相邻两个下降沿之间的时间间隔转化为对应的高低电平信息,基于按照时间顺序组合起来的这些信息进行提取解码。这种解码方案对标签信号的质量要求非常高,当信号中存在毛刺情况,则采用信号沿的方法将会失效。



技术实现要素:

本发明提出了一种基于fm0编码的标签信号解码方法,基于该解码方法可以准确查找标签信号的帧头并且可以提高在标签信号频偏时的解码成功率。该标签信号解码方法包括:

数据采样,n倍采样接收到的标签模拟信号以获得标签数字信号序列;

帧头检测,计算标签数字信号序列与预设的帧头序列的相关度,从所述相关度大于预设值的时刻开始存储所述标签数字信号序列;

数据解码,按位解码所述标签数据信号序列的数据部分;

所述数据解码步骤中,根据采样倍数n和所述数据部分的电平跳变情况,提取所述数据部分中的一个位周期的数据序列,根据所述数据序列的累加值确定所述数据序列对应数据位的值。

上述技术方案中,运用相关系数来度量帧头序列和标签数据信号序列的匹配程度,以波形比对的方式准确寻找帧头;根据采样倍数n和数据部分的电平跳变情况提取一个位周期的数据序列,可以处理一定程度的频偏导致解码失败的问题;根据累加值确定数据位的值运算量小、判断结果可靠、并且具有一定的容错性。

进一步地,所述帧头检测步骤中,相关度,其中x(t)表示所述标签数字信号序列在t时刻的值,y(t)表示所述帧头序列在t时刻的值。

进一步地,所述数据解码步骤包括:

位数据提取,根据采样倍数n和所述数据部分的电平跳变情况,提取所述标签数字信号序列的数据部分第一个位周期的数据序列;提取成功,则将剩余的数据部分作为新的数据部分,并且进入位数据解码步骤;否则,结束数据解码;

位数据解码,对提取的所述数据序列进行累加运算,根据所述累加运算的累加值确定所述数据序列对应数据位的值;如果新的数据部分不为空,则返回位数据提取步骤;否则,结束数据解码。

进一步地,所述位数据提取步骤中,如果所述数据部分第m个数据点有发生电平跳变并且(n-a)<=(m-1)<=(n+a),则提取所述数据部分的第m个数据点之前的数据点作为一个位周期的数据序列;其中,a为频偏因子。

进一步地,所述位数据解码中步骤中:

如果所述累加值为0到b之间的整数或者所述累加值为(m-1-b)到(m-1)之间的整数,则确定所述数据序列对应数据位的值为1;

否则,确定所述数据序列对应数据位的值为0;其中,b为容错因子。

本发明提出了一种基于fm0编码的标签信号解码装置,基于该解码装置可以准确查找标签信号的帧头并且可以提高在标签信号频偏时的解码成功率。该标签信号解码装置包括:

数据采用模块,用于n倍采样接收到的标签模拟信号以获得标签数字信号序列;

帧头检测模块,计算所述数据采样模块获得的标签数字信号序列与帧头序列的相关度,从所述相关度大于预设值的时刻开始将所述标签数字信号序列存储至存储单元;

数据解码模块,按位解码所述存储单元中的所述标签数据信号序列的数据部分;

所述数据解码模块,根据采样倍数n提取所述数据部分中的一个位周期的数据序列,根据所述数据序列的累加值确定所述数据序列对应数据位的值。

上述技术方案中,运用相关系数来度量帧头序列和标签数据信号序列的匹配程度,以波形比对的方式准确寻找帧头;根据采样倍数n和数据部分的电平跳变情况提取一个位周期的数据序列,可以处理一定程度的频偏导致解码失败的问题;根据累加值确定数据位的值运算量小、判断结果可靠、并且具有一定的容错性。

进一步地,所述帧头检测模块根据公式计算相关度pxy,其中x(t)表示所述标签数字信号序列在t时刻的值,y(t)表示所述帧头序列在t时刻的值。

进一步地,所述数据解码模块包括:

位数据提取单元,根据采样倍数n提取所述标签数字信号序列的数据部分第一个位周期的数据序列;提取成功,则将剩余的数据部分作为新的数据部分,并且将提取的所述数据序列输入位数据解码单元;

位数据解码单元,包括对所述位数据提取单元提取的所述数据序列进行累加运算的累加器,根据所述累加器计算的累加值确定所述数据序列对应数据位的值。

进一步地,所述位数据提取单元,如果所述数据部分第m个数据点有发生电平跳变并且(n-a)<=(m-1)<=(n+a),则提取所述数据部分的第m个数据点之前的数据点作为一个位周期的数据序列;其中,a为频偏因子。

进一步地,所述位数据解码单元根据所述累加器的累加值:

如果所述累加值为0到b之间的整数或者所述累加值为(m-1-b)到(m-1)之间的整数,则确定所述数据序列对应数据位的值为1;

否则,确定所述数据序列对应数据位的值为0。

本发明提出了一种标签阅读器,可以准确查找标签信号的帧头并且可以提高在标签信号频偏时的解码成功率。该标签阅读器包括上述任一项所述的标签信号解码装置。

上述技术方案中,标签阅读器的标签信号解码装置运用相关系数来度量帧头序列和标签数据信号序列的匹配程度,以波形比对的方式准确寻找帧头;根据采样倍数n和数据部分的电平跳变情况提取一个位周期的数据序列,可以处理一定程度的频偏导致解码失败的问题;根据累加值确定数据位的值运算量小、判断结果可靠、并且具有一定的容错性。

附图说明

图1是四个fm编码格式的数据波形图。

图2是图1中所示的s1、s2、s3、s4之间的状态切换图。

图3是fm0帧头的数据图形。

图4是本发明实施例的解码装置系统图。

图5是本发明实施例帧头检测步骤/模块计算的相关度结果图。

图6是本发明实施例存储的标签数字信号序列的起始部分与标签数字信号序列的数据部分的起始部分的时间偏差示意图。

图7是本发明实施例在标签信号波形变形时的解码结果示意图。

图8是本发明实施例在标签信号波形频偏-12.5%时的解码结果示意图。

图9是本发明实施例在标签信号波形频偏+12.5%时的解码结果示意图。

具体实施方式

以下结合附图和具体实施例对本发明所提出的标签信号解码方法以及解码装置进行进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图均采用非常简化的形式和非精准的比例,仅用以方便、明晰地说本发明实施例的目的。

实施例一

一种标签信号解码方法,包括步骤:

一.数据采样

以n倍采样率((本实施例中以8倍采样率为例进行描述,即n=8)对接收到的标签模拟信号进行采样以获得原始标签数字信号序列。具体包括步骤:

1.以n倍采样率对接收到的标签模拟信号进行高速数字采样,获得原始标签数字信号序列。

2.对高速数字采样获得的原始标签数字信号序列进行数字滤波,以滤除该原始标签数字信号中的高频信号,这样可以有效去除噪声信号。

3.对滤波过后的原始标签数字信号进行高低电平区分:高于过零检测阈值的采样点被认为是高电平“1”,低于某一阈值的采样点被认为是低电平“0”。获得以“0”、“1”序列表示的标签数字信号序列。

二.帧头检测

计算标签数字信号序列与帧头序列的相关度,从所述相关度大于预设值的时刻开始存储所述标签数字信号序列。

标签数字信号序列包括帧头部分和数据部分。其中,帧头部分符合图3所示的fm0前导码(即帧头)规则,数据部分符合图1和图2所示的fm0编码规则。

根据图3所示的fm0前导码(即帧头)规则以及数据采样步骤中的采样倍数n,设计与fm0帧头部分的理想波形一致的帧头序列y。例如,当采样倍数n=8时,一个位周期(即位窗)在理想状态下对应8个采样点。帧头序列被设计为“100100100100100100100100(对应帧头的第一个位周期的采样点)/55555555(对应帧头的第二个位周期的采样点)/100100100100100100100100(对应帧头的第三个位周期的采样点)/5555100100100100(对应帧头的第四个位周期的采样点)/1001001001005555(对应帧头的第五个位周期的采样点)/1001001001005555(对应帧头的第六个位周期的采样点)/1001001001005555(对应帧头的第七个位周期的采样点)/55555555(对应帧头的第八个位周期的采样点)”。这里的“100”代表高电平、“5”代表低电平。将帧头序列y预先保存起来。

数据采样步骤中每采样到一个新数据点,标签数字信号序列相应的被更新。将更新后的标签数字信号序列的前n*8个数据点组成的数据序列x与预先保存的帧头序列y进行移位互相关运算以计算它们的相关度pxy,其中:

x(t)表示数据序列(即标签数字信号序列)在t时刻的值,y(t)表示帧头序列在t时刻的值。

当数据序列x为标签数字信号序列的帧头部分时,互相关运算的结果pxy将会趋近于1。如图5所示,当帧头模板与标签数字信号序列的帧头部分进行互相关运算时,相关结果(相关度pxy)会达到最高峰。从相关度pxy超过预设值(预设值应该大于0并且小于1)开始存储标签数字信号序列。由于相关度的峰值点才表示标签数字信号序列中帧头部分结束,数据部分开始。而标签数字信号序列的存储是从相关度pxy超过预设值的时刻开始的。因此,在大多数情况下如图6所示:实际存储的标签数字信号序列的起始点与数据部分的起始点之间是存在时间偏差(即相关度的峰值点与过预设值点之间的时间差offset)的。相应的,实际存储的标签数字信号序列不仅包括了其数据部分,而且还包括了位于数据部分之前的帧头部分的一部分,而根据时间偏差offset即可以在存储的标签数字信号序列中找到数据部分的起始点。

三.数据解码

根据采样倍数n和数据部分的电平跳变情况,提取所述数据部分中的一个位周期的数据序列,根据所述数据序列的累加值确定所述数据序列对应数据位的值。具体包括步骤:

1.根据时间偏差offset在存储的标签数字信号序列中提取标签数字信号序列的数据部分。

2.位数据提取,根据采样倍数n和数据部分的电平跳变情况:如果所述数据部分第m个数据点有发生电平跳变并且(n-a)<=(m-1)<=(n+a),则提取所述数据部分的第m个数据点之前的数据点作为一个位周期的数据序列,其中a为频偏因子。如果提取成功,则进入位数据解码步骤并且将剩余的数据部分作为新的数据部分。如果提取失败,则结束数据解码。比如在采样倍数n为8时,从标签数字信号序列的起始点开始,第9个点电平将发生跳变。考虑到频偏因素,如果频偏在12.5%范围内,则可能在第8或者第10个点发生电平跳变,将频偏因子a设为1。在位数据提取的时候,判断发生电平跳变点所在的位置:如果在第8或者第9或者第10个数据点处电平发生跳变,则认为发生电平跳变之前的7个或者8个或者9个数据点为fm0编码的一个位周期,代表一个数据位。如果在第8或者第9或者第10个数据点处电平均未发生跳变,则说明fm0编码出错,结束本次解码。

3.位数据解码,对提取的数据序列进行累加运算,根据累加运算的累加值确定数据序列对应数据位的值;如果新的数据部分不为空,则返回位数据提取步骤;否则,结束数据解码。具体的,如果所述累加值为0到b之间的整数或者所述累加值为(m-1-b)到(m-1)之间的整数,则确定所述数据序列对应数据位的值为1;否则,确定所述数据序列对应数据位的值为0;其中,b为容错因子。b的大小可以根据实际应用情况调整,一般情况下b取1。比如,在采样倍数n为8时,如果该数位的值为“1”的话,则数据步骤2中提取的为数据序列应该是全0或者全1,考虑到一定的容错冗余,当累计的结果属于{0、1、2、7、8、9}集合的话,则确定该数据序列对应的数据为的值为1;否则,认为该数据序列对应的值为“0”。

四.数据校验

对解码后的标签数字信号序列的数据部分按照ccitt-crc5或者ccitt-crc16进行校验:如果校验通过,则解码成功;如果校验失败,则说明解码有误。

图7示出了本实施例用于解码由于噪声干扰导致数据部分存在未滤除毛刺的情况下的解码结果。从图7可以看出,本实施例的解码方法具有较好的抗干扰性,在有噪声干扰的情况下仍能够准确解码标签信号。

图8和图9示出了本实施例用于解码频偏12.5%的标签信号的解码结果。从图8和图9可以看出,本实施例的解码方法在标签信号产生频偏的情况下,仍能够准确解码标签信号。

实施例二

如图4所示为用于实施本发明的标签解码方法的一种标签解码装置,其可以用于实现实施例一中的解码方法。该标签解码装置包括:

一.数据采样模块

以n倍采样率(本实施例中以8倍采样率为例进行描述,即n=8)对接收到的标签模拟信号进行采样以获得原始标签数字信号序列。具体包括:

ad采样单元,以n倍采样率对接收到的标签模拟信号进行高速数字采样,获得原始标签数字信号序列。

fir滤波单元,对高速数字采样获得的原始标签数字信号序列进行数字滤波,以滤除该原始标签数字信号中的高频信号,这样可以有效去除噪声信号。

过零检测单元,对滤波过后的原始标签数字信号进行高低电平区分:高于过零检测阈值的采样点被认为的高电平“1”,低于某一阈值的采样点被认为是低电平“0”。获得以“0”、“1”序列表示的标签数字信号序列。

二.帧头检测模块

用于计算标签数字信号序列与帧头序列的相关度,从所述相关度大于预设值的时刻开始存储所述标签数字信号序列。包括帧头匹配相关单元、峰峰值判断单元和存储单元。

标签数字信号序列包括帧头部分和数据部分。其中,帧头部分符合图3所示的fm0前导码(即帧头)规则,数据部分符合图1和图2所示的fm0编码规则。

根据图3所示的fm0前导码(即帧头)规则以及数据采样步骤中的采样倍数n,设计与fm0帧头部分的理想波形一致的帧头序列y。例如,当采样倍数n=8时,一个位周期(即位窗)在理想状态下对应8个采样点。帧头序列被设计为“100100100100100100100100(对应帧头的第一个位周期的采样点)/55555555(对应帧头的第二个位周期的采样点)/100100100100100100100100(对应帧头的第三个位周期的采样点)/5555100100100100(对应帧头的第四个位周期的采样点)/1001001001005555(对应帧头的第五个位周期的采样点)/1001001001005555(对应帧头的第六个位周期的采样点)/1001001001005555(对应帧头的第七个位周期的采样点)/55555555(对应帧头的第八个位周期的采样点)”。这里的“100”代表高电平、“5”代表低电平。将帧头序列y预先保存起来。

数据采样模块每采样到一个新数据点,输出的标签数字信号序列相应的被更新。帧头匹配相关单元,将更新后的标签数字信号序列的前n*8个数据点组成的数据序列x与预先保存的帧头序列y进行移位互相关运算以计算它们的相关度pxy,其中:

x(t)表示数据序列(即标签数字信号序列)在t时刻的值,y(t)表示帧头序列在t时刻的值。当数据序列x为标签数字信号序列的帧头部分时,互相关运算的结果pxy将会趋近于1。如图5所示,当帧头模板与标签数字信号序列的帧头部分进行互相关运算时,相关结果(相关度pxy)会达到最高峰。

峰峰值判断单元,当帧头匹配相关单元的输出值(即相关度pxy)超过预设值时,峰峰值判断单元输出使能信号,标签数字信号序列开始存入存储单元。由于相关度的峰值点才表示标签数字信号序列中帧头部分结束,数据部分开始。而标签数字信号序列的存储是从相关度pxy超过预设值的时刻开始的。因此,在大多数情况下如图6所示:实际存储的标签数字信号序列的起始点与数据部分的起始点之间是存在时间偏差(即相关度的峰值点与过预设值点之间的时间差offset)的。相应的,实际存储的标签数字信号序列不仅包括了其数据部分,而且还包括了位于数据部分之前的帧头部分的一部分,而根据时间偏差offset即可以在存储的标签数字信号序列中找到数据部分的起始点。峰峰值判断单元中保存着这个偏差offset。

三.数据解码模块

根据采样倍数n和数据部分的电平跳变情况,提取数据部分中的一个位周期的数据序列,根据所述数据序列的累加值确定所述数据序列对应数据位的值。包括为位数据提取单元和位数据解码单元。

数据解码模块根据存储在峰峰值判断单元中的时间偏差offset在存储的标签数字信号序列中提取标签数字信号序列的数据部分。

位数据提取单元,根据采样倍数n和数据部分的电平跳变情况:如果所述数据部分第m个数据点有发生电平跳变并且(n-a)<=(m-1)<=(n+a),则提取所述数据部分的第m个数据点之前的数据点作为一个位周期的数据序列,其中a为频偏因子。如果提取成功,则进入位数据解码步骤并且将剩余的数据部分作为新的数据部分。如果提取失败,则结束数据解码。比如在采样倍数n为8时,从标签数字信号序列的起始点开始,第9个点电平将发生跳变。考虑到频偏因素,如果频偏在12.5%范围内,则可能在第8或者第10个点发生电平跳变,将频偏因子a设为1。在位数据提取的时候,判断发生电平跳变点所在的位置:如果在第8或者第9或者第10个数据点处电平发生跳变,则认为发生电平跳变之前的7个或者8个或者9个数据点为fm0编码的一个位周期,代表一个数据位。如果在第8或者第9或者第10个数据点处电平均未发生跳变,则说明fm0编码出错,结束本次解码。

位数据解码单元,对位数据提取单元提取的数据序列进行累加运算,根据累加运算的累加值确定数据序列对应数据位的值;如果新的数据部分不为空,则返回位数据提取步骤;否则,结束数据解码。具体的,如果所述累加值为0到b之间的整数或者所述累加值为(m-1-b)到(m-1)之间的整数,则确定所述数据序列对应数据位的值为1;否则,确定所述数据序列对应数据位的值为0;其中,b为容错因子。b的大小可以根据实际应用情况调整,一般情况下b取1。比如,在采样倍数n为8时,如果该数位的值为“1”的话,则数据步骤2中提取的为数据序列应该是全0或者全1,考虑到一定的容错冗余,当累计的结果属于{0、1、2、7、8、9}集合的话,则确定该数据序列对应的数据为的值为1;否则,认为该数据序列对应的值为“0”。

四.数据校验模块

对解码后的标签数字信号序列的数据部分按照ccitt-crc5或者ccitt-crc16进行校验:如果校验通过,则解码成功;如果校验失败,则说明解码有误。

图7示出了本实施例用于解码由于噪声干扰导致数据部分存在未滤除毛刺的情况下的解码结果。从图7可以看出,本实施例的解码方法具有较好的抗干扰性,在有噪声干扰的情况下仍能够准确解码标签信号。

图8和图9示出了本实施例用于解码频偏12.5%的标签信号的解码结果。从图8和图9可以看出,本实施例的解码方法在标签信号产生频偏的情况下,仍能够准确解码标签信号。

实施例三

一种标签阅读器,包括实施例二所述的标签解码装置。能够识别并解码基于fm0编码的标签发送的标签信号。

虽然结合附图描述了本发明的实施方式,但是本领域普通技术人员可以在所附权利要求的范围内做出各种变形或修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1