JP3681570B2 - データの復調方法 - Google Patents
データの復調方法 Download PDFInfo
- Publication number
- JP3681570B2 JP3681570B2 JP10506599A JP10506599A JP3681570B2 JP 3681570 B2 JP3681570 B2 JP 3681570B2 JP 10506599 A JP10506599 A JP 10506599A JP 10506599 A JP10506599 A JP 10506599A JP 3681570 B2 JP3681570 B2 JP 3681570B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- peak interval
- value
- peak
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Digital Magnetic Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、例えば磁気カード等に記録されているデータ信号の復調方法に関するもので、周波数変調方式により記録されているデータを高い信頼性で復調することができるようにしたデータの復調方法に関する。
【0002】
【従来の技術】
例えば磁気カードリーダ等の記録再生装置においては、Fおよび2Fという2種類の周波数の組み合わせによって2値のデータ信号を記憶するFM変調方式が一般に知られている。このFM変調方式によって記録されたデータの再生時は、磁気カードの磁気ストライプに対して相対的に磁気ヘッドを摺動させることにより、磁気記録データをアナログ再生信号の形態で再生し、このアナログ再生信号の信号波形に基づき、2値データを復調するようになっている。
【0003】
一般的な磁気カードの磁気ストライプは、実際に記録データが記憶されている有効データ領域だけではなく、その前の同期ビット領域と、記録データの始まりを示すSTXコード領域と、有効データ領域の後ろのデータ終了を示すETXコード領域、LRCコード領域および同期ビット領域を有している。
【0004】
図15に上記のような従来の磁気カードの記録データ復調時の一般的な機能ブロックを、図16にその各部の信号波形を示す。図15において、磁気カード10が相対移動することにって得られる磁気ヘッド11の出力信号は二つの増幅器12、15によって増幅される。増幅器12の出力信号はピーク検出回路13によってピーク検出が行われ、ピーク検出回路13のピーク検出信号はコンパレータ14によってゼロレベルと比較されゼロクロス点が検出されるようになっている。他方の増幅器15の出力信号はコンパレータ16によってゼロクロス点が検出され、その出力信号はタイミング発生回路17に入力される。タイミング発生回路17では、コンパレータ14の出力信号の転換位置におけるコンパレータ16の出力信号のレベルを見て、そのときのコンパレータ16の出力信号レベルに応じてその出力レベルを転換するようになっている。タイミング発生回路17の出力信号はデータ弁別回路またはCPU18に入力され、所定の信号処理が行われることによって文字が判別されるようになっている。
【0005】
図15に示す機能ブロックの動作を、図16を併せて参照しながらさらに具体的に説明する。磁気カード10に記録されている信号の例を図16(a)に示す。記録信号はFおよび2Fという2種類の周波数の組み合わせによる2値のデータ信号であって、1ビット分の時間間隔T内において信号極性の反転の有無によってそのビットが「0」か「1」かを表している。(a)の例は「01101」を表している。この記録信号を磁気ヘッド11で読み取り、増幅器12、15で増幅したものの例を図16(b)に示す。記録信号「0」に対応する増幅器12、15の出力の周波数に対して記録信号「1」に対応する増幅器12、15の出力の周波数は2倍になっている。
【0006】
ピーク検出回路13は微分回路からなるものと考えてよく、従ってピーク検出出力は図16(c)に示すように増幅器12の出力信号のピーク位置でゼロクロスとなる信号波形が得られる。その信号はコンパレータ14によりゼロレベルと比較され、図16(d)に示すように上記ピーク検出波形のゼロクロス位置で反転するデジタル信号に変換される。他方の増幅器15の出力波形はコンパレータ16によりゼロレベルと比較され、図16(e)に示すように増幅器15の出力波形のゼロクロス位置で反転するデジタル信号に変換される。タイミング発生回路17は、コンパレータ14の出力信号の転換位置におけるコンパレータ16の出力信号のレベルを見て、そのときのコンパレータ16の出力信号レベルに応じてその出力レベルを転換し、図16(f)に示すような信号を出力するようになっている。図16の(f)に示す信号は(a)に示す信号と同じ「01101」を表すデジタル信号となっており、磁気カードに記録されているデータ信号が復調されることがわかる。
【0007】
【発明が解決しようとする課題】
以上説明したような磁気カードに記録されているデータの読み取り性能は、磁気記録媒体であるカードの状態や、磁気ヘッドの汚れや摩耗、モータなどからの電気的なノイズ、機械的なノイズなどの影響を受ける。すなわち、磁気カード等の記録媒体は、繰り返し使用されることによって様々な負荷を受ける結果、記録媒体の表面の汚れや傷により、本来存在するはずのない位置に信号が発生することがある。また、記録媒体に記録される基本データは1回書き込まれると使用を繰り返しても書き換えられることはないため、繰り返し使用して磁気ヘッドとの接触を繰り返すうちに磁力が減衰し、再生に必要な信号強度が不足してデータの読み取りの信頼性が低下する。さらに、磁気ヘッドの摩耗によって磁気ヘッドの分解能が低下し、ピークシフトが発生する。
【0008】
このようにしてデータの読み取りに異常が生じると、媒体に記録されているデータの読み取り性能を低下させる要因となり、データを正しく判別することができなくなる。また、本来存在するはずのないピークが存在したり、本来存在すべき位置にピークが存在しなかったりすると、異常波形が忠実にデコードされることを原因としてビット数を誤って読み取り、以降のビットの区切りにもずれが生じ、この影響が後続の文字区間に波及し、後続の文字区間でも誤読を引き起こす原因となる。
【0009】
前述のFM変調方式では、図3に示すように、1ビットの時間間隔Tに関して一定の基準時間αT(ただし、0≦α≦1)を設定し、この基準時間αT内に読み取り信号の極性反転があるかないかで2値データが「0」かまたは「1」かの判定を行うようになっている。すなわち、基準時間αT内に極性反転がなければ周波数Fで2値データは「0」、基準時間αT内に極性反転があれば周波数2Fで2値データは「1」と判定する。これによってある程度のピークシフトによる影響を回避することができる。
【0010】
しかしながら、図3に示す例のように、基準時間αTを設定し、その時間αT内に読み取り信号の極性反転があるかないかで2値データを判定するようにしても、前述のような、本来存在するはずのないピークが存在したり、本来存在すべき位置にピークが存在しなかったりすることによって誤読を生じることがある。
【0011】
そして、ビット列中のたった一つのビットだけについて誤読を生じたとしても、この誤読が後続のビット列にも波及し、誤った判定をすることになる。そこで本発明者らは、一つのビットの誤読が後続のビット列に波及することのないようにしたデータの復調方法について先に特許出願した。特願平11−88048号の明細書および図面に記載されている発明がそれで、個々のビットの2値データを判定するに当たり、1文字分の文字時間間隔を合理的な方法で区切り、この1文字分の文字時間間隔という要素を加味することによって、誤読を大幅に減らし、信頼性の高いデータの復調を可能としたものである。
【0012】
また、本発明者らは、ピーク間隔値配列より個々のピーク間隔値を逐次加算して1文字の終端を決定したのち、上記1文字分を構成する個々のピーク間隔値を順方向および逆方向に基準値と比較して二つのビット配列を求め、この、二つのビット配列に基づいて1文字分のデータの復調をすることを提案している。こうすれば、信頼性の高いデータの復調が可能である。
【0013】
本発明者らはまた、各文字の理想的な再生信号波形を基準波形データとして予め用意しておき、磁気記録データに対応する再生信号を、記録データの1文字に相当する長さを単位としてセグメントに区切り、少なくとも一つのセグメントについて、上記基準波形データのそれぞれとパターンマッチングによって比較し、各基準波形データとの類似性の程度を判別して、最も高い類似性を示した基準波形データに対応する文字を、上記セグメントの表す文字であると判定することを特徴とするデータの復調方法について提案した。これは現在特許出願中である。
【0014】
上記の各出願にかかる発明および上記提案にかかる発明によれば、データ復調の信頼性を高めることができる。しかしながら、上記出願や提案にかかる発明によれば、文字が一意的に限定できたとしても、その確からしさはわからない。また、文字候補が複数あって一意的に決まらない場合は、どの文字候補も同等の可能性があるものとして取り扱わなければならず、誤りのない文字に絞り込む確率をより高めるには、さらに改良する余地がある。
【0015】
本発明は上記のような従来技術に鑑みてなされたもので、ビット変換の結果につき、その確からしさあるいは確度を得ることができるようにすることによって、対処法を明確にすることができ、結果として、誤読を大幅に減らすことができ、信頼性の高いデータの復調を可能としたデータの復調方法を提供することを目的とする。
【0016】
本発明はまた、ビット変換によってセグメントの文字を一意的に決定することができなかった場合でも、文字候補を絞り込むことができるようにして、データの読み取り性能を向上させることができるデータの復調方法を提供することを目的とする。
【0017】
【課題を解決するための手段】
上記の目的を達成するために本発明は、請求項1に記載されているように、高低2種の周波数信号の組み合わせによる周波数変調信号で2値データを形成し、この2値データの所定ビット数により1文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出して2値データを復調するようにしたデータの復調方法であって、上記再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換して1文字分のデータの復調をするとともに、再生される各文字の理想的な再生波形を基準波形データとして予め用意しておき、上記ピーク間隔値が上記基準値より小さい場合または大きい場合に、1文字分を構成する個々のピーク間隔値のデータと上記基準波形データとのパターンマッチングを行い、その類似度により該当する文字を判定するようにしたことを特徴とする。
【0018】
上記基準値は、請求項2記載の発明のように、上記基準値は、理想的なピーク間隔値をもとにある範囲を有するように定められた値であり、ピーク間隔値が上記基準値より小さい場合あるいは大きい場合に波形異常があることを検出し、この波形異常をパリティビットの条件から修正して該当する文字を判定するとともに、この該当文字を、パターンマッチングによって得られる該当文字と比較し、これら二つの該当文字が互いに異なる場合は、パターンマッチングによる類似度が所定のレベル異常のとき、このパターンマッチングによって得られる該当文字を選択するようにするとよい。
【0019】
請求項3記載の発明のように、請求項1記載の発明において、1文字分を構成する個々のピーク間隔値を順方向および逆方向に基準値と比較して二つのビット配列を求め、この二つのビット配列が一致しない場合に、それぞれのビット配列に基づき復調して該当する文字候補とするとともに、この文字候補をパターンマッチングによって得られる該当文字と比較し、比較が一致する文字を該当文字と判断するようにするとよい。
【0020】
請求項4記載の発明のように、再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測してピーク間隔値配列を生成し、このピーク間隔値配列より個々のピーク間隔値を順次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換し、1文字分のデータとするとよい。
【0021】
請求項5記載の発明のように、再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測し、ピーク間隔値配列をカードリーダに設けたメモリに保存し、このメモリに保存されたデータを、上記カードリーダを制御する上位装置に送信し、この上位装置において、上記ピーク間隔値配列より個々のピーク間隔値を逐次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換するようにするとよい。
【0022】
【発明の実施の形態】
以下、図1〜図13を参照しながら本発明にかかるデータの復調方法の実施の形態について説明する。本発明にかかる方法を実行するハードウエアの例を図1に機能ブロック図で示す。図1において、磁気記録媒体である磁気カード20の磁気ストライプには、Fおよび2Fという高低2種類の周波数信号の組み合わせによる周波数変調信号で形成された2値データが記録されている。2値データは、所定ビット数とパリティビットとにより1文字分のデータを形成するようになっていて、複数文字分のデータが記録されている。図1の例は磁気カード20の記録信号を再生する場合の例で、磁気カード20を記録再生装置に挿入すると、搬送ローラ26が図示されないモータによって回転駆動され、搬送ローラ26は磁気カード20の磁気ストライプを磁気ヘッド21に摺接させながら搬送し、磁気ヘッド21は磁気ストライプに記録されているデータ信号を読み出すようになっている。
【0023】
磁気ヘッド21の出力信号は増幅器22で必要な信号強度まで増幅され、アナログ・デジタル変換器23によってサンプリングされデジタル信号に変換され、バッファメモリ24に記憶されるようになっている。バッファメモリ24の記憶データはCPU25において読み出され、復調処理が実行される。以下、CPU25における復調処理について説明する。
【0024】
図2に示すように、初めにステップ201(以下ステップについては「S40」「S201」のように表す)において波形の平滑化を行い、スパイク状ノイズを除去する。S202において逐次波形のピークを検出し、ピークを検出するごとに一つ前のピークとの時間間隔を計測する。次にS203でデータビットを検出する。データビット検出は記録データの開始を示すデータを検出することにより行うことができる。以上の処理を、LRCを復調するまで、すなわち磁気カードの磁気ストライプ全長にわたって実行し、ピーク間隔データの配列を生成する。
【0025】
図4、図7に読み取り波形の例とそのピーク間隔データ(以下「ピーク間隔値」という)配列の例を示す。磁気カードは、例えばISO規格では第1、第3トラックは記録密度210BPIであり、カード搬送速度を190mm/sとすれば、1ビットに相当する時間は636.6μSである。アナログ波形をA/D変換するときのサンプリングレートを10μsとすれば、1ビットに含まれるデータ点数の理論値は63.7個になる。図4の波形の例では、ピーク間隔値配列は「64」「65」「33」「31」「33」……となっている。
【0026】
上記ピーク間隔値配列に基づいてセグメンテーションを行う。セグメンテーションとは、再生波形データを文字に対応するように区切ることをいう(図2、S204参照)。このセグメンテーションの手順の具体例を図3、図4、図5を参照しながら説明する。図3、図4に示す波形はISO第3トラックの例である。ISO第3トラックは4個のデータビットと1個のパリティビットとの合計5ビットで1文字を表す。奇数パリティであるため、ビット0は偶数個しか許されず、従ってセグメントを構成するピーク間隔値の個数は、6、8、10の3通りに限定される。
【0027】
ここで、ピーク間隔値の個数が6ということは、「0」が4個、「1」が1個で構成される文字符号に対応する。ピーク間隔値の個数が8ということは、「0」が2個、「1」が3個の場合であり、ピーク間隔値の個数が10ということは、5ビット全てが「1」の文字符号に対応する。図4において、ピーク間隔値配列の第3番目以降が対象セグメントであるとすれば、この例では、ピーク間隔値の個数が6の場合、6個のピーク間隔値の累計は225であり、ピーク間隔値の個数が8の場合、8個のピーク間隔値の累計は323であり、ピーク間隔値の個数が10の場合、10個のピーク間隔値の累計は388である。
【0028】
上記セグメンテーションの動作例を図5に示す。図5において、まず、ピーク間隔値累計をゼロにする(S301)。次にS302で基準セグメント長を設定する。これは、前述の例ように5ビットで記録データの1文字分を表すようになっているため、基準ビットセル長の5倍に設定する。基準ビットセル長は、例えば、連続する「0」で構成される同期ビット部分の波形を計測するなどして求める。
【0029】
次に、S303において符号化するセグメントの最初のピーク間隔値をピーク間隔値累計に加算する。続いてS304でピーク間隔値累計が基準セグメント長の0.9倍を超えているかどうかを判断する。最初のピーク間隔値を加算した段階では基準セグメント長の0.9倍を超えることはないので、S307で次のピーク間隔データを取り出し、これをS303に戻ってピーク間隔値累計に加算する。以上の動作を数回繰り返すことによって、S304での判断でピーク間隔値累計が基準セグメント長の0.9倍を超えるので、そのときはS305でここまで加算してきたピーク間隔値の個数が偶数であるかどうかチェックする。
【0030】
S306の判断で偶数でなければ、さらにS307で次のピーク間隔データを取り出し、S304,S305を繰り返す。S305でピーク間隔値の個数が偶数と判断されれば、S306に進み、ピーク間隔値累計が基準セグメント長の1.1倍より小さいかどうかをチェックする。ピーク間隔値累計が基準セグメント長の1.1倍より小さければ、これでセグメンテーションを打ち切る。ピーク間隔値累計が基準セグメント長の1.1倍より大きければ、ピーク間隔値累計が大きすぎると判断できるため、S308で最後の2個分のピーク間隔値データをピーク間隔値累計から差し引くとともにピーク間隔値の個数を表すポインタの値を「2」だけ減じる。2個分のピーク間隔値データを差し引く理由は、ピーク間隔値の個数は偶数個しかとりえないという条件を満足させるためである。
【0031】
このようにして1文字分のセグメントが得られる。このセグメンテーション動作を図4の例に当てはめてみると、図4の例では基準ビットセル長が「63」であり、従って基準セグメント長は「315」となる。ピーク間隔値を8個まで加算した段階でその累計値は「323」となり、基準セグメント長の0.9倍以上、1.1倍以下の条件を満足することになり、このセグメントが採用される。
ピーク間隔値の累計個数を、上記のようにして基準セグメント長の0.9〜1.1倍の範囲に入るように決定する根拠は、この範囲内にあれば、1文字分のセグメントがほとんど誤りなく得られることが実験的にわかったからである。
【0032】
このようにして切り出されたセグメントに関して、この構成要素である個々のピーク間隔データをチェックし、バイナリ値に変換する。この操作をここではビット変換と呼ぶ。図2に示すS205がそれで、このビット変換の詳細を図6に示す。図6のビット変換について、異常な波形を含む図7の例を用いながら説明する。図7の例では、ピーク間隔データが「19」「21」「32」「29」……「34」「69」となっていて、異常なデータを含む。まずS40においてピーク間隔値累計を「0」にリセットし、未処理ビット数を7または5にセットする。次にS41で、基準セル幅を、(セグメント長−ピーク間隔値累計)/未処理ビット数、の演算を行うことによって設定し、基準境界値を、ピーク間隔値累計+基準セル幅、の演算を行うことによって設定する。また、しきい値Aを、基準境界値−基準セル幅×0.3、の演算を行うことによって設定し、しきい値Bを、基準境界値+基準セル幅×0.3、の演算を行うことによって設定する。
【0033】
図7の例ではセグメント長は「322」であり、当初、ピーク間隔値累計はゼロ、未処理ビット数の初期値は「5」であるから、S41で、基準セル幅を322/5を演算して「64」と設定する。また、ピーク間隔値累計はゼロであるから、基準境界値は「64」となる。この結果、しきい値Aは、64−64×0.3=44、しきい値Bは、64+64×0.3=83となる。
【0034】
図6のS42において、サブビットカウンタを0にリセットし、次にS43でピーク間隔値をピーク間隔値累計に加算し、ピーク間隔値ポインタを更新する。図7の例でセグメント中の最初のピーク間隔値は「19」でありこれがピーク間隔値累計に加算される結果、累計は「19」となる。ピーク間隔値ポインタは「1」に更新される。上記ピーク間隔値累計「19」はS44でしきい値Aと比較され、上記しきい値Aの「44」よりも小さいので、基準セル幅内にピークがあったことを意味することになり、S42’においてサブビットカウンタをインクリメント(ここでは0→1)したあとS43に戻る。S43ではピーク間隔値累計に次のピーク間隔値「21」が加算されて「40」となる。これは、しきい値A=44よりも大きく、しきい値B=83よりも小さいため、S42’においてサブビットカウンタをインクリメント(ここでは1→2)したあとS43に戻る。
【0035】
ピーク間隔値累計は、これに次のピーク間隔値「32」が加算されて「72」となる。この値はしきい値Aよりも大きく、しきい値Bよりも小さいので、S44、S45、S46の順に進み、S46でサブビットカウンタが0であるかどうかが判断される。上記のようにS42’においてサブビットカウンタはインクリメントされて「2」となっているため、S51が選択され、最初のバイナリ値として「2」が得られる。S52で未処理ビット数が「1」引かれて「5」から「4」に変化する。この未処理ビット数は「0」ではないので、S53での判断を経てS54に進み、バイナリ値は「3」ではないため、S54を経てS41に戻る。
【0036】
S41では前述のように基準セル幅、基準境界値、しきい値A、しきい値Bを演算する。この場合、基準セル幅は(322−72)/4=62、基準境界値は72+62=134、しきい値Aは134−62×0.3=116、しきい値Bは134+62×0.3=152となる。S43ではピーク間隔値累計にピーク間隔値29が加算されて72+29=101となる。上記の処理と同様にS44,S42’の順に実行され、S43に戻り、ピーク間隔値累計「101」に「35」が加算され、ピーク間隔値累計は「136」となる。以下、S44,S45,S46,S47,S50の順に実行され、2番目のバイナリ値=1が得られる。S52で未処理ビット数が「4」から「3」に変化し、従ってその結果は「0」ではなく、バイナリ値も「3」ではないので、S54を経てS41に戻る。
【0037】
S41では、基準セル幅=(322−136)/3=62、基準境界値=136+62=198、しきい値A=198−62×0.3=180、しきい値B=198+62×0.3=216が演算され、それぞれの値がセットされる。以下、S43,S44,S42’,S43,S44,S45,S46,S47,S50の順に実行され、3番目のバイナリ値=1が得られる。以下、未処理ビット数がゼロとなるまで処理が実行され、4番目のバイナリ値=1、5番目のバイナリ値=0が得られる。
【0038】
このようにしてビット変換されることにより、2値で表されるビット列が得られる。上記の例で得られるビット列は「21110」であり、これをもとに文字コードに変換する。この例では第1ビットが「2」になっていて異常を示しており、これ以外の4個のビットは正しいものとみなすことにすると、奇数パリティという制約条件から、この1文字分に含まれるビット「0」の個数は偶数、ビット「1」の個数は奇数でなければならない。上記正常な4個のビットの内訳は、ビット「0」が1個、ビット「1」が3個であるから、残りの1ビットは「0」であることがわかる。従って、本来のビット列は「01110」であり、このセグメントに対応する文字は「OEH」であると推定することができる。
【0039】
図2にS211で示されるように、LRCを復調するまで、セグメンテーション、ビット変換、コード変換操作が繰り返され、LRC復調が終わると、最後にS212でLRCチェック、すなわち全体としての復調結果の成否判定が行われる。
【0040】
以上説明したように、再生した信号を記録データの1文字分の長さに相当するセグメントに切り出し、このセグメントを一つの処理単位として、この構成要素であるピーク間隔値の大小関係を基準値と比較し、「0」と「1」からなるビット列を得てこのセグメントに対応する文字コードを得るようにし、1文字分の文字時間間隔という要素を加味しながら個々のビットの2値データを復調するようにしたため、従来のように個々のビットを単位としてビット列を得る場合に比べて、誤読を大幅に減らすことができ、信頼性の高いデータの復調方法を得ることができるとともに、これに加えて、1文字分を構成する個々のピーク間隔値を基準値と比較することにより、2値データからなるビット配列に変換するため、ピーク間隔値が極端に小さい場合や極端に大きい場合もこれを検出することができ、この異常なピーク間隔値に対応するビット値を導入することにより、現に評価中のセグメントに波形異常が存在することを検出することができる。しかしながら、これでもまだ、以下に説明するように誤読を生じる場合がある。
【0041】
前記セグメンテーションとビット変換の各処理を、磁気ストライプについて実際に行った状態の一部を図8に示す。図8において、Sg1,Sg2,Sg3……はそれぞれセグメンテーションによって切り出された1文字分のセグメントを示し、それぞれのセグメントでのビット変換によるデコード結果を「1」と「0」のビット列で示している。また、各セグメントにおけるピーク間隔値の配列を図9に示す。例えば、セグメントSg1についてはビット変換によってビット列「10011」が読み出されている。正常なピーク間隔値の範囲を、図6について説明したように所定の範囲、例えば基準ビットセル幅の0.7倍以上1.3倍以下に設定し、この範囲を外れるものを異常なピーク間隔値を有する可能性があるものと判定する。
【0042】
基準セル幅、基準境界値、しきい値A、しきい値Bを前述のように設定し、各セグメントにつきビット変換を実行する。セグメントSg1のピーク間隔値は、図9に示すとおり「33、32、64、65、34、30、32、32」の8個であり、いずれも上記の範囲内にあるため、異常ピーク間隔値なしと判断され、上記ビット列「10011」が採択される。これはLRCではないので、次のセグメンテーションに移行する。次のセグメントSg2ではビット列「00111」が読み出され、ピーク間隔値はやはり全て正常条件を満たすため、上記ビット列が採択される。
【0043】
こうして、全てのセグメントのピーク間隔値配列について判定されるが、図8、図9の例においてセグメントSg4のビット列は「11100」であり、ピーク間隔値配列を見ると、「33、31、24、23、23、63、64、65」となっていて、この8個のピーク間隔値のうち正常条件を満たさないものものが「24、23、23」の3個含まれている。したがって、このセグメントSg4には、波形異常が存在することになる。このセグメントSg4の2番目のビットは、本来、このビット区間内にピークが存在するはずはなかったものであるが、何らかの原因によって余分な二つのピークが発生してしまったものと推測される。
【0044】
上記異常波形につき何ら対策をとることなく放置すれば、誤読を生じることになる。そこで本発明では、再生される各文字の理想的な再生波形を基準波形データとして予め用意しておき、ピーク間隔値が上記基準値より小さい場合または大きい場合に、1文字分を構成する個々のピーク間隔値のデータと上記基準波形データとのパターンマッチングを行い、その類似度により該当する文字を判定するようにした。パターンマッチングは、本発明者らが発明し、現在特許出願中の方法を用いることができる。以下、その概略を説明する。
【0045】
パターンマッチングの機能部分として、テンプレート、マッチング演算手段、データ判別手段などがあり、これらの機能部分は、図1に示すCPUあるいはマイクロコンピュータに持たせることができる。テンプレートは、例えば16種類の文字コードデータのそれぞれに対応する理想的な基準波形データを予め記憶保持している。マッチング演算手段は、バッファに保持されているセグメントデータと上記テンプレートに記憶保持されている各基準波形データとを比較し、相関係数を用いてパターンマッチングを行う。上記データ判別手段は、上記相関係数を判別し、最大相関係数に対応する文字コードデータを再生データとしてセグメントデータに割り当てる。
【0046】
上記パターンマッチングをより具体的に説明する。図10に示すような再生信号波形Aを、前述のセグメンテーションによって、5ビットごとに、ピークを起点として区分し、1文字分の再生信号波形Aの一部分をセグメントSnとして切り出す。次に、セグメントSnを、予めテンプレートに記憶されている16種類の基準波形データによって表される基本波形パターンT0〜T15と比較照合する。セグメントSnと16種類の基本波形パターンT0〜T15のそれぞれとのパターンマッチングによって、相関係数r0〜r15を演算して行う。相関係数の演算は次の式による。
【0047】
【0048】
次に、算出された相関係数の中から最大相関係数rmを見つける。切り出したセグメントSnの開始ピーク点の極性が、照合対象の基準波形パターンの開始ピークの極性と異なる場合は、最大相関係数rmが負となる場合がある。従って、類似度としては、最大相関係数の絶対値を採用すればよい。次に、最大相関係数rmが得られた基本波形パターンに対応する文字をセグメントSnに割り当てる。以上のようにしてパターンマッチングを行い、類似度を相関係数で表すことができる。
【0049】
図9は、図8に示す再生波形の各セグメントについて、パターンマッチングを行い、各セグメントにつき相関係数を演算してこれを表したものである。その結果、文字01Hに関して最も高い相関係数0.888を示している。図2に戻って、S209により前述のビット変換の結果によって得られる文字とパターンマッチングにより得られる文字を比較し、同じかどうかを判断する。パターンマッチングにより得られる文字は01Hで、ビット変換の結果によって得られる文字は07Hとは異なっており、また、相関係数は0.8以上であるから、S210においてパターンマッチングの結果を優先して採択し、このセグメントの文字は01Hと決定する。
【0050】
以上説明した実施の形態によれば、再生信号の各ピーク間の時間間隔を計測し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換して1文字分のデータの復調をするとともに、ピーク間隔値が上記基準値より小さい場合または大きい場合は、波形異常と判断し、1文字分を構成する個々のピーク間隔値のデータと上記基準波形データとのパターンマッチングを行い、その類似度により該当する文字を判定するようにしたため、ビット変換のみでは正しく判定することができない異常波形を含む場合であっても、正しく文字を判定することができ、データ復調の信頼性をさらに高めることができる。
【0051】
また、1文字分を構成する個々のピーク間隔値と比較する基準値は、理想的なピーク間隔値をもとにある範囲を有するように定められた値であり、ピーク間隔値が上記基準値より小さい場合あるいは大きい場合に波形異常があることを検出し、この波形異常をパリティビットの条件から修正して該当する文字を判定するとともに、この該当文字を、パターンマッチングによって得られる該当文字と比較し、これら二つの該当文字が互いに異なる場合は、パターンマッチングによる類似度が所定のレベル以上のとき、このパターンマッチングによって得られる該当文字を選択するようにしたため、データ復調の信頼性をより一層高めることができる。
【0052】
以上説明した実施の形態は、記録媒体を読み取ることによって得られる信号を一方向に変換処理してビット配列を得るようになっていたが、双方向に変換処理してビット配列を得るようにすれば、さらにデータ復調の信頼性を高めることができる。図11に示す実施の形態はその例で、S204でセグメンテーションを行った後、S205で前述のようにビット変換を行う。このビット変換を順方向ビット変換とする。次に、S206で逆方向ビット変換を行う。逆方向ビット変換の方法は、順方向ビット変換の方法と同じで、1文字分のセグメントを構成するピーク間隔データ配列の最終要素から始めて配列番号が減る方向に処理を進め、第1要素までで終了するように実行し、ビット変換された2値の配列が、順方向の配列に対応するように、前後逆向きに並べ替える。次に、S207でビット列が正常であるか、そして順方向ビット変換の結果と逆方向ビット変換の結果とが一致するかどうかを判断する。
【0053】
正逆ビット変換結果が一致する場合は、順方向ビット変換の結果または逆方向ビット変換の結果を採用する。正逆ビット変換結果が一致しない場合は、波形に異常があることを検出していることになるので、S209でも次候補C={c1,c2,…,cn}を形成し、続いてS208でパターンマッチングを行い、相関係数が大きいものから順に4個選び、文字候補D={d1,d2,…,dn}を形成する。次にS210で文字候補の絞り込みを行う。ここでは、上記CとDの積集合E=C∩Dを求め、Eをもってこのセグメントのデコード結果とする。
【0054】
以上の動作を、図12、図13に示す例を用いて具体的に説明する。図12に示す一つのセグメントの波形は、異常な波形を含むものであって、そのピーク間隔値の配列は図12の下部に記されているとおりである。この波形を順方向にビット変換すると、ビット列「10110」が得られ、逆方向にビット変換すると、ビット列「11100」が得られる。この二つのビット配列は一致しないため、波形異常が検出される。この二つのビット配列によって得ることができる文字は図13に示すように01H,07H,0BH,0DHの4個であり、これを文字候補の集合として、C={01H,07H,0BH,0DH}を得る(S209)。次にパターンマッチングを行うと、16個の文字に対して図13に示すように16個の相関係数が得られるので、相関係数が大きいものから順に4個選んで、文字候補の集合D={07H,01H,1FH,04H}を形成する。ゆえに、CとDの積集合E=C∩D={01H,07H}となり、このセグメントのデコード結果として、2種類の文字候補「01H」および「07H」に絞り込むことができる。
【0055】
以上説明した実施の形態によれば、ビット列を形成する操作を正逆両方向から行って2種類のビット列を得、それらが一致するかどうかによりセグメントの正否を判定するようにしたため、そのセグメントが正常であるかどうかを判定することができるとともに、一方向のビット列からは判定することができなかった異常波形をも、推定によって読み取ることが可能となり、データの復調性能を格段に向上させることができる。さらに、正逆両方向からのビット変換によって波形異常が検出され、文字を判定することができない場合は、それぞれのビット配列に基づき復調して得られる文字候補と、パターンマッチングによって得られる該当文字とを比較し、比較が一致する文字を該当文字であると判断するため、データ復調の信頼性をさらに高めることができる。
【0056】
次に、図14に示す別の実施の形態について説明する。図14において、磁気カード読取装置、すなわちカードリーダ30は、図1について説明した構成部分、すなわち、磁気ヘッド21、増幅器22、アナログ・デジタル変換器23、バッファメモリ24、CPU25、搬送ローラ26を有してなる。カードリーダ30はまた波形データ転送手段27を有し、カードリーダ30側で得たデジタル波形データを上位制御装置40に転送するようになっている。上位制御装置40はCPU32を有し、CPU32に内蔵され、あるいはCPU32に外付けされたRAM33は、機能ブロック別に、波形前処理手段34、ピーク間隔計測手段35、文字判別手段36を有してなる。これらの機能ブロックは、ピーク間隔計測、セグメンテーション、ビット変換、パターンマッチングなどのデータ復調手段を構成している。また、これらの機能ブロックは、ダイナミックリンクライブラリまたはデバイスドライバ38の形態で提供される。
【0057】
図14のように構成された実施の形態は、アナログ・デジタル変換によってデジタル波形データを得、デジタル化した再生信号の各ピーク間の時間間隔を計測し、ピーク間隔値配列をバッファメモリ24に保存するまでの制御を、カードリーダ30側のCPU25が実行し、その後のデジタル波形データを上位制御装置40に送信するものである。上位制御装置40は、上記機能別のサブシステムを利用しながら、以後の復調動作、すなわち、ピーク間隔値配列より個々のピーク間隔値を逐次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換する動作、パターンマッチング、さらには、これらに付随する各種制御など、必要な機能を遂行する。
【0058】
上記のような、ピーク間隔値配列より個々のピーク間隔値を逐次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換する動作や、パターンマッチングを行うためには、相当大きな処理能力を備える必要があり、カードリーダ内だけでこのような処理を行わせるには処理能力が不足しがちである。その点図14に示す実施の形態によれば、カードリーダの上位の制御装置で復調処理を行うことができるため、カードリーダ事態の処理能力を高める必要はなく、処理系全体としての処理性能の最適化を実現することができる。
【0059】
本発明にかかるデータの復調方法は、モータ駆動式磁気カードリーダにも適用できるし、手動式磁気カードリーダにも適用することができる。
【0060】
【発明の効果】
請求項1記載の発明によれば、再生信号の各ピーク間の時間間隔を計測し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換して1文字分のデータの復調をするとともに、ピーク間隔値が上記基準値より小さい場合または大きい場合は、波形異常と判断し、1文字分を構成する個々のピーク間隔値のデータと上記基準波形データとのパターンマッチングを行い、その類似度により該当する文字を判定するようにしたため、ビット変換のみでは正しく判定することができない異常波形を含む場合であっても、正しく文字を判定することができ、データ復調の信頼性をさらに高めることができる。
【0061】
請求項2記載の発明によれば、上記基準値は、理想的なピーク間隔値をもとにある範囲を有するように定められた値であり、ピーク間隔値が上記基準値より小さい場合あるいは大きい場合に波形異常があることを検出し、この波形異常をパリティビットの条件から修正して該当する文字を判定するようにしたため、波形異常を的確に判定して修正することができるし、これに加えて、上記該当文字を、パターンマッチングによって得られる該当文字と比較し、これら二つの該当文字が互いに異なる場合は、パターンマッチングによる類似度が所定のレベル以上のとき、このパターンマッチングによって得られる該当文字を選択するようにしたため、データ復調の信頼性をさらに高めることができる。
【0062】
請求項3記載の発明によれば、1文字分を構成する個々のピーク間隔値を順方向および逆方向に基準値と比較して二つのビット配列を求め、この二つのビット配列が一致しない場合は、それぞれのビット配列に基づき復調して該当する文字候補とするとともに、この文字候補をパターンマッチングによって得られる該当文字と比較し、比較が一致する文字を該当文字と判断するようにしたため、データ復調の確実性を一層高めることができ、データ復調の信頼性をさらに高めることができる。
【0063】
請求項4記載の発明によれば、再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測してピーク間隔値配列を生成し、このピーク間隔値配列より個々のピーク間隔値を順次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換し、1文字分のデータとするようにしたため、ピーク間隔値配列からのデータ復調の確実性を高めることができる。
【0064】
請求項5記載の発明によれば、カードリーダの上位の制御装置で復調処理を行うことができるため、カードリーダ事態の処理能力を高める必要はなく、処理系全体としての処理性能の最適化を実現することができる。
【図面の簡単な説明】
【図1】本発明にかかるデータの復調方法の実施の形態を示す機能ブロック図である。
【図2】同上実施の形態によるデータ復調動作を示すフローチャートである。
【図3】F2F変調方式を説明するための波形図である。
【図4】データ復調における再生波形の例とそのピーク間隔データ配列の例を示す波形図である。
【図5】本発明における1文字分のセグメンテーションの例を示すフローチャートである。
【図6】本発明におけるビット変換の例を示すフローチャートである。
【図7】余分なピークを含むためにデータ復調における誤読を生じる場合の例を説明するための波形図である。
【図8】上記本発明の実施の形態におけるビット変換動作とパターンマッチングを行う場合の再生波形の例と復調結果とを示すタイミングチャートである。
【図9】同上ビット変換動作とパターンマッチングによる復調動作の相互の関係を示す相関図である。
【図10】本発明に適用可能なパターンマッチングの例を示す波形図である。
【図11】本発明にかかるデータの復調方法の別の実施の形態を示すフローチャートである。
【図12】同上実施の形態によって正常に処理することができ、従来のデータの復調方法では誤読を生じてしまう波形の例を示す波形図である。
【図13】同上実施の形態によるビット変換動作とパターンマッチングによる復調動作の相互の関係を示す相関図である。
【図14】本発明にかかるデータの復調方法の別の実施の形態を示す機能ブロック図である。
【図15】従来のデータの復調方法の例を示す機能ブロック図である。
【図16】同上従来のデータの復調方法の動作を説明するためのタイミングチャートである。
【符号の説明】
20 磁気カード
21 磁気ヘッド
22 増幅器
23 AD変換器
24 メモリ
25 CPU
30 カードリーダ
40 上位制御装置
Claims (5)
- 高低2種の周波数信号の組み合わせによる周波数変調信号で2値データを形成し、この2値データの所定ビット数により1文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出して2値データを復調するようにしたデータの復調方法であって、
上記再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換して1文字分のデータの復調をするとともに、
再生される各文字の理想的な再生波形を基準波形データとして予め用意しておき、上記ピーク間隔値が上記基準値より小さい場合または大きい場合に、1文字分を構成する個々のピーク間隔値のデータと上記基準波形データとのパターンマッチングを行い、その類似度により該当する文字を判定することを特徴とするデータの復調方法。 - 基準値は、理想的なピーク間隔値をもとにある範囲を有するように定められた値であり、ピーク間隔値が上記基準値より小さい場合あるいは大きい場合に波形異常があることを検出し、この波形異常をパリティビットの条件から修正して該当する文字を判定するとともに、この該当文字を、パターンマッチングによって得られる該当文字と比較し、これら二つの該当文字が互いに異なる場合は、パターンマッチングによる類似度が所定のレベル以上のとき、このパターンマッチングによって得られる該当文字を選択する請求項1記載のデータの復調方法。
- 1文字分を構成する個々のピーク間隔値を順方向および逆方向に基準値と比較して二つのビット配列を求め、この二つのビット配列が一致しない場合は、それぞれのビット配列に基づき復調して該当する文字候補とするとともに、この文字候補をパターンマッチングによって得られる該当文字と比較し、比較が一致する文字を該当文字と判断する請求項1記載のデータの復調方法。
- 再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測してピーク間隔値配列を生成し、このピーク間隔値配列より個々のピーク間隔値を順次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換し、1文字分のデータとする請求項1記載のデータの復調方法。
- 再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測し、ピーク間隔値配列をカードリーダに設けたメモリに保存し、このメモリに保存されたデータを、上記カードリーダを制御する上位装置に送信し、この上位装置において、上記ピーク間隔値配列より個々のピーク間隔値を逐次加算して1文字の終端を決定し、1文字分を構成する個々のピーク間隔値を基準値と比較することにより2値データからなるビット配列に変換する請求項4記載のデータの復調方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10506599A JP3681570B2 (ja) | 1999-04-13 | 1999-04-13 | データの復調方法 |
DE60037698T DE60037698D1 (de) | 1999-03-30 | 2000-03-27 | Datendemodulationsverfahren und -gerät für magnetische Karte. |
EP00302462A EP1041556B1 (en) | 1999-03-30 | 2000-03-27 | Data demodulating method and apparatus for magnetic cards. |
AT00302462T ATE383645T1 (de) | 1999-03-30 | 2000-03-27 | Datendemodulationsverfahren und -gerät für magnetische karte. |
US09/538,180 US6757342B1 (en) | 1999-03-30 | 2000-03-30 | Data demodulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10506599A JP3681570B2 (ja) | 1999-04-13 | 1999-04-13 | データの復調方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000298948A JP2000298948A (ja) | 2000-10-24 |
JP3681570B2 true JP3681570B2 (ja) | 2005-08-10 |
Family
ID=14397570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10506599A Expired - Fee Related JP3681570B2 (ja) | 1999-03-30 | 1999-04-13 | データの復調方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3681570B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5163633B2 (ja) * | 2009-12-28 | 2013-03-13 | エヌイーシーコンピュータテクノ株式会社 | 磁気読み取り装置、磁気読み取り方法およびプログラム |
JP5752508B2 (ja) * | 2011-07-25 | 2015-07-22 | 日本電産サンキョー株式会社 | 磁気データの復調方法および磁気データの復調装置 |
JP5978585B2 (ja) * | 2011-10-07 | 2016-08-24 | セイコーエプソン株式会社 | 周波数変調信号の2値データの読取方法、読取装置及び読取プログラム |
-
1999
- 1999-04-13 JP JP10506599A patent/JP3681570B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000298948A (ja) | 2000-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6674786B1 (en) | Data demodulation | |
KR970004683B1 (ko) | 자기 데이타 캐리어로부터 판독된 에프투에프(f2f)) 신호의 복호화 방법 및 장치 | |
US6493162B1 (en) | Frame synchronization for viterbi detector | |
EP0441280A1 (en) | Method and apparatus for decoding two frequency (F/2F) data signals | |
US20080133999A1 (en) | Error correcting apparatus and error correcting method | |
US7672513B2 (en) | Methods, apparatus, computer program and storage medium for position decoding | |
KR960002148B1 (ko) | 마그네트기록카드의 이진정보 해독방법 | |
US6757342B1 (en) | Data demodulation | |
JP3778742B2 (ja) | データの復調方法およびデータの復調装置 | |
JP3681570B2 (ja) | データの復調方法 | |
US5452143A (en) | Apparatus and method for reading binary data from a magnetic stripe | |
JP3748496B2 (ja) | データの復調方法 | |
CN112395895A (zh) | 磁条软件解码方法、装置及计算机可读存储介质 | |
US6826245B1 (en) | Optimal location of a digital sync pattern | |
US6600613B1 (en) | Demodulation of magnetically recorded data | |
US6731699B2 (en) | Detector, reproduction system, receiver and method | |
JP3571246B2 (ja) | データの復調方法 | |
JP2001202723A (ja) | 磁気カードリーダ及び磁気データの復調方法 | |
JP2000293961A (ja) | データの復調方法 | |
US20030058557A1 (en) | Data demodulating method for magnetic recording data | |
JP7016749B2 (ja) | 磁気データの復調方法および復調装置 | |
JP6898171B2 (ja) | 磁気記録媒体の読み取り方法及び読取装置並びにプログラム | |
JP2754408B2 (ja) | サーボ情報復調制御方式 | |
JP2576370B2 (ja) | Idマーク読み取り装置 | |
JP5163633B2 (ja) | 磁気読み取り装置、磁気読み取り方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050426 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050506 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050518 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080527 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080527 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090527 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100527 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110527 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120527 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120527 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130527 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130527 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140527 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |