首页 / 一种基于AMR传感器的磁卡特征点提取方法及存储介质

一种基于AMR传感器的磁卡特征点提取方法及存储介质有效专利 发明

技术领域

[0001] 本发明涉及磁卡解码领域,具体涉及一种基于AMR传感器的磁卡特征点提取方法及存储介质。

相关背景技术

[0002] 当前用于Pos机上银行卡磁条解码的方案可分为纯硬件解码方案和软硬件结合的解码方案。纯硬件方案即整个解码过程(包括磁条卡上的磁信息采集与解码)全部由硬件完成,软硬件结合的方案指通过磁电传感器将磁信息转换为软件可处理的电信号,再经过Pos机上的MCU用软件处理方法进行解码。纯硬件方案解码速度快,但成本较高,且不易修改。相较而言软硬件结合的方案成本更低、灵活性较大、易于移植和适配。
[0003] 目前各项异性磁阻元件(简称AMR)由于成本低廉、工艺相对简单等原因被广泛用作Pos机上的磁电传感元件。但AMR由于自身特性的原因,导致基于AMR传感器的Pos机在解析磁性较弱、磁信号被破坏等各种问题的银行卡信息上存在一定难度,对磁条卡的特征点进行提取时,有可能会因为磁卡具有磁信号较弱、磁卡周期不稳定、磁信号包含毛刺等原因,从而对解码产生影响。

具体实施方式

[0014] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015] 参照图1,本发明实施例提供了一种基于AMR传感器的磁卡特征点提取方法,包括以下步骤:S1:根据AMR传感器的历史数据,计算得到波峰阈值和波谷阈值。
[0016] 具体的,获取AMR传感器采集的第二预设数量的历史数据的均值作为常态值NorVal,波峰阈值Pv和波谷阈值Vv满足:Pv=NorVal+Thr,Vv=NorVal‑Thr,其中Thr为设定的参数阈值。
[0017] 本发明中,将第二预设数量优选为1000组。
[0018] 上述,Thr由本领域技术人员根据实际需求自行设置,当数值大于Pv或者小于Vv时,则可能出现了刷卡操作。
[0019] S2:实时检测数据点,并根据数据点、波峰阈值和波谷阈值判断当前是否存在刷卡操作,若检测到刷卡操作则初始化变量并进入特征点提取阶段,否则循环进行刷卡检测,具体的,根据数据点、波峰阈值和波谷阈值判断当前是否存在刷卡操作包括:依次循环检测传感器采集的每个数据,如果检测到连续的大于第三预设数量的数据点大于波峰阈值,或连续的大于第三预设数量的数据点小于波谷阈值,则从上述满足条件的连续的数据点中的第一个数据点开始标注下标;
从上述满足条件的数据点中获取极值点,若在第四预设数量内的数据点中交替检测到四个极大值点和极小值点,且四个极值点满足预设条件,则判定当前存在刷卡操作。
[0020] 上述,第三预设数量和第四预设数量的具体值由本领域技术人员自行设定,此处不再赘述。
[0021] 上述,如果连续存在大于第三预设数量的数据点大于波峰阈值或者小于波谷阈值,则表明此时出现了刷卡操作,此时对数据进行标注,便于后续处理。
[0022] 预设条件包括:设定四个极值点的下标分别为N1、N2、N3、N4,每相邻两个极值点的距离分别为P1、P2、P3,其中P1=N2‑N1,P2=N3‑N2,P3=N4‑N3;
如果P1>P2×1.5或者P1P3×1.5或者P2
[0023] 初始化变量包括:初始化比特位周期P,P=(P1+P2+P3)/3;
初始化根据比特位周期预测的下一极值点的出现区间[a,b]:预测区间范围从下标为a采样数据到下标为b的采样数据,其中a=N4+P–P/4,b=N4+P+P/4;
将连续在波峰阈值和波谷阈值之间的数据点的数量初始化为0。
[0024] S3:当检测到当前存在刷卡操作时,进入特征点提取阶段,持续检测数据点,根据数据点中的极大值和极小值得到比特位周期P,根据比特位周期预测下一极值点的出现区间,并在区间内对极值点进行检测,根据极值点对比特位周期P进行更新,循环执行该步,将特征提取阶段内所有检测到的数据点作为特征点;当检测到刷卡操作结束或特征点数量达到第一预设数量时,结束特征点提取,进行特征点解码操作。
[0025] 具体的,包括:S31:统计连续在波峰阈值和波谷阈值之间的数据点的数量,若数量大于第四预设数量,则判断刷卡操作结束;
S32:统计连续在波峰阈值和波谷阈值之间的数据点的数量,若数量小于第四预设数量,则判断波峰阈值和波谷阈值之间的数据点的数量是否大于当前比特位周期P的预设倍数;
若波峰阈值和波谷阈值之间的数据点的数量大于当前比特位周期P的预设倍数,则判定波形存在异常,此时若提取的特征点数小于第五预设数量,则重新执行S2步骤,若提取的特征点数大于第五预设数量,则结束特征点提取;
S33:若波峰阈值和波谷阈值之间的数据点的数量小于当前比特位周期P的预设倍数,则判断当前区间[a,b]内是否采集到了新的特征点;
若是,则判断新的特征点于上一个特征点的极性是否相同;
若不相同则保存新的特征点并重新执行S31;
若相同则不保存新的特征点并重新执行S31;
S33:若当前区间[a,b]内未采集到新的特征点,且新的特征点下标为b+1,则判断新的特征点于上一个特征点的极性是否相同;
若不相同则保存新的特征点;
若相同则不保存新的特征点并重新执行S31;
S34:若特征点数量达到第一预设数量则结束特征点提取进行解码处理;
若特征点数量未达到第一预设数量,则对周期P和区间[a,b]进行更新,并重新执行S31。
[0026] 上述,预设倍数优选为四倍,第五预设数量优选为30,第一预设数量由本领域技术人员自行设置。
[0027] 当波峰阈值和波谷阈值之间的数据点的数量大于当前比特位周期P的四倍时,则认为磁卡波形存在异常,此时若提取的特征点小于30,则判断此时采集的数据为前导数据,异常波形是前导的一部分,若如果此时提取的特征点数大于30个,则直接结束特征点提取。
[0028] 对周期P和区间[a,b]进行更新包括:获取S33中保存的新的特征点与前一特征点的周期Pn;
令将原P2赋值给P1,原P3赋值给P2,Pn赋值给P3;
P满足P=(P1+P2+P3)/3;
区间[a,b]满足:a=Na+P–P/4,b=Na+P+P/4,Na为S33中保存的新的特征点的下标。
[0029] 本实施例提供了一种基于AMR传感器的磁卡特征点提取方法,当需要对磁条卡进行解码时,首先需要进行特征点提取的操作,首先通过历史数据计算得到波峰阈值和波谷数据,根据波峰数据和波谷数据对刷卡与否进行检测,当检测到刷卡之后开始对特征点进行提取,并在提取过程中不断与比特位的周期进行实时更新,减少磁信号周期不稳定对特征点采集的影响,能够更加稳定地采集到特征点,并减少对干扰数据点的采集,有利于后续解码的精确性。
[0030] 本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述的方法。
[0031] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0032] 对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0033] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
[0034] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页 第1页 第2页 第3页