(57)【特許請求の範囲】
【請求項１】
入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプと、
前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、
前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、
前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、
を備え、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
前記検出手段が、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間の部分的ゲイン不足量を検出することを特徴とする信号処理装置。
【請求項３】
請求項２に記載の信号処理装置において、
前記検出手段は、前記複数の閾値における、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方の順序及び前記複数の閾値に基づき、前記出力信号の部分的ゲインの過不足として、その概算量を算出し、
前記調整手段は、前記部分的ゲインの過不足の概算量に基づいて、部分的ゲインの調整量を決定することを特徴とする信号処理装置。
【請求項４】
センサと、
請求項１乃至３の何れか１項に記載の信号処理装置と、
デコーダと、
を備え、
前記信号処理装置は、前記センサの出力信号を当該信号処理装置の入力信号とし、
前記デコーダは、前記信号処理装置の出力信号を当該デコーダの入力信号とすることを特徴とするバーコードリーダ。
【請求項５】
可変アンプであって、その部分的ゲインを調整することが可能な可変アンプが、入力信号に対応した信号を出力信号として出力するステップと、
複数の比較手段が、前記出力信号のレベルを各比較手段が対応する閾値と比較するステップと、
検出手段が、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出ステップと、
調整手段が、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプによる部分的ゲインを調整するステップと、
を含み、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理方法。
【請求項６】
入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプからの出力信号を調整する出力信号波形調整装置として、コンピュータを機能させるための信号処理用プログラムであって、
コンピュータを、
前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、
前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、
前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、
として機能させるための信号処理用プログラムであって、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードを対象とするリーダの信号処理装置、信号処理方法、及び信号処理プログラムに関する。特に、バーコードを対象とするバーコードリーダ及び磁気カードを対象とする磁気カードリーダの信号処理装置、信号処理方法、及び信号処理プログラムに関する。
【背景技術】
【０００２】
なお、本願で述べるところの「コード」とは、ラベルや容器の外面等に印刷されたコード、特に、バーコードや磁気カードの磁気ストライプ内のコードを含む。
【０００３】
コードを対象とするリーダ、例えば、ラベル等に印刷されたバーコードを対象とする従来のバーコードリーダにおいては、バーコードの印刷のバラつきなどにより、デコードに失敗してしまうことがあった。
【０００４】
これに対し、特許文献１においては、受光素子の受光信号の振幅を所定の間隔で区切った複数の区間の各区間に属する受光信号のデータ数を計数する計数手段と、該計数手段で計数されたデータ数に基づいて、複数の所定の振幅以上の区間に属するデータ数を順次積算して計数値とする積算手段と、前記複数の所定の振幅以上の区間において、前記積算手段で積算された計数値が所定の値より大きい区間が存在するか否かを判断する判断手段を備えることにより、正反射等による極端に大きな振幅があっても、仮定値によって大きな振幅の範囲には有効な受光信号が存在しないと判断し、正反射等の背景環境に影響されることなくバーコードを正確に読み取ることができるバーコード読取装置及びバーコード読取方法が開示されている。
【０００５】
また、特許文献２においては、発光素子の出力に基づき制御されるゲイン調整素子を搭載する自動ゲイン制御方式を用いた回路構成を備えることにより、適正なゲイン制御を行い、バーコード読取装置からバーコードまでの距離の違いから、反射光量に影響が与えられることにより、バーコードの解像度と読み取り範囲が制限されることを解決する信号処理装置が開示されている。
【０００６】
更に、特許文献３においては、バーコードにわたって光ビームを投影して前記バーコードからの反射光を得るために角振動するミラーと、前記反射光から信号を生成する光検出器であって、前記信号は前記ミラーの各角位置に対応する振幅を有する、光検出器と、前記信号が前記ミラーの全ての前記角位置に対して同じ振幅を有するように前記信号を処理する回路とを備える、バーコード走査システムが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２５９０５９号公報
【特許文献２】実用新案登録第３０８０６２４号公報
【特許文献３】特表２００８−５１８３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のバーコードリーダでは、例えばバーコードの一部又は全部においてシンボルを構成する黒バー／白バーのコントラスト比を満足していないなどのバーコードの欠陥によって、バーコードをデコードできずに読み取りエラーとなることがあった。また、バーコードに対して平行にバーコードリーダのセンサを翳すのではなく、高さ方向に傾いて翳すなどの異常なバーコードの読ませ方によっても、読み取りエラーとなることがあった。具体的には、バーコードリーダの光学画像から出力される（電圧）波形の一部又は全部の（電圧）波形の振幅が小さい、又は（電圧）波形の振幅の中心が動作電圧範囲の中心から外れてしまう結果として、（電圧）波形の振幅が小さい部分及び動作電圧範囲外となってしまった部分のデータが欠損してしまうことがあった。
【０００９】
また、例えば、上記特許文献３に係る発明は、単純にミラーの角位置が大きな箇所、すなわちミラーの中心位置から離れた箇所に対応する信号の振幅の小ささを補償するのみであり、バーコード中のコントラスト比を満足していない任意の部分に対応するものではなかった。
【００１０】
そこで、本発明では、ラベル等に印刷されたバーコードの任意の部分の欠陥又はバーコードに対するセンサの翳し方等に由来するバーコードの読み取り失敗を改善する信号処理装置、信号処理方法、及び信号処理プログラムを提供する。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプと、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、を備え、前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理装置が提供される。
【００１２】
本発明の第２の観点によれば、可変アンプであって、その部分的ゲインを調整することが可能な可変アンプが、入力信号に対応した信号を出力信号として出力するステップと、複数の比較手段が、前記出力信号のレベルを各比較手段が対応する閾値と比較するステップと、検出手段が、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出ステップと、調整手段が、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプによる部分的ゲインを調整するステップと、を含み、前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理方法が提供される。
【００１３】
本発明の第３の観点によれば、入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプからの出力信号を調整する出力信号波形調整装置として、コンピュータを機能させるための信号処理用プログラムであって、コンピュータを、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、として機能させるための信号処理用プログラムであって、前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出し、前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理用プログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、コードの欠陥等によってデコードできない場合でも、コードのセンサからの出力信号を調整することによって、デコードを行なうことが可能である。
【図面の簡単な説明】
【００１５】
【図１】通常のバーコードリーダの構成図である。
【図２】本発明の実施形態による信号処理装置の構成を示すブロック図である。
【図３】図２に記載の検出部の構成を示すブロック図である。
【図４】欠陥を含むバーコードラベルを読み取った時のセンサから出力される信号波形と各比較部からの出力信号の図である。
【図５】動作電圧範囲で振幅しているセンサからの理想的な出力波形と比較部及びフリップフロップからの出力信号を示す図である。
【図６】一部の振幅が小さいセンサからの出力波形と比較部及びフリップフロップからの出力信号を示す図である。
【図７】本発明の実施形態によるバーコードリーダの信号処理装置の構成を示す回路図である。
【図８】図７に記載の検出回路の第一の詳細図である。
【図９】図７に記載の検出回路の第二の詳細図である。
【図１０】図７に記載の検出回路が対象とするコンパレータの組合せを示す図である。
【図１１】本発明の実施形態によるバーコードリーダの信号処理装置の動作の流れを示すフローチャートである。
【図１２】オフセット電圧及び全体的ゲインを調整する前後のセンサからの出力波形の変化を示す図である。
【図１３】部分的ゲイン調整をする前後のセンサからの出力波形の変化を示す図である。
【発明を実施するための形態】
【００１６】
（構成の説明）
図１は、通常のバーコードリーダのブロック図である。図１に記載の通常のバーコードリーダでは、ＣＣＤから出力される（電圧）波形を増幅器（図１の例ではＡＭＰ１）で増幅した波形をアナログ−ディジタル変換器（図１の例ではＡＤＣ）を用いて電圧値としてメモリに記憶する。ＣＰＵはＣＣＤから出力された１ライン（バーコードの１回のスキャンで出力されるデータ全ての）分の電圧値が蓄えられたら電圧値を先頭から検索していき、黒バー又は白バーのどちらであるか決定（二値化処理）し、決定した黒（又は白）バーのバー幅の幅を求め（バー幅取得処理）、バーコードをデコード（デコード処理）する。コントラスト比などの規格を守っているバーコードであれば問題なくデコード可能である。しかし、規格を守っていないバーコード、又は時間の経過とともにバーコードが劣化して規格外となってしまったバーコードを読み取る場合や、バーコードに対してバーコードリーダのセンサを高さ方向に傾いて翳すなどの異常なバーコードの読ませ方をした場合、二値化処理を実施した時点でデータの欠損が生じてしまう。
【００１７】
そこで、バーコードリーダ等のリーダに、以下のように図２に示される構成を付加する。
【００１８】
信号処理装置１００は、出力信号波形調整装置２００と可変アンプ３００とを有する。出力信号波形調整装置２００は、比較部２０１−１、２０１−２、・・・２０１−ｎと検出部２０２と制御部２０３と出力信号調整部２０４とを有する。
【００１９】
比較部２０１−１〜２０１−ｎの個数ｎは、動作範囲内に設定される複数の閾値の個数に対応し、各比較部２０１−１〜２０１−ｎは、各閾値に対応する。該複数の閾値は、出力信号の波形の振幅及びオフセット位置を検知するための基準値であり、動作範囲を等間隔に区切ることが望ましいが、必ずしも等間隔であることには限定されない。
【００２０】
比較部２０１−１〜２０１−ｎは、可変アンプ３００に接続されている。該比較部２０１〜２０１−ｎは、可変アンプからの出力信号を入力し、対応する閾値との大小関係を比較し、比較結果を検出部２０２に出力する。
【００２１】
検出部２０２は、比較部２０１−１〜２０１−ｎに接続されている。該検出部２０２は、比較部２０１−１〜２０１−ｎから比較結果を受け取り、該比較結果に基づくカウント数を、制御部２０３に出力する。
【００２２】
制御部２０３は、検出部２０２に接続されている。該制御部２０３は、該検出部２０２から入力されたカウント数を基に、可変アンプ３００のオフセット調整量、全体的ゲイン調整量、部分的ゲイン調整量のいずれか又はそれらのうち複数を求め、それらの調整量を示す信号を出力信号調整部２０４に出力する。
【００２３】
出力信号調整部２０４は、制御部２０３に接続されている。該出力信号調整部２０４は、制御部２０３からの出力信号を受け取り、その信号に基づいて、可変アンプ３００のオフセット、全体的ゲイン、部分的ゲインのいずれか又はそれらのうち複数を調整する。
【００２４】
また、検出部２０２に、以下のように図３で示される構成を付加する。なお、図３においては、検出部２０２に接続する比較部として、比較部２０１−１及び比較部２０１−２を図示しているが、これら２つの比較部に限定されるわけではない。図３の比較部２０１−１〜２０１−ｎのうち任意の複数の比較部を検出部２０２に接続することが可能である。
【００２５】
検出部２０２は、カウンタ部２５１と発振器２５２とを有する。
【００２６】
カウンタ部２５１は、比較部２０１−１及び比較部２０１−２からの出力信号と発振器２５２から出力されるクロック信号を入力し、クロック信号をカウントする。そして、所定の条件における比較部２０１−１及び２０１−２からの出力信号の立上り又は立下り又はその双方の時点でのカウント数を保持すると共に、該カウント数を制御部２０３に出力する。
【００２７】
（動作の説明）
可変アンプ３００が電圧を出力信号とし、その電圧の範囲が０Ｖ以上３．３Ｖ（＝Ｖｃｃ）以下であり、閾値が１．０Ｖ、２．０Ｖ、３．０Ｖの３つであり、比較部２０１の個数が３であり、出力波形の一部の振幅が小さい場合を例に説明するが、本発明の態様はこれに限定されるものではない。また、出力波形の一部の振幅が大きい場合にも、以下に説明する動作と同様な動作により、可変アンプ３００の出力電圧の振幅をそれぞれ目的の値にすることができる。
【００２８】
欠陥のあるバーコードラベルを読み取った時に、センサから出力される信号波形の一例を図４に示す。図４の信号波形は、信号の一部の振幅が小さい波形、すなわち、「ゲインが不足している波形」と記載している部分を含む波形である。また、閾値電圧として、Ｖｒｅｆ１＝１．０Ｖ、Ｖｒｅｆ２＝２．０Ｖ、Ｖｒｅｆ３＝３．０Ｖの３つの電圧を用い、「動作電圧の下限電圧＜Ｖｒｅｆ１＜Ｖｒｅｆ２＜Ｖｒｅｆ３＜動作電圧の上限電圧（＝Ｖｃｃ＝３．３Ｖ）」とした場合を想定している。更に、比較部２０１−１がＶｒｅｆ１に、比較部２０１−２がＶｒｅｆ２に、比較部２０１−３がＶｒｅｆ３に対応するものとする。センサから出力される信号波形の下方に、該信号波形と同時点における各比較部からの出力波形を示す。
【００２９】
図４中の「理想的な波形」と記載している部分においては、センサから出力される信号波形は動作電圧範囲の下限付近から上限付近まで振幅する。信号の振幅が十分である波形は動作電圧範囲の下限付近から上限付近まで振幅がある為、全ての閾値電圧を横切る。各比較部は閾値電圧よりもセンサからの出力信号の方が大きい場合にＨｉｇｈパルスを出力し、低い場合にＬｏｗパルスを出力する。理想的な波形では、センサからの出力信号は、動作電圧範囲の下限からＶｒｅｆ１、Ｖｒｅｆ２、Ｖｒｅｆ３の閾値電圧の順に横切って立ち上がり、動作電圧範囲の上限付近まで立ち上がったら今度は逆に、Ｖｒｅｆ３、Ｖｒｅｆ２、Ｖｒｅｆ１の閾値電圧の順に横切って立ち下がる波形となる。バーコードラベルは黒バーと白バーの繰返しとなっているので、上記の波形の繰返しとなる。また各比較部の出力もこれに対応し、センサからの出力波形が動作電圧の下限付近にある際は、比較部２０１−１〜２０１−３のいずれもＬｏｗ出力する。センサからの出力波形がＶｒｅｆ１を超えると、比較部２０１−１がＨｉｇｈ出力し、比較部２０１−２及び２０１−３はＬｏｗ出力のままである。センサからの出力波形がＶｒｅｆ２を超えると比較部２０１−１及び２０１−２がＨｉｇｈ出力し、比較部２０１−３はＬｏｗ出力のままである。センサからの出力波形がＶｒｅｆ３を超えると、比較部２０１−１〜２０１−３全てがＨｉｇｈ出力する。逆に、センサからの出力波形が立ち下がる場合はＶｒｅｆ３を超えると比較部２０１−３がＬｏｗ出力し、比較部２０１−１及び２０１−２はＨｉｇｈ出力のままである。センサからの出力波形がＶｒｅｆ２を超えると、比較部２０１−２及び２０１−３がＬｏｗ出力し、比較部２０１−１はＨｉｇｈ出力のままである。センサからの出力波形がＶｒｅｆ１を超えると比較部２０１−１〜２０１−３全てがＬｏｗ出力となる。センサからの出力波形の全体が理想的な波形の場合は、これをバーコードラベルの最後まで繰り返すことになる。
【００３０】
図５に、図４のセンサから出力される信号波形のうち理想的な波形の部分のみを抜き出し、それに加え、簡略化のために比較部２０１−１及び２０１−２からの出力波形のみに絞って、図示する。図５から明らかなように、センサからの出力波形が理想的な場合は、低い閾値電圧と比較している比較部２０１−１の出力がＨｉｇｈになった状態で、それより高い閾値電圧と比較している比較部２０１−２からの出力がＨｉｇｈになることは１回だけである。
【００３１】
図６に、図４のセンサから出力される信号波形のうちゲインが不足している波形を抜き出し、それに加え、簡略化のために比較部２０１−１及び２０１−２からの出力波形のみに絞って、図示する。図６はセンサからの出力波形がＶｒｅｆ１以下まで下がらなかった部分を含む波形の例を示している。
【００３２】
図６のセンサから出力される信号波形は、動作電圧範囲の下限付近からＶｒｅｆ１、Ｖｒｅｆ２を横切って立ち上がり、それに伴って順に比較部２０１−１からの出力信号がＨｉｇｈになり、次に比較部２０１−２からの出力信号がＨｉｇｈになる。逆に立ち下がる場合は、センサから出力される信号波形がＶｒｅｆ２を横切ると、比較部２０１−２からの出力信号がＬｏｗとなり、この時比較部２０１−１はＨｉｇｈ出力のままである。しかし、Ｖｒｅｆ１以下までセンサからの出力信号は変化していないので、再び立ち上がりに転じてＶｒｅｆ２を超えることになり、比較部２０１−２からの出力信号は再びＨｉｇｈレベルに変化する。よって、比較部２０１−１からの出力信号が一度Ｈｉｇｈレベルに変化してから再びＬｏｗレベルに変化するまでに、比較部２０１−２からの出力の立上りエッジの回数が２回以上ある場合は、Ｖｒｅｆ１まで変化していないゲイン不足であると判断することができる。またゲイン不足と判断した場合、比較部２０１−１からの出力信号が立ち上がった状態で比較部２０１−２からの出力信号が最初に立ち下がった時間（図６のｔ１）と、次に比較部２０１−１からの出力信号が立ち下がった時の時間（図６のｔ２）を確認することで、ゲイン不足の期間を知ることが出来る。
【００３３】
検出部２０２のカウンタ部２５１は、上記の双方の時間、すなわちｔ１及びｔ２の時点でのクロック数（カウント数）を保持すると共に、制御部２０３に出力する。制御部２０３は、該クロック数（カウント数）に発振器２５２の周波数の逆数を掛け算することにより、ゲイン不足の期間を特定し、特定された期間のゲインを調整する制御信号を、出力信号調整部２０４に出力する。該出力信号調整部２０４は、前記制御信号に基づき可変アンプ３００の出力電圧の一部の振幅を調整する。
【００３４】
ここまでの説明では比較部２０１−１と比較部２０１−２とを用いて説明してきたが、図３と同様な回路を比較部２０１−２と比較部２０１−３とで実現することによりＶｒｅｆ２を下回らない期間を検出することが可能になる。また閾値電圧を上回らない波形を検出する為には、比較部に接続している閾値電圧とセンサからの出力信号を逆に接続することにより実現することが可能になる。よって図２の検出部には、図３に示すカウンタ部を、比較部の数に応じて設けてもよい。また図３の検出部は隣り合う閾値電圧に対応した比較部からの入力を用いているが、例えばＶｒｅｆ１とＶｒｅｆ３とを用いても同様の効果を得ることは可能である。図４に示す波形のうち、理想的な波形の部分では各比較部の出力は周期的に変化するので、その周期性の乱れを検出できればどのような組合せでも同様の効果を得ることが可能である。
【００３５】
また上記の検出部を用いて、例えばＶｒｅｆ１とＶｒｅｆ２との間（すなわち０Ｖを超えＶｒｅｆ３未満の範囲）、又はＶｒｅｆ２とＶｒｅｆ３との間（すなわちＶｒｅｆ１を超えＶｃｃ未満の範囲）だけで振幅を繰り返していることを検出することも可能である。例えば、カウンタ部において、比較部２０１−１からの出力波形の立上り又は立下り時点のクロック数（カウント数）が検知されない一方で、比較部２０１−２及び２０１−３の立上り又は立下り時点のクロック数（カウント数）が検知されることから、Ｖｒｅｆ２とＶｒｅｆ３との間だけで振幅を繰り返していることを検知してもよい。この場合は図２の出力信号調整部２０４で調整することにより信号波形のオフセット位置を調整することが可能である。
【００３６】
また上記の検出部を用いて、例えばＶｒｅｆ１前後（すなわち０Ｖを超えＶｒｅｆ２未満の範囲）、Ｖｒｅｆ２前後（すなわちＶｒｅｆ１を超えＶｒｅｆ３未満の範囲）、又はＶｒｅｆ３前後（すなわちＶｒｅｆ２を超えＶｃｃ未満の範囲）だけで振幅を繰り返していることを検出することも可能である。例えば、カウンタ部において、比較部２０１−１からの出力波形がＨｉｇｈになっている状態においての、比較部２０１−２からの出力波形の立上り又は立下り時点のクロック数（カウント数）をカウントするように設定し、該クロック数（カウント数）が検知されないのと同時に、比較部２０１−３からの出力波形の立上り又は立下り時点のクロック数（カウント数）が検知されることから、Ｖｒｅｆ３前後だけで振幅を繰り返していることを検知してもよい。この場合は図２の出力信号調整部２０４で調整することにより信号波形の全体的ゲインを調整することも可能である。
【実施例】
【００３７】
［第１の実施形態］
図７に、本発明の第１の実施形態を示す。ここでは、例として、３つの閾値に対応する３つの各比較部２０１−１、２０１−２、２０１−３として第１のコンパレータ２０１−１、第２のコンパレータ２０１−２、第３のコンパレータ２０１−３を用いている。しかし、閾値は３つに限定されることなく、任意の複数設けることが可能であり、それに応じてコンパレータも任意の複数設けることが可能である。
【００３８】
更に、可変アンプ３００は、上述したように、オフセット調整機能と全体的および部分的ゲイン調整機能を有する。全体的及び部分的ゲイン調整機能は、ＣＰＵ８００が、ディジタルポテンショメータ３０２−１の抵抗値を調整し、これにより、可変アンプ３００の反転入力端子と出力端子との間の抵抗値を調整することにより実現する。オフセット調整は、ＣＰＵ８００が、ディジタルポテンショメータ３０２−２の抵抗値を調整して、これにより、可変アンプ３００の非反転入力端子の中心電圧を調整することにより実現する。
【００３９】
図２の制御部２０３及び出力信号調整部２０４は、図示しないが、ＣＰＵ８００に内蔵され、プログラムを読み込んで実行することにより実現する。
【００４０】
また、図３のカウンタ部２５１とは別に、ＣＰＵ８００がカウンタ７００−１、７００−２、７００−３を備える。これらのカウンタは、各々が対応する各コンパレータ２０１−１、２０１−２、２０１−３に接続されている。ここでは例として、カウンタの数を３つとしているが、コンパレータの数に応じて任意の複数設けることが可能である。該カウンタ７００−１、７００−２、７００−３は、各々が対応する各コンパレータ２０１−１、２０１−２、２０１−３から入力した比較結果を基に、各閾値における出力信号と閾値との間の交点の個数、交点における出力信号の立上りの個数、又は、交点における立下りの個数をカウントする。ここで、カウンタ７００−１、７００−２、７００−３は、ＣＰＵ８００がプログラムを読み込んで実行することにより実現される。
【００４１】
図７の２つのディジタルポテンショメータ３０２−１及び３０２−２は、可変抵抗器の一種であり、ワイパーをディジタル信号（ＳＰＩなどのインターフェース信号など）で制御できるＩＣである。
【００４２】
動作電圧範囲内で複数の閾値電圧を設ける。図７の例ではＶｒｅｆ１＝１．０Ｖ、Ｖｒｅｆ２＝２．０Ｖ、Ｖｒｅｆ３＝３．０Ｖとする。すなわち、動作範囲内を１．０Ｖ刻みで閾値電圧を設ける。第１〜第３のコンパレータ２０１−１〜２０１−３は、それぞれ、Ｖｒｅｆ１からＶｒｅｆ３の閾値電圧と、可変アンプ３００の出力電圧とを比較し、その比較結果を、例えば、それが出力する信号のレベル（ＬｏｗレベルとＨｉｇｈレベル）であって、カウンタ部２５１及びＣＰＵ８００が識別することが可能なレベルにより表すためのデバイスである。
【００４３】
図７の検出回路２０２の詳細図の一例を図８に示す。図８の検出回路２０２は、コンパレータ２０１−１及び２０１−２からの出力信号を入力する２ｂｉｔカウンタ２５５を有する。また、該２ｂｉｔカウンタ２５５からの出力信号、及びコンパレータ２０１−１からの出力信号を入力するフリップフロップ２５６も有する。更に、該フリップフロップ２５６からの出力信号、コンパレータ２０１−２からの出力信号、及び発振器２５２からの出力信号を入力するカウンタ２５７も有する。カウンタ２５７は、ＣＰＵ８００から制御するデバイスであり、初期化（カウント数を０クリア）が可能であり、及びコンパレータ２０１−１及び２０１−２とフリップフロップ２５６の条件によってその時のカウント数を保存できるレジスタを２本備えるデバイスである。発振器２５２は、カウンタ２５７でクロック数をカウントすることにより時間を計測する為に使用するデバイスである。
【００４４】
次に図８の回路の動作について説明する。図８の回路は、２ｂｉｔカウンタ２５５を用いてコンパレータ２０１−２の立上りエッジをカウントする。コンパレータ２０１−１の出力を２ｂｉｔカウンタのＣＬＲに接続することによりコンパレータ２０１−１の出力がＨｉｇｈの場合にのみ２ｂｉｔカウンタは動作し、コンパレータ２０１−２の立上りエッジの回数をカウントしている。２ｂｉｔカウンタ２５５は、コンパレータ２０１−１の出力の立上りを２回カウントするとＭＳＢがＨｉｇｈになり、後段のフリップフロップ２５６のデータ端子の状態を保持する。フリップフロップ２５６のデータ端子は常にＨｉｇｈレベルなので２ｂｉｔカウンタ２５５のＭＳＢが一度でもＨｉｇｈレベルになると、フリップフロップの状態をクリアするまでＨｉｇｈレベルを保持することになる。コンパレータ２０１−１の立下りでフリップフロップ２５６をクリアすることで、再びＶｒｅｆ１以下まで変化した場合にフリップフロップ２５６の出力はＬｏｗレベルになる。
【００４５】
図５に示すような理想的な波形の場合は、コンパレータ２０１−２が一度Ｌｏｗレベルになった後に必ずコンパレータ２０１−１の出力もＬｏｗになりフリップフロップ２５６と２ｂｉｔカウンタ２５５は初期化されるため、フリップフロップ２５６の出力はＬｏｗレベルのままとなる。カウンタ２５７はバーコードラベルの１スキャンの開始時にＣＰＵ８００から初期化を行う。
【００４６】
図６に示すようなゲインが不足している波形を含む場合を用いて説明すると、フリップフロップ２５６がＬｏｗレベルの場合は、コンパレータ２０１−２の立下り毎にクロック数（カウント数）がカウンタ２５７に保存され、コンパレータ２０１−１からの出力信号がＬｏｗレベルに変化するごとにクリアするよう設定する。また、フリップフロップ２５６からの出力の立下り時点のカウント数（クロック数）がカウンタ２５７に保存されるよう設定する。カウンタ２５７は、コンパレータ２０１−１がＨｉｇｈの状態で最初にコンパレータ２０１−２が最初に立ち下がった時（ｔ１）のクロック数（カウント数：ＣＯＵＮＴ１）とフリップフロップ２５６からの出力が立ち下がった時（ｔ２）のクロック数（カウント数：ＣＯＵＮＴ２）を、制御部２０３を含むＣＰＵ８００に通知する。ＣＰＵ８００において、クロック数（カウント数）のＣＯＵＮＴ１及びＣＯＵＮＴ２に発振器２５２の周波数の逆数を掛け算することにより、スキャン開始からの時間を計算することが出来る。すなわち、ＣＯＵＮＴ１〜ＣＯＵＮＴ２の間の期間がＶｒｅｆ１以下に変化しなかった、つまりゲインが不足していた期間であると特定できる。ＣＰＵ８００はＣＯＵＮＴ１とＣＯＵＮＴ２を保存しておく。ＣＰＵ８００は最初のスキャンでバーコードラベルの読み取りを失敗した場合、次のスキャンの時にＣＯＵＮＴ１からＣＯＵＮＴ２の期間にＶｒｅｆ１を下回る波形となる様に図７のディジタルポテンショメータ３０２−１でゲインを部分的に調整する。ＳＰＩ又は２線（Ｕ／Ｄ及びＣＳ）制御で抵抗値を変更するディジタルポテンショメータにより、部分的にゲインを調整することが可能である。これにより、次のスキャンではＣＣＤ３５０からの出力波形を、理想的な波形に近づけることが可能となる。
【００４７】
図８の回路では、コンパレータ２０１−１とコンパレータ２０１−２を用いて記載しているが、同様に、コンパレータ２０１−２及びコンパレータ２０１−３を使用した回路等も図７の検出回路２０２には含まれる。コンパレータ２０１−２及びコンパレータ２０１−３を使用した回路により、Ｖｒｅｆ２を下回らない期間を検出することが可能となる。
【００４８】
また閾値電圧を上回らない波形を検出する為には、図９のように、コンパレータ２０１に接続している閾値電圧とＣＣＤ出力信号を逆に接続すると同時に、コンパレータ２０１を入れ替えることにより実現することが可能になる。図９の回路では、閾値電圧Ｖｒｅｆ２を上回らない波形を検出することが可能となる。
【００４９】
すなわち図８又は図９に記載の回路を例とする検出回路は、二つのコンパレータのうち一のコンパレータからの出力信号が第１の値とは異なる第２の値を示す間において、他方のコンパレータからの出力信号が第３の値とは異なる第４の値を二回目に示した場合、当該他方のコンパレータからの出力信号が第４の値から第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、当該一のコンパレータからの出力信号が第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とする。
【００５０】
更に、図８では隣り合う閾値電圧を用いているが、例えばＶｒｅｆ１とＶｒｅｆ３とを用いても同様の効果を得ることは可能である。例えば、図１０に示すように、コンパレータの数が４つの場合は、４つのコンパレータのうち任意の２つのコンパレータに対して、図８及び図９の回路を設けることが可能である。図４に示すように理想的な波形では各コンパレータ２０１からの出力は周期的に変化するので、その周期性の乱れを検出できればどのような組合せでも同様の効果を得ることが可能である。
【００５１】
更に、上記のように、閾値の数、及びそれに対応するコンパレータの数及びカウンタの数は、任意の複数とすることが可能である。閾値の数を多くするのに比例して、部分的ゲイン不足期間の閾値の範囲、すなわちゲイン不足量ひいてはゲイン調整量をきめ細かく定量化することが可能となる。
【００５２】
第１の実施形態に示す信号処理装置の動作を、図１１を参照して説明する。
【００５３】
１）まず、ＣＰＵ８００内の制御部２０３がバーコードへの投光回数のカウントをクリアする（ステップＳ１）。
【００５４】
２）次に、バーコードへの投光回数が所定数以上である場合（ステップＳ２のＹ）、Ａを経由して、ＣＰＵ８００内の制御部２０３がデコード不可を上位装置へ送信し（ステップＳ１４）、終了する。バーコードへの投光回数が所定数未満である場合（ステップＳ２のＮ）、ステップＳ３へ移行する。
【００５５】
３）次に、投光用ＬＥＤ９００がバーコードへ投光する（ステップＳ３）。
【００５６】
４）次に、ＣＰＵ８００内の制御部２０３がバーコードへの投光回数に１を加算する（ステップＳ４）。
【００５７】
５）次に、ＣＣＤ３５０がバーコードからの反射光を受光して、ＣＰＵ８００がデコードする（ステップＳ５）。なお、ＣＣＤ３５０がバーコードからの反射光を受光して、ＣＰＵ８００がデコードするまでについては、従来技術なので、省略する。
【００５８】
６）デコード出来た場合（ステップＳ６のＹ）、ＣＰＵ８００がデコード結果を上位装置へ送信し（ステップＳ１３）、終了する。デコード出来なかった場合（ステップＳ６のＮ）、ステップＳ７へ移行する。
【００５９】
７）ステップＳ７では、ＣＰＵ８００内の制御部２０３がオフセット電圧の調整が必要であるか否かを判断する。オフセット電圧の調整が必要である場合（ステップＳ７のＹ）、出力信号調整部２０４がオフセット電圧を調整し（ステップＳ８）、ステップＳ２に戻る。オフセット電圧の調整が必要でない場合（ステップＳ７のＮ）、ステップＳ９へ移行する。オフセット電圧の調整が必要であるか否かの判断と、オフセット電圧の調整の詳細については、後述する。
【００６０】
８）ステップＳ９では、ＣＰＵ８００内の制御部２０３が全体的ゲインの調整が必要であるか否かを判断する。全体的ゲインの調整が必要である場合（ステップＳ９のＹ）、出力信号調整部２０４が全体的ゲインを調整し（ステップＳ１０）、ステップＳ２に戻る。全体的ゲインの調整が必要でない場合（ステップＳ９のＮ）、ステップＳ１１へ移行する。全体的ゲインの調整が必要であるか否かの判断と、全体的ゲインの調整の詳細については、後述する。
【００６１】
上記の動作手順において、オフセット電圧の調整が必要であるか否かの判断とオフセット電圧の調整と、全体的ゲインの調整が必要であるか否かの判断と全体的ゲインの調整は、順序が逆であってもよい。
【００６２】
９）ステップＳ１１では、ＣＰＵ８００内の制御部２０３が部分的ゲインの調整が必要であるか否かを判断する。部分的ゲインの調整が必要である場合（ステップＳ１１のＹ）、出力信号調整部２０４が部分的ゲインを調整し（ステップＳ１２）、ステップＳ２に戻る。部分的ゲインの調整が必要でない場合（ステップＳ１１のＮ）、ＣＰＵ８００がデコード不可を上位装置へ送信し（ステップＳ１４）、終了する。部分的ゲインの調整が必要であるか否かの判断と、部分的ゲインの調整の詳細については、上記の図８の回路の動作で記載した通りである。
【００６３】
オフセット電圧の調整が必要であるか否かの判断とオフセット電圧の調整、及び全体的ゲインの調整が必要であるか否かの判断とゲインの調整は、以下のようにして行う。
【００６４】
コンパレータ２０１−１、２０１−２、２０１−３により、ＣＣＤ３５０からの出力信号と閾値電圧との比較を行う。そして該比較結果に基づき、上記のように、ＣＰＵ８００に備わり、各コンパレータ２０１−１、２０１−２、２０１−３に対応するカウンタ７００−１、７００−２、７００−３によって、各閾値における出力信号と閾値との間の交点の個数、交点における出力信号の立上りの個数、又は交点における立下りの個数をカウントする。コンパレータ２０１−１に対応するカウンタ７００−１のカウント数をＣＰ１、コンパレータ２０１−２に対応するカウンタ７００−２のカウント数をＣＰ２、コンパレータ２０１−３に対応するカウンタ７００−３のカウント数をＣＰ３とする。
【００６５】
オフセット電圧の調整が必要であるか否かの判断とオフセット電圧の調整は、以下のように場合分けされて処理される。
【００６６】
（ｉ−１）ＣＰ１＝０、ＣＰ２≠０、ＣＰ３≠０の場合、ＣＣＤ３５０からの出力信号がＶｒｅｆ１を超えＶｃｃ未満の範囲でのみ振幅しているものと判断し、オフセット電圧を現在値よりも低い値に設定する。
【００６７】
（ｉ−２）ＣＰ１≠０、ＣＰ２≠０、ＣＰ３＝０の場合、ＣＣＤ３５０からの出力信号が０Ｖを超えＶｒｅｆ３未満の範囲でのみ振幅しているものと判断し、オフセット電圧を現在値よりも高い値に設定する。
【００６８】
（ｉ−３）上記（ｉ−１）及び（ｉ−２）以外の場合は、オフセット電圧の調整は不要と判断する。
【００６９】
全体的ゲインの調整が必要であるか否かの判断と全体的ゲインの調整は、以下のように場合分けされて処理される。
【００７０】
（ｉｉ−１）ＣＰ１＝０、ＣＰ２＝０、ＣＰ３≠０の場合、Ｖｒｅｆ３前後、すなわちＶｒｅｆ２を超えＶｃｃ未満の範囲だけで振幅を繰り返しているものと判断し、全体的ゲインを現在値よりも大きな値に設定する。
【００７１】
（ｉｉ−２）ＣＰ１＝０、ＣＰ２≠０、ＣＰ３＝０の場合、Ｖｒｅｆ２前後、すなわちＶｒｅｆ１を超えＶｒｅｆ３未満の範囲だけで振幅を繰り返しているものと判断し、全体的ゲインを現在値よりも大きな値に設定する。
【００７２】
（ｉｉ−３）ＣＰ１≠０、ＣＰ２＝０、ＣＰ３＝０の場合、Ｖｒｅｆ１前後、すなわち０Ｖを超えＶｒｅｆ２未満の範囲だけで振幅を繰り返しているものと判断し、全体的ゲインを現在値よりも大きな値に設定する。
【００７３】
（ｉｉ−４）上記（ｉｉ−１）〜（ｉｉ−３）以外の場合は、制御部２０３が、ゲインの調整は不要と判断する。
【００７４】
なお、ＣＰ１〜ＣＰ３のカウント数については、ノイズの影響を除去するため、所定数（例えば、バーコードの反射光から得られる各カウンタのカウント数の最大値の１０％程度の数）以下の場合は、０とみなす。
【００７５】
なお、可変アンプ３００の出力の振幅が大き過ぎる場合には、全てのカウンタに対応するカウント値が等しくなり、正常であると判断してしまう。このような場合、バーコードのデコードが可能な場合もあれば、不可能な場合もある。実用上、可変アンプ３００の出力の振幅が大き過ぎるためにバーコードのデコードが不可能な場合に、可変アンプ３００の出力の振幅を規定の振幅にするための制御をする必要があれば、０ボルトとＶｒｅｆ１の間の閾値に対応するコンパレータとカウンタを設け、更に、Ｖｒｅｆ３とＶｃｃとの間の閾値に対応するコンパレータとカウンタを設け、これらに対応するカウント値が０となるように制御を行なえばよい。すなわち、閾値Ｖｒｅｆ１、Ｖｒｅｆ２、Ｖｒｅｆ３に対応するカウント値が全て所定値となり、ここで追加することとした閾値に対応するカウント値が両方ともゼロとなるように制御を行なえばよい。
【００７６】
これらのステップＳ８におけるオフセット電圧調整ステップ、及びステップＳ１０における全体的ゲイン調整ステップにより、図１２のＣＣＤ３５０からの出力信号波形１は、実線で示される出力信号波形２のように修正される。
【００７７】
その後、ステップＳ１２における部分的ゲイン調整ステップにより、図１３のＣＣＤからの出力信号波形２は、実線で示される出力信号波形３のように修正される。
【００７８】
［第２の実施形態］
第１の実施形態では、コンパレータから出力されるパルス波をＣＰＵ内蔵のカウンタ７００−１、７００−２、７００−３を使用してカウントしているが、カウンタ７００−１、７００−２、７００−３をＣＰＵ外部に設けても実現することは可能である。
【００７９】
［第３の実施形態］
第１乃至第２の実施形態においては、ＣＣＤ３５０からの出力信号のオフセット電圧及び全体的ゲインの調整が必要であるか否かを判断するために、カウンタ部２５１とは別のカウンタ７００−１、７００−２、７００−３を用いた態様について述べた。しかし、上記の「発明を実施する形態」の（動作の説明）で述べたように、検出回路２０２が、ＣＣＤ３５０からの出力信号の全体の波形を判断することにより、オフセット電圧及び全体的ゲインの調整が必要であるか否かを判断してもよい。
【００８０】
すなわち、オフセット電圧の調整が必要であるか否かを判断するために、検出回路２０２が、ＣＣＤ３５０からの出力信号が、Ｖｒｅｆ１を超えＶｃｃ未満の範囲、又は０Ｖを超えＶｒｅｆ３未満の範囲だけで振幅を繰り返していることを検知する機能を更に備えてもよい。
【００８１】
また、全体的ゲインの調整が必要であるか否かを判断するために、検出回路２０２が、ＣＣＤ３５０からの出力信号が、Ｖｒｅｆ２を超えＶｃｃ未満の範囲、Ｖｒｅｆ１を超えＶｒｅｆ３未満の範囲、又は０Ｖを超えＶｒｅｆ２未満の範囲だけで振幅を繰り返していることを検知する機能を更に備えてもよい。
【００８２】
［第４の実施形態］
第１乃至第３の実施形態においては、各コンパレータの出力がカウンタ部２５１及びＣＰＵ８００に備わるカウンタ７００−１、７００−２、７００−３に入力される態様について述べた。しかし、図８に示す検出回路２０２の代わりに各コンパレータの出力をＣＰＵ８００のＧＰＩＯに接続し、ＧＰＩＯの端子状態をＣＰＵ８００によって監視することにより、上記に説明したような各コンパレータの出力の周期性の乱れを検出することによっても本発明の効果を得ることは可能である。
【００８３】
［第５の実施形態］
第１乃至第４の実施形態では、制御部２０３及び出力信号調整部２０４がＣＰＵ８００に内蔵されているが、制御部２０３及び出力信号調整部２０４をＣＰＵ８００外部に設けても実現することは可能である。つまり、ソフトウェアを用いずに、ハードウェアのみによっても、制御部を実現することもできる。
【００８４】
［第６の実施形態］
第１乃至第５の実施形態では、ハードウェア構成のコンパレータを用いて閾値電圧と比較をしているが、可変アンプ３００から出力される電圧波形の電圧値はメモリに内蔵されているため、ソフトウェアを用いてコンパレータと同じ処理をすることも可能である。つまり、ハードウェア構成のコンパレータの機能を、ＣＰＵ８００がプログラムを読み込んで実行することによっても実現することができる。具体的には、ＣＰＵ８００が可変アンプ３００の出力電圧をＡ／Ｄ変換器により読み込んで、Ａ／Ｄ変換器の出力である電圧を表す数値と、閾値電圧を表す数値とを比較することにより、可変アンプ３００の出力電圧と閾値電圧との比較をすることができる。
【００８５】
［第７の実施形態］
第１乃至第６の実施形態では、センサとしてバーコードリーダのＣＣＤカメラ、センサの対象がバーコードである場合について開示しているが、センサの対象物を磁気カードの磁気ストライプ内のコードとし、センサを磁気カードリーダのセンサとすることも可能である。
【００８６】
本発明においては、上記の構成により、センサから出力される出力信号波形が設計から外れた場合でも、波形を調整して設計範囲に納め、デコードすることを可能とする。とりわけ、従来のバーコードリーダでは、例えばＣＣＤから出力された（電圧）波形の振幅が小さい場合は、デコード処理をソフトウェアで実行すると、一度ＡＤＣにて電圧値に変換した値をメモリ内に蓄えるのでＣＰＵの負荷が増加してしまう欠点がある。また増幅器（図１の例のＡＭＰ１）の出力側にノイズが重畳してしまった場合は、ソフトウェアで処理するとノイズもＣＣＤから出力される（電圧）波形とともに増加してしまう。しかし、本実施形態に示すように、可変アンプ３００から出力される波形に対してフィードバックを行うことにより、ノイズの影響も軽減できる利点がある。更に、本実施形態において、二値化処理をハードウェア的に電気回路で実現する場合は、二値化できる最小の振幅はハードウェア的に決定されるため、本実施形態の提供するセンサ３５０から出力される波形の振幅を調整する方法は特に有効である。
【００８７】
なお、上記の信号処理装置の各部分は、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。また、上記の信号処理装置により行われる信号処理方法も、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００８８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory)）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００８９】
上記の実施形態の一部または全部は、以下の付記のようにも記載されるが、以下には限られない。
【００９０】
（付記１）
入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプと、
前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、
前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、
前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、
を備えることを特徴とする信号処理装置。
【００９１】
（付記２）
付記１に記載の信号処理装置において、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出することを特徴とする信号処理装置。
【００９２】
（付記３）
付記２に記載の信号処理装置において、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理装置。
【００９３】
（付記４）
付記１乃至３のいずれか１に記載の信号処理装置において、
前記検出手段が、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間の部分的ゲイン不足量を検出することを特徴とする信号処理装置。
【００９４】
（付記５）
付記４に記載の信号処理装置において、
前記検出手段は、前記複数の閾値における、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方の順序及び前記複数の閾値に基づき、前記出力信号の部分的ゲインの過不足として、その概算量を算出し、
前記調整手段は、前記部分的ゲインの過不足の概算量に基づいて、部分的ゲインの調整量を決定することを特徴とする信号処理装置。
【００９５】
（付記６）
センサと、
付記１乃至５の何れか１に記載の信号処理装置と、
デコーダと、
を備え、
前記信号処理装置は、前記センサの出力信号を当該信号処理装置の入力信号とし、
前記デコーダは、前記信号処理装置の出力信号を当該デコーダの入力信号とすることを特徴とするバーコードリーダ。
【００９６】
（付記７）
可変アンプであって、その部分的ゲインを調整することが可能な可変アンプが、入力信号に対応した信号を出力信号として出力するステップと、
複数の比較手段が、前記出力信号のレベルを各比較手段が対応する閾値と比較するステップと、
検出手段が、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出ステップと、
調整手段が、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプによる部分的ゲインを調整するステップと、
を含むことを特徴とする信号処理方法。
【００９７】
（付記８）
付記７に記載の信号処理方法において、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出することを特徴とする信号処理方法。
【００９８】
（付記９）
付記８に記載の信号処理方法において、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理方法。
【００９９】
（付記１０）
付記７乃至９のいずれか１に記載の信号処理方法において、
前記検出手段が、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間の部分的ゲイン不足量を検出することを特徴とする信号処理方法。
【０１００】
（付記１１）
付記１０に記載の信号処理方法において、
前記検出手段は、前記複数の閾値における、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方の順序及び前記複数の閾値に基づき、前記出力信号の部分的ゲインの過不足として、その概算量を算出し、
前記調整手段は、前記部分的ゲインの過不足の概算量に基づいて、部分的ゲインの調整量を決定することを特徴とする信号処理方法。
【０１０１】
（付記１２）
入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプからの出力信号を調整する出力信号波形調整装置として、コンピュータを機能させるための信号処理用プログラムであって、
コンピュータを、
前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、
前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、
前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、
として機能させるための信号処理用プログラム。
【０１０２】
（付記１３）
付記１２に記載の信号処理用プログラムにおいて、
前記検出手段は、前記複数の比較手段による比較結果として、前記複数の閾値のそれぞれに対して、所定期間内に、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方を特定し、前記複数の閾値における該時点の順序に基づき、前記出力信号のうち前記部分的ゲイン不足期間のタイミングを検出することを特徴とする信号処理用プログラム。
【０１０３】
（付記１４）
付記１３に記載の信号処理用プログラムにおいて、
前記検出手段は、前記複数の比較手段のうち１の比較手段からの比較結果出力信号が第１の値とは異なる第２の値を示す間において、他の比較手段からの比較結果出力信号が第３の値とは異なる第４の値を二回目に示した場合、前記他の比較手段からの比較結果出力信号が前記第４の値から前記第３の値に最初に戻った時点を部分的ゲイン不足期間の開始時点とし、その後、前記１の比較手段からの比較結果出力信号が前記第１の値に戻った時点を、部分的ゲイン不足期間の終了時点とすることを特徴とする信号処理用プログラム。
【０１０４】
（付記１５）
付記１２乃至１４のいずれか１に記載の信号処理用プログラムにおいて、
前記検出手段が、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間の部分的ゲイン不足量を検出することを特徴とする信号処理用プログラム。
【０１０５】
（付記１６）
付記１５に記載の信号処理用プログラムにおいて、
前記検出手段は、前記複数の閾値における、前記出力信号のレベルがその閾値を下回るレベルからその閾値を上回るレベルに変化する時点及び前記出力信号のレベルがその閾値を上回るレベルからその閾値を下回るレベルに変化する時点のいずれか又はその双方の順序及び前記複数の閾値に基づき、前記出力信号の部分的ゲインの過不足として、その概算量を算出し、
前記調整手段は、前記部分的ゲインの過不足の概算量に基づいて、部分的ゲインの調整量を決定することを特徴とする信号処理用プログラム。
【産業上の利用可能性】
【０１０６】
センサ等を用いて同じデータ（本発明でのバーコード等）から、アナログ信号を連続して出力する装置に応用可能である。
【０１０７】
例えば磁気カードリーダなどに応用することが考えられる。磁気カードの磁気ストライプ内のコードを読み出した時に磁気ヘッドはアナログ（電圧）波形を出力するが、読み取った磁気カードが減磁カード（経年劣化や磁気カードのストライプ部分に磁石などを近づけることにより磁力が弱くなってしまったカード）の場合は再生した信号のゲインが小さくなり本発明で示した方法でのゲインの増幅が有効に動作すると考えられる。
【符号の説明】
【０１０８】
１００  信号処理装置
２００  出力信号波形調整装置
２０１−１  比較部
２０１−２  比較部
２０１−ｎ  比較部
２０２  検出部
２０３  制御部
２０４  出力信号調整部
２５１  カウンタ部
２５２  発振器
３００  可変アンプ
３０２−１  ディジタルポテンショメータ
３０２−２  ディジタルポテンショメータ
３５０  センサ
４００  ＡＤＣ（アナログ・ディジタル変換器）
５００  メモリ
６００−１  ＳＰＩ／ＧＰＩＯ
６００−２  ＳＰＩ／ＧＰＩＯ
７００−１  カウンタ
７００−２  カウンタ
７００−３  カウンタ
８００  ＣＰＵ
９００  投光用ＬＥＤ
【要約】
【課題】バーコードの欠陥又はバーコードに対するセンサの翳し方等に由来するバーコードの読み取り失敗を改善する信号処理装置を提供する。
【解決手段】入力信号に対応した信号を出力信号として出力する可変アンプであって、その部分的ゲインを調整することが可能な可変アンプと、前記出力信号のレベルを複数の閾値と比較する、各閾値に対応する複数の比較手段と、前記複数の比較手段による比較結果に基づいて、前記出力信号のうち部分的ゲイン不足期間を検出する検出手段と、前記検出手段による検出結果に基づき、前記部分的ゲイン不足期間において、前記可変アンプの部分的ゲインを調整する調整手段と、を備える。
【選択図】図２【図１】
0005594797.tif 000002
【図２】
0005594797.tif 000003
【図３】
0005594797.tif 000004
【図４】
0005594797.tif 000005
【図５】
0005594797.tif 000006
【図６】
0005594797.tif 000007
【図７】
0005594797.tif 000008
【図８】
0005594797.tif 000009
【図９】
0005594797.tif 000010
【図１０】
0005594797.tif 000011
【図１１】
0005594797.tif 000012
【図１２】
0005594797.tif 000013
【図１３】
0005594797.tif 000014