CN112395895B - 磁条软件解码方法、装置及计算机可读存储介质 - Google Patents

磁条软件解码方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN112395895B
CN112395895B CN201910758856.8A CN201910758856A CN112395895B CN 112395895 B CN112395895 B CN 112395895B CN 201910758856 A CN201910758856 A CN 201910758856A CN 112395895 B CN112395895 B CN 112395895B
Authority
CN
China
Prior art keywords
pulse width
magnetic stripe
value
decoding
software
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
Application number
CN201910758856.8A
Other languages
English (en)
Other versions
CN112395895A (zh
Inventor
陈荣
张镇
祝飞戟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fuheng Auto Control Technology Co ltd
Original Assignee
Shenzhen Fuheng Auto Control Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Fuheng Auto Control Technology Co ltd filed Critical Shenzhen Fuheng Auto Control Technology Co ltd
Priority to CN201910758856.8A priority Critical patent/CN112395895B/zh
Publication of CN112395895A publication Critical patent/CN112395895A/zh
Application granted granted Critical
Publication of CN112395895B publication Critical patent/CN112395895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods 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

Abstract

本发明涉及磁条识别技术领域,尤其涉及一种磁条软件解码方法、装置及计算机可读存储介质,通过从采集到的磁条信号中获取脉宽值并获取基准脉宽值,利用基准脉宽值划分周期区间并同时更新周期区间的基准脉宽值,并通过判定参数组合中的判定参数对周期区间进行解码、校验,若校验成功,解码结束;若失败则更换判定参数解码、校验,直至判定参数用完,解码结束。本发明采用多个判定参数进行多次解码,提高了磁条软件解码的成功率,双重校验能够提高磁条软件解码的准确性。

Description

磁条软件解码方法、装置及计算机可读存储介质
技术领域
本发明涉及磁条识别技术领域,尤其涉及一种磁条软件解码方法、装置及计算机可读存储介质。
背景技术
随着金融、证券、商业等领域的快速发展,磁卡作为身份的认证和识别工具而得到了广泛的应用。目前,市场上的磁卡由塑料卡片及表面贴附的磁条制作而成,磁条是由一些微小的铁磁材料附着于类似塑料胶带上形成的,铁磁材料是一种在外部磁场移走以后仍然可以保留磁性的物质。利用磁粒附着技术,通过以不同的频率改变磁条上附着的磁粒的极性,实现了逻辑数据“0”和“1”的记录,再通过对二进制数据编码就可以在磁条上记录各种信息了。
磁卡的磁条上所记录的是一系列二进制代码,这些二进制代码通过F2F编码方式编码而成。按照IS07811的标准规定,磁卡有三个磁道。其中:磁道一的记录密度为210bpi,并且包含79个7位的二进制码(6位ALPHA编码+1位奇校验位),其译码方式是6位数据位加上0x20转换成ASCII编码;磁道二的记录密度为75bpi,并且包含40个5位的二进制码即4位B⑶编码+1位奇校验位,其译码方式是4位数据位加上0x30转换成ASCII编码;磁道三的记录密度为210bpi,并且包含107个5位二进制码即4位B⑶编码+1位奇校验位,其译码方式4位数据位加上0x30转换成ASCII编码。
这种解码方式中,刷卡时的每一个信号跳变均被记录下来,但是由于磁条在重复使用过程中磁性会不断地消弱,加上刷卡过程中的受静电、外部磁场的干扰、刷卡的速度等因素,会造成磁卡阅读头将磁卡上的磁记录信息转换成TTL电平脉冲的时候存在很多的干扰信号,影响软件的译码过程,降低了磁卡读取的成功率。因此,现有的磁卡阅读器对于老旧磁卡、老旧存折识别成功率较低。
发明内容
本发明提供一种磁条软件解码方法、装置及计算机可读存储介质,旨在解决现有技术中由于干扰信号影响软件的译码过程磁卡读取的成功率降低和磁卡的读取准确性较低的技术问题。
为实现上述目的,本发明提供一种磁条软件解码方法包括下述步骤:
步骤S1:从磁头采集磁条信号,并保存所述磁条信号对应的脉宽值;
步骤S2:从所述脉宽值获取基准脉宽值;
步骤S3:以所述基准脉宽值所在位置为起点,利用脉宽划分规则将所述脉宽值划分成多个周期区间,同步更新所述周期区间的基准脉宽值;
步骤S4:利用预设的判定参数组合中的一个判定参数X对所述周期区间进行二进制解码以获得解码数据;
步骤S5:判别所述解码数据是否符合磁道数据的编码规则;
若所述解码数据不符合磁道数据的编码规则,则执行步骤S6;若所述解码数据符合磁道数据的编码规则,则磁条信号解码结束;
步骤S6:检查预设的判定参数组合中的判定参数是否已全部用完;
若判定参数组合中的判定参数X还未用完,则重新执行步骤S4~6;若判定参数组合中的判定参数X已全部用完,则磁条信号解码结束。
进一步地,该方法还包括步骤:预先设置一组判定参数组合,所述判定参数组合中的判定参数X的取值范围为60%~100%。
进一步地,所述步骤S3包括如下步骤:从所述磁条信号的波形中获取N个相邻且脉宽值相差小于20%的波形,并将第首个波形的脉宽值作为基准脉宽值。
进一步地,从所述磁条信号的波形中获取5个相邻且脉宽值相差小于20%的波形,并将第首个波形的脉宽值作为基准脉宽值。
进一步地,所述脉宽划分规则包括如下步骤:
将基准脉宽值定义为L,划分区间时,从起始脉宽值开始顺序编号a1,a2,a3,…,an;当a1>1.3L,舍弃a1~an的脉宽;否则获取三个脉宽组合的值:
第一脉宽组合的值Xn-1=a1+a2+a3+…+an-1
第二脉宽组合的值Xn=a1+a2+a3+…+an-1+an
第三脉宽组合的值Xn+1=a1+a2+a3+…+an-1+an+an+1,Xn+1>1.3L;
当Xn<0.7L,舍弃a1~an的脉宽;
当Xn-1<0.7L,且0.7L≤Xn≤1.3L,将第二脉宽组合作为一个区间;
当Xn-1<0.7L,且Xn>1.3L,舍弃a1~an-1的脉宽;
当0.7L≤Xn-1≤1.3L,且Xn>1.3L,将第一脉宽组合作为一个区间;
当0.7L≤Xn-1≤1.3L,且0.7L≤Xn≤1.3L,将Xn-1、Xn和脉宽基准值L进行对比,将更接近脉宽基准值L的脉宽组合作为一个区间。
进一步地,所述同步更新周期区间的基准脉宽值的步骤包括:将周期区间的脉宽值和基准脉宽值的平均值更新为所述周期区间的基准脉宽值。
进一步地,选取判定参数组合中判定参数X;逐一获取所述周期区间的脉宽总值A和所述周期区间内同电平脉宽值总和较大的脉宽值B;脉宽值B在所述周期区间的占比,P=B/A;通过判别P≥X是否成立将周期区间解码为对应的1或0,保存对应的区间码生成解码数据。
进一步地,从解码数据中获取起始符和结束符;将起始符和结束符之间每5个比特进行奇偶校验;奇偶检验成功,则将起始符和结束符之间每5个比特进行LRC校验,以获得校验结果。
另一方面,本发明还提供一种磁条软件解码装置,一种磁条软件解码装置,包括适于实现各种计算机程序指令的处理器以及适于存储多条计算机程序指令的存储器,其特征在于,所述计算机程序指令由处理器加载并执行如权利要求1至8任一项所述磁条软件解码方法的各项方法步骤。
再一方面,本发明还提供一种计算机可读存储介质,该计算机可读存储介质存储多条计算机程序指令,所述计算机程序指令由计算机装置的处理器加载并执行所述磁条软件解码方法的各项方法步骤。
相较于现有技术,本发明所述磁条软件解码方法、装置及计算机存储介质,通过从采集到的磁条信号中获取脉宽值并获取基准脉宽值,利用基准脉宽值划分周期区间并同时更新周期区间的基准脉宽值,并通过判定参数组合中的判定参数对周期区间进行解码、校验,若校验成功,解码结束;若失败则更换判定参数进行判断解码、校验,直至判定参数用完,解码结束;本发明采用上述技术方案,取得提高了磁条软件解码的成功率,同时提高磁条软件解码的准确性的技术效果。
附图说明
图1是本发明磁条软件解码方法优选实施例的方法流程图;
图2为图1中步骤S4的细化子流程图;
图3是本发明磁条软件解码方法的具体实施例的流程图;
图4为图1中步骤S5的细化子流程图;
图5是本发明磁条软件解码方法中的解码数据校验的具体实施例的方法流程图;
图6是基准脉宽值选取的举例波形图;
图7是周期区间划分的举例波形图;
图8是周期区间解码的例子1波形图;
图9是周期区间解码的例子2波形图;
图10是周期区间解码的例子3波形图;
图11是周期区间解码的例子4波形图;
图12是周期区间解码的例子5波形图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明的具体实施方式、结构、特征及其功效,详细说明如下。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1所示,是本发明磁条软件解码方法优选实施例的流程图。在本实施例中,所述磁条软件解码方法的各种方法步骤通过计算机软件程序来实现,该计算机软件程序以计算机程序指令的形式存储于计算机可读存储介质中,计算机可读存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等,所述计算机程序指令能够被处理器加载并执行如下步骤S1至步骤S6。
步骤S1:从磁头采集磁条信号,并保存采集到的磁条信号对应的脉宽值;在本实施例中,磁头是磁场感应器件,当磁头表面存在变化的磁场时,磁头会产生电;磁条是用磁性材料印制在卡片或者存折表面的成条形的涂层;磁条信号是磁条上的磁性材料被有规则的磁化,当磁条划过磁头就会产生电,其中电信号就是磁条信号;磁条信号是一组波形,这波形经过硬件放大整形后被单片机采集,采集到的每个波形的宽度值称为脉宽值,如图6所示。在实际词条信号采集过程中,是通过将带有磁条的卡或者存执等载体在带有磁头的设备上进行滑动。
步骤S2:在磁条信号的脉宽值中查找脉宽基准值;在本实施例中,所述查找脉宽基准值的方法步骤包括:从采集到的磁条信号的波形中查找N个相邻且脉宽值相差小于20%的波形,并将第首个波形的脉宽值作为基准脉宽值。其中N∈{3,4,5,6,7,8,9,10},N的取值范围是由于在绝对匀速的刷卡条件下,前导零的脉宽值是相同的,但现实刷卡中速度是变化的,导致所获取的电信号的脉宽值有差异,因此需要通过N个相邻且脉宽值相差小于20%的波形来获取基准脉宽值。N的取值越小越容易获得所述标准脉宽值,但是由于磁条可能受损或者受到信号干扰,基准脉宽值不准确;N的取值越大获取可以减少干扰,获取到较准确标准脉宽值,但也越不容易找到,不能兼容各种刷卡速度。以第二磁道为例,一般第二磁道的前导零有24个,原则上N的取值可以为1~24个,但经多组测试发现,N取值在3~10个的区间里面,比较容易获取到较为准确的基准脉宽值,尤其当N取5的时候,既能够减少磁条损害或者信号干扰产生的值对基准脉宽值选取的干扰,也可以兼容不同的刷卡速度。结合图6所示,步骤S3包括如下过程:在步骤S1捕获的波形中寻找5个相邻直接脉宽相差不到20%波形,如波形6-10就符合了要求,取图6中波形6的脉宽值作为基准脉宽值。选取相差不到20%的波形是由于,相差越大,所选取的基准脉宽值越偏离实际,造成脉宽值的选取不准确。
步骤S3:从查找到的基准脉宽值的位置开始,利用脉宽划分规则将磁条信号对应的脉宽值划分成多个周期区间,并同步更新基准脉宽值;在本实施例中,如图6所示,在步骤S4中将波形6的脉宽值作为了基准脉宽值,因此从波形6开始划分周期区间。所述脉宽划分规则的定义算法包括步骤:划分区间时,从起始脉宽值开始顺序编号a1,a2,a3,…,an
当a1>1.3L,舍弃a1~an的脉宽;否则获取三个脉宽组合的值:
第一脉宽组合的值Xn-1=a1+a2+a3+…+an-1
第二脉宽组合的值Xn=a1+a2+a3+…+an-1+an
第三脉宽组合的值Xn+1=a1+a2+a3+…+an-1+an+an+1,Xn+1>1.3L;
情形一、当Xn<0.7L,舍弃a1~an的脉宽;
情形二、当Xn-1<0.7L,且0.7L≤Xn≤1.3L,将第二脉宽组合作为一个区间;
情形三、当Xn-1<0.7L,且Xn>1.3L,舍弃a1~an-1的脉宽;
情形四、当0.7L≤Xn-1≤1.3L,且Xn>1.3L,将第一脉宽组合作为一个区间;
情形五、0.7L≤Xn-1≤1.3L,且0.7L≤Xn≤1.3L,将Xn-1、Xn和脉宽基准值L进行对比,将更接近脉宽基准值L的脉宽组合作为一个区间。
结合图7解释上述过程,从图中可以看出,L1~L8几个波形的脉宽值相差都小于20%,因此选取L1作为基准脉宽值L,从L1开始划分周期区间,并逐一编号为a1,a2,a3,…,an;因为X1=a1=L1=L,X2=a1+a2=L1+L2≈2L,其中,属于情形四,因此将L1作为一个周期区间;L2~L8与L1同理,分别作为一个周期区间,同时更新周期区间的基准脉宽值为(基准脉宽值+划分的周期区间脉宽值)/2,例如以L2为一个周期区间的,更新周期区间的基准脉宽值为(L+L2)/2。
从L9开始划分区间,从L9逐一编号为a1,a2,a3,…,an;X1=a1=L9<L,X2=a1+a2=L9+L10<L,X3=a1+a2+a3=L9+L10+L11>L,属于第五种情况,将X2和X3和脉宽基准值L进行对比,将更接近脉宽基准值L的X2作为一个区间,此时该周期区间的基准脉宽值更新为(L+L9+L10)/2。以此类推,L12+L13作为一个周期区间,L14+L15作为一个周期区间。
从L16开始划分区间,属于情形一,舍弃L16后继续后面周期区间的划分。总的来说,当首个脉宽值大于1.3,则舍弃当前区间,否则通过累加寻找最接近基准脉宽值的部分作为一个周期区间,中间的干扰值进行舍弃。采用该方式进行周期区间的划分,能够提高基准脉宽值的准确率。
步骤S4:从预设的判定参数组合中选择一个判定参数X,并利用判定参数X对每个周期区间进行二进制解码;在本实施例中,预先设置一组判定参数组合;在本实施例中,所述判定参数组合中的判定参数X的取值为60%~100%。
其中图2是图1的步骤S4的细化流程图。所述利用判定参数X对每个周期区间进行二进制解码的步骤包括:
步骤S41:选取判定参数组合中判定参数X;
步骤S42:逐一获取所述周期区间的脉宽总值A和所述周期区间内同电平脉宽值总和较大的脉宽值B,即同一周期区间内高电平脉宽总和与低电平脉宽总和中较大的那个值。
步骤S43:脉宽值B在所述周期区间的占比,P=B/A;
步骤S44:通过判别P≥X是否成立将周期区间解码为对应的1和0,保存对应的区间码生成解码数据。
由判断方法可以看出,P的值只能在范围60%-100%之间,而P值在50%-60%的时候,很明显是解码值是1;所以X取值60%-100%,根据以上判别标准,P的值小于X,所以解码值为1。可根据需要进行判定参数组合进行划分,例如{100%,90%,80%,70%,60%},且根据需要进行预判参数差值的调节。
进一步的,结合图3做一个具体实例的说明。
步骤S01:定义周期区间个数初始值为0,判定参数初始值为100%;
步骤S02:获取第i个周期区间;
步骤S03:获取所述周期区间的脉宽总值A和所述周期区间内同电平脉宽总和较大的脉宽值B;
步骤S04:计算脉宽值B在所述第一周期区间的占比,P=B/A;
步骤S05:选取判定参数组合中判定参数X,判别P≥X是否成立:成立,区间码为0;不成立,区间码为1;
步骤S06:保存区间码;
步骤S07:判别是否为最后一个区间:
是,执行步骤S09;
否,执行步骤S08;
步骤S08:获取下一个周期区间并执行S02~S07;
步骤S09:判断所述解码数据是否符合磁道数据的编码规则:
符合,解码成功;
不符合,执行步骤S10;
步骤S10:判定参数X是否等于60%:
否,执行S11;
是:解码失败。
步骤S11:替换判断参数,将周期区间个数重置为零,重新执行S02~S07
选取判断参数组合为{100%,90%,80%,70%,60%},解码的过程中通过选取一个判定参数X,图3的实施例中X初始值为100%;对所有周期区间逐一进行解码,并将解码出来的每一周期区间的区间码逐一保存,直到对之前划分出来的所有周期区间完成解码,获得解码数据。
步骤S5:检查解码出来的二进制数据是否符合磁道数据的编码规则;
若二进制数据不符合磁道数据的编码规则,则执行步骤S6;若二进制数据符合磁道数据的编码规则,则磁条信号解码结束。
图4是图1的步骤S5的细化流程图,具体包括
步骤S51从解码数据中获取起始符和结束符;
步骤S52将起始符和结束符之间每5个比特进行奇偶校验;
步骤S53奇偶检验成功,则将起始符和结束符之间每5个比特进行LRC校验,以获得校验结果。
进一步的,结合图5做一个具体实例的说明。
步骤S501:从解码数据中顺序获取起始符;
步骤S502:判别是否能从解码数据中获取起始符:
是,执行步骤S503;
否,解码失败;
步骤S503:从起始符每5bit获取结束符;
步骤S504:判别是否能从解码数据中获取结束符:
是,执行步骤S505;
否,解码失败;
步骤S505:将起始符和结束符之间每5个比特进行奇偶校验;
步骤S506:判断是否为奇校验:
是,执行步骤S507;
否,解码失败;
步骤S507:将起始符和结束符之间每5个比特进行LRC校验;
步骤S508:判断是否成功:
是,解码成功;
否,解码失败。
以磁道的第二个磁道为例,磁道标准有多种,但是每个标准的第二磁道的起始符和结束符的值是固定的,因此依据此来进行校验,以判断当前解码数据是否符合磁道数据的编码规则。采用的标准为ISO7811,起始符为11010,结束符为11111。在校验过程中,先依次寻找解码出来的加密数据是否有11010和11111,只要其中一个没找到均为解码失败;从找到的11010开始将每5bit的数据作为一组,直至11111,先进行奇偶校验,校验通过后进一步进行异或校验,否则解码失败,当且仅当通过了两种校验方式才能表示解码成功,保证了解码数据的准确性。
步骤S6:检查预设的判定参数组合中的判定参数是否已全部用完;
若判定参数组合中的判定参数X还未用完,则重新执行步骤S4;若判定参数组合中的判定参数X已全部用完,则磁条信号解码结束。
进一步地,结合图3进行实施例的说明。获得解码数据后,判断获得的解码数据是否符合磁道数据的编码规则,符合则解码成功;不符合通过则更换判定参数X,将X的初始值100%减去10%,同时从划分出来的第一个周期区间开始解码,更换判定参数进行解码,由此对校验失败的周期区间更换判定参数循环解码,大大提高解码的成功率;在解码判别后要么解码成功,要么继续更换判定参数,直到判定参数的值等于60%,所设置的参数用完解码失败,完成磁条信号的解码。
进一步地,结合图8~12对解码过程通过5个例子进行说明,同时验证一下所提出的方法的正确性。
例子1:如图8,这是一个0码的标准波形,B1=100
按上述方法:A=100,B=100,P=B/A=100%,此时无论X取{100%,90%,80%,70%,60%}中的任意值,都满足P>=X,所以此区间解码值为0;正解。
例子2:如图9,这是一个1码的标准波形,B2=50,B3=50,按上述方法:A=100,B=50,P=B/A=50%,此时无论X取{100%,90%,80%,70%,60%}中的任意值,都满足P<X,所以此区间解码值为1;正解。
例子3:如图10,这是一个1码的畸变波形B4=35,B5=65,按上述方法:A=100,B=65,P=B/A=65%,此时X取{60%},满足P>=X,区间解码值为0;误解。此时X取{100%,90%,80%,70%},满足P<X,区间解码值为1;正解。
例子4:如图11,这是一个0码的典型干扰波形B7=40,B8=10,B9=50,按上述方法:A=100,B=B7+B9=90,P=B/A=90%,此时X取{90%,80%,70%,60%},满足P>=X,区间解码值为0;正解。此时X取{100%},满足P<X,区间解码值为1;误解。
例子5:如图12,这是一个1码的典型干扰波形B10=15,B12=10,B13=25,B14=50,按上述方法:A=100,B=L2+L4=60,P=B/A=60%,此时X取{60%},满足P>=X,区间解码值为0;误解。此时X取{100%,90%,80%,70%,},满足P<X,区间解码值为1;正解。
另一方面,本发明还提供一种磁条软件解码装置,该磁条软件解码装置安装有磁条软件解码系统,该磁条软件解码系统是由一系列计算机程序指令段组成的磁条软件解码程序。在本实施例中,所述磁条软件解码装置包括,但不仅限于,磁条软件解码系统、适于存储多条计算机程序指令的存储器以及执行各种计算机程序指令的处理器。所述存储器通过数据总线与处理器进行数据传输连接,并存储有所述磁条软件解码程序。在其它实施例中,所述磁条软件解码装置是一种安装有磁条软件解码系统的个人计算机、工作站计算机等具有数据处理功的计算机装置。所述处理器能够调用存储在所述存储器中的磁条软件解码程序,并执行该磁条软件解码程序完成本发明所述磁条软件解码方法的各项方法步骤。所述存储器可以为一种只读存储器ROM、随机存储器RAM、电可擦写存储器EEPROM、快闪存储器FLASH、磁盘或光盘等计算机可读存储介质。所述处理器为一种中央处理器(CPU)、微控制器(MCU)、数据处理芯片、或者具有数据处理功能的信息处理单元。
另一方面,本发明还一种计算机可读存储介质,该计算机可读存储介质存储多条计算机程序指令,所述计算机程序指令由计算机装置的处理器加载并执行本发明所述磁条软件解码方法的各个步骤。本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过相关程序指令完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
本发明所述磁条软件解码方法、装置及计算机可读存储介质,本发明公开的用于磁卡的解码中,使用一个可变参数直接去判断每个区间的0/1值,省去了逐个波形脉宽去繁琐分辨的步骤;同时,相较于现有的磁条识别软解码方案,本发明有更大的兼容性。当使用一个参数解码失败时,本发明还可以使用更多的参数进行解码,不同于现有的解码方法只能一次辨别,提高了磁卡解码的成功率,双重校验保证解码数据符合磁道编码规则,提高解码成功率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种磁条软件解码方法,其特征在于,所述方法包括:
步骤S1:从磁头采集磁条信号,并保存所述磁条信号对应的脉宽值;
步骤S2:从所述脉宽值获取基准脉宽值;
步骤S3:以所述基准脉宽值所在位置为起点,利用脉宽划分规则将所述脉宽值划分成多个周期区间,同步更新所述周期区间的基准脉宽值;
步骤S4:利用预设的判定参数组合中的一个判定参数X对所述周期区间进行二进制解码以获得解码数据;
步骤S5:判别所述解码数据是否符合磁道数据的编码规则;
若所述解码数据不符合磁道数据的编码规则,则执行步骤S6;若所述解码数据符合磁道数据的编码规则,则磁条信号解码结束;
步骤S6:检查预设的判定参数组合中的判定参数X是否已全部用完;
若判定参数组合中的判定参数X还未用完,则重新执行步骤S4~6;若判定参数组合中的判定参数X已全部用完,则磁条信号解码结束;
其中,该方法还包括步骤:预先设置一组判定参数组合,所述判定参数组合中的判定参数X的取值范围为60%~100%。
2.如权利要求1所述的磁条软件解码方法,其特征在于,所述步骤S3包括如下步骤:
从所述磁条信号的波形中获取N个相邻且脉宽值相差小于20%的波形,并将首个波形的脉宽值作为基准脉宽值。
3.如权利要求2所述的磁条软件解码方法,其特征在于,
从所述磁条信号的波形中获取5个相邻且脉宽值相差小于20%的波形,并将首个波形的脉宽值作为基准脉宽值。
4.如权利要求1所述的磁条软件解码方法,其特征在于,所述脉宽划分规则包括如下步骤:
将基准脉宽值定义为L,划分区间时,从起始脉宽值开始顺序编号a1,a2,a3,…,an
当a1>1.3L,舍弃a1~an的脉宽;否则获取三个脉宽组合的值:
第一脉宽组合的值Xn-1=a1+a2+a3+…+an-1
第二脉宽组合的值Xn=a1+a2+a3+…+an-1+an
第三脉宽组合的值Xn+1=a1+a2+a3+…+an-1+an+an+1,Xn+1>1.3L;
当Xn<0.7L,舍弃a1~an的脉宽;
当Xn-1<0.7L,且0.7L≤Xn≤1.3L,将第二脉宽组合作为一个区间;
当Xn-1<0.7L,且Xn>1.3L,舍弃a1~an-1的脉宽;
当0.7L≤Xn-1≤1.3L,且Xn>1.3L,将第一脉宽组合作为一个区间;
当0.7L≤Xn-1≤1.3L,且0.7L≤Xn≤1.3L,将Xn-1、Xn和脉宽基准值L进行对比,将更接近脉宽基准值L的脉宽组合作为一个区间。
5.如权利要求1所述的磁条软件解码方法,其特征在于,所述同步更新周期区间的基准脉宽值的步骤包括:将周期区间的脉宽值和基准脉宽值的平均值更新为所述周期区间的基准脉宽值。
6.如权利要求1所述的磁条软件解码方法,其特征在于,所述步骤S4包括如下步骤:
选取判定参数组合中的判定参数X;
逐一获取所述周期区间的脉宽总值A和所述周期区间内同电平脉宽值总和较大的脉宽值B;
计算脉宽值B在所述周期区间的占比,P=B/A;
通过判别P≥X是否成立将周期区间解码为对应的二进制值1或0,保存对应的区间码生成解码数据。
7.如权利要求1所述的磁条软件解码方法,其特征在于,所述步骤S5包括如下步骤:
从解码数据中获取起始符和结束符;
将起始符和结束符之间每5个比特进行奇偶校验;
若奇偶检验成功,则将起始符和结束符之间每5个比特进行LRC校验,以获得校验结果。
8.一种磁条软件解码装置,包括适于实现各种计算机程序指令的处理器以及适于存储多条计算机程序指令的存储器,其特征在于,所述计算机程序指令由处理器加载并执行如权利要求1至7任一项所述磁条软件解码方法的各项方法步骤。
9.一种计算机可读存储介质,该计算机可读存储介质存储多条计算机程序指令,其特征在于,所述计算机程序指令由计算机装置的处理器加载并执行如权利要求1至7任一项所述磁条软件解码方法的各项方法步骤。
CN201910758856.8A 2019-08-16 2019-08-16 磁条软件解码方法、装置及计算机可读存储介质 Active CN112395895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910758856.8A CN112395895B (zh) 2019-08-16 2019-08-16 磁条软件解码方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910758856.8A CN112395895B (zh) 2019-08-16 2019-08-16 磁条软件解码方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112395895A CN112395895A (zh) 2021-02-23
CN112395895B true CN112395895B (zh) 2023-08-25

Family

ID=74602064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910758856.8A Active CN112395895B (zh) 2019-08-16 2019-08-16 磁条软件解码方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112395895B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240060A (zh) * 2021-04-28 2021-08-10 浙江公羽电器有限公司 基于磁力信号的磁通信接收系统和方法
CN116192998B (zh) * 2023-02-24 2023-10-31 广芯微电子(广州)股份有限公司 一种解码功率传输协议信息包的方法、装置及设备
CN117349632B (zh) * 2023-12-05 2024-03-26 北京紫光青藤微系统有限公司 用于磁条卡时间序列的分析方法及装置、刷卡机

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03283059A (ja) * 1990-03-29 1991-12-13 Omron Corp 磁気データ読取装置
JP2001135034A (ja) * 1999-11-02 2001-05-18 Sankyo Seiki Mfg Co Ltd データの復調方法およびデータの復調装置
US6757342B1 (en) * 1999-03-30 2004-06-29 Sankyo Seiki Mfg. Co., Ltd. Data demodulation
CN102222211A (zh) * 2011-07-06 2011-10-19 深圳市铭特科技有限公司 一种磁卡解码方法及磁卡读取装置
CN102722686A (zh) * 2012-05-25 2012-10-10 福建联迪商用设备有限公司 磁卡解码方法
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
CN104463057A (zh) * 2014-12-30 2015-03-25 福建联迪商用设备有限公司 一种磁卡解码方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4153833B2 (ja) * 2003-06-03 2008-09-24 日本電産サンキョー株式会社 カードリーダのデータ読取方法およびこれを利用するカードリーダ

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03283059A (ja) * 1990-03-29 1991-12-13 Omron Corp 磁気データ読取装置
US6757342B1 (en) * 1999-03-30 2004-06-29 Sankyo Seiki Mfg. Co., Ltd. Data demodulation
JP2001135034A (ja) * 1999-11-02 2001-05-18 Sankyo Seiki Mfg Co Ltd データの復調方法およびデータの復調装置
CN102222211A (zh) * 2011-07-06 2011-10-19 深圳市铭特科技有限公司 一种磁卡解码方法及磁卡读取装置
CN102722686A (zh) * 2012-05-25 2012-10-10 福建联迪商用设备有限公司 磁卡解码方法
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
CN104463057A (zh) * 2014-12-30 2015-03-25 福建联迪商用设备有限公司 一种磁卡解码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xiulong Wu et al..The Design of High Performance, Low Power Triple-Track Magnetic Sensor Chip.《sensors》.2013,(第13期),第8771-8785页. *

Also Published As

Publication number Publication date
CN112395895A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN112395895B (zh) 磁条软件解码方法、装置及计算机可读存储介质
US6674786B1 (en) Data demodulation
JP2584132B2 (ja) 2周波データ信号のデコード方法及び装置
EP0565759B1 (en) Method and device for decoding F2F signals read from a magnetic data carrier
EP0754327B1 (en) Method and apparatus for decoding bar code images using multi-order feature vectors
US7448547B2 (en) Decoding with memory in RFID system
CN110033014A (zh) 异常数据的检测方法及其系统
US6757342B1 (en) Data demodulation
JP4887516B2 (ja) 磁気インク文字認識方法及び磁気文字認識装置
US20140217174A1 (en) Magnetic stripe reader with card swipe information feedback
US9858293B2 (en) Image processing apparatus and image processing method
CN104969294B (zh) 具有刷卡信息反馈的磁条读取器
CN102930238B (zh) 一种用于磁卡的解码和纠错方法
JP3778742B2 (ja) データの復調方法およびデータの復調装置
US20150085591A1 (en) Estimation of level-thresholds for memory cells
JP5752508B2 (ja) 磁気データの復調方法および磁気データの復調装置
CN109922017B (zh) 一种fm0编码数据的解码方法、装置及读写器
CN110647776B (zh) 一种磁条卡解码的方法
CN106997443A (zh) 磁条卡解码方法及装置
US20210357363A1 (en) File comparison method
US9218846B2 (en) Demodulation method of magnetic data and demodulation device of magnetic data
CN114299676B (zh) 一种提高pos终端磁卡正确识别刷卡的方法
US20190303628A1 (en) Demodulation method and demodulation device for magnetic data
US20060262964A1 (en) Method and device for verifying the identity of an object
US7330601B2 (en) Method of describing pattern repetitiveness of image

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
GR01 Patent grant
GR01 Patent grant