[發明專利]磁卡解碼方法有效
| 申請號: | 201210167691.5 | 申請日: | 2012-05-25 |
| 公開(公告)號: | CN102722690A | 公開(公告)日: | 2012-10-10 |
| 發明(設計)人: | 劉文燦 | 申請(專利權)人: | 福建聯迪商用設備有限公司 |
| 主分類號: | G06K7/08 | 分類號: | G06K7/08 |
| 代理公司: | 福州市鼓樓區博深專利代理事務所(普通合伙) 35214 | 代理人: | 林志崢 |
| 地址: | 350003 福建省福州*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 磁卡 解碼 方法 | ||
1.一種磁卡解碼方法,其特征在于,包括以下步驟:
S1、采用極值法將采樣到的模擬波形轉換成初始數字波形,并采用曲線擬合的方法對所述初始數字波形的脈寬進行修正,得到修正后數字波形;
S2、將磁卡的前導比特0的脈寬作為初始基準脈寬,使用所述初始基準脈寬對修正后數字波形的第一個脈寬進行判別,并由初始基準脈寬根據EWMA公式得到第二基準脈寬;
以第二基準脈寬為基準對修正后數字波形的第二個脈寬進行判別,再由第二基準脈寬根據EWMA公式調整下一個基準脈寬;
以下一個基準脈寬為基準對修正后數字波形的下一個脈寬進行判別;以及,重復執行調整基準脈寬及根據相應基準脈寬對修正后數字波形的脈寬進行判別的過程,直至修正后數字波形的脈寬全部被判別完;
其中,上述判別過程是指以所述基準脈寬為基準,判別修正后數字波形的相應脈寬是對應比特1的半位還是比特0;其中,比特1由兩個連續脈寬構成,比特0由一個脈寬構成;
S3、根據步驟S2的判別結果,將修正后數字波形轉換為對應的0/1比特序列;
S4、根據磁卡標準對所述比特序列解碼。
2.根據權利要求1所述的磁卡解碼方法,其特征在于,所述步驟S1是通過將磁頭接到MCU的差分ADC上進行采樣的。
3.根據權利要求1所述的磁卡解碼方法,其特征在于,所述步驟S4之后還包括步驟S5:若解碼失敗,則將步驟S1中修正后得到的數字波形按采樣方向的相反方向取出,并執行步驟S2。
4.根據權利要求1至3任一項所述的磁卡解碼方法,其特征在于,所述步驟S1之前還包括以下步驟:S0、判斷是否開始進行采樣;若否,則繼續判斷是否開始進行采樣;若是,則進行步驟S1。
5.根據權利要求4所述的磁卡解碼方法,其特征在于,當判斷開始進行采樣后:判斷相鄰兩個采樣點之間的電壓值,并在連續幾百個采樣點中任意兩個采樣點之間的電壓差值小于1mV時,結束采樣。
6.根據權利要求1所述的磁卡解碼方法,其特征在于,所述步驟S1中:采用極值法將采樣到的模擬波形轉換成初始數字波形具體為,
將極大值點歸到高電平,從該點開始之后的點都歸到高電平,直到遇到極小值點;將極小值點歸到低電平,從該點開始之后的點都歸到低電平,直到遇到極大值點;得到初始數字波形。
7.根據權利要求1所述的磁卡解碼方法,其特征在于,所述步驟S1中:采用曲線擬合的方法對所述初始數字波形的脈寬進行修正包括以下步驟,
S1021、計算出曲線多項式極值點的位置x;
S1022、根據x與采樣點極值點的位置關系修正初始數字波形的脈寬。
8.根據權利要求1所述的磁卡解碼方法,其特征在于,所述步驟S2中以所述基準脈寬對修正后數字波形的脈寬進行判別,及步驟S3中將修正后數字波形轉換為對應的0/1比特序列,具體包括以下步驟:
S301、判斷當前脈寬與當前基準脈寬的比例是否處于[k1,k2]內;若是,則將當前脈寬轉換為比特0,并調整基準脈寬,繼續進行對下一脈寬的判別;若否,則進行步驟S302;
S302、判斷當前脈寬與當前基準脈寬的比例是處于[k3,+∞)內,是處于[k2,k3]內,還是處于(0,k1]內;
若當前脈寬與當前基準脈寬的比例處于[k3,+∞)內,則放棄當前脈寬,并終止此次解碼過程或調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
若當前脈寬與當前基準脈寬的比例處于[k2,k3]內,則將當前脈寬轉換為比特0,并在調整基準脈寬時增加調整系數,返回步驟S301,繼續進行對下一脈寬的判別;
若當前脈寬與當前基準脈寬的比例處于(0,k1]內,則判斷后一個脈寬與當前基準脈寬的比例是否處于(0,k1];若是,則將當前脈寬和后一個脈寬轉換為比特1,并調整基準脈寬,返回步驟S301;若否,則進行步驟S303;
S303、判斷后一個脈寬與當前基準脈寬的比例是處于[k3,+∞)內,還是處于[k1,k3]內;
若后一個脈寬與當前基準脈寬的比例處于[k3,+∞)內,則終止此次解碼過程或放棄當前脈寬,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
若后一個脈寬與當前基準脈寬的比例處于[k1,k3]內,則判斷前一個脈寬與前一個基準脈寬的比例是否處于[k1,k2]內;若否,則執行步驟S306;
若是,則判斷前一個脈寬是否小于后一個脈寬;若是,則進行步驟S304;若否,則進行步驟S305;
S304、判斷當前脈寬與前一個脈寬之和與當前基準脈寬的比例是否處于[k1,k2]內;若是,則將當前脈寬和后一個脈寬轉換為比特1,將后一個脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;若否,則將當前脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
S305、判斷當前脈寬與前一個脈寬之和與當前基準脈寬的比例是否處于[k1,k2]內;若是,則將當前脈寬和前一個脈寬轉換為比特1,將后一個脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;若否,則將當前脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
S306、判斷前第二個脈寬與前一個基準脈寬的比例是否處于(0,k1]內;若是,則進行步驟S307;若否,則將當前脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
S307、判斷當前脈寬、前一個脈寬和前第二個脈寬的脈寬之和,與前一個基準脈寬的比例是否處于[k1,k2]內;若是,則將后一個脈寬和后第二個脈寬均轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;若否,則將當前脈寬轉換為比特0,并調整基準脈寬,返回步驟S301,繼續進行對下一脈寬的判別;
其中,0<k1<1<k2<k3。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建聯迪商用設備有限公司,未經福建聯迪商用設備有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210167691.5/1.html,轉載請聲明來源鉆瓜專利網。





