一种修正Miller自适应解码方法及装置与流程

文档序号:17001068发布日期:2019-03-02 01:48阅读:238来源:国知局
一种修正Miller自适应解码方法及装置与流程

本发明涉及iso/iec14443a非接触式通信射频通信领域,特别涉及一种修正miller自适应解码方法及装置。



背景技术:

中国智能卡行业发展迅速,产业规模大,智能卡在移动通信、公共交通、医疗保障、身份识别、安全控制、支付等领域发挥的日益重要的作用,智能卡的使用越来越便利,各种各样的产品层出不穷,智能卡的广泛应用也促进了智能卡技术和产业的快速发展。

智能卡由ic芯片、感应天线封装在一个标准的pvc卡片内组成,芯片及天线无任何外露部分。使用时,智能卡在一定距离范围(通常为5~10cm)靠近读写器表面,通过无线电波在智能卡和读写器间传递实现数据的读写操作。现市面上符合iso/iec14443a的智能卡,在不同的读卡器和无线环境下使用时,由于无线发送过程中信号失真和模拟解码电路误差等影响,使得智能卡模拟解码受到影响,解码出来的数字基带信号的低电平时长达不到固定设置的解码阈值要求,最终导致解码失败。



技术实现要素:

本发明的目的在于提供一种自适应的解码方法及装置,根据低电平时长动态调整解码阈值,以减小读卡器差异和无线环境因素对智能卡解码性能的影响。

具体地,本发明提供了一种修正miller自适应解码方法,在解码修正miller数据帧时,以由基本码元组成的码元组合为单位进行解码,解码方法包括如下步骤:

s1:解调修正miller数据帧信号;

s2:计算数据帧的两个相邻近的低电平信号周期间的高电平时长;

s3:将所述高电平时长与预先设置的解码阈值或上一次解码后确定的解码阈值进行比较,确定当前码元组合的每个码元,以实现当前解码,并通过以下步骤s4和s5确定下一次解码的解码阈值;

s4:根据当前码元组合和高电平时长,计算当前码元组合的低电平时长;

s5:根据所述低电平时长确定下一次解码的解码阈值,并重复步骤s2~s5。

较佳地,所述码元组合包括第一类码元组合、第二类码元组合、第三类码元组合和第四类码元组合,所述解码阈值包括第一解码阈值、第二解码阈值和第三解码阈值,步骤s3中确定当前码元组合的每个码元之前先确定当前码元组合的所属类型,具体步骤为:

如果当前码元组合的高电平时长小于所述第一解码阈值,则当前码元组合为第一类码元组合;

如果当前码元组合的高电平时长大于第一解码阈值且小于第二解码阈值,则当前码元组合为第二类码元组合;

如果当前码元组合的高电平时长大于第二解码阈值且小于第三解码阈值,则当前码元组合为第三类码元组合;

如果当前码元组合的高电平时长大于第三解码阈值,则当前码元组合为第四类码元组合。

较佳地,所述基本码元包括x、y和z,所述第一类码元组合包括zz和xx,所述第二类码元组合包括xyz和zx,所述第三类码元组合包括xyx和zy,所述第四类码元组合包括xyy。

较佳地,当前码元组合的首个码元为修正miller数据帧的起始码元z或上一个码元组合的最后一个码元,确定当前码元组合的每个码元的具体步骤为:

如果当前码元组合为第一类码元组合,若首个码元为x,则当前码元组合为xx,若首个码元为z,则当前码元组合为zz;

如果当前码元组合为第二类码元组合,若首个码元为x,则当前码元组合为xyz,若首个码元为z,则当前码元组合为zx;

如果当前码元组合为第三类码元组合,若首个码元为x,则当前码元组合为xyx,若首个码元为z,则当前码元组合为结束信号zy;

如果当前码元组合为第四类码元组合,若首个码元为x,则当前码元组合为结束信号xyy。

较佳地,如果当前码元组合为结束信号zy或xyy,则结束本数据帧的解码。

较佳地,所述第一类码元组合的高电平时长与低电平时长之和等于一个基本时间单元;所述第二类码元组合的高电平时长与低电平时长之和等于3/2*基本时间单元;所述第三类码元组合的高电平时长与低电平时长之和等于2*基本时间单元;所述第四类码元组合的高电平时长与低电平时长之和大于2*基本时间单元;计算所述码元组合的低电平时长的具体步骤为:

如果的当前码元组合为第一类码元组合,则所对应的低电平时长=基本时间单元-高电平时长;

如果的当前码元组合为第二类码元组合,则所对应的低电平时长=3/2*基本时间单元-高电平时长;

如果的当前码元组合为第三类码元组合,则所对应的低电平时长=2*基本时间单元-高电平时长;

如果的当前码元组合为第四类码元组合,则不需要计算低电平时长。

较佳地,当前码元组合解码成功后,根据当前码元组合的低电平时长确定下一次解码的所述第一解码阈值、第二解码阈值和第三解码阈值,具体步骤如下:

若当前码元的低电平时长与上一个码元组合的低电平时长相等,则所述第一解码阈值、第二解码阈值和第三解码阈值不变;

若当前码元的低电平时长大于或小于上一个码元组合的低电平时长,则根据低电平时长计算第一解码阈值、第二解码阈值和第三解码阈值的动态调整范围,并在动态调整范围内选取最佳解码阈值替换为对应的第一解码阈值、第二解码阈值和第三解码阈值,其中,第一解码阈值的调整范围为[基本时间单元-低电平时长,3/2*基本时间单元-低电平时长],第二解码阈值的调整范围为[3/2*基本时间单元-低电平时长,2*基本时间单元-低电平时长],第三解码阈值的调整范围为大于(2*基本时间单元-低电平时长);

若当前码元的低电平时长超出可解码范围,则产生错误信号并结束本数据帧的解码。

较佳地,所述第一解码阈值的最佳取值为(5/4*基本时间单元-低电平时长)。

较佳地,所述第二解码阈值的最佳取值为(7/4*基本时间单元-低电平时长)。

本发明还提供了一种修正miller自适应解码装置,在解码修正miller数据帧时,以由基本码元组成的码元组合为单位进行解码,包括

射频接收单元,解调修正miller数据帧信号;

高电平时长计算单元,计算数据帧的两个相邻近的低电平信号周期间的高电平时长;

解码单元,将所述高电平时长与预先设置的解码阈值或上一次解码后确定的解码阈值进行比较,确定当前码元组合的每个码元,以实现当前解码;

低电平时长计算单元,根据所述码元组合和高电平时长,计算所述码元组合的低电平时长;

解码阈值计算单元,根据所述低电平时长确定下一次解码的所述解码阈值。

与现有技术相比,本发明存在以下技术效果:

1、本发明根据低电平时长动态调整解码阈值,可以有效减小信号发送设备差异和无线环境因素对智能卡解码性能的影响,提高解码成功率。

2、本发明结合码元组合的高、低电平时长特点,设置阶梯形第一解码阈值、第二解码阈值和第三解码阈值,实现码元组合类型的快速确认,提高解码成功率。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1为本发明修正miller自适应解码方法实施例的解码方法流程图;

图2为本发明修正miller自适应解码方法实施例的基本码元示意图,其中,图2(a)为基本码元x,图2(b)为基本码元y,图2(c)为基本码元z;

图3为本发明修正miller自适应解码方法实施例的第一类码元组合高电平时长+低电平时长的示意图;

图4为本发明修正miller自适应解码方法实施例的第二类码元组合高电平时长+低电平时长的示意图;

图5为本发明修正miller自适应解码方法实施例的第三类码元组合高电平时长+低电平时长的示意图;

图6为本发明修正miller自适应解码方法实施例的第四类码元组合高电平时长+低电平时长的示意图;

图7为本发明修正miller自适应解码装置实施例的结构示意图。

具体实施方式

以下将结合附图对本发明提供的一种修正miller自适应解码方法和装置进行详细的描述,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例,本领域技术人员在不改变本发明精神和内容的范围内,能够对其进行修改和润色。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

实施例一

请参考图1,一种修正miller自适应解码方法,在解码修正miller数据帧时,以由基本码元组成的码元组合为单位进行解码,解码方法包括如下步骤:

s1:解调修正miller数据帧信号;

s2:计算数据帧的两个相邻近的低电平信号周期间的高电平时长;

s3:将所述高电平时长与预先设置的解码阈值或上一次解码后确定的解码阈值进行比较,确定当前码元组合的每个码元,以实现当前解码,并通过以下步骤s4和s5确定下一次解码的解码阈值;

s4:根据当前码元组合和高电平时长,计算当前码元组合的低电平时长;

s5:根据所述低电平时长确定下一次解码的解码阈值,并重复步骤s2~s5。

解调出的修正miller数据帧信号中,低电平信号期间是没有时钟的,而由于信号发送设备的差异、无线发送过程中的信号失真和模拟解码电路误差等的影响,导致最终解码出来的低电平时长可能存在很大的误差,达不到固定设置的解码阈值要求,最终导致解码失败。因此,根据低电平时长动态设置解码阈值,可以有效减小信号发送设备差异和无线环境因素对智能卡解码性能的影响,提高解码成功率。

解码时,首先,识别数据帧的第一个码元组合的相邻低电平周期间的高电平时长,结合数据帧的起始码元z,即数据帧的第一个码元组合的首个码元为码元z,将高电平时长与预先设置的解码阈值进行比较,确定数据帧第一个码元组合的其它码元,实现数据帧的第一个码元组合完全确定。

然后,在每一个码元组合确定完成后,根据该码元组合的码元信息及其高电平时长,计算该码元组合的低电平时长,并根据该低电平时长确定下一个码元组合的解码阈值。

最后,将上一个码元组合的最后一个码元作为当前码元组合的首个码元,进入下一轮码元组合的解码。

重复上述步骤直至整个数据帧解码完成。

作为一种实施例,所述码元组合包括第一类码元组合、第二类码元组合、第三类码元组合和第四类码元组合,所述解码阈值包括第一解码阈值、第二解码阈值和第三解码阈值,则在步骤s3中确定当前码元组合的每个码元之前,要先确定当前码元组合的所属类型,即先确定当前码元组合是属于第一类码元组合,还是属于第二类码元组合,或是属于第三类码元组合,亦或是属于第四类码元组合,也即是将当前码元组合的高电平时长与解码阈值进行比较,从而得出当前码元组合所属的具体类型,具体包括以下步骤:

如果当前码元组合的高电平时长小于所述第一解码阈值,则当前码元组合为第一类码元组合;

如果当前码元组合的高电平时长大于第一解码阈值且小于第二解码阈值,则当前码元组合为第二类码元组合;

如果当前码元组合的高电平时长大于第二解码阈值且小于第三解码阈值,则当前码元组合为第三类码元组合;

如果当前码元组合的高电平时长大于第三解码阈值,则当前码元组合为第四类码元组合。

较佳地,所述基本码元包括x、y和z,所述第一类码元组合包括zz和xx,所述第二类码元组合包括xyz和zx,所述第三类码元组合包括xyx和zy,所述第四类码元组合包括xyy。

作为一种实施例,当前码元组合的首个码元为修正miller数据帧的起始码元z或上一个码元组合的最后一个码元,则确定当前码元组合的每个码元具体包括以下步骤:

如果当前码元组合为第一类码元组合,若首个码元为x,则当前码元组合为xx,若首个码元为z,则当前码元组合为zz;

如果当前码元组合为第二类码元组合,若首个码元为x,则当前码元组合为xyz,若首个码元为z,则当前码元组合为zx;

如果当前码元组合为第三类码元组合,若首个码元为x,则当前码元组合为xyx,若首个码元为z,则当前码元组合为结束信号zy;

如果当前码元组合为第四类码元组合,若首个码元为x,则当前码元组合为结束信号xyy。

作为一种实施例,如果当前码元组合为结束信号zy或xyy,则结束本数据帧的解码。

根据iso/iec14443a协议,码元组合xyy或zy为数据帧的结束信号。

请参考图3~图6,所述第一类码元组合的高电平时长与低电平时长之和等于一个基本时间单元;所述第二类码元组合的高电平时长与低电平时长之和等于3/2*基本时间单元;所述第三类码元组合的高电平时长与低电平时长之和等于2*基本时间单元;所述第四类码元组合的高电平时长与低电平时长之和大于2*基本时间单元;计算所述码元组合的低电平时长的具体步骤为:

如果的当前码元组合为第一类码元组合,则所对应的低电平时长=基本时间单元-高电平时长;

如果的当前码元组合为第二类码元组合,则所对应的低电平时长=3/2*基本时间单元-高电平时长;

如果的当前码元组合为第三类码元组合,则所对应的低电平时长=2*基本时间单元-高电平时长;

如果的当前码元组合为第四类码元组合,则不需要计算低电平时长。

本实施例中,当当前码元组合为结束信号zy或xyy时,结束本数据帧的解码,均不需要再计算低电平时长及确定下一次解码的解码阈值。

根据iso/iec14443a协议,修正miller码包括码元x、y和z,一个码元周期为一个基本时间单元(etu),请参考图2,其中,图2(a)为基本码元x,图2(b)为基本码元y,图2(c)为基本码元z,基本码元x、y和z的长度都为一个基本时间单元,码元x和z的低电平出现的位置不一样,码元y在整个基本时间单元内都没有低电平。其中,在同一速度下,分频因子一定,基本时间单元的长度也是固定的。

请参考图3~图6,低电平时长是指高电平时长对应的高电平周期相邻且位于其前面的低电平周期。

作为一种实施例,当前码元组合解码成功后,根据当前码元组合的低电平时长确定下一次解码的所述第一解码阈值、第二解码阈值和第三解码阈值,具体步骤如下:

若当前码元的低电平时长与上一个码元组合的低电平时长相等,则所述第一解码阈值、第二解码阈值和第三解码阈值不变;

若当前码元的低电平时长大于或小于前一个码元组合的低电平时长,则根据低电平时长计算第一解码阈值、第二解码阈值和第三解码阈值的动态调整范围,并在动态调整范围内选取最佳解码阈值替换为对应的第一解码阈值、第二解码阈值和第三解码阈值,其中,第一解码阈值的调整范围为[基本时间单元-低电平时长,3/2*基本时间单元-低电平时长],第二解码阈值的调整范围为[3/2*基本时间单元-低电平时长,2*基本时间单元-低电平时长],第三解码阈值的调整范围为大于(2*基本时间单元-低电平时长);

若当前码元的低电平时长超出可解码范围,则产生错误信号并结束本数据帧的解码。

作为一种实施例,所述第一解码阈值的最佳取值为(5/4*基本时间单元-低电平时长)。

所述第二解码阈值的最佳取值为(7/4*基本时间单元-低电平时长)。

实施例二

本实施例以一次具体的数据帧解码过程为例对本发明的解码方法进行讲解。假设一个基本时间单位为128个时钟周期,预先设置的第一解码阈值为115个时钟周期,第二解码阈值为181个时钟周期,第三解码阈值为246个时钟周期,其中,一个时间周期为1/13.56mhz。

在解码数据帧的第一个码元组合时,首先,设置第一个码元组合的首个码元为数据帧的起始码元z。假设计算的高电平时长为100个时钟周期,由于高电平时长小于第一解码阈值115个时钟周期,故当前码元组合为第一类码元组合,根据其首个码元为z,确定当前码元组合为zz;

然后,计算低电平时长,由于当前码元组合为第一类码元组合,故所对应的低电平时长=基本时间单元-高电平时长,计算得到低电平时长为28个时钟周期;

最后,根据低电平时长确定下一次解码的第一解码阈值、第二解码阈值和第三解码阈值,取第一解码阈值为(5/4*基本时间单元-低电平时长),第二解码阈值为(7/4*基本时间单元-低电平时长),第三解码阈值为(2*基本时间单元-低电平时长+2个时钟周期),计算得到第一解码阈值为132个时钟周期,第二解码阈值为196个时钟周期,第三解码阈值为230个时钟周期;

在解码数据帧的第二个码元组合时,设置首个码元为上一个码元组合的最后一个码元z。假设计算的高电平时长为180个时钟周期,由于高电平时长大于第一解码阈值132个时钟周期且小于第二解码阈值196个时钟周期,故当前码元组合为第二类码元组合,根据其首个码元为z,确定当前码元组合为zx;

然后,计算低电平时长,由于当前码元组合为第二类码元组合,故所对应的低电平时长=3/2*基本时间单元-高电平时长,计算得到低电平时长为12个时钟周期;

最后,根据低电平时长确定下一次解码的第一解码阈值、第二解码阈值和第三解码阈值,取第一解码阈值为(5/4*基本时间单元-低电平时长),第二解码阈值为(7/4*基本时间单元-低电平时长),第三解码阈值为(2*基本时间单元-低电平时长+2个时钟周期),计算得到第一解码阈值为148个时钟周期,第二解码阈值为212个时钟周期,第三解码阈值为246个时钟周期;

按照上述方法一直解码至第n-2个码元组合,假设第n-2个码元组合的最后一个码元为x,更新确定的第一解码阈值为140个时钟周期,第二解码阈值为214个时钟周期,第三解码阈值为248个时钟周期;

在解码数据帧的第n-1个码元组合时,设置首个码元为上一个码元组合的最后一个码元x。假设计算的高电平时长为230个时钟周期,由于高电平时长大于第二解码阈值214个时钟周期且小于第三解码阈值248个时钟周期,故当前码元组合为第三类码元组合,根据其首个码元为x,确定当前码元组合为xyx;

然后,计算低电平时长,由于当前码元组合为第三类码元组合,故所对应的低电平时长=2*基本时间单元-高电平时长,计算得到低电平时长为26个时钟周期;

最后,根据低电平时长确定下一次解码的第一解码阈值、第二解码阈值和第三解码阈值,取第一解码阈值为(5/4*基本时间单元-低电平时长),第二解码阈值为(7/4*基本时间单元-低电平时长),第三解码阈值为(2*基本时间单元-低电平时长+2个时钟周期),计算得到第一解码阈值为134个时钟周期,第二解码阈值为198个时钟周期,第三解码阈值为230个时钟周期;

在解码数据帧的第n个码元组合解码时,设置首个码元为上一个码元组合的最后一个码元x。假设计算的高电平时长为240个时钟周期,由于高电平时长大于第三解码阈值230个时钟周期,故当前码元组合为第四类码元组合,根据其首个码元为x,确定当前码元组合为xyy。

由于xyy为结束信号,所以记录本数据帧最终解码为zzx...xyxyy,并结束本数据帧的解码。

实施例三

请参考图7,本发明还公开了一种修正miller自适应解码装置,其特征在于,在解码修正miller数据帧时,以由基本码元组成的码元组合为单位进行解码,包括

射频接收单元1,解调修正miller数据帧信号;

高电平时长计算单元3,计算数据帧的两个相邻近的低电平信号周期间的高电平时长;

解码单元2,将所述高电平时长与预先设置的解码阈值或上一次解码后确定的解码阈值进行比较,确定当前码元组合的每个码元,以实现当前解码;解码单元2的具体执行过程请参考实施例一中的步骤s3,此处不作赘述。

低电平时长计算单元4,根据所述码元组合和高电平时长,计算所述码元组合的低电平时长;低电平时长计算单元4的具体执行过程请参考实施例一中的步骤s4,此处不作赘述。

解码阈值计算单元5,根据所述低电平时长确定下一次解码的所述解码阈值;解码阈值计算单元5的具体执行过程请参考实施例一的步骤s5,此处不作赘述。

以上公开的仅为本申请的一个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。

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