一种磁条卡的解码方法和装置与流程

文档序号:15799783发布日期:2018-11-02 21:21阅读:354来源:国知局
一种磁条卡的解码方法和装置与流程

本申请涉及解码技术领域,尤其涉及一种磁条卡的解码方法和装置。

背景技术

磁条卡是一种利用磁性载体来记录信息的记录介质,可以用来标识身份信息或者用于其他用途。磁条卡制造成本低廉,易于使用,也便于管理,具有一定的安全特性。磁条卡不仅普遍应用于金融系统中的银行卡中,而且价格低廉的磁条卡可以充当会员卡,门票卡,游戏卡等,在这些应用中,磁条卡存在着巨大的市场。

磁条卡将信息记录在磁介质中,通过磁头和磁条轨道的相对运动产生微弱电流,经过放大解码后得到相应的记录信息。由于磁条卡不是一种数字记录方式,需要通过模拟电路还原相应的信息流,并且磁条卡在保存过程中会遇到划痕、消磁等各种有损信息复原的问题,而且,市面上设计的磁条卡读卡器以模拟电路解码居多,由于模拟量处理各种异形信号的能力有限,因此,市面上大多的磁条卡读卡器存在着识别率不高,设备复杂成本高等问题。



技术实现要素:

有鉴于此,本申请提供了一种磁条卡的解码方法和装置,其运算复杂度低,可处理各种非理想的磁卡信号,并最终输出信道内记录的信息比特。

为实现上述目的,本申请提供了以下技术方案:

一种磁条卡的解码方法,该方法包括:

检测待解码的磁条卡信号;

获取所述磁条卡信号的峰值点与谷值点之间的时间长度;

将所述时间长度与参考时间长度作对比,进行信息比特检测;

根据所述信息比特检测的结果,得到比特数据值并输出。

优选的,在所述检测待解码的磁条卡信号前,还包括:

监测背景噪声,并将初始背景噪声的能量作为参考能量;

当监测到背景噪声的能量增大到所述初始背景噪声的能量的预设倍数时,确定所述磁条卡信号到来。

优选的,在所述检测待解码的磁条卡信号之前,还包括:

将磁条卡经过磁道产生的电流信号转换为电压信号;

将所述电压信号进行模拟放大后进行ad采样,得到磁道输入信号;

将所述磁道输入信号进行去直流处理得到所述磁条卡信号。

优选的,所述获取所述磁条卡信号的峰值点与谷值点之间的时间长度包括:

当当前比特信息的磁条卡信号的数值为非负数,且,当前比特信息对应的谷值绝对值大于峰值的β倍时,获取前一个比特信息的峰值点到谷值点的时间长度;

当当前比特信息的磁条卡信号的数值为负数,且,当前比特信息对应的峰值大于谷值绝对值的β倍时,获取前一个比特信息的谷值点到峰值点的时间长度。

优选的,所述参考时间长度包括:信息比特0的参考时间长度和信息比特1的参考时间长度。

一种磁条卡的解码装置,该装置包括:

检测单元,用于检测待解码的磁条卡信号;

获取单元,用于获取所述磁条卡信号的峰值点与谷值点之间的时间长度;

对比单元,用于将所述时间长度与参考时间长度作对比,进行信息比特检测;

输出单元,用于根据所述信息比特检测的结果,得到比特数据值并输出。

优选的,该装置还包括:

监测单元,用于监测背景噪声,并将初始背景噪声的能量作为参考能量;

起始监测单元,用于当监测到背景噪声的能量增大到所述初始背景噪声的能量的预设倍数时,确定所述磁条卡信号到来。

优选的,该装置还包括:

转换单元,用于将磁条卡经过磁道产生的电流信号转换为电压信号;

采样单元,用于将所述电压信号进行模拟放大后进行ad采样,得到磁道输入信号;

去直流单元,用于将所述磁道输入信号进行去直流处理得到所述磁条卡信号。

优选的,所述获取单元包括:

判断单元,用于判断当前比特信息的磁条卡信号的数值是否为非负数;

第一对比单元,用于当所述判断单元确定当前比特信息的磁条卡信号的数值为非负数时,对比当前比特信息对应的谷值绝对值是否大于峰值的β倍;

第一子获取单元,用于当所述第一对比单元的结果为是时,获取前一个比特信息的峰值点到谷值点的时间长度;

第二对比单元,用于当所述判断单元确定当前比特信息的磁条卡信号的数值为负数时,对比当前比特信息对应的峰值是否大于谷值绝对值的β倍;

第二子获取单元,用于当所述第二对比单元的结果为是时,获取前一个比特信息的谷值点到峰值点的时间长度。

优选的,所述去直流单元可为一阶iir数字滤波器。

由以上技术方案可知,本申请提供了一种磁条卡的解码方法及装置,该方法包括:检测待解码的磁条卡信号;获取所述磁条卡信号的峰值点与谷值点之间的时间长度;将所述时间长度与参考时间长度作对比,进行信息比特检测;根据所述信息比特检测的结果,得到比特数据值并输出。本申请提供的该解码方法基于峰值谷值的时间轴位置估计,对磁道信号的幅度变化并不敏感,不需要做特殊处理即可有效去除幅度对算法影响。该解码方法结构清晰,复杂度低,可以实时处理,并具有较高的信号识别率,是一种较为灵活的数字解码算法,可以解决各种复杂的磁条卡信号问题。

附图说明

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

图1为本申请实施例一提供的一种磁条卡的解码方法的流程图;

图2为本申请实施例二提供的一种磁条卡的解码方法的流程图;

图3为本申请实施例二提供的一种磁条卡信号示意图;

图4为本申请实施例二提供的另一种磁条卡的解码方法的流程图;

图5为本申请实施例三提供的一种磁条卡的解码装置的结构示意图;

图6为本申请实施例四提供的一种磁条卡的解码装置的结构示意图;

图7为本申请实施例四提供的一种获取单元的结构示意图;

图8为本申请实施例四提供的另一种磁条卡的解码装置的结构示意图。

具体实施方式

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

本申请提供了一种磁条卡的解码方法和装置,其运算复杂度低,可处理各种非理想的磁卡信号,并最终输出信道内记录的信息比特,具体方案如下所述:

实施例一

在本申请实施例一中,提供了一种磁条卡的解码方法,如图1所示,该方法包括:

s101:检测待解码的磁条卡信号;

s102:获取磁条卡信号的峰值点与谷值点之间的时间长度;

s103:将时间长度与参考时间长度作对比,进行信息比特检测;

s104:根据信息比特检测的结果,得到比特数据值并输出。

检测到磁卡信号到来后,就进入磁卡解码的核心模块:f2f信号产生模块,f2f信号表示整个时间轴上磁道信号的波峰到波谷的距离。在数字系统中,如果我们记下波峰到波谷采样点数,就可以直接和后续f2f信号解码模块形成联动,从而解出磁道中的信息比特来。

本申请实施例一提供的该解码方法基于峰值谷值的时间轴位置估计,对磁道信号的幅度变化并不敏感,不需要做特殊处理即可有效去除幅度对算法影响。该解码方法结构清晰,复杂度低,可以实时处理,并具有较高的信号识别率,是一种较为灵活的数字解码算法,可以解决各种复杂的磁条卡信号问题。

实施例二

在实施例一的基础上,本申请实施例二提供了一种更具体的解码方法,如图2所示,该方法包括:

s201:监测背景噪声,并将初始背景噪声的能量作为参考能量;

磁条卡读卡器打开电源后,会等待持卡人刷卡操作;也有可能很久都没有刷卡操作,因此我们需要检测是否有磁条卡信号输入,以此来触发后续解码操作的执行,同时也可以降低整个系统的功耗。在磁条卡信号输入前,我们可以检测背景噪声的能量,以该能量作为参考值,确定磁条卡信号的起始位置。磁条卡背景噪声能量使用fir滤波器结构做滑动平均或者使用一阶iir滤波器结构来求均值。如果使用fir结构,其数学表达式为:

ebn表示在序号为n的采样点的背景噪声能量。k表示fir滤波器的tap数目,en表示采样点xn的能量,en=xn2,方便起见,k一般取2的幂次,这样乘法运算可以转换为数据的移位操作。

如果使用的是iir滤波器结构,那么数学表达式为:ebn=(1-α)ebn-1+αen,此处变量α为一可调的小值参数,可以采用2的幂次来操作。

s202:当监测到背景噪声的能量增大到初始背景噪声的能量的预设倍数时,确定磁条卡信号到来;

我们以开机后、刷卡前这段时间内监测到的背景噪声ebn为参考能量,当后续监测的背景噪声能量增大到初始背景噪声能量一定倍数的时候,表示磁卡信号到来,可以触发后续相关的解码模块。这个倍数大小可以根据实际系统做相应的调整。具体多少倍跟具体的读卡器板级噪声,以及读卡器前端的放大倍数有关系,也就是磁道信号和背景噪声的相对大小有关系。一般10倍,可以很容易检测出磁道信号。

s203:检测待解码的磁条卡信号;

s204:获取磁条卡信号的峰值点与谷值点之间的时间长度;

具体的,该步骤包括:

当当前比特信息的磁条卡信号的数值为非负数,且,当前比特信息对应的谷值绝对值大于峰值的β倍时,获取前一个比特信息的峰值点到谷值点的时间长度;

当当前比特信息的磁条卡信号的数值为负数,且,当前比特信息对应的峰值大于谷值绝对值的β倍时,获取前一个比特信息的谷值点到峰值点的时间长度。

如图3所示,图3为本申请实施例二提供的一种磁条卡信号示意图。xmin表示估计的波谷值,xmax表示估计的波峰值,x表示f2f信号产生模块的数据输入。数据输入后,根据输入数据是否为非负数来做相应的不同操作:

如果数据为非负数,那么此时比较波谷绝对值和波峰值β倍的相对大小,该时刻对应图3中的d点,d点即为下降曲线的判决点。参数β可调,一般设置为0.5即可。d判决点判决的是前一个比特信号从a点到c点的时间长度。如果判决结果为否,那么回到对输入信号x是否为非负数的判决中;如果判决结果为是,那么获取相应的前一个比特信息峰值点到谷值点的时间长度,即记录峰值到谷值的时间长度cnt_xmax;然后将xmax清零;再将up_dw_flag置1;最后,cnt_xmax清零。

如果数据为负数,那么此时比较波峰值和波谷绝对值β倍的相对大小,该时刻对应图3中的f点,f点即为上升曲线的判决点。参数β可调,一般设置为0.5即可。f判决点判决的是前一个比特信号从c点到e点的时间长度。如果判决结果为否,那么回到对输入信号x是否为非负数的判决中;如果判决结果为是,那么获取相应的前一个比特信息谷值点到峰值点的时间长度,即记录谷值到峰值的时间长度cnt_xmin;然后将xmin清零;再将up_dw_flag置0;最后,cnt_xmin清零。

图3中,up_dw_flag为一标志位,在下降曲线判决点到上升曲线判决点之间为1;在上升曲线判决点到下降曲线判决点之间为0。cnt_xmax表示下降曲线的时长;cnt_xmin表示上升曲线的时长。(-xmin)是否大于β*xmax,和xmax是否大于β*(-xmin)这两个判决条件在上升曲线段和下降曲线段执行且仅执行一次。

具体的,对于代表信息比特时长的关键参数cnt_xmax和cnt_xmin的获取还可以参照如下代码:

这段代码可以有效去除磁道信号中的信号抖动和毛刺问题。

s205:将时间长度与参考时间长度作对比,进行信息比特检测;

将得到的时间长度跟信息比特‘0’和‘1’的参考时间长度做对比,即可判定该信息的比特值。

信息波特‘0’和‘1’的参考时间长度,可以通过以下方法获得:

在初始阶段,我们可以根据以下事实来确定信息比特的初始参考时间长度:磁条卡的每一个磁道都以一定数量的信息比特‘0’开始,同样以一定数量的信息比特‘0’结束。因此,我们通过跟踪初始比特信息‘0’的时间长度来获得当前的初始参考时间长度。跟踪函数可以采用一阶iir滤波器结构,数学表达式为:

tref=(1-γ)tref+γtcurr0,

其中,参数γ为可调参数,为实现简单,可以采用2的幂次来实现,这样相应的乘法运算可以转化为数据的移位操作。比如γ值可以取0.25。上式中tref表示比特‘0’的参考时间长度,比特‘1’的参考时间长度为比特‘0’的参考时间长度的一半,这里比特‘1’的时间参考长度是指代表比特‘1’的磁道信号时间长度的一半,即其中一个峰值到谷值的时间长度。

在非初始阶段,则采用判决反馈的环路形式来不断更新参考时间长度,当我们得到前一个信息比特的判决结果后,我们会根据这个信息比特的判决结果,不论是‘0’还是‘1’,将其对应的时间长度归一化到代表‘0’的时间长度上去,具体就是:比特‘0’的峰谷间距直接表示上式中的tcurr0,比特‘1’的峰谷间距的2倍表示上式中的tcurr0。

如此,我们就可以得到整个磁道的信息比特参考时间长度。这种参考时间长度的更新机制可以完美解决信号频率不断变化的问题。

s206:根据信息比特检测的结果,得到比特数据值并输出。

在本申请实施例二中,提供了另一种解码方法,该方法相比于图1或图2所示,还可以包括如下s401-s403步骤,为了描述简便,图4所示为在图1的基础上进行的步骤添加,如图4所示,:

s401:将磁条卡经过磁道产生的电流信号转换为电压信号;

s402:将电压信号进行模拟放大后进行ad采样,得到磁道输入信号;

s403:将磁道输入信号进行去直流处理得到磁条卡信号;

本申请中,可采用一阶iir数字滤波器进行去直流处理,yn=(1-α)yn-1+αxn,其中,yn表示去直流模块的输出信号采样值,xn表示去直流模块的输入信号采样值,变量α为一可调的小值参数,可以采用2的幂次来操作,从而在电路或者软件中可以转化为变量的移位操作。输入信号减去得到的直流分量后,输入到下一个操作模块。

本申请采用一阶的iir数字滤波器而不是更高阶的,是为了实现简单,而且一阶的已经够用。采用iir而非fir(有限冲击响应滤波器)也是为了实现简单。由于阶数越高,滤波器所需存储单元和运算单元越多,而达到相同的滤波效果,如果不要求群延迟带内一致,使用iir所需阶数远比fir要小,所以此处使用一阶iir滤波器就可以了。

需要说明的是,该去直流模块不是必需的,如果信号直流量和输入信号幅度相比较小,可以忽略此模块。

s404:检测待解码的磁条卡信号;

s405:获取磁条卡信号的峰值点与谷值点之间的时间长度;

s406:将时间长度与参考时间长度作对比,进行信息比特检测;

s407:根据信息比特检测的结果,得到比特数据值并输出。

由以上技术方案可知,本申请实施例二提供的该解码方法基于峰值谷值的时间轴位置估计,对磁道信号的幅度变化并不敏感,不需要做特殊处理即可有效去除幅度对算法影响。该解码方法结构清晰,复杂度低,可以实时处理,并具有较高的信号识别率,是一种较为灵活的数字解码算法,可以解决各种复杂的磁条卡信号问题。

实施例三

在实施例一的基础上,本申请实施例三提供了一种磁条卡的解码装置,如图5所示,图5为本申请实施例三提供的一种磁条卡的解码装置的结构示意图,该装置包括:

检测单元501,用于检测待解码的磁条卡信号;

获取单元502,用于获取磁条卡信号的峰值点与谷值点之间的时间长度;

对比单元503,用于将时间长度与参考时间长度作对比,进行信息比特检测;

输出单元504,用于根据信息比特检测的结果,得到比特数据值并输出。

检测到磁卡信号到来后,就进入磁卡解码的核心模块:f2f信号产生模块(即获取单元所包含的模块),f2f信号表示整个时间轴上磁道信号的波峰到波谷的距离。在数字系统中,如果我们记下波峰到波谷采样点数,就可以直接和后续f2f信号解码模块形成联动,从而解出磁道中的信息比特来。

本申请实施例三提供的该解码装置,基于峰值谷值的时间轴位置估计,对磁道信号的幅度变化并不敏感,不需要做特殊处理即可有效去除幅度对算法影响。该解码装置结构清晰,复杂度低,可以实时处理,并具有较高的信号识别率,是一种较为灵活的数字解码算法,可以解决各种复杂的磁条卡信号问题。

实施例四

如图6所示,图6为本申请实施例四提供的一种磁条卡的解码装置的结构示意图。该装置包括:

监测单元601,用于监测背景噪声,并将初始背景噪声的能量作为参考能量;

起始监测单元602,用于当监测到背景噪声的能量增大到初始背景噪声的能量的预设倍数时,确定磁条卡信号到来;

检测单元603,用于检测待解码的磁条卡信号;

获取单元604,用于获取磁条卡信号的峰值点与谷值点之间的时间长度;

具体的,如图7所示,图7为本申请实施例四提供的一种获取单元的结构示意图,该获取单元包括:

判断单元6041,用于判断当前比特信息的磁条卡信号的数值是否为非负数;

第一对比单元6042,用于当判断单元确定当前比特信息的磁条卡信号的数值为非负数时,对比当前比特信息对应的谷值绝对值是否大于峰值的β倍;

第一子获取单元6043,用于当第一对比单元的结果为是时,获取前一个比特信息的峰值点到谷值点的时间长度;

第二对比单元6044,用于当判断单元确定当前比特信息的磁条卡信号的数值为负数时,对比当前比特信息对应的峰值是否大于谷值绝对值的β倍;

第二子获取单元6045,用于当第二对比单元的结果为是时,获取前一个比特信息的谷值点到峰值点的时间长度。

对比单元605,用于将时间长度与参考时间长度作对比,进行信息比特检测;

具体的,参考时间长度包括:信息比特0的参考时间长度和信息比特1的参考时间长度。

输出单元606,用于根据信息比特检测的结果,得到比特数据值并输出。

在本申请实施例四中,提供了另一种解码装置,该装置相比于图5或图6所示,还包括如下801-803结构,为了描述简便,图8为在图6所示的结构基础上进行的添加,如图8所示,图8为本申请实施例四提供的另一种磁条卡的解码装置的结构示意图,该装置包括:

转换单元801,用于将磁条卡经过磁道产生的电流信号转换为电压信号;

采样单元802,用于将电压信号进行模拟放大后进行ad采样,得到磁道输入信号;

去直流单元803,用于将磁道输入信号进行去直流处理得到磁条卡信号;

具体的,该去直流单元可为一阶iir数字滤波器。

检测单元804,用于检测待解码的磁条卡信号;

获取单元805,用于获取磁条卡信号的峰值点与谷值点之间的时间长度;

对比单元806,用于将时间长度与参考时间长度作对比,进行信息比特检测;

输出单元807,用于根据信息比特检测的结果,得到比特数据值并输出。

本申请实施例四提供的该解码装置,基于峰值谷值的时间轴位置估计,对磁道信号的幅度变化并不敏感,不需要做特殊处理即可有效去除幅度对算法影响。该解码装置结构清晰,复杂度低,可以实时处理,并具有较高的信号识别率,是一种较为灵活的数字解码算法,可以解决各种复杂的磁条卡信号问题。

需要说明的是,本申请各实施例之间相同或相似的地方可相互参考,在本申请中不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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