磁条卡解码方法及装置与流程

文档序号:11520172阅读:962来源:国知局
磁条卡解码方法及装置与流程

本发明实施例涉及信号处理技术领域,具体涉及一种磁条卡解码方法及装置。



背景技术:

磁条卡的应用领域十分广泛,可以制作成为银行卡、会员卡、公路交费卡等等。它实际上是使用磁性材料而制成的一种标识卡。所谓标识卡就是标记了持卡人和发行者信息的卡。磁条卡的正面由聚氯乙烯、聚酷薄膜或复合纸制成,它的反面则是具有磁条的一面,由磁性材料制成磁卡的正面一般印有发卡银行名称、持卡人姓名、有效期限等提示性的信息,反面一般印刷有发卡银行服务电话、持卡人签名条、发卡人声明等信息。

一般来说,在银行系统中所使用的磁卡,其反面的磁条有3个独立的磁道,分别是磁道1(track1)、磁道2(track2)和磁道3(track3),3个磁道的分布如图1所示。根据不同的应用需求,有的磁卡只使用了其中两个磁道,目前大多数磁条卡都只使用了2、3磁道。

其中,三个磁道的宽度相同,均为2.80毫米左右,用于记录用户的各种数据信息,相邻的两个磁道之间大约有0.05毫米的间隙,用来区分两个相邻的磁道,因此,磁条的总宽度为10.29毫米左右(前提是3个磁道都使用的磁卡)或者为6.35毫米左右(前提是使用2个磁道的磁卡)。在实际生活中,我们所使用的银行磁卡上磁条的宽度都会增加1~2毫米左右,磁条的总宽度在12~13毫米。

一般来说,f2f信号两个相邻的周期t,会随着刷卡速度的不同,存在动态的变化。在一个位窗t内,没有电极跳变就为0,有电极跳变就为1,每个位窗的起始沿和结束沿都会有跳变。而模拟信号的每个位窗t都会随着刷卡的速度动态变化。不过动态变化的范围在一定阈值内,超出这个阈值说明在划卡的过程中存在明显抖动或滞留。

由磁头读出的模拟信号准确转换成为f2f信号是磁条卡信息能够准确读出的关键之一。模拟信号中如果能够准确判断出峰值点的位置,会使得译码为f2f信号更加准确。

在实现本发明实施例的过程中,发明人发现现有的峰值点位置判别方法精确度较差,进而影响磁条卡的解码精确度。



技术实现要素:

本发明实施例的一个目的是解决现有的技术方案峰值点位置判别方法精确度较差,影响磁条卡的解码精确度的问题。

本发明实施例提出了一种磁条卡解码方法,包括:

步骤s1、在解码过程中,获取n个已解码比特的持续时间;

步骤s2、根据所述n个已解码比特的持续时间获取当前峰值点对应的比特的持续时间t的估计值;

步骤s3、根据所述估计值获取评估当前峰值点过程的采样的开始点;

步骤s5、根据所述估计值和所述开始点获取当前峰值点的位置;

步骤s6、根据当前峰值点的位置对磁条卡信号进行解码。

可选的,所述步骤s3具体包括:

根据所述估计值和第一预设规则,获取所述开始点的采样值;

根据所述开始点的采样值获取所述开始点的位置;

其中,开始点的位置为所述开始点的采样值对应的平行于轴线的第一截线与磁条卡信号的波形的相交位置。

可选的,在步骤s5之前,所述方法包括:

步骤s4、根据前一截线对应的采样点的采样值,结合预设间隔值,获知后一截线对应的采样点的采样值。

可选的,所述步骤s5具体包括:

在采样过程中,实时监测当前采样点对应的已完成采样截线的数量;

若判断获知已完成采样截线的数量小于预设阈值,且当前采样点与前一峰值点之间达到5/4t,则返回执行步骤s4;

若否,则停止采样,根据已完成采样截线与信号波形的相交位置对应的采样点的采样值获取当前峰值点的位置。

可选的,所述若判断获知当前采样点与当前峰值点之间达到3/8t,则将当前采样点作为评估下一峰值点过程的采样的开始点。

本发明实施例提供一种磁条卡解码装置,包括:

获取模块,用于在解码过程中,获取n个已解码比特的持续时间;

第一处理模块,用于根据所述n个已解码比特的持续时间获取当前峰值点对应的比特的持续时间t的估计值;

第二处理模块,用于根据所述估计值获取评估当前峰值点过程的采样的开始点;

第三处理模块,用于根据所述估计值和所述开始点获取当前峰值点的位置;

解码模块,用于根据当前峰值点的位置对磁条卡信号进行解码。

可选的,所述第二处理模块,用于根据所述估计值和第一预设规则,获取所述开始点的采样值;根据所述开始点的采样值获取所述开始点的位置;

其中,开始点的位置为所述开始点的采样值对应的平行于轴线的第一截线与磁条卡信号的波形的相交位置。

可选的,所述装置还包括:截线设置模块;

所述截线设置模块,用于根据前一截线对应的采样点的采样值,结合预设间隔值,获知后一截线对应的采样点的采样值。

可选的,所述第三处理模块,用于在采样过程中,实时监测当前采样点对应的已完成采样截线的数量;

若判断获知已完成采样截线的数量小于预设阈值,且当前采样点与前一峰值点之间达到5/4t,则返回执行步骤s4;

若否,则停止采样,根据已完成采样截线与信号波形的相交位置对应的采样点的采样值获取当前峰值点的位置。

可选的,所述第三处理模块,还用于若判断获知当前采样点与当前峰值点之间达到3/8t,则将当前采样点作为评估下一峰值点过程的采样的开始点。

由上述技术方案可知,本发明实施例提出的一种磁条卡解码方法及装置基于解码过程中历史比特的持续时间t估计当前峰值点对应的比特的持续时间t,并基于估计的比特的持续时间以及第一预设规则确定当前峰值点的位置,并基于确定的峰值点的位置进行解码操作,与现有技术相比,能精确地查找到当前峰值点的位置,进而提高了解码的精确度。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了现有技术中磁条卡的磁道分布图;

图2示出了本发明一实施例提供的一种磁条卡解码方法的流程示意图;

图3a-图3f示出了本发明另一实施例提供的一种磁条卡解码方法的流程示意图;

图4示出了本发明一实施例提供的一种磁条卡解码装置的结构示意图;

图5示出了本发明另一实施例提供的一种磁条卡解码装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2示出了本发明一实施例提供的一种磁条卡解码方法的流程示意图,参见图2,该方法可由解码器中的处理器来完成,具体包括如下步骤:

步骤s1、在解码过程中,获取n个已解码比特的持续时间;

步骤s2、根据所述n个已解码比特的持续时间获取当前峰值点对应的比特的持续时间t的估计值;

不难理解的是,当前峰值点可以为磁条卡信号波形中的正峰值点,其中,当前峰值点对应的比特的持续时间t为位窗t。

另外,根据历史解码数据中的n个已解码比特的持续时间,采用取平均值等方式计算获取当前峰值点对应的位窗t。

步骤s3、根据所述估计值获取评估当前峰值点过程的采样的开始点;

步骤s5、根据所述估计值和所述开始点获取当前峰值点的位置;

步骤s6、根据当前峰值点的位置对磁条卡信号进行解码。

可见,本实施例基于解码过程中历史比特的持续时间t估计当前峰值点对应的比特的持续时间t,并基于估计的比特的持续时间以及第一预设规则确定当前峰值点的位置,并基于确定的峰值点的位置进行解码操作,与现有技术相比,能精确地查找到当前峰值点的位置,进而提高了解码的精确度。

下面对本实施例中的各个步骤进行详细说明:

步骤s3具体包括:根据所述估计值和第一预设规则,获取所述开始点的采样值;根据所述开始点的采样值获取所述开始点的位置;

其中,开始点的位置为所述开始点的采样值对应的平行于轴线的第一截线与磁条卡信号的波形的相交位置。

然后,步骤s4、根据前一截线对应的采样点的采样值,结合预设间隔值,获知后一截线对应的采样点的采样值。

相应地,步骤s5具体包括:

在采样过程中,实时监测当前采样点对应的已完成采样截线的数量;

若判断获知已完成采样截线的数量小于预设阈值,且当前采样点与前一峰值点之间达到5/4t,则返回执行步骤s4;

若否,则停止采样,根据已完成采样截线与信号波形的相交位置对应的采样点的采样值获取当前峰值点的位置。

进一步地,所述若判断获知当前采样点与当前峰值点之间达到3/8t,则将当前采样点作为评估下一峰值点过程的采样的开始点。

图3a-图3f示出了本发明另一实施例提供的一种磁条卡解码方法的流程示意图,参见图3a-图3f,该方法包括:

若实现当前峰值点(图3a中的要评估的新峰值点)位置判别,需要先对当前峰值点(图3a中的“要评估的新峰值点”所指示位置)所对应比特的持续时间(即图3a中的t1和t2)进行估计,假设估值为t,一般来说,该估计值是通过新峰值点之前的若干个已解码比特的持续时间和解码结果来预测该估计值(例如,取之前的四个比特持续时间均值作为估计值,也可以采用其它预测模型进行估计。由于是对数字信号的处理,采样时间间隔固定,因此,在峰值点位置搜索过程中,比特的持续时间估值t对应于一个比特持续时间内所包含的采样点数。这里所使用的比特的持续时间估值t,实际上是采样点数目,由图3a中所示数据,得到新峰值点所对应的t1和t2的估计值为99,意味着一个比特的持续时间是99个采样点所持续的时间),该值不准确,不能由它导出峰值点的确切位置,而之前的峰值点已经通过这里所介绍的判决方法得到,是已知的和准确的,进而得到的比特的持续时间和解码结果也是准确的。尽管不使用评估出的比特持续时间直接来估计峰值点,但需要使用它来完成峰值点评估过程,在这个过程中,比特的持续时间估计值用来确定评估过程的起止点,对正确评估峰值点有着关键作用,另外,它也是进行解码的关键参数。在下面的“峰值点评估过程”中的t就是这里所介绍的比特的持续时间估值t。

进行峰值点位置判定,需要通过下面的“峰值点评估过程”来实现,具体操作如下:

参见图3b,把峰值点评估过程的结束点作为下一次峰值点评估过程的开始点,首先判断截线完成计数器值是否达到数目m,如果达到则搜索过程停止,否则判断从前一个峰值点到当前读取的采样点之间是否达到了5/4t个采样点,如果已经达到5/4t个采样点,则搜索过程停止,评估出新峰值点,如果当前采样点已经超过新峰值点3/8t,那么将当前采样点作为下一次峰值点评估过程的开始点,否则向前推进到距离新峰值点3/8t位置作为下一次峰值点评估过程的开始点,从该点进行下一次峰值点评估过程,这点也是此次峰值点评估过程的结束点。如图3b所示,图中的a点到e点之间是5/4t个采样点,新峰值点c到f点之间是3/8t个采样点,如果设定m=4,那么搜索过程将在d点结束,如果m=5或者m大于5,那么搜索过程将在e点结束,搜索过程结束后,如果f点位于d和e的右侧(如图3b所示),那么f点是下一次峰值点评估过程的起点。

(1)开始点的采样值设定为阈值a(1),与纵轴交点值a(1),做平行于横轴的截线1,即y=a(1),与波形相交于m(1)点和n(1)点,m(1)点也是开始点,位置记录为ps(1)。并且截线1对应计数器c(1),c(1)值为1,设定下一条截线2对应的阈值a(2),a(2)=a(1)+δ(1)。如图3c所示。

(2)如果截线完成计数器值没有达到数目m并且前一个峰值点到当前采样点之间没有达到5/4t个采样点,则进行第(3)步,否则搜索过程停止,跳到第(5)步。

(3)假设已经做好了第n个截线,下一个截线也就是第n+1个截线对应的阈值为a(n+1),a(n+1)=a(n)+δ(n)。读取当前采样点值,如果采样点值>=a(n+1),与纵轴交点值a(n+1),做平行于横轴的截线n+1,与波形相交于m(n+1)点和n(n+1)点,位置记录为ps(n+1),并且截线n+1对应计数器c(n+1),c(n+1)值设为0,更新下一条截线n+2对应的阈值a(n+2),a(n+2)=a(n+1)+δ(n+1),如图3d所示。采样点值与已有的所有截线进行比较,如果采样点在截线的上方,相应截线计数器值加1,即c(1),c(2),...,c(n+1)中,只要采样点在相应截线的上方就加1,如图3d,如果采样点在截线下方并且对应截线计数器值大于0时,该位置记录为该截线的结束点,记录该位置pe(n+1),截线完成计数器值加1,并进行更新,如图3e所示。

(4)重复步(2)和步(3)。

(5)评估出新峰值点,如果当前采样点已经超过新峰值点3/8t,那么将当前采样点作为下一次峰值点评估过程的开始点,否则向前推进到距离新峰值点3/8t位置作为下一次峰值点评估过程的开始点,也是此次“峰值点评估过程”的结束点。如图3b所示。

(5)中评估出新峰值点,是根据记录的截线位置来进行计算的,计算方法为所有完成的截线起始点位置与结束点位置求和取均值得到的就是新峰值点位置,如图3f中的ps(4),ps(5),ps(6),ps(7),pe(4),pe(5),pe(6),pe(7),将这8个值求和取平均值再取整数即为新峰值点位置,也可以采用其它加权方法来求得。

在具体实现过程中,可以限定最大截线数目,将截线循环使用,以便节省内存资源,但算法复杂度会有所提高。

图4示出了本发明一实施例提供的一种磁条卡解码装置的结构示意图,参见图4,该装置包括:获取模块410、第一处理模块420、第二处理模块430、第三处理模块440和解码模块450,其中;

获取模块410,用于在解码过程中,获取n个已解码比特的持续时间;

第一处理模块420,用于根据所述n个已解码比特的持续时间获取当前峰值点对应的比特的持续时间t的估计值;

第二处理模块430,用于根据所述估计值获取评估当前峰值点过程的采样的开始点;

第三处理模块440,用于根据所述估计值和所述开始点获取当前峰值点的位置;

解码模块450,用于根据当前峰值点的位置对磁条卡信号进行解码。

需要说明的是,在解码的过程中,获取模块410获取n个已解码比特的持续时间,并将获取到的数据发送至第一处理模块420,由第一处理模块420根据接收到的数据估计当前峰值点对应的比特的持续时间t,并将估计出的t发送至第二处理模块430和第三处理模块440,第二处理模块430基于获取到的持续时间t评估当前峰值点的开始点,并将评估出的开始点发送至第三处理模块440,由第三处理模块440基于t的估计值和开始点的估计位置和预设规则确定当前峰值点的位置,并将确定出的当前峰值点的位置发送至解码模块450,由解码模块450基于确定的当前峰值点的位置进行执行当前的解码操作。

可见,本实施例基于解码过程中历史比特的持续时间t估计当前峰值点对应的比特的持续时间t,并基于估计的比特的持续时间以及第一预设规则确定当前峰值点的位置,并基于确定的峰值点的位置进行解码操作,与现有技术相比,能精确地查找到当前峰值点的位置,进而提高了解码的精确度。

图5示出了本发明另一实施例提供的一种磁条卡解码装置的结构示意图,参见图5,该装置包括:获取模块510、第一处理模块520、第二处理模块530、截线设置模块540、第三处理模块550和解码模块560,其中;

获取模块510、第一处理模块520、第二处理模块530、第三处理模块550和解码模块560与图4对应实施例中的获取模块410、第一处理模块420、第二处理模块430、第三处理模块440和解码模块450对应相同,其工作原理也对应相同,故,相同之处,此处不再展开说明。

本实施例中,第二处理模块430根据所述估计值和第一预设规则,获取所述开始点的采样值;根据所述开始点的采样值获取所述开始点的位置;

其中,开始点的位置为所述开始点的采样值对应的平行于轴线的第一截线与磁条卡信号的波形的相交位置。

截线设置模块540,用于根据前一截线对应的采样点的采样值,结合预设间隔值,获知后一截线对应的采样点的采样值。

相应地,第三处理模块550具体用于在采样过程中,实时监测当前采样点对应的已完成采样截线的数量;

若判断获知已完成采样截线的数量小于预设阈值,且当前采样点与前一峰值点之间达到5/4t,则返回执行步骤s4;

若否,则停止采样,根据已完成采样截线与信号波形的相交位置对应的采样点的采样值获取当前峰值点的位置。

若判断获知当前采样点与当前峰值点之间达到3/8t,则将当前采样点作为评估下一峰值点过程的采样的开始点。

针对上述实施例,对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。

对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。

本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本装置中,pc通过实现因特网对设备或者装置远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具有可统计性,产生数据报告和cpk报告等,能对此程序进行批量测试并统计。应该注意的是上述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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