CN110647776B - 一种磁条卡解码的方法 - Google Patents
一种磁条卡解码的方法 Download PDFInfo
- Publication number
- CN110647776B CN110647776B CN201910870231.0A CN201910870231A CN110647776B CN 110647776 B CN110647776 B CN 110647776B CN 201910870231 A CN201910870231 A CN 201910870231A CN 110647776 B CN110647776 B CN 110647776B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- card reader
- time period
- bit
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Toxicology (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明实施例涉及一种磁条卡解码的方法,其特征在于,所述方法包括:获取磁条数据的数据时间电平信号;根据数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列;根据相位点时间序列,对相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列;根据数据时间段序列,对数据时间序列的全部数据时间段做平均计算处理,生成判定门限时间;根据数据时间段序列、判定门限时间,对数据时间段序列进行比特时间解码,生成第一解码数据序列;根据第一解码数据序列,对第一解码数据序列进行比特修正解码,生成第二解码数据序列;将第二解码数据序列作为最后解码数据向上位机发送。
Description
技术领域
本发明涉及磁条卡解码技术领域,尤其涉及一种磁条卡解码的方法。
背景技术
磁条卡目前被广泛地应用于金融交易、身份识别、物流货运等领域。所存储的数据格式是按磁条卡编码格式F2F编码格式进行编制存储的。对磁条卡的解码就是对读出的数据信号按F2F编码格式进行解码。在日常情况下,如果磁条卡的受到污染,或者刷卡环境信号干扰严重,或者磁条卡受到轻微损伤,或者刷卡的速度不是匀速等等原因,都会导致读出的数据信号时间特性受到影响,当前的技术实现在波形时间出现异常时会发生误解码,这样会导致磁条卡在日常使用中的解码失败率过高,从而使得磁条卡使用寿命减短,与磁条卡对应的读卡器使用维护成本也增加。
发明内容
本发明的目的,就是针对上述技术缺陷,提供一种磁条卡解码的方法。本发明方法首先是通过对全数据时间序列进行统计生成时间解码关键参数-判定门限时间,提高了判定参数的精度,降低了解码误判率;其次,本发明方法在依靠判定门限时间完成解码之后,使用编码规则对解码后数据进行二次校准,再次提高了解码正确率。使用本发明方法,在恶劣的磁条卡使用环境恶中,也能保证读卡器进行有效解码,不但提高了磁条卡的使用寿命,也降低了读卡器的维护成本。
为实现上述目的,本发明提供了一种磁条卡解码的方法,包括:
所述读卡器通过磁头与磁条的相对运动,获取磁条数据的数据时间电平信号;
所述读卡器根据所述数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,其中所述相位点时间序列包括多个相位点时间数据项;
所述读卡器根据所述相位点时间序列,对所述相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,其中所述数据时间段序列包括多个数据时间段数据项;
所述读卡器根据所述数据时间段序列,对所述数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间;
所述读卡器根据所述数据时间段序列、判定门限时间,对所述数据时间段序列进行比特时间解码,生成第一解码数据序列,其中所述第一解码数据序列包括多个第一解码比特;
所述读卡器根据所述数据时间段序列、第一解码数据序列,对所述第一解码数据序列进行比特修正解码,生成第二解码数据序列,其中所述第二解码数据序列包括多个第二解码比特;
所述读卡器将所述第二解码数据序列作为最后解码数据向上位机发送。
进一步的,所述读卡器根据所述数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,具体包括:
步骤21,所述读卡器初始化第一相位点序列为空;
步骤22,所述读卡器根据所述数据时间电平信号,在从所述数据时间电平信号的起始时间至所述数据时间电平信号的结束时间的时间区间里,按时间顺序依次提取电平信号发生相位变化的相位点,并提取与所述相位点对应的相位点电平信息与相位点时间信息对所述第一相位点序列进行相位点数据项添加,其中所述第一相位点序列包括多个相位点数据项,所述相位点数据项包括所述相位点电平信息与所述相位点时间信息;
步骤23,所述读卡器初始化临时相位点时间序列为空,初始化第一相位点索引的值为1,并根据所述第一相位点序列提取所述第一相位点序列的相位点数据项总数生成第一相位点总数;
步骤24,所述读卡器根据所述第一相位点序列,提取所述第一相位点序列的所述第一相位点索引数据项,生成第一相位点数据项;
步骤25,所述读卡器根据所述第一相位点数据项,提取所述第一相位点数据项的所述相位点时间信息,生成第一相位点时间信息;
步骤26,所述读卡器根据所述第一相位点时间信息,对所述临时相位点时间序列进行相位点时间数据项添加;
步骤27,所述读卡器将所述第一相位点索引的值加1;
步骤28,所述读卡器判断所述第一相位点索引的值是否大于所述第一相位点总数的值,如果所述第一相位点索引的值大于所述第一相位点总数的值则转至步骤29,如果所述第一相位点索引的值小于或等于所述第一相位点总数的值则转至步骤24;
步骤29,所述读卡器根据所述临时相位点时间序列,生成所述相位点时间序列。
进一步的,所述读卡器根据所述相位点时间序列,对所述相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,具体包括:
步骤31,所述读卡器初始化临时数据时间段序列为空,初始化第二相位点索引的值为1,根据所述相位点时间序列提取所述相位点时间序列的相位点时间数据项总数生成第二相位点总数;
步骤32,所述读卡器根据所述相位点时间序列,提取所述相位点时间序列的所述第二相位点索引数据项,生成第一相位点时间数据项;
步骤33,所述读卡器将所述第二相位点索引的值加1;
步骤34,所述读卡器根据所述相位点时间序列,提取所述相位点时间序列的所述第二相位点索引数据项,生成第二相位点时间数据项;
步骤35,所述读卡器根据所述第二相位点时间数据项减去所述第一相位点时间数据项的差,生成第一数据时间段数据项;
步骤36,所述读卡器根据所述第一数据时间段数据项,将所述第一数据时间段数据项向所述临时数据时间段序列进行数据时间段数据项添加;
步骤37,所述读卡器根据所述第二相位点时间数据项的值,对所述第一相位点时间数据项的值进行重置;
步骤38,所述读卡器将所述第二相位点索引的值加1;
步骤39,所述读卡器判断所述第二相位点索引的值是否大于所述第二相位点总数,如果所述第二相位点索引的值大于所述第二相位点总数则转至步骤40,如果所述第二相位点索引的值小于或等于所述第二相位点总数则转至步骤34;
步骤40,所述读卡器根据所述临时数据时间段序列,生成所述数据时间段序列。
进一步的,所述读卡器根据所述数据时间段序列,对所述数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间,具体包括:
所述读卡器根据所述数据时间段序列,将所述数据时间段序列的所有数据时间段数据项的值进行总和计算,生成第一数据时间段总和;
所述读卡器根据所述数据时间段序列,提取所述数据时间段序列的数据时间段数据项总数,生成第一数据时间段总数;
所述读卡器根据所述第一数据时间段总和除以所述第一数据时间段总数的商,生成所述判定门限时间。
进一步的,所述读卡器根据所述数据时间段序列、判定门限时间,对所述数据时间段序列进行比特时间解码,生成第一解码数据序列,具体包括:
步骤51,所述读卡器初始化临时解码数据序列为空,初始化解码比特的值为0;
步骤52,所述读卡器初始化第一数据时间段索引的值为1,提取所述数据时间段序列的数据时间段数据项总数生成第一数据时间段总数;
步骤53,所述读卡器根据所述数据时间段序列,提取所述数据时间段序列的所述第一数据时间段索引数据项,生成第一数据时间段数据项;
步骤54,所述读卡器判断所述第一数据时间段数据项的值是否大于所述判定门限时间的值,如果所述第一数据时间段数据项的值大于所述判定门限时间的值则转至步骤55,如果所述第一数据时间段数据项的值小于或等于所述判定门限时间的值则转至步骤56;
步骤55,所述读卡器将所述解码比特的值为0,转至步骤57;
步骤56,所述读卡器将所述解码比特的值为1;
步骤57,所述读卡器根据所述解码比特,将所述解码比特对所述临时解码数据序列进行比特添加;
步骤58,所述读卡器判断所述第一数据时间段索引的值是否大于所述第一数据时间段总数,如果所述第一数据时间段索引的值大于所述第一数据时间段总数则转至步骤59,如果所述第一数据时间段索引的值小于或等于所述第一数据时间段总数则转至步骤53;
步骤59,所述读卡器根据所述临时解码数据序列,生成所述第一解码数据序列。
进一步的,所述读卡器根据所述数据时间段序列、第一解码数据序列,对所述第一解码数据序列进行比特修正解码,生成第二解码数据序列,具体包括:
步骤61,所述读卡器提取所述第一解码数据序列所有数据生成临时修正解码数据序列,其中所述临时修正解码数据序列包括多个临时修正解码比特;
步骤62,所述读卡器提取所述临时修正解码数据序列的临时修正解码比特总数生成临时修正解码数据序列长度;
步骤63,所述读卡器对所述临时修正解码数据序列,从第一个临时修正解码比特开始进行比特串提取操作生成第一比特串,其中所述第一比特串包括奇数个临时修正解码比特,所述第一比特串包括的所有临时修正解码比特的值均为1;
步骤64,所述读卡器判断所述第一比特串是否为空,如果所述第一比特串为空则转至步骤69,如果所述第一比特串不为空则转至步骤65;
步骤65,所述读卡器获取所述第一比特串在所述临时修正解码数据序列中的起始临时修正解码比特位置生成第一比特串起始比特位置,获取所述第一比特串在所述临时修正解码数据序列中的结束临时修正解码比特位置生成第一比特串结束比特位置;
步骤66,在当所述第一比特串起始比特位置的值为1时,所述读卡器根据所述临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,在所述第一比特修正解码结束之后转至步骤63;
步骤67,在当所述第一比特串起始比特位置的值不为1且所述第一比特串结束比特位置与所述临时修正解码数据序列长度不相等时,所述读卡器根据所述数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,在所述第二比特修正解码结束之后转至步骤63;
步骤68,在当所述第一比特串起始比特位置的值不为1且所述第一比特串结束比特位置与所述临时修正解码数据序列长度相等时,所述读卡器根据所述临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,在所述第三比特修正解码结束之后转至步骤63;
步骤69,所述读卡器对所述临时修正解码数据序列进行第四比特修正解码;
步骤70,所述读卡器根据所述临时修正解码数据序列,生成所述第二解码数据序列。
优选的,所述读卡器根据所述临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,具体包括:
所述读卡器将所述临时修正解码数据序列中在所述第一比特串结束比特位置的下一个临时修正解码比特的值置为1。
优选的,所述读卡器根据所述数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,具体包括:
所述读卡器根据所述第一比特串起始比特位置的值生成第一数据时间段索引,根据所述第一比特串结束比特位置的值生成第二数据时间段索引;
所述读卡器根据所述数据时间段序列,提取所述第一数据时间段索引数据项的值生成第一临时数据时间段,提取所述第二数据时间段索引数据项的值生成第二临时数据时间段;
在当所述第一临时数据时间段的值小于所述第二临时数据时间段的值时,所述读卡器将所述临时修正解码数据序列中在所述第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
在当所述第一临时数据时间段的值大于所述第二临时数据时间段的值时,所述读卡器将所述临时修正解码数据序列中在所述第一比特串结束比特位置的下一个临时修正解码比特的值置为1。
优选的,所述读卡器根据所述临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,具体包括:
所述读卡器将所述临时修正解码数据序列中在所述第一比特串起始比特位置的上一个临时修正解码比特的值置为1。
优选的,所述读卡器对所述临时修正解码数据序列进行第四比特修正解码,具体包括:
步骤101,所述读卡器初始化第一索引的值为1,初始化临时比特序列为空;
步骤102,所述读卡器获取所述临时修正解码数据序列的临时修正解码比特总数生成第一总数;
步骤103,所述读卡器根据所述临时修正解码数据序列,提取所述第一索引临时修正解码比特的值,生成第一比特码值;
步骤104,所述读卡器将所述第一比特码值向所述临时比特序列进行比特添加;
步骤105,所述读卡器判断所述第一比特码值的值是否为1,如果所述第一比特码值的值为1则转至步骤106,如果所述第一比特码值的值不为1则转至步骤107;
步骤106,所述读卡器将所述第一索引的值加1;
步骤107,所述读卡器将所述第一索引的值加1;
步骤108,所述读卡器判断所述第一索引的值是否大于所述第一总数的值,如果所述第一索引的值大于所述第一总数的值则转至步骤109,如果所述第一索引的值小于或等于所述第一总数的值则转至步骤103;
步骤109,所述读卡器将所述临时修正解码数据序列置为空,再提取所述临时比特序列的所有数据,对所述临时修正解码数据序列进行重置。
本发明提供一种磁条卡解码的方法,首先对接收的数据信号进行全数据时间解析生成数据时间段序列,然后对数据时间段序列进行统计生成判定门限时间,接着使用判定门限时间对数据时间段序列进行比特时间解码生成第一解码数据,最后根据磁条卡编码格式F2F编码规则对第一解码数据进行比特修正解码生成第二解码数据,也即最终解码数据。
附图说明
图1A为本发明实施例提供的磁条卡编码格式F2F编码格式0比特序列电平信号示意图。
图1B为本发明实施例提供的磁条卡编码格式F2F编码格式1比特序列电平信号示意图。
图1C为本发明实施例提供的磁条卡编码格式F2F编码格式0/1比特混编序列电平信号示意图。
图2为本发明实施例提供的数据时间电平信号示意图。
图3为本发明实施例一提供的一种磁条卡解码的方法示意图。
图4为本发明实施例二提供的数据时间电平信号示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在通过实施例进行说明之前,结合图1A、1B、1C与图2,先对本发明方法进行简要描述。
首先,如图1A、1B、1C所示,先对F2F编码格式做如下简要介绍。
磁条卡编码格式F2F编码格式规定;1个数据周期内,磁通量不发生反转视为数据“0”;1个数据周期内,磁通量发生一次反转视为数据“1”。由磁通量变换转换为数字电平信号变换,即1个数据周期内,电平信号不发生反转视为数据“0”;1个数据周期内,电平信号发生一次反转视为数据“1”。
此处,所谓1个数据周期,因为磁条卡的数据最小单位为比特位,所以1个数据周期即一个比特时间。如图1A、1B所示。
进一步的,如图1C所示,对于“0”值比特,其电平信号持续时间T1即是一个比特时间;对于“1”值比特,其电平信号持续时间T2即是半个比特时间。再进一步的,也就是对于“0”值比特,在其持续的即一个比特时间内,电平信号的相位不会发生改变;对于“1”值比特,在其持续的即一个比特时间内,电平信号的相位会发生一次改变。
在日常环境之中,刷卡信号受环境影响,实际很难出现如图1A、1B、1C所示这种标准的电平信号序列,常见的是如图2为本发明实施例提供的数据时间电平信号示意图所示的信号序列。
本发明方法根据F2F编码规则,当面对如图2所示的信号序列时,首先确认相位改变的相位点,并根据相位点对应的时间值,生成相位点时间序列,相位点序列内包括多个数据元素,每个元素就是一个相位点对应的时间值。
此处,所谓相位改变,如果按照F2F原理,只对相位反转关系做判断,则容易导致漏码,因为实际应用中,环境干扰产生的影响通过能量叠加,是会破坏正负反转的绝对关系和反转相位的。为了更好的兼容性,本发明方法在选择相位点时,不采用电平相位全反转原则,而是以电平相位即图2中线段的斜率发生变化即做认可并进行相位点标注,并提取与之对应的时间参数作为相位点时间序列的元素值。
接着,本发明方法通过对相位点时间序列中的相邻相位点的时间差进行统计,生成了数据时间段序列,数据时间段序列中每个元素的值即为某两个相邻相位点之间的时间间隔。从上文可知,这每个时间段有两个可能,一种可能是一个“0”值比特时间过程,另一种可能是半个“1”值比特时间过程。
进行到这一步,如何甄别每个时间段具体代表一个“0”值比特时间过程还是半个“1”值比特时间过程,就是本发明方法的核心处理步骤了。
由前文可知T1大于T2,且从理论上而言,T1是T2的两倍关系。但图2所示,实际应用当中,很难可见绝对的T1与T2的两倍关系。本发明方法使用一种平均关系量定时间筛选参数:判定门限时间。对T1与T2按算式(T1+T2)/2做一次处理,生成中间时间T3,那么T1,T2,T3三者来说,必然是T1>T3>T2的。那么,本发明方法的时间判定参数就是由此而来的。本发明方法将数据时间段序列中的所有数据时间段在求和以后取平均数,生成判定门限时间。
本发明方法使用判定门限时间,对数据时间段序列各个数据时间段进行判定,当数据时间段数据小于或等于判定门限时间时,该数据时间段为半个“1”值比特时间过程;当数据时间段数据大于判定门限时间时,该数据时间段为一个“0”值比特时间过程。此处,以1表示半个“1”值比特时间过程,以0表示一个“0”值比特时间过程,本发明方法生成第一解码数据序列。第一解码数据序列的每个数据元素的值标示了数据时间段序列中对应的数据元素与判定门限时间的比较结果,如果数据时间段序列中的数据元素大于判定门限时间则第一解码数据序列中对应的数据元素的值为0;如果数据时间段序列中的数据元素小于或等于判定门限时间则第一解码数据序列中对应的数据元素的值为1。
在获得第一解码数据序列之后,为进一步保证解码的正确率,本发明方法引用F2F的编码规则进行比特修正解码,比特修正解码是一种二次校准手段。该校准方法引用的规则是,半个“1”值比特时间过程必然是成对出现的。因为一个完整的“1”值比特时间过程由两个连续的半“1”值比特时间过程组成。落实到第一解码数据序列的数据元素值上,值为1的数据元素的总数必然是偶数个数,且值为1的数据元素都是成对相邻出现。本发明方法根据这个原则,对第一解码数据序列顺次进行比特修正解码,当发现第一解码数据序列中某个值为1的数据元素的下一个相邻元素的值不为1,那么就判定此码为误码,将其值从1重置为0。最终,由经过修正后的第一解码数据序列生成第二解码数据序列。
这里,第二解码数据序列还不是最终的解码数据序列,因为解码序列中一个1表示的是半个“1”值比特时间过程,所以对第二解码数据序列还要再做一次解码合并操作,就是将第二解码数据序列中的出现连续两个1的地方合并为一个1即可。合并完成之后的解码数据序列才是最终解码数据序列。
对本发明方法进行简要描述之后,下文将通过两个发明实施例对本发明方法做进一步阐述。
本发明实施例一,如图3为本发明实施例一提供的一种磁条卡解码的方法示意图所示,方法包括以下步骤:
步骤1,读卡器通过磁头与磁条的相对运动,获取磁条数据的数据时间电平信号。
步骤2,读卡器根据数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,其中相位点时间序列包括多个相位点时间数据项,
具体包括:步骤21,读卡器初始化第一相位点序列为空;
步骤22,读卡器根据数据时间电平信号,在从数据时间电平信号的起始时间至数据时间电平信号的结束时间的时间区间里,按时间顺序依次提取电平信号发生相位变化的相位点,并提取与相位点对应的相位点电平信息与相位点时间信息对第一相位点序列进行相位点数据项添加,其中第一相位点序列包括多个相位点数据项,相位点数据项包括相位点电平信息与相位点时间信息;
步骤23,读卡器初始化临时相位点时间序列为空,初始化第一相位点索引的值为1,并根据第一相位点序列提取第一相位点序列的相位点数据项总数生成第一相位点总数;
步骤24,读卡器根据第一相位点序列,提取第一相位点序列的第一相位点索引数据项,生成第一相位点数据项;
步骤25,读卡器根据第一相位点数据项,提取第一相位点数据项的相位点时间信息,生成第一相位点时间信息;
步骤26,读卡器根据第一相位点时间信息,对临时相位点时间序列进行相位点时间数据项添加;
步骤27,读卡器将第一相位点索引的值加1;
步骤28,读卡器判断第一相位点索引的值是否大于第一相位点总数的值,如果第一相位点索引的值大于第一相位点总数的值则转至步骤29,如果第一相位点索引的值小于或等于第一相位点总数的值则转至步骤24;
步骤29,读卡器根据临时相位点时间序列,生成相位点时间序列。
步骤3,读卡器根据相位点时间序列,对相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,其中数据时间段序列包括多个数据时间段数据项,
具体包括:步骤31,读卡器初始化临时数据时间段序列为空,初始化第二相位点索引的值为1,根据相位点时间序列提取相位点时间序列的相位点时间数据项总数生成第二相位点总数;
步骤32,读卡器根据相位点时间序列,提取相位点时间序列的第二相位点索引数据项,生成第一相位点时间数据项;
步骤33,读卡器将第二相位点索引的值加1;
步骤34,读卡器根据相位点时间序列,提取相位点时间序列的第二相位点索引数据项,生成第二相位点时间数据项;
步骤35,读卡器根据第二相位点时间数据项减去第一相位点时间数据项的差,生成第一数据时间段数据项;
步骤36,读卡器根据第一数据时间段数据项,将第一数据时间段数据项向临时数据时间段序列进行数据时间段数据项添加;
步骤37,读卡器根据第二相位点时间数据项的值,对第一相位点时间数据项的值进行重置;
步骤38,读卡器将第二相位点索引的值加1;
步骤39,读卡器判断第二相位点索引的值是否大于第二相位点总数,如果第二相位点索引的值大于第二相位点总数则转至步骤40,如果第二相位点索引的值小于或等于第二相位点总数则转至步骤34;
步骤40,读卡器根据临时数据时间段序列,生成数据时间段序列。
步骤4,读卡器根据数据时间段序列,对数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间,
具体包括:步骤41,读卡器根据数据时间段序列,将数据时间段序列的所有数据时间段数据项的值进行总和计算,生成第一数据时间段总和;
步骤42,读卡器根据数据时间段序列,提取数据时间段序列的数据时间段数据项总数,生成第一数据时间段总数;
步骤43,读卡器根据第一数据时间段总和除以第一数据时间段总数的商,生成判定门限时间。
步骤5,读卡器根据数据时间段序列、判定门限时间,对数据时间段序列进行比特时间解码,生成第一解码数据序列,其中第一解码数据序列包括多个第一解码比特,
具体包括:步骤51,读卡器初始化临时解码数据序列为空,初始化解码比特的值为0;
步骤52,读卡器初始化第一数据时间段索引的值为1,提取数据时间段序列的数据时间段数据项总数生成第一数据时间段总数;
步骤53,读卡器根据数据时间段序列,提取数据时间段序列的第一数据时间段索引数据项,生成第一数据时间段数据项;
步骤54,读卡器判断第一数据时间段数据项的值是否大于判定门限时间的值,如果第一数据时间段数据项的值大于判定门限时间的值则转至步骤55,如果第一数据时间段数据项的值小于或等于判定门限时间的值则转至步骤56;
步骤55,读卡器将解码比特的值为0,转至步骤57;
步骤56,读卡器将解码比特的值为1;
步骤57,读卡器根据解码比特,将解码比特对临时解码数据序列进行比特添加;
步骤58,读卡器判断第一数据时间段索引的值是否大于第一数据时间段总数,如果第一数据时间段索引的值大于第一数据时间段总数则转至步骤59,如果第一数据时间段索引的值小于或等于第一数据时间段总数则转至步骤53;
步骤59,读卡器根据临时解码数据序列,生成第一解码数据序列。
步骤6,读卡器根据数据时间段序列、第一解码数据序列,对第一解码数据序列进行比特修正解码,生成第二解码数据序列,其中第二解码数据序列包括多个第二解码比特,
具体包括:步骤61,读卡器根据第一解码数据序列生成临时修正解码数据序列,其中临时修正解码数据序列包括多个临时修正解码比特;
步骤62,读卡器提取临时修正解码数据序列的临时修正解码比特总数生成临时修正解码数据序列长度;
步骤63,读卡器对临时修正解码数据序列,从第一个临时修正解码比特开始进行比特串提取操作生成第一比特串,其中第一比特串包括奇数个临时修正解码比特,第一比特串包括的所有临时修正解码比特的值均为1;
步骤64,读卡器判断第一比特串是否为空,如果第一比特串为空则转至步骤69,如果第一比特串不为空则转至步骤65;
步骤65,读卡器获取第一比特串在临时修正解码数据序列中的起始临时修正解码比特位置生成第一比特串起始比特位置,获取第一比特串在临时修正解码数据序列中的结束临时修正解码比特位置生成第一比特串结束比特位置;
步骤66,在当第一比特串起始比特位置的值为1时,读卡器根据临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,在第一比特修正解码结束之后转至步骤63,
具体包括:步骤661,读卡器将临时修正解码数据序列中在第一比特串结束比特位置的下一个临时修正解码比特的值置为1;
步骤662,读卡器转至步骤63继续执行比特串提取操作;
步骤67,在当第一比特串起始比特位置的值不为1且第一比特串结束比特位置与临时修正解码数据序列长度不相等时,读卡器根据数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,在第二比特修正解码结束之后转至步骤63,
具体包括:步骤671,读卡器根据第一比特串起始比特位置的值生成第一数据时间段索引,根据第一比特串结束比特位置的值生成第二数据时间段索引;
步骤672,读卡器根据数据时间段序列,提取第一数据时间段索引数据项的值生成第一临时数据时间段,提取第二数据时间段索引数据项的值生成第二临时数据时间段;
步骤673,在当第一临时数据时间段的值小于第二临时数据时间段的值时,读卡器将临时修正解码数据序列中在第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
步骤674,在当第一临时数据时间段的值大于第二临时数据时间段的值时,读卡器将临时修正解码数据序列中在第一比特串结束比特位置的下一个临时修正解码比特的值置为1;
步骤675,读卡器转至步骤63继续执行比特串提取操作;
步骤68,在当第一比特串起始比特位置的值不为1且第一比特串结束比特位置与临时修正解码数据序列长度相等时,读卡器根据临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,在第三比特修正解码结束之后转至步骤63,
具体包括:步骤681,读卡器将临时修正解码数据序列中在第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
步骤682,读卡器转至步骤63继续执行比特串提取操作;
步骤69,读卡器对临时修正解码数据序列进行第四比特修正解码,
具体包括:步骤691,读卡器初始化第一索引的值为1,初始化临时比特序列为空;
步骤692,读卡器获取临时修正解码数据序列的临时修正解码比特总数生成第一总数;
步骤693,读卡器根据临时修正解码数据序列,提取第一索引临时修正解码比特的值,生成第一比特码值;
步骤694,读卡器将第一比特码值向临时比特序列进行比特添加;
步骤695,读卡器判断第一比特码值的值是否为1,如果第一比特码值的值为1则转至步骤696,如果第一比特码值的值不为1则转至步骤697;
步骤696,读卡器将第一索引的值加1;
步骤697,读卡器将第一索引的值加1;
步骤698,读卡器判断第一索引的值是否大于第一总数的值,如果第一索引的值大于第一总数的值则转至步骤699,如果第一索引的值小于或等于第一总数的值则转至步骤693;
步骤699,读卡器将临时修正解码数据序列置为空,再根据临时比特序列,对临时修正解码数据序列进行重置。
步骤700,读卡器根据临时修正解码数据序列,生成第二解码数据序列。
步骤7,读卡器将第二解码数据序列作为最后解码数据向上位机发送。
本发明实施例二,当读卡器获取的数据时间电平信号如图4为本发明实施例二提供的数据时间电平信号示意图所示时,本发明方法在具体实施时包括以下步骤:
步骤21,读卡器通过磁头与磁条的相对运动,获取磁条数据的数据时间电平信号,如图4所示。
步骤22,读卡器根据数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,其中相位点时间序列包括多个相位点时间数据项,
此处,如图4所示,相位点时间序列具体为(相位点A,相位点B,相位点C,相位点D,相位点E,相位点F,相位点G,相位点H,相位点I,相位点J,相位点K,相位点L,相位点M,相位点N)。其中各个相位点数据项包括相位点电平信息与相位点时间信息,例如相位点A具体为(相位点A电平信息UA,相位点A时间信息TA)。
步骤23,读卡器根据相位点时间序列,对相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,其中数据时间段序列包括多个数据时间段数据项。
此处,已知各个相位点的时间段信息是:TB–TA=265,TC-TB=94,TD-TC=185,TE-TD=252,TF-TE=121,TG-TF=93,TH-TG=249,TI-TH=259,TJ-TI=164,TK-TJ=91,TL-TK=126,TM-TL=129,TN-TM=224,所以数据时间段序列具体为(265,94,185,252,121,93,249,259,164,91,126,129,224)。
步骤24,读卡器根据数据时间段序列,对数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间,
具体包括:步骤241,读卡器根据数据时间段序列,将数据时间段序列的所有数据时间段数据项的值进行总和计算,生成第一数据时间段总和;
此处,就是将数据时间段序列所有数据进行总和计算,即第一数据时间段总和的值具体为:
265+94+185+252+121+93+249+259+164+91+126+129+224=2252;
步骤242,读卡器根据数据时间段序列,提取数据时间段序列的数据时间段数据项总数,生成第一数据时间段总数;
此处,第一数据时间段总数具体为数据时间段序列的数据项总数,即为13;
步骤243,读卡器根据第一数据时间段总和除以第一数据时间段总数的商,生成判定门限时间。
此处,判定门限时间=2252÷13=≈173。
步骤25,读卡器根据数据时间段序列、判定门限时间,对数据时间段序列进行比特时间解码,生成第一解码数据序列,其中第一解码数据序列包括多个第一解码比特。
此处,根据判定门限时间,对数据时间段序列(265,94,185,252,121,93,249,259,164,91,126,129,224)的各个数据项依次进行判断,大于判定门限时间的被判定为比特0,小于判定门限时间的被判定为比特1。则生成的第一解码数据序列具体为(0,1,0,0,1,1,0,0,1,1,1,1,0)。
步骤26,读卡器根据数据时间段序列、第一解码数据序列,对第一解码数据序列进行比特修正解码,生成第二解码数据序列,其中第二解码数据序列包括多个第二解码比特,
具体包括:步骤261,读卡器根据第一解码数据序列生成临时修正解码数据序列,其中临时修正解码数据序列包括多个临时修正解码比特;
此处,第一解码数据序列具体为(0,1,0,0,1,1,0,0,1,1,1,1,0),临时修正解码数据序列也就为(0,1,0,0,1,1,0,0,1,1,1,1,0)。
步骤262,读卡器提取临时修正解码数据序列的临时修正解码比特总数生成临时修正解码数据序列长度;
此处,临时修正解码数据序列长度具体为13;
步骤263,读卡器对临时修正解码数据序列,从第一个临时修正解码比特开始进行比特串提取操作生成第一比特串,其中第一比特串包括奇数个临时修正解码比特,第一比特串包括的所有临时修正解码比特的值均为1;
步骤264,读卡器判断第一比特串是否为空,如果第一比特串为空则转至步骤269,如果第一比特串不为空则转至步骤265;
步骤265,读卡器获取第一比特串在临时修正解码数据序列中的起始临时修正解码比特位置生成第一比特串起始比特位置,获取第一比特串在临时修正解码数据序列中的结束临时修正解码比特位置生成第一比特串结束比特位置;
步骤266,在当第一比特串起始比特位置的值为1时,读卡器根据临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,在第一比特修正解码结束之后转至步骤263,
具体包括:步骤2661,读卡器将临时修正解码数据序列中在第一比特串结束比特位置的下一个临时修正解码比特的值置为1;
步骤2662,读卡器转至步骤63继续执行比特串提取操作;
步骤267,在当第一比特串起始比特位置的值不为1且第一比特串结束比特位置与临时修正解码数据序列长度不相等时,读卡器根据数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,在第二比特修正解码结束之后转至步骤263,
具体包括:步骤2671,读卡器根据第一比特串起始比特位置的值生成第一数据时间段索引,根据第一比特串结束比特位置的值生成第二数据时间段索引;
步骤2672,读卡器根据数据时间段序列,提取第一数据时间段索引数据项的值生成第一临时数据时间段,提取第二数据时间段索引数据项的值生成第二临时数据时间段;
步骤2673,在当第一临时数据时间段的值小于第二临时数据时间段的值时,读卡器将临时修正解码数据序列中在第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
步骤2674,在当第一临时数据时间段的值大于第二临时数据时间段的值时,读卡器将临时修正解码数据序列中在第一比特串结束比特位置的下一个临时修正解码比特的值置为1;
步骤2675,读卡器转至步骤63继续执行比特串提取操作;
步骤268,在当第一比特串起始比特位置的值不为1且第一比特串结束比特位置与临时修正解码数据序列长度相等时,读卡器根据临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,在第三比特修正解码结束之后转至步骤263,
具体包括:步骤2681,读卡器将临时修正解码数据序列中在第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
步骤2682,读卡器转至步骤263继续执行比特串提取操作;
此处,第一比特串就是指第一个含有奇数个1个连续比特串。
在第一次提取的时候,第一比特串具体为(1),第一比特串起始比特位置具体为2,第一比特串结束比特位置具体为2。因为第一比特串不为空,且第一比特串起始比特位置不为1,第一比特串结束比特位置也不为13,所以对临时修正解码数据序列(0,1,0,0,1,1,0,0,1,1,1,1,0)进行第二比特修正解码,生成的修正后的临时修正解码数据序列为(0,1,1,0,1,1,0,0,1,1,1,1,0);
然后,重新对临时修正解码数据序列(0,1,1,0,1,1,0,0,1,1,1,1,0)进行再一次的第一比特串的提取,发现含有奇数个1个的连续比特串没有了,即第一比特串为空,则跳出循环提取。
此时的修正解码数据序列具体为(0,1,1,0,1,1,0,0,1,1,1,1,0)。
步骤269,读卡器对临时修正解码数据序列进行第四比特修正解码,
具体包括:步骤2691,读卡器初始化第一索引的值为1,初始化临时比特序列为空;
步骤2692,读卡器获取临时修正解码数据序列的临时修正解码比特总数生成第一总数;
步骤2693,读卡器根据临时修正解码数据序列,提取第一索引临时修正解码比特的值,生成第一比特码值;
步骤2694,读卡器将第一比特码值向临时比特序列进行比特添加;
步骤2695,读卡器判断第一比特码值的值是否为1,如果第一比特码值的值为1则转至步骤2696,如果第一比特码值的值不为1则转至步骤2697;
步骤2696,读卡器将第一索引的值加1;
步骤2697,读卡器将第一索引的值加1;
步骤2698,读卡器判断第一索引的值是否大于第一总数的值,如果第一索引的值大于第一总数的值则转至步骤2699,如果第一索引的值小于或等于第一总数的值则转至步骤2693;
步骤2699,读卡器将临时修正解码数据序列置为空,再根据临时比特序列,对临时修正解码数据序列进行重置。
此处,修正解码数据序列(0,1,1,0,1,1,0,0,1,1,1,1,0)经过对双“1”的合并之后,变更为(0,1,0,1,0,0,1,1,0)。
步骤2700,读卡器根据临时修正解码数据序列,生成第二解码数据序列。
此处,最终经过修正的解码数据序列,即第二解码数据序列具体为(0,1,0,1,0,0,1,1,0)。
步骤27,读卡器将第二解码数据序列作为最后解码数据向上位机发送。
本发明提供一种磁条卡解码的方法,首先对接收的数据信号进行全数据时间解析生成数据时间段序列,然后对数据时间段序列进行统计生成判定门限时间,接着使用判定门限时间对数据时间段序列进行比特时间解码生成第一解码数据,最后根据磁条卡编码格式F2F编码规则对第一解码数据进行比特修正解码生成第二解码数据,也即最终解码数据。本发明方法首先是通过对全数据时间序列进行统计而不是现有的边接收边解方式生成的时间解码关键参数-判定门限时间,提高了判定参数的精度,降低了解码误判率;其次,本发明方法在依靠判定门限时间完成解码之后,使用编码规则对解码后数据进行二次校准,再次提高了解码正确率。使用本发明方法,在恶劣的磁条卡使用环境恶中,也能保证读卡器进行有效解码,不但提高了磁条卡的使用寿命,也降低了读卡器的维护成本。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种磁条卡解码的方法,其特征在于,所述方法包括:
读卡器通过磁头与磁条的相对运动,获取磁条数据的数据时间电平信号;
所述读卡器根据所述数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,其中所述相位点时间序列包括多个相位点时间数据项;
所述读卡器根据所述相位点时间序列,对所述相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,其中所述数据时间段序列包括多个数据时间段数据项;
所述读卡器根据所述数据时间段序列,对所述数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间;
所述读卡器根据所述数据时间段序列、判定门限时间,对所述数据时间段序列进行比特时间解码,生成第一解码数据序列,其中所述第一解码数据序列包括多个第一解码比特;
所述读卡器根据所述数据时间段序列、第一解码数据序列,对所述第一解码数据序列进行比特修正解码,生成第二解码数据序列,其中所述第二解码数据序列包括多个第二解码比特;
所述读卡器将所述第二解码数据序列作为最后解码数据向上位机发送;
所述读卡器根据所述数据时间段序列、第一解码数据序列,对所述第一解码数据序列进行比特修正解码,生成第二解码数据序列,具体包括:
步骤61,所述读卡器提取所述第一解码数据序列所有数据生成临时修正解码数据序列,其中所述临时修正解码数据序列包括多个临时修正解码比特;
步骤62,所述读卡器提取所述临时修正解码数据序列的临时修正解码比特总数生成临时修正解码数据序列长度;
步骤63,所述读卡器对所述临时修正解码数据序列,从第一个临时修正解码比特开始进行比特串提取操作生成第一比特串,其中所述第一比特串包括奇数个临时修正解码比特,所述第一比特串包括的所有临时修正解码比特的值均为1;
步骤64,所述读卡器判断所述第一比特串是否为空,如果所述第一比特串为空则转至步骤69,如果所述第一比特串不为空则转至步骤65;
步骤65,所述读卡器获取所述第一比特串在所述临时修正解码数据序列中的起始临时修正解码比特位置生成第一比特串起始比特位置,获取所述第一比特串在所述临时修正解码数据序列中的结束临时修正解码比特位置生成第一比特串结束比特位置;
步骤66,在当所述第一比特串起始比特位置的值为1时,所述读卡器根据所述临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,在所述第一比特修正解码结束之后转至步骤63;
步骤67,在当所述第一比特串起始比特位置的值不为1且所述第一比特串结束比特位置与所述临时修正解码数据序列长度不相等时,所述读卡器根据所述数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,在所述第二比特修正解码结束之后转至步骤63;
步骤68,在当所述第一比特串起始比特位置的值不为1且所述第一比特串结束比特位置与所述临时修正解码数据序列长度相等时,所述读卡器根据所述临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,在所述第三比特修正解码结束之后转至步骤63;
步骤69,所述读卡器对所述临时修正解码数据序列进行第四比特修正解码;
步骤70,所述读卡器根据所述临时修正解码数据序列,生成所述第二解码数据序列。
2.根据权利要求1所述方法,其特征在于,所述读卡器根据所述数据时间电平信号,按电平相位变化进行相位变化点提取生成相位点时间序列,具体包括:
步骤21,所述读卡器初始化第一相位点序列为空;
步骤22,所述读卡器根据所述数据时间电平信号,在从所述数据时间电平信号的起始时间至所述数据时间电平信号的结束时间的时间区间里,按时间顺序依次提取电平信号发生相位变化的相位点,并提取与所述相位点对应的相位点电平信息与相位点时间信息对所述第一相位点序列进行相位点数据项添加,其中所述第一相位点序列包括多个相位点数据项,所述相位点数据项包括所述相位点电平信息与所述相位点时间信息;
步骤23,所述读卡器初始化临时相位点时间序列为空,初始化第一相位点索引的值为1,并根据所述第一相位点序列提取所述第一相位点序列的相位点数据项总数生成第一相位点总数;
步骤24,所述读卡器根据所述第一相位点序列,提取所述第一相位点序列的第一相位点索引数据项,生成第一相位点数据项;
步骤25,所述读卡器根据所述第一相位点数据项,提取所述第一相位点数据项的所述相位点时间信息,生成第一相位点时间信息;
步骤26,所述读卡器根据所述第一相位点时间信息,对所述临时相位点时间序列进行相位点时间数据项添加;
步骤27,所述读卡器将所述第一相位点索引的值加1;
步骤28,所述读卡器判断所述第一相位点索引的值是否大于所述第一相位点总数的值,如果所述第一相位点索引的值大于所述第一相位点总数的值则转至步骤29,如果所述第一相位点索引的值小于或等于所述第一相位点总数的值则转至步骤24;
步骤29,所述读卡器根据所述临时相位点时间序列,生成所述相位点时间序列。
3.根据权利要求1所述方法,其特征在于,所述读卡器根据所述相位点时间序列,对所述相位点时间序列中相邻相位点时间进行时间间距计算生成数据时间段序列,具体包括:
步骤31,所述读卡器初始化临时数据时间段序列为空,初始化第二相位点索引的值为1,根据所述相位点时间序列提取所述相位点时间序列的相位点时间数据项总数生成第二相位点总数;
步骤32,所述读卡器根据所述相位点时间序列,提取所述相位点时间序列的第二相位点索引数据项,生成第一相位点时间数据项;
步骤33,所述读卡器将所述第二相位点索引的值加1;
步骤34,所述读卡器根据所述相位点时间序列,提取所述相位点时间序列的所述第二相位点索引数据项,生成第二相位点时间数据项;
步骤35,所述读卡器根据所述第二相位点时间数据项减去所述第一相位点时间数据项的差,生成第一数据时间段数据项;
步骤36,所述读卡器根据所述第一数据时间段数据项,将所述第一数据时间段数据项向所述临时数据时间段序列进行数据时间段数据项添加;
步骤37,所述读卡器根据所述第二相位点时间数据项的值,对所述第一相位点时间数据项的值进行重置;
步骤38,所述读卡器将所述第二相位点索引的值加1;
步骤39,所述读卡器判断所述第二相位点索引的值是否大于所述第二相位点总数,如果所述第二相位点索引的值大于所述第二相位点总数则转至步骤40,如果所述第二相位点索引的值小于或等于所述第二相位点总数则转至步骤34;
步骤40,所述读卡器根据所述临时数据时间段序列,生成所述数据时间段序列。
4.根据权利要求1所述方法,其特征在于,所述读卡器根据所述数据时间段序列,对所述数据时间段序列的全部数据时间段做平均计算处理,生成判定门限时间,具体包括:
所述读卡器根据所述数据时间段序列,将所述数据时间段序列的所有数据时间段数据项的值进行总和计算,生成第一数据时间段总和;
所述读卡器根据所述数据时间段序列,提取所述数据时间段序列的数据时间段数据项总数,生成第一数据时间段总数;
所述读卡器根据所述第一数据时间段总和除以所述第一数据时间段总数的商,生成所述判定门限时间。
5.根据权利要求1所述方法,其特征在于,所述读卡器根据所述数据时间段序列、判定门限时间,对所述数据时间段序列进行比特时间解码,生成第一解码数据序列,具体包括:
步骤51,所述读卡器初始化临时解码数据序列为空,初始化解码比特的值为0;
步骤52,所述读卡器初始化第一数据时间段索引的值为1,提取所述数据时间段序列的数据时间段数据项总数生成第一数据时间段总数;
步骤53,所述读卡器根据所述数据时间段序列,提取所述数据时间段序列的第一数据时间段索引数据项,生成第一数据时间段数据项;
步骤54,所述读卡器判断所述第一数据时间段数据项的值是否大于所述判定门限时间的值,如果所述第一数据时间段数据项的值大于所述判定门限时间的值则转至步骤55,如果所述第一数据时间段数据项的值小于或等于所述判定门限时间的值则转至步骤56;
步骤55,所述读卡器将所述解码比特的值为0,转至步骤57;
步骤56,所述读卡器将所述解码比特的值为1;
步骤57,所述读卡器根据所述解码比特,将所述解码比特对所述临时解码数据序列进行比特添加;
步骤58,所述读卡器判断所述第一数据时间段索引的值是否大于所述第一数据时间段总数,如果所述第一数据时间段索引的值大于所述第一数据时间段总数则转至步骤59,如果所述第一数据时间段索引的值小于或等于所述第一数据时间段总数则转至步骤53;
步骤59,所述读卡器根据所述临时解码数据序列,生成所述第一解码数据序列。
6.根据权利要求1所述方法,其特征在于,所述读卡器根据所述临时修正解码数据序列、第一比特串结束比特位置,进行第一比特修正解码,具体包括:
所述读卡器将所述临时修正解码数据序列中在所述第一比特串结束比特位置的下一个临时修正解码比特的值置为1。
7.根据权利要求1所述方法,其特征在于,所述读卡器根据所述数据时间段序列、临时修正解码数据序列、第一比特串起始比特位置、第一比特串结束比特位置,进行第二比特修正解码,具体包括:
所述读卡器根据所述第一比特串起始比特位置的值生成第一数据时间段索引,根据所述第一比特串结束比特位置的值生成第二数据时间段索引;
所述读卡器根据所述数据时间段序列,提取第一数据时间段索引数据项的值生成第一临时数据时间段,提取第二数据时间段索引数据项的值生成第二临时数据时间段;
在当所述第一临时数据时间段的值小于所述第二临时数据时间段的值时,所述读卡器将所述临时修正解码数据序列中在所述第一比特串起始比特位置的上一个临时修正解码比特的值置为1;
在当所述第一临时数据时间段的值大于所述第二临时数据时间段的值时,所述读卡器将所述临时修正解码数据序列中在所述第一比特串结束比特位置的下一个临时修正解码比特的值置为1。
8.根据权利要求1所述方法,其特征在于,所述读卡器根据所述临时修正解码数据序列、第一比特串起始比特位置,进行第三比特修正解码,具体包括:
所述读卡器将所述临时修正解码数据序列中在所述第一比特串起始比特位置的上一个临时修正解码比特的值置为1。
9.根据权利要求1所述方法,其特征在于,所述读卡器对所述临时修正解码数据序列进行第四比特修正解码,具体包括:
步骤101,所述读卡器初始化第一索引的值为1,初始化临时比特序列为空;
步骤102,所述读卡器获取所述临时修正解码数据序列的临时修正解码比特总数生成第一总数;
步骤103,所述读卡器根据所述临时修正解码数据序列,提取第一索引临时修正解码比特的值,生成第一比特码值;
步骤104,所述读卡器将所述第一比特码值向所述临时比特序列进行比特添加;
步骤105,所述读卡器判断所述第一比特码值的值是否为1,如果所述第一比特码值的值为1则转至步骤106,如果所述第一比特码值的值不为1则转至步骤107;
步骤106,所述读卡器将所述第一索引的值加1;
步骤107,所述读卡器将所述第一索引的值加1;
步骤108,所述读卡器判断所述第一索引的值是否大于所述第一总数的值,如果所述第一索引的值大于所述第一总数的值则转至步骤109,如果所述第一索引的值小于或等于所述第一总数的值则转至步骤103;
步骤109,所述读卡器将所述临时修正解码数据序列置为空,再提取所述临时比特序列的所有数据,对所述临时修正解码数据序列进行重置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870231.0A CN110647776B (zh) | 2019-09-12 | 2019-09-12 | 一种磁条卡解码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870231.0A CN110647776B (zh) | 2019-09-12 | 2019-09-12 | 一种磁条卡解码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647776A CN110647776A (zh) | 2020-01-03 |
CN110647776B true CN110647776B (zh) | 2023-03-14 |
Family
ID=69010522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910870231.0A Active CN110647776B (zh) | 2019-09-12 | 2019-09-12 | 一种磁条卡解码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647776B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349632B (zh) * | 2023-12-05 | 2024-03-26 | 北京紫光青藤微系统有限公司 | 用于磁条卡时间序列的分析方法及装置、刷卡机 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG42858A1 (en) * | 1992-04-15 | 1997-10-17 | Ibm | Method and arrangement for decoding F2F signals read from a magnetic disk carrier |
CN102722690B (zh) * | 2012-05-25 | 2014-10-29 | 福建联迪商用设备有限公司 | 磁卡解码方法 |
CN107066906B (zh) * | 2017-01-09 | 2020-01-10 | 北京信息职业技术学院 | 磁条卡解码方法及装置 |
CN108734036B (zh) * | 2018-05-18 | 2021-05-11 | 深圳昂瑞微电子技术有限公司 | 一种磁条卡的解码方法和装置 |
-
2019
- 2019-09-12 CN CN201910870231.0A patent/CN110647776B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110647776A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1033936C (zh) | 对从磁数据载体读出的双频信号进行译码的方法和装置 | |
CN107959549B (zh) | 一种标签信号解码方法、标签解码装置及标签阅读器 | |
CN110647776B (zh) | 一种磁条卡解码的方法 | |
KR960002148B1 (ko) | 마그네트기록카드의 이진정보 해독방법 | |
CN106682553A (zh) | 一种磁条卡软件解码方法 | |
CN112395895B (zh) | 磁条软件解码方法、装置及计算机可读存储介质 | |
CN104969294A (zh) | 具有刷卡信息反馈的磁条读取器 | |
CN110688864B (zh) | 一种磁条卡读卡器差分解码方法 | |
CN102930238A (zh) | 一种用于磁卡的解码和纠错方法 | |
CN102932105B (zh) | 基于维特比算法的fm0编码的解码方法 | |
CN110633588B (zh) | 一种磁条卡读卡器的噪声识别方法 | |
JP2001135034A (ja) | データの復調方法およびデータの復調装置 | |
CN110138501B (zh) | 一种fm0编码的解码方法和装置 | |
CN102568608A (zh) | 一种增强qr码纠错能力的改进方法 | |
CN109902519B (zh) | 一种磁条解码方法、系统及相关装置 | |
CN107818279B (zh) | 一种用于rfid读写器的解码方法及装置 | |
CN113438052A (zh) | 信号解码方法、装置、电子设备以及存储介质 | |
CN114299676B (zh) | 一种提高pos终端磁卡正确识别刷卡的方法 | |
CN117349632B (zh) | 用于磁条卡时间序列的分析方法及装置、刷卡机 | |
CN113438050B (zh) | 一种编码方法、解码方法、编码装置和解码装置 | |
CN117725938A (zh) | 用于磁条卡的解码方法及装置、读卡器 | |
JP2000293943A (ja) | 遷移タイプ判定システム | |
CN110619247B (zh) | 一种提高磁条卡读卡器解码兼容性的方法 | |
Liwicki et al. | Embedding Meta-Information in Handwriting--Reed-Solomon for Reliable Error Correction | |
CN107705340A (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 | ||
CB02 | Change of applicant information |
Address after: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Applicant after: Zhaoxun Hengda Technology Co.,Ltd. Address before: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Applicant before: MEGAHUNT MICROELECTRONIC TECH. (BEIJING) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |