磁卡解码方法技术

技术编号:7837996 阅读:217 留言:0更新日期:2012-10-12 03:01
本发明专利技术公开一种磁卡解码方法,包括以下步骤:S1、采用极值法将采样到的模拟波形转换成初始数字波形,并采用曲线拟合的方法对所述初始数字波形的脉宽进行修正;S2、将磁卡的前导比特0的脉宽作为初始基准脉宽,使用所述初始基准脉宽对修正后数字波形的第一个脉宽进行判别,并由初始基准脉宽根据EWMA公式得到第二基准脉宽,以第二基准脉宽为基准对修正后数字波形的第二个脉宽进行判别;重复执行调整基准脉宽及根据相应基准脉宽对修正后数字波形的脉宽进行判别的过程,直至修正后数字波形的脉宽全部被判别完;S3、根据步骤S2的判别结果,将修正后数字波形转换为对应的0/1比特序列;S4、根据磁卡标准对所述比特序列解码。

【技术实现步骤摘要】

本专利技术涉及解码领域,尤其涉及一种。
技术介绍
传统的磁卡软解码方案是在硬件上,将磁头接到放大整形电路,以得到数字信号,然后输入到处理器;在软件上,通过记录输入的数字信号每个电平的持续时间(即脉宽),根据脉宽的关系实现软解码。还有一种方案是使用专用磁卡解码芯片,将刷卡产生的模拟信号,直接识别并存储成CPU能够处理的0/1序列,然后根据磁卡解码芯片反馈的成功信号,启动软件读取磁卡解码芯片内存储的0/1序列数据。但上述技术存在如下缺点,缺点I :放大整形电路或专用磁卡解码芯片的硬件成本相对较高。缺点2 :灵活度较低,硬件输出的数字波形的质量取决于放大与整形电路的设计, 当硬件设计不够好时,某些卡的输出波形不正常,通过软件方法能够解决的范围要比直接使用原始波形小得多。·缺点3 :采用专用磁卡解码芯片的磁卡阅读设备,对于磁卡的标准兼容性有一定限制,如果某个非标准磁卡无法被解码芯片识别时,并不能通过简单升级软件的方式解决。
技术实现思路
本专利技术主要解决的技术问题是提供一种,使用软件处理替代了硬件磁卡解码芯片,降低了设备的生产制造成本,并有更好的灵活性。为解决上述技术问题,本专利技术采用的一个技术方案是提供一种,包括以下步骤SI、采用极值法将采样到的模拟波形转换成初始数字波形,并采用曲线拟合的方法对所述初始数字波形的脉宽进行修正,得到修正后数字波形;S2、将磁卡的前导比特O的脉宽作为初始基准脉宽,使用所述初始基准脉宽对修正后数字波形的第一个脉宽进行判别,并由初始基准脉宽根据EWMA公式得到第二基准脉宽;以第二基准脉宽为基准对修正后数字波形的第二个脉宽进行判别,再由第二基准脉宽根据EWMA公式调整下一个基准脉宽;以下一个基准脉宽为基准对修正后数字波形的下一个脉宽进行判别;以及,重复执行调整基准脉宽及根据相应基准脉宽对修正后数字波形的脉宽进行判别的过程,直至修正后数字波形的脉宽全部被判别完;其中,上述判别过程是指以所述基准脉宽为基准,判别修正后数字波形的相应脉宽是对应比特I的半位还是比特O ;其中,比特I由两个连续脉宽构成,比特O由一个脉宽构成;S3、根据步骤S2的判别结果,将修正后数字波形转换为对应的0/1比特序列;S4、根据磁卡标准对所述比特序列解码。其中,所述步骤SI是通过将磁头接到MCU的差分ADC上进行采样的。其中,所述步骤S4之后还包括步骤S5 :若解码失败,则将步骤SI中修正后得到的数字波形按采样方向的相反方向取出,并执行步骤S2。 其中,所述步骤SI之前还包括以下步骤S0、判断是否开始进行采样;若否,则继续判断是否开始进行采样;若是,则进行步骤Si。其中,当判断开始进行采样后判断相邻两个采样点之间的电压值,并在连续几百个米样点中任意两个米样点之间的电压差值小于ImV时,结束米样。其中,所述步骤SI中采用极值法将采样到的模拟波形转换成初始数字波形具体为,将极大值点归到高电平,从该点开始之后的点都归到高电平,直到遇到极小值点; 将极小值点归到低电平,从该点开始之后的点都归到低电平,直到遇到极大值点;得到初始数字波形。其中,所述步骤SI中采用曲线拟合的方法对所述初始数字波形的脉宽进行修正包括以下步骤,S1021、计算出曲线多项式极值点的位置χ ;S1022、根据χ与采样点极值点的位置关系修正初始数字波形的脉宽。其中,所述步骤S2中以所述基准脉宽对修正后数字波形的脉宽进行判别,及步骤 S3中将修正后数字波形转换为对应的0/1比特序列,具体包括以下步骤S301、判断当前脉宽与当前基准脉宽的比例是否处于[kl,k2]内;若是,则将当前脉宽转换为比特0,并调整基准脉宽,继续进行对下一脉宽的判别;若否,则进行步骤S302 ;S302、判断当前脉宽与当前基准脉宽的比例是处于[k3,+内,是处于[k2,k3] 内,还是处于(0,kl]内;若当前脉宽与当前基准脉宽的比例处于[k3,+ °ο)内,则放弃当前脉宽,并终止此次解码过程或调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;若当前脉宽与当前基准脉宽的比例处于[k2,k3]内,则将当前脉宽转换为比特0, 并在调整基准脉宽时增加调整系数,返回步骤S301,继续进行对下一脉宽的判别;若当前脉宽与当前基准脉宽的比例处于(0,kl]内,则判断后一个脉宽与当前基准脉宽的比例是否处于(0,kl];若是,则将当前脉宽和后一个脉宽转换为比特1,并调整基准脉宽,返回步骤S301 ;若否,则进行步骤S303 ;S303、判断后一个脉宽与当前基准脉宽的比例是处于[k3,+ m)内,还是处于 [kl, k3]内;若后一个脉宽与当前基准脉宽的比例处于[k3,+ m)内,则终止此次解码过程或放弃当前脉宽,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;若后一个脉宽与当前基准脉宽的比例处于[kl,k3]内,则判断前一个脉宽与前一个基准脉宽的比例是否处于[kl,k2]内;若否,则执行步骤S306 ;若是,则判断前一个脉宽是否小于后一个脉宽;若是,则进行步骤S304 ;若否,则进行步骤S305 ;S304、判断当前脉宽与前一个脉宽之和与当前基准脉宽的比例是否处于[kl,k2] 内;若是,则将当前脉宽和后一个脉宽转换为比特1,将后一个脉宽转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;若否,则将当前脉宽转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;S305、判断当前脉宽与前一个脉宽之和与当前基准脉宽的比例是否处于[kl,k2] 内;若是,则将当前脉宽和前一个脉宽转换为比特1,将后一个脉宽转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;若否,则将当前脉宽转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;S306、判断前第二个脉宽与前一个基准脉宽的比例是否处于(0,kl]内;若是,则进行步骤S307 ;若否,则将当前脉宽转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;S307、判断当前脉宽、前一个脉宽和前第二个脉宽的脉宽之和,与前一个基准脉宽的比例是否处于[kl,k2]内;若是,则将后一个脉宽和后第二个脉宽均转换为比特0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;若否,则将当前脉宽转换为比特 0,并调整基准脉宽,返回步骤S301,继续进行对下一脉宽的判别;其中,0〈kl〈l〈k2〈k3。 本专利技术的有益效果是区别于现有技术中硬件成本较高,灵活性较低,对磁卡的标准兼容性有一定的限制等缺点,本专利技术提供一种,采集的是离散时间的磁卡模拟波形,利用极值法得到原始模拟波形的信息,并采用曲线拟合的方法修正初始数字波形,从而精确计算峰值,使数字波形脉宽的计算更准确。如此可以看出,本专利技术能够灵活地选择将模拟波形转换成数字波形的方法。且本专利技术采用动态的当前基准脉宽作为判别所述数字波形当前脉宽对应比特I的半位或比特O的基准,有效地解决了由于硬件设备的不完善、磁卡移动速度不均匀而导致的读取数据错误的概率。此外,由于本专利技术是将磁头接到MCU的差分ADC上进行采样的,而差分ADC是MCU 自带的一个模块,所以在很大程度上解决了硬件成本较高的问题。附图说明图I是本专利技术的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种磁卡解码方法,其特征在于,包括以下步骤51、采用极值法将采样到的模拟波形转换成初始数字波形,并采用曲线拟合的方法对所述初始数字波形的脉宽进行修正,得到修正后数字波形;52、将磁卡的前导比特O的脉宽作为初始基准脉宽,使用所述初始基准脉宽对修正后数字波形的第一个脉宽进行判别,并由初始基准脉宽根据EWMA公式得到第二基准脉宽;以第二基准脉宽为基准对修正后数字波形的第二个脉宽进行判别,再由第二基准脉宽根据EWMA公式调整下一个基准脉宽;以下一个基准脉宽为基准对修正后数字波形的下一个脉宽进行判别;以及,重复执行调整基准脉宽及根据相应基准脉宽对修正后数字波形的脉宽进行判别的过程,直至修正后数字波形的脉宽全部被判别完;其中,上述判别过程是指以所述基准脉宽为基准,判别修正后数字波形的相应脉宽是对应比特I的半位还是比特O ;其中,比特I由两个连续脉宽构成,比特O由一个脉宽构成;53、根据步骤S2的判别结果,将修正后数字波形转换为对应的0/1比特序列;54、根据磁卡标准对所述比特序列解码。2.根据权利要求I所述的磁卡解码方法,其特征在于,所述步骤SI是通过将磁头接到 MCU的差分ADC上进行采样的。3.根据权利要求I所述的磁卡解码方法,其特征在于,所述步骤S4之后还包括步骤 S5 :若解码失败,则将步骤SI中修正后得到的数字波形按采样方向的相反方向取出,并执行步骤S2。4.根据权利要求I至3任一项所述的磁卡解码方法,其特征在于,所述步骤SI之前还包括以下步骤S0、判断是否开始进行采样;若否,则继续判断是否开始进行采样;若是,则进行步骤SI。5.根据权利要求4所述的磁卡解码方法,其特征在于,当判断开始进行采样后判断相邻两个采样点之间的电压值,并在连续几百个采样点中任意两个采样点之间的电压差值小于ImV时,结束米样。6.根据权利要求I所述的磁卡解码方法,其特征在于,所述步骤SI中采用极值法将采样到的模拟波形转换成初始数字波形具体为,将极大值点归到高电平,从该点开始之后的点都归到高电平,直到遇到极小值点;将极小值点归到低电平,从该点开始之后的点都归到低电平,直到遇到极大值点;得到初始数字波形。7.根据权利要求I所述的磁卡解码方法,其特征在于,所述步骤SI中采用曲线拟合的方法对所述初始数字波形的脉宽进行修正包括以下步骤,51021、计算出曲线多项式极值点的位置χ;51022、根据χ与采样点极值点的位置关系修正初始数字波形的脉宽。8.根据权利要求I所述的磁卡解码方法,其特征在于,所述步骤S2中以所述基准脉宽对修正后数字波形的脉宽进行判别,及步骤S3中将修正后数字波形转换为对应的0/1比特序列,具体包括以下步骤S301、判断当前脉宽与当前基准脉宽的比例是否处于[kl,k2]内;若是,则将当前脉宽转换为比特0,并调整基准...

【专利技术属性】
技术研发人员:刘文灿
申请(专利权)人:福建联迪商用设备有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1