JP4255628B2 - Infrared two-dimensional sensor array system - Google Patents

Infrared two-dimensional sensor array system Download PDF

Info

Publication number
JP4255628B2
JP4255628B2 JP2001172672A JP2001172672A JP4255628B2 JP 4255628 B2 JP4255628 B2 JP 4255628B2 JP 2001172672 A JP2001172672 A JP 2001172672A JP 2001172672 A JP2001172672 A JP 2001172672A JP 4255628 B2 JP4255628 B2 JP 4255628B2
Authority
JP
Japan
Prior art keywords
infrared
signal
sensor array
data
dimensional sensor
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 - Lifetime
Application number
JP2001172672A
Other languages
Japanese (ja)
Other versions
JP2002365130A (en
Inventor
幸二 井上
修一 村上
実 野田
盛生 小倉
弘之 岸原
和彦 橋本
雅則 奥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Sanyo Electric Co Ltd
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Sanyo Electric Co Ltd
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Sanyo Electric Co Ltd, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001172672A priority Critical patent/JP4255628B2/en
Publication of JP2002365130A publication Critical patent/JP2002365130A/en
Application granted granted Critical
Publication of JP4255628B2 publication Critical patent/JP4255628B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Photometry And Measurement Of Optical Pulse Characteristics (AREA)
  • Radiation Pyrometers (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、対象物体から放出される赤外線強度の2次元的分布を測定可能な赤外線2次元イメージセンサを駆動するための赤外線2次元センサアレイシステムの構成に関する。
【0002】
【従来の技術】
室温の物体や人体からは、波長10μm付近の赤外線(熱線)が輻射されており、これを計測することにより、それらの存在や温度の情報が非接触で得られる。これを利用することで、自動扉、侵入警戒機、電子レンジの調理モニタおよび化学計測等のさまざまな応用がなされている。
【0003】
こういった計測において、一番のキーデバイスは赤外線センサであり、量子型赤外センサと熱型赤外センサの2種類に大きく分けられる。
【0004】
量子型赤外センサは、感度が大きく検知能力に優れているが、冷却が必要なため装置が大型になるといった点で実用性に問題がある。一方、熱型赤外センサは、感度が量子型赤外センサよりは少し劣るものの室温動作が可能であるというメリットがあり、実用性に富んでいる。
【0005】
このため、熱型赤外センサとして、焦電効果を用いるもの、抵抗ボロメータ、誘電ボロメータ、サーモパイル、ゴーレイ(Golay)セル等数多くのものが提案されている。
【0006】
中でも、電界を印加して誘電率の温度変化を検知する誘電ボロメータは、他のセンサより感度が高く、チョッパが必要ない等の優れた特徴を有しており、実用的見知から期待されている。
【0007】
さらに、より高度な赤外線センシングとして、物体や風景の温度分布を非接触で得られる赤外線イメージセンサ(サーモグラフィ)への応用が期待される。
【0008】
特開平11−271141号公報(特願平10−72571号)には、容量変化検出型赤外線2次元センサアレイにおいて、各画素に対応する赤外線センサに参照キャパシタと赤外線検知キャパシタとを設ける構成が開示されている。この赤外線検知キャパシタは、温度に応じてその誘電率が変化する高誘電体材料、たとえば、強誘電体のBST[(Ba1-xSrx)TiO3](組成比x=0.33近傍)を電極で挟むことにより形成されている。この赤外線センサでは、赤外未照射時、赤外線検知キャパシタと参照キャパシタの容量が同じで、照射時の赤外吸収に伴う温度上昇で赤外線検知キャパシタの容量が変動するためにセンサ出力変化が生じる。
【0009】
【発明が解決しようとする課題】
しかしながら、実際に、上述のような赤外線センサを作成する場合、上記赤外線検知キャパシタや参照キャパシタの特性は、画素内でも、また画素間でもばらついており、それらの容量には差が存在する。
【0010】
この容量の差により、赤外未照射時でも、各画素に対応する赤外線センサに出力オフセットが存在することになる。
【0011】
上記赤外線センサの対象となる熱源からの赤外線の受光後の出力は、たとえば、およそ数mV以下であるので、上記出力オフセットは数mVよりさらに1、2桁低減する必要がある。単体の赤外線検出センサ素子では、外部キャパシタ(バリコン等)を付加すること等で上記容量ずれを補正できるが、多画素センサ(センサアレイ)では、特に画素数が多い場合ではそのような外部素子付加による補正は現実には不可能である。
【0012】
また、2次元イメージを撮像する際に、各フレーム時間で、上記出力オフセットを安定に数mV以下に低減する補正は、各フレームごとに十分に短い時間内に行なわれる必要があり、補正回数、補正速度の点からも外部素子による調整は不可能である。
【0013】
ところが、これでは、高感度であって、かつチョッパレス、しかも比較的簡易な構造等の特徴を有する容量変化検出型赤外線センサを用いて、センサアレイを実動作させることは困難である。
【0014】
本発明は、上記のような問題点を解決するためになされたものであって、その目的は、チョッパを使う必要や外付の素子で補正を行なう必要がなく、集積化が容易で、検出感度の向上と高分解能とを両立可能な構成の赤外線2次元センサアレイシステムを提供することである。
【0015】
【課題を解決するための手段】
このような問題点を解決するために、本発明に係る赤外線2次元センサアレイシステムは、赤外線検出キャパシタと参照キャパシタとの容量値、誘電損失および寄生抵抗値等のばらつきにより発生するオフセット出力を補正するように駆動信号を印加する。
【0016】
すなわち、請求項1記載の赤外線2次元センサアレイシステムは、行列状に複数の赤外線検出センサが配列された赤外線2次元センサアレイを備え、各赤外線検出センサは、参照キャパシタと、参照キャパシタと直列に接続され、入射する赤外線に応じて容量値が変化する赤外線検出キャパシタと、参照キャパシタの一方端および赤外線検出キャパシタの一方端との接続ノードから、信号レベルの読出しを選択的に行なうためのスイッチ手段とを含み、参照キャパシタの他方端に参照信号を印加するための第1の信号源と、赤外線検出キャパシタの他方端に駆動信号を印加するための第2の信号源とを備え、第2の信号源は、信号レベルの読出し対象となる赤外線検出センサに応じて、駆動信号の振幅および位相を予め定められた値に変化させる。
【0017】
請求項2記載の赤外線2次元センサアレイシステムは、請求項1記載の赤外線2次元センサアレイシステムの構成に加えて、第1の信号源は、複数の赤外線検出センサに共通に設けられ、第2の信号源は、赤外線2次元センサアレイの列ごとに設けられる複数の信号出力手段を含み、赤外線2次元センサアレイの行を選択して、選択された行に属するスイッチ手段を導通状態とするための行選択手段と、赤外線2次元センサアレイの列ごとに設けられ、スイッチ手段を介して信号レベルを読み出すための複数の信号読出手段とをさらに備える。
【0018】
請求項3記載の赤外線2次元センサアレイシステムは、請求項2記載の赤外線2次元センサアレイシステムの構成に加えて、複数の信号読出手段の出力から所望の周波数成分の信号を抽出するための信号抽出手段をさらに備え、信号抽出手段は、複数の信号読出手段の出力の各々に対して、所望の周波数に対応するフーリエ係数の第1の実数成分と第1の虚数成分を算出する周波数成分演算手段と、第1の実数成分と第1の虚数成分とからなる第1のベクトルと、赤外線2次元センサアレイへの赤外線非照射時において、複数の信号読出手段の出力の各々に対して所望の周波数に対応するフーリエ係数の算出を行なった際の第2の実数成分と第2の虚数成分とからなる第2のベクトルとの差ベクトルに基づいて、赤外線検出レベルを導出する赤外線レベル算出手段とを含む。
【0019】
請求項4記載の赤外線2次元センサアレイシステムは、請求項2記載の赤外線2次元センサアレイシステムの構成に加えて、第1の信号源から出力される参照信号と、第2の信号源から出力される駆動信号とは、ともに正弦波であり、赤外線検出センサごとに駆動信号として印加するべき信号の位相および振幅を記憶する駆動信号パラメータ記憶手段をさらに備える。
【0020】
請求項5記載の赤外線2次元センサアレイシステムは、請求項3記載の赤外線2次元センサアレイシステムの構成に加えて、所望の周波数は、駆動信号の周波数である、請求項3記載の赤外線2次元センサアレイシステム。
【0021】
請求項6記載の赤外線2次元センサアレイシステムは、請求項3記載の赤外線2次元センサアレイシステムの構成に加えて、第2の実数成分と第2の虚数成分とを、ユーザの要求にしたがって更新するための更新手段をさらに備える。
【0022】
請求項7記載の赤外線2次元センサアレイシステムは、請求項3記載の赤外線2次元センサアレイシステムの構成に加えて、行選択手段により第1のタイミングで選択された行に対する赤外線レベル算出手段による赤外線検出レベルの導出処理の少なくとも一部と、第1のタイミング後の第2のタイミングで行選択手段により選択された行に対する周波数成分演算手段の算出処理とが並行して行なわれる。
【0023】
【発明の実施の形態】
[赤外線検出センサ単体の構成とその駆動方式]
図1は、本発明に係る2次元センサアレイ中の、1つのセンサおよびそれを駆動する回路を等価的に示す図である。
【0024】
図1に示すとおり、センサアレイを構成する個々の容量変化検出型赤外センサIRSでは、受光部キャパシタCdは、その熱伝導を抑制して熱応答特性を向上させるために、基板を裏面からエッチングしてシリコン基板厚を薄くした領域、あるいは、基板を裏面または表面からエッチングしてシリコン基板が除去された領域に形成される。一方、参照用キャパシタ部Crefは、シリコンバルク上に形成される。
【0025】
ここで、参照用キャパシタ部Crefは、そのリーク電流の存在も考慮して、等価回路としては、容量C1と抵抗R1の並列接続で表現されている。一方、受光部キャパシタCdも、等価回路としては、容量C2と抵抗R2の並列接続で表現されている。
【0026】
受光部キャパシタCdの一方端と参照用キャパシタ部Crefの一方端とは、ノードncで結合されている。参照用キャパシタ部Crefの他方端には、信号源VG1から交流信号が与えられ、受光部キャパシタCdの他方端には、信号源VG2から交流信号が与えられる。ノードncの電位が、出力信号として、トランジスタTaを介して、赤外線センサIRSから出力される。トランジスタTaは、スイッチング信号Sswにより、選択的に導通状態または遮断状態とされる。
【0027】
図2は、信号源VG1およびVG2により、赤外線センサIRSに与えられる信号波形を示す図である。
【0028】
基本的には、参照用キャパシタCrefと受光部キャパシタCdの各々を、信号源VG1およびVG2からの振幅が同じで互いに位相が反転した1対の正弦波で駆動すると、赤外線に対する熱応答の差から共通電極ノードncに出力電圧が発生する。このとき、2つのキャパシタの容量は理想的には同じでなければならない。
【0029】
しかしながら上述のとおり、実際には成膜時の膜厚や膜質のばらつき、リソグラフィ時のキャパシタの面積のばらつき、およびリーク抵抗成分などで、2つのキャパシタCdおよびCrefの容量には数パーセントの差が存在する。
【0030】
一方、赤外線による容量の変化量は、赤外線光量にもよるが、典型的には、もともとの容量の0.1%以下である。振幅数Vで素子を駆動するとすれば、赤外線による信号は数mV以下となるが、そのままで、たとえば、8〜12ビットADコンバータなどを用いてデジタルデータとして撮像系に取込むには、ノイズや分解能から考えて、信号レベルは小さすぎる。
【0031】
そこで、100倍程度の増幅が必要になるが、容量のばらつきによる信号(オフセット)も同時に100倍に増幅されてしまうので、増幅系が飽和してしまうことになる。あるいは、大きなオフセットに隠れて赤外線応答の信号成分を得にくくなってしまう。したがって、受光部キャパシタCdと参照用キャパシタCrefの容量値の差を補正する必要がある。
【0032】
このような容量値の差の補正のためには、素子駆動正弦波パルスの振幅と位相を各素子ごとに変更することによって、オフセット値を調整することが可能である。
【0033】
図2では、例として、信号源VG2から出力される信号を、信号源VG1から出力される信号の反転信号から、位相差δθだけずらした状態を示している。さらに、必要に応じて、信号源VG2からの出力信号の振幅も変化させる。
【0034】
このようにして、駆動パルスの位相および振幅の調整による電気的な補正では、たとえば、素子の外部にコンデンサ等を外付けすることで補正する場合に比べて、センサアレイの外部の信号源から出力される信号の位相・振幅を調整すれば良いだけなので、温度の変化による出力のドリフトなども容易に補正することができる。
【0035】
なお、図2では、参照用キャパシタCrefと受光部キャパシタCdの各々を、信号源VG1およびVG2からの振幅が同じで互いに位相が反転した1対の正弦波で駆動する状態を基準として、駆動信号の位相および振幅を赤外線検出センサごとに変化させる構成としたが、本発明は、このような場合に限定されることなく、信号源VG1およびVG2からの信号は、互いに位相が反転した1対の信号を基準とするのであれば、正弦波に限定されるものではない。
【0036】
[2次元赤外線センサアレイシステムの構成とその駆動方式]
図3は、上述したような素子駆動正弦波パルスにより補正を行なうことが可能な赤外線2次元センサアレイおよびその駆動回路の構成を説明する概略ブロック図である。
【0037】
図3を参照して、赤外線センサアレイ10は、m(列)×n(行)個(m,n:自然数)のアレイ状に配置された容量変化型赤外線検出センサを備える。各赤外線検出素子が、画素に対応している。さらに、このm×n個のセンサは、1×n個のセンサからなるラインセンサがm個繰り返されるのと等価な構成となっており、このm個のラインセンサから、並列してm個のデータを読出す構成となっている。
【0038】
以下では、説明の簡単のために、赤外線センサアレイ10は、たとえば16×16の赤外線検出センサが行列状に配置されたものであり、この16×16アレイは、各々独立した1×16ラインセンサの繰返し配列として構成されるものとする。
【0039】
1×16ラインセンサの繰返し配列とする理由は、各列から並列に同時に画素出力データが得られ、2次元全画素データを直列・時系列に出力する場合に比べて、フレームあたりのデータ読出しを高速化できるからである。さらに、アレイ内では不良画素発生時のライン間相互の影響が小さくなるという利点もある。
【0040】
16×16センサアレイには、パーソナルコンピュータ100により制御されるフィールドプログラマブルゲートアレイ(以下、FPGA:Field Programable Gate Array)110により、各列ごとに駆動用正弦波が補正されて印加され、選択された行に属する赤外線検出センサの駆動が行なわれる。
【0041】
ここで、FPGA110により計算された補正された正弦波の値は、各ラインセンサごとに設けられたD/Aコンバータ120.0〜120.15により、それぞれ対応するラインセンサ中の赤外線検出センサに与えられる。さらに、FPGA110によりD/Aコンバータ120.16が制御されて、その出力により全画素について参照キャパシタCrefが駆動される。
【0042】
一方、FPGA110は、赤外線センサアレイ10中の行の選択を行なうために、赤外線検出センサIRSのトランジスタTaを駆動するための信号Ssw0〜Ssw15を出力する。すなわち、FPGA110は、16×16の2次元アレイから得られる赤外線フレーム画像をスキャンするために、各ラインセンサ中の選択される行に属する赤外線センサのスイッチングトランジスタを順次選択していく。
【0043】
16×16赤外線センサアレイから読出されたデータは、各ラインセンサごとに設けられるアンプ130.0〜130.15により増幅された後、バンドパスフィルタ140.0〜140.15で所望の周波数を含むできるだけ狭い周波数領域の成分のみが抽出された後、A/Dコンバータ150.0〜150.15によりデジタル信号に変換されてFPGA110に与えられる。
【0044】
上述したとおり、素子からの信号は数mV以下であるので、増幅を行なうことが必要である。また、デジタル回路部から発生する高周波ノイズや、誘電体膜および処理回路の歪みによると考えられる高周波成分をできるだけ少なくするとともに、電源の有する60Hzの成分や直流成分もカットする必要がある。そのため、図3に示した構成ではバンドパスフィルタ140.0〜140.15が設けられている。
【0045】
FPGA110では、このようにして得られた各ラインセンサからのデジタル信号を、後に説明するようにフーリエ係数の計算を行なうことで、入射赤外線に起因する信号成分のみの抽出を行なう。
【0046】
このようにしてFPGA110においてフーリエ係数の計算が行なわれたデータは、パーソナルコンピュータ100に返信され、パーソナルコンピュータ100において最終的に赤外線2次元イメージが構成されて、ディスプレイ(図示せず)上に出力される。
【0047】
図4は、図3において説明した2次元赤外線センサアレイ10およびFPGA110の構成を説明するための概略ブロック図である。なお、図4においては、説明の簡単のために図3のセンサアレイ10の構成のうち、2行2列分のみを抜き出して図示している。
【0048】
以下、図4にしたがって、その構成および処理の流れについてさらに詳しく説明する。
【0049】
各画素に対応する赤外線センサに与える駆動用正弦波は、スイッチング時のノイズやフィルタの過渡応答などを考慮すると、1画素に最低でも複数回、たとえば8パルス程度与えた上で、積算値を求める必要がある。一方で、駆動正弦波の周波数は、赤外線検出センサに用いられる強誘電体膜の誘電率の周波数特性等に起因して、たとえば、1kHz程度が適している。
【0050】
したがって、1画素の駆動には、上述の例では、最低8mS必要となる。つまり、16×16の2次元アレイを駆動する場合に、駆動正弦波源が1対のみでは、全画素を駆動して一巡する時間(フレーム時間)は、最小でも2048mS必要となる。これは、2秒間に1コマの画像が得られることに相当する。しかしながら、ほぼリアルタイムで赤外線画像を得るためには、1秒に5コマ以上(フレーム時間:200mS以下)のレートで画像データが読み出されることが望ましい。
【0051】
そこで、図3および図4に示した2次元赤外線センサアレイ10を駆動する駆動正弦波は、D/Aコンバータ120.0〜120.15により、同時に16対生成することとし、2次元センサアレイの各列に対応する16個の画素を同時に独立に駆動することにより、フレーム時間の短縮を図っている。一方で、参照用キャパシタCrefの駆動用正弦波は、全画素共通でよいので、D/Aコンバータ120.16により生成する。したがって、駆動正弦波は、同時に17個(受光部キャパシタ用16個と参照用キャパシタ用1個)を生成することになる。
【0052】
このため、FPGA110は、パーソナルコンピュータ100からの制御に応じて、駆動波形計算部1104において、同時に17個の振幅と位相の異なる正弦波のデータを計算する。さらに、FPGA110は、駆動波形計算部1104の計算結果に応じてD/A制御部1106によりD/Aコンバータ120.0〜120.16を制御して、バッファ121.0〜121.16からの出力波形をセンサアレイ10中の各赤外線検出センサに印加する。
【0053】
ここで、赤外線検出センサを2次元アレイ状に配列した場合は、ラインセンサに比べてその画素数が増加する上に、分解能を上げるためには一層の画素数の増加が必要になる。したがって、FPGA110上のメモリに個々の赤外線検出センサの各々について最適な振幅と位相を記憶させるとすると、FPGA110上に大規模なメモリが搭載されていることが必要である。
【0054】
むしろ、図4に示したシステムでは、各画素についての振幅および位相の補正値に対応したデータはパーソナルコンピュータ100中のメモリに保存し、駆動する画素を切換える前に最大16画素分のデータをパーソナルコンピュータ100からFPGA110に送信する構成としている。これにより、FPGA110上に容量の大きなメモリを搭載する必要がなくなる。
【0055】
FPGA110は、このようにしてセンサアレイ10の各列に属する赤外線検出センサのうち、読出し対象となる行に対応する赤外線検出センサについて、予め設定されている補償値に基づいて、最適な振幅および位相の駆動信号を計算し、D/Aコンバータ120.0〜120.15は、対応する列に対して駆動信号を出力する。
【0056】
さらに、FPGA110中のスイッチング制御部1108は、パーソナルコンピュータ100から与えられるスイッチングタイミングのデータと水晶発振器(図示せず)から与えられる正確なクロック信号に基づいて、センサアレイ10の行を順次選択するためのスイッチング信号を発生する。
【0057】
一方で、パーソナルコンピュータ100が、16個のA/Dコンバータ150.0〜150.15から同時に信号を取込むためには、それに対応した入出力インターフェイスをパーソナルコンピュータ100が備える必要がある。さらに、パーソナルコンピュータ100に対するデータ転送速度と計算速度の制約から、フーリエ係数計算もパーソナルコンピュータ100上で同時に行なうということは現実的でない。
【0058】
そこで、図4で示した構成では、FPGA110中のA/D制御部1101が16個のA/Dコンバータ150.0〜150.15の制御を行ない、かつ、FPGA110上のフーリエ係数計算部1112が、16画素分のフーリエ係数計算を行なって、その結果をインターフェース部1102を介してパーソナルコンピュータ100に送信する構成としている。
【0059】
もちろん、画素数がより大規模化した場合は、図4中のFPGA110で実現される機能と、パーソナルコンピュータ100上で実現される機能とを統合して専用LSIを設け、画素の駆動を行なう構成とすることも可能である。
【0060】
一方、パーソナルコンピュータ100は、撮像全体のコントロールと画像表示を行なう。このとき、図4に示すように、各画素ごとに最適な振幅と位相を調整するにあたり、パーソナルコンピュータ100からコントロールを行なうのであれば、そのソフトウェアの実装は比較的容易に行なうことができる。また、計測画像データからフィードバックにより最適なオフセット調整を行なうことが可能となる。
【0061】
[FPGA110の構成]
図5は、図4に示したFPGA110の構成をより詳しく説明するためのブロック図である。
【0062】
図5を参照して、パーソナルコンピュータ100とのインターフェイス部1102中のデータ・コマンドインターフェース部2102は、パーソナルコンピュータ100からのコントロールコードに従い、パーソナルコンピュータからのデータの受信を行なって、FPGA110中の各部にデータを送信する。また、データ・コマンドインターフェース部2102は、コントロールコードに従い、FPGA110の各部から受取ったデータをパーソナルコンピュータ100に送信する。
【0063】
一方、図4では図示省略されていた基準タイミング生成部2104は、パーソナルコンピュータ100から与えられるデータと水晶発振器からのクロック信号に基づいて、駆動用波形計算のタイミング、A/Dコンバータのデータ取込タイミング、フーリエ係数計算タイミング、データの記憶およびパーソナルコンピュータ100とのインターフェイス部へのデータ送出タイミングおよび赤外線検出センサのスキャニングのためのスイッチングのタイミングを発生する。
【0064】
ここで、パーソナルコンピュータ100からの受信データとしては、たとえば、素子の横方向のアドレス(列アドレス)および縦方向のアドレス(行アドレス)や、各赤外線検出センサに対応した駆動用正弦波の振幅と位相のデータがある。また、パーソナルコンピュータ100への送信データとしては、たとえば、各赤外線検出センサからのフーリエ係数と、選択された赤外線検出センサへの切換後の経過時間である。
【0065】
駆動波形計算部1104中の振幅・位相データ記憶部2106は、パーソナルコンピュータ100からインターフェイス部1102を介して送られてくる駆動波形の振幅と位相のデータを、センサアレイ10内の赤外線検出センサごとに記憶する。振幅・位相データ記憶部2106は、各素子を駆動する波形を発生するための駆動波形計算回路2108.0〜2108.16に、適切なタイミングでデータを送る。なお、駆動波形計算回路2108.16については、参照波の波形を計算するため、振幅・位相データ記憶部2106からデータを送らずに、波形を発生するためのデータは固定値としてもよい。
【0066】
駆動波形計算回路2108.0〜2108.16は、振幅・位相データ記憶部2106から送られるデータと、基準タイミング生成部2104から送られる計算の基準タイミングをもとに、各瞬間におけるD/Aコンバータ120.0〜120.16のデータを計算し、D/A制御回路2110.0〜2110.16にデータを送る。なお、駆動波形計算回路2108.16およびD/A制御回路2110.16は、参照電極キャパシタCrefの駆動用である。参照キャパシタ駆動用を含め、並列に17個の駆動波形計算回路2108.0〜2108.16が設けられている。
【0067】
D/A制御部1106中のD/A制御回路2110.0〜2110.16は、D/Aコンバータ120.0〜120.16をコントロールし、駆動波形計算回路2108.0〜2108.16より送られるデータをD/Aコンバータ120.0〜120.16に送出する。D/A制御回路2110.0〜2110.16も、並列に17個設けられている。
【0068】
A/D制御部1110中のA/D制御回路2112.0〜2112.15は、基準タイミング生成部2104より送られたタイミングに従って、A/Dコンバータ150.0〜150.15をコントロールし、A/Dコンバータ150.0〜150.15からのデータの取込みを行なう。A/D制御回路2112.0〜2112.15は、並列に16個設けられている。
【0069】
フーリエ係数計算部1112は、フーリエ係数計算回路2114と、フーリエ係数記憶部2116とを備える。フーリエ係数計算回路2114は、基準タイミング生成部2104より送られるタイミングに従って、A/D制御回路2112.0〜2112.15より送られるデータを用いて、センサアレイ10の列ごとに16個のフーリエ係数の計算を行なう。さらに、計算結果をフーリエ係数記憶部2116に送出する。
【0070】
フーリエ係数記憶部2116は、フーリエ係数計算回路2114より送られたフーリエ係数を素子ごとに記憶し、基準タイミング生成部2104より送られるタイミングに従って、インターフェイス部1102を介してパーソナルコンピュータ100にフーリエ係数を送出する。
【0071】
スイッチング制御部1108中のスイッチングパルス生成部2118は、各赤外線検出センサ中のスイッチング用トランジスタTaを適切なタイミングでオンオフさせるためのパルスを、基準タイミング生成部からのタイミングに従って生成する。
【0072】
[制御用パーソナルコンピュータ100の構成]
図6は、パーソナルコンピュータ100の構成の一部を抜き出して示す概略ブロック図である。
【0073】
図6を参照して、マンマシンインターフェイス部3002は、ユーザによりキーボード3000から入力された各パラメータを、画像表示用パラメータ設定部3004と画素駆動パラメータ記憶部3006に送る。
【0074】
画像表示パラメータ設定部3004は、画像表示時に用いるパラメータ、たとえば、各画素の「ゼロベクトル」や「感度係数」をキー入力に従って設定し記憶する。画像データ計算部3008がセンサアレイ10の出力に基づいて、画素の「ゼロベクトル」を算出し、画像表示パラメータ設定部3004は、この算出された値を受取る。各画素の「ゼロベクトル」とは、後に説明するように、センサアレイ10中の各赤外線検出センサについて、赤外線が未照射の状態での出力の複素フーリエ係数のベクトルを意味する。
【0075】
画像データ計算部3008は、たとえば、24ビットのデータ幅でFPGA110とデータの送受信を行なうI/Oカード部3014により、各画素ごとの信号(フーリエ係数)を受取り、画像表示パラメータ設定部3004から送られる各画素のゼロベクトルや感度係数を用いて表示データを計算する。画像データ計算部3008の計算結果に基づいて、画像表示部3010は、パーソナルコンピュータ100の画面に、測定対象の温度分布を反映した擬似カラー画像を表示する。
【0076】
画素駆動パラメータ記憶部3006は、後に説明する手順にしたがって、各画素駆動の最適な位相と振幅のデータを記憶する。位相と振幅のデータは、マニュアルキャリブレーション時には、マンマシンインターフェイス部3002より受取り、自動キャリブレーション時には、画像データ計算部3008より受取る。
【0077】
素子駆動パラメータ計算部3012は、画素駆動パラメータ記憶部3006より各画素の位相と振幅のデータを受取り、画素のアドレスを計算して適切なタイミングでI/Oカード部3014へデータを送出する。
【0078】
I/Oカード部3014は、FPGA110との通信・制御を行ない、FPGA110から各画素のフーリエ係数と、選択される赤外線検出センサの行の切換後の経過時間を受信し、FPGA110に各画素のアドレスと振幅および位相のデータを送信する。
【0079】
なお、以上の説明では、パーソナルコンピュータ100の外部インターフェースは、I/Oカード部3014であるものとしたが、もちろん、所定のビット幅と所望の速度でデータの授受を行なえるものであれば、他のインターフェースによってもよい。
【0080】
[赤外線2次元センサアレイシステムの動作]
以下では、パーソナルコンピュータ100において、各種パラメータをマン・マシンインタフェースにより設定する手続き、および各部の動作について、さらに詳しく説明する。
【0081】
再び、図3および図4を参照して、コントロール用パーソナルコンピュータ100は、各種パラメータ設定と画像表示およびFPGA110との通信・制御や、各画素の最適な振幅位相のデータ保持とオフセット調整処理を行なう。
【0082】
したがって、コントロール用パーソナルコンピュータ100は、FPGA110のコントロールや画像表示、キャリブレーション(オフセット調整)などの機能を果たすために以下のような動作および制御を行なう。
【0083】
i) ノーマルスキャン
画素からの信号をFPGA110を通してパーソナルコンピュータ100に取込み、擬似カラー化して2次元画像として表示する処理を行なう。このとき、ユーザからの指示に従って、後述する「ゼロベクトル値」の更新を行なう。
【0084】
ii) マニュアルキャリブレーション
画素を固定してキャリブレーション(オフセット調整)を行なう。
【0085】
パーソナルコンピュータ100の画面上にフーリエ係数の実軸係数と虚軸係数がリアルタイムに表示されるので、その画面表示を見ながらユーザからの指示で、画素に与える駆動正弦波の振幅と位相を変化させる。
【0086】
マニュアルキャリブレーション時にも、ユーザからの指示で固定された画素のゼロベクトル値を更新できる。
【0087】
iii) 自動キャリブレーション
ノーマルスキャン時に、キャリブレーションを自動で行なう。同時に横の画素数(最大16画素)分のキャリブレーションを一括して行なえるので、高速にキャリブレーションが終了する。
【0088】
iv) 経時変化の測定
マニュアルキャリブレーション時にユーザからの指示に応じて、横の画素数分のデータを最大2万点分まで記憶し、キャリブレーション終了時に自動的にファイルに保存する。
【0089】
v) キャリブレーション用データの保存
キャリブレーションを行なったときの各画素ごとの位相や振幅、感度のデータを自動的に保存する。計測ソフトを一度終了しても、次に計測ソフトを起動したときに自動的にこのパラメータを読込むことで、素子を変更しない限りパラメータの設定をし直す必要はなくなる。
【0090】
(各種パラメータ設定機能)
赤外線センサを駆動しその信号処理と画像表示を行なうためには、種々のパラメータを設定して、FPGA110のコントロールや計算を行なう必要がある。
【0091】
パーソナルコンピュータ100を用いたマンマシンインターフェイスにより、このようなパラメータの設定を行なう。以下ではこのようにして設定されるパラメータについてさらに詳しく説明する。
【0092】
i) ピクセル数
2次元アレイの画素数を、縦の画素数×横の画素数で表わす。なお、1×16と16×1は意味が異なり、1×16ではD/AコンバータやA/Dコンバータなどすべての処理が16個同時(並列)に行なわれ、スイッチングを行なうことはない。これに対して、16×1では処理は1画素ずつ行ない、16画素をスキャンする。したがって、同じ画素数でも1×16の方が16倍高速に全画素のデータを取込むことができる。
【0093】
ii) 表示の設定
後に、FPGA110の動作において詳しく説明するように、各画素のデータのフーリエ係数計算を行なう場合には、駆動正弦波に起因して出力される信号に対して、位相が同相の成分とπ/2ずれた成分を計算することになる。
【0094】
便宜上、同相成分を「実軸係数X」と呼び、π/2ずれた成分を「虚軸係数Y」と呼ぶことにする。
【0095】
図7は、フーリエ係数を係数Xと係数Yの2次元ベクトルで表現した場合において、赤外線非照射時と赤外線照射時のベクトルを表す概念図である。
【0096】
ここで、赤外線非照射時とは、たとえば、赤外線2次元センサアレイを搭載した赤外線カメラにおいて、赤外線2次元センサアレイへの入射赤外線を遮断するために、シャッタを閉じた状態を意味する。
【0097】
本来、赤外線非照射時のベクトルはオフセットの調整を行なうことで、その大きさが0となるべきものであるが、実際には、完全に0にすることは困難である。また、赤外線検出センサの出力のドリフトも存在するので、このベクトルは赤外線非照射時にも有限の値を持つ。
【0098】
そこで、赤外線非照射時の各画素のベクトル(「ゼロベクトル」)を記憶しておき、画像表示時にはゼロベクトルと赤外線照射時のベクトルとの差のベクトルの大きさに基づいて、各画素の赤外線レベルを導出して表示する。たとえば、差のベクトルの絶対値を赤外線の検出レベルとすればよい。
【0099】
iii) ゼロベクトルの取込み
上述したゼロベクトルは、時間および環境温度によりドリフトするので、随時更新する必要がある。したがって、パーソナルコンピュータ100から、ゼロベクトルのX・Y値を取込むことを指示すると、ノーマルスキャン時およびキャリブレーション(オフセット調整)時に記憶しているゼロベクトルの値を更新する。
【0100】
iv) ドライブ時間
1画素を駆動する時間を、たとえば、ミリ秒(mS)単位で入力する。この時間に縦の画素数を掛けた時間が、1フレームの時間になる。画素の切換時のノイズや過渡状態を避けるために、データ取込は画素切換後3mS後に開始する。したがって、データ取込時間はドライブ時間から3mSを引いた時間である。
【0101】
v) 自動キャリブレーションの設定
キャリブレーション(オフセット調整)を行なっても、ゼロベクトルは完全には0にならない。手動で行なう場合は人間が最小値を判断できるが、自動で行なう場合は収束条件が必要である。そこで、ゼロベクトルのX、Yの各係数の収束条件を「キャリブレーションの変化」と「正側・負側」により決定する。
【0102】
たとえば、Xの係数の偏差を5、負側とすれば、ゼロベクトルのXに対しては0>X>−5になった場合に収束したと判定する。
【0103】
vi) 各ピクセルの設定
各画素の感度やドリフトの方向などが異なるため、表示やキャリブレーションのパラメータを画素ごとに設定する必要がある。設定する画素をパーソナルコンピュータ100上の画面で指定した後、感度係数を入力することで、各画素ごとの感度の相違点を考慮した補正を行なうことが可能となる。
【0104】
vii) 経時変化測定の設定
経時変化を測定する際の時間間隔等設定を行なうこともできる。データの取込タイミングを指定すると、1回の測定時間と測定点間隔から時間間隔を計算して表示することになる。
【0105】
[I/Oカード部3014の機能と動作]
FPGA110と通信し制御を行なうためのインターフェイスであるI/Oカード部3014の機能と動作を以下にさらに説明する。
【0106】
i) 通信データの内容
パーソナルコンピュータ100から送信されるデータとしては少なくとも以下のものが必要である。
【0107】
すなわち、各画素の駆動用正弦波の片側振幅11ビットと位相の9ビットのデータ、どの素子のデータを送受信しているかを指定するためのアドレスの4ビットのデータ、素子駆動の開始や停止を行なうためのメインコントロールコードである。
【0108】
また、FPGA110からの受信データは次のようなものがある。
各画素のフーリエ係数の実軸と虚軸の係数それぞれ16ビットずつのデータおよびスイッチング後の経過時間8ビットのデータである。ここで、FPGA110からの経過時間のデータを用いるのは、パーソナルコンピュータ100は、OSの割込のため、1mS単位で正確な時間計測を行なうことができないからである。
【0109】
これらをすべて同時に送受信するためには、出力26ビット入力40ビットの合計66ビットが必要であるが、これだけのビット幅を持つI/Oポートやカードは、汎用のパーソナルコンピュータには存在しない。また、FPGA110側にもこれだけのI/Oピンを通信に割当てる余裕が存在しない。
【0110】
そこで、入出力の内容をコントロールするためのデータコントロールコード4ビットを追加し、代わりにデータの同時送受信を行なわないようにし、また各データを8ビット以下に分割するなどしてビット幅を縮小する構成としている。
【0111】
実際に用いるI/Oカードは、24ビット幅(8ビット×3ポート)であるので、次のようなビットの割当が行なわれる。
【0112】
1)Aポート:出力
0〜5ビット:振幅と位相データ
6,7ビット:メインコントロールコード
2)Bポート:入力
0〜7ビット:フーリエ係数X,Yおよび素子切換後経過時間
3)Cポート:出力
0〜3ビット:データコントロールコード
4〜7ビット:素子アドレス
ii) 通信データ速度と通信フロー
FPGA110が素子(赤外線検出センサ)を駆動してフーリエ係数の計算を行なう場合、上に述べたように画素を切換えてから所定の時間、たとえば3mSの間は過渡状態であるため、A/Dコンバータ150.0〜150.15によるデータの取込とフーリエ係数の計算を行なわない構成としている。
【0113】
つまり、この過渡状態の期間は、FPGA110上のメモリは、前に駆動していた画素のフーリエ係数のデータを保持している。
【0114】
したがって、パーソナルコンピュータ100がFPGA110と通信を行なう場合、この過渡状態の期間の間にFPGA110からフーリエ係数を1行分、たとえば、本実施の形態では最大16画素分受信する必要がある。
【0115】
つまり、1画素あたり32ビット(4バイト)のデータを受信するので、最大64バイトを3mSの間に受信しなければならない。ただし、実際には、どの画素のどのデータを受信するかをFPGA110にデータコントロールコード(4ビット)と送信アドレス(4ビット)の1バイトを用いて通知するので、通信時は倍の128バイトになり、1バイトあたりの通信時間は、約23μS以内でなければならない。
【0116】
FPGA110がある画素(同時に最大16個)を駆動している間に、パーソナルコンピュータ100は次の画素を駆動するための振幅と位相データ合計20ビット(実際には送信のデータビット幅は6ビットなので、4バイト分のデータに相当)を画素数分だけ(最大64バイト)、FPGA110に送信する必要がある。
【0117】
FPGA110がA/Dコンバータ150.0〜150.15のデータを取込み、フーリエ係数を計算する時間は、たとえば最小5mS(過渡時間と合わせると、1画素の駆動時間を最小8mS)であるので、この時間内にパーソナルコンピュータ100からFPGA110に送るコントロールコードと合わせて128バイトを送受信しなければならない。かつ、先に受信したフーリエ係数を用いて画像表示も行なわれる必要がある。
【0118】
図8は、このような送受信のフローを示すフローチャートである。
図8を参照して、パーソナルコンピュータ100のI/Oカード部3014は、すでに駆動を行なって読み出されたデータに基づいてFPGA110において計算が終了した1行分(16画素分)のフーリエ係数を受信する(ステップS100)。
【0119】
さらに、I/Oカード部3014は、センサアレイ10の選択される行の切換を行なってからの経過時間をFPGA110から受信しており(ステップS102)、パーソナルコンピュータ100は、切換から所定の過渡応答時間、たとえば、3mSが経過したかの判断のループ処理を行なう(ステップS102、ステップS104)。
【0120】
3mSが経過したと判断されると(ステップS104)、パーソナルコンピュータ100からFPGA110に対して、フーリエ係数計算開始の命令が送信される(ステップS106)。FPGA110では、これに応じて、A/Dコンバータ150.0〜150.15からデータの読出しが行なわれて、フーリエ計算回路2114でフーリエ係数の計算が順次行なわれ、計算結果はフーリエ係数記憶部2116に格納される。上述したとおり、1行分のフーリエ係数の計算には、たとえば、5mSかかるとすると、FPGA110において、素子の切換から過渡応答期間の3mS経過し、さらにフーリエ係数計算開始命令の送信から5mS経過後、すなわち、素子の切換から8mS[=3(mS)+5(mS)]経過後には、フーリエ係数記憶部2116に対する、新たに計算されたフーリエ係数の格納が終了することになる。
【0121】
一方、パーソナルコンピュータ100は、フーリエ係数計算開始の命令の送信後、続いて、次に選択される行に属する赤外線検出センサについて駆動波形の振幅と位相をFPGA110に対して送信する(ステップS108)。
【0122】
ステップS100で受信したデータに基づいて画像表示用のデータを計算し、画像表示が行なわれる(ステップS110)。
【0123】
画像表示のための処理の終了後、続いて、パーソナルコンピュータ100は、素子の切換からフーリエ係数の計算の終了が期待される時間、たとえば、上述の条件では、8mSが経過したかの判断のループ処理を行なう(ステップS112、ステップS114)。
【0124】
8mSが経過したと判断されると(ステップS114)、パーソナルコンピュータ100からFPGA110に対して、素子の切換、すなわちセンサアレイ10の選択行の切換の命令が送信される(ステップS116)。
【0125】
以後は、処理は、ステップS100に戻って、同様の処理を繰り返す。
[FPGA110の動作の詳細]
FPGA110は、上述のとおり、素子駆動用正弦波用のデジタルデータ計算と、D/AコンバータおよびA/Dコンバータの制御、フーリエ係数計算、パーソナルコンピュータ100との通信など、撮像システムの全体の制御およびデータ出力を行なう。以下では、その動作について、さらに詳しく説明する。
【0126】
a) 素子駆動用正弦波の計算
素子を駆動するためにD/Aコンバータ120が使用されている。たとえば、このD/Aコンバータ120の仕様としては、5ボルト単一電源で12ビットの分解能(最大出力4095mV、分解能1mV)である。
【0127】
赤外線照射による素子からの出力は数mV以下と考えられるので、素子のばらつきによる出力(オフセット)は1mV以下程度まで抑える必要がある。
【0128】
図1に示した等価回路により、素子駆動用正弦波の振幅を1mV変化されると、出力振幅は0.5mV変化する。
【0129】
つまり、正弦波の振幅を1mV単位で変化させれば、オフセットは最大0.25mVまで小さくすることが可能である。また、FPGA110に与えるクロック周波数は、速いほどFPGA110が高速動作するものの、このクロック周波数が速すぎるとD/Aコンバータ120.0〜120.16の動作が追いつけなくなってしまう。また、高速動作に伴う不要輻射に起因するノイズも増加する。
【0130】
そこで、クロック周波数は、特に限定されないが、たとえば、16MHzとする。この周波数で1kHzの正弦波の出力タイミングを制御すると、位相分解能は360度を16000で割って、0.0225度となる。シミュレーションの結果、振幅3.5V時に0.0225度位相を変化させると、出力が約0.6mV変化するとの結果が得られた。位相を0.0225度単位で調整すれば、オフセットは最大約0.3mVになる。
【0131】
以上から、オフセット調整に、分解能1mVのD/Aコンバータ120.0〜120.16と16MHzのクロックを用いれば、オフセット調整能力は十分であるといえる。
【0132】
図9は、D/Aコンバータ120.0〜120.16により出力する正弦波の波形を模式的に示す図である。
【0133】
正弦波をD/Aコンバータ120により出力する場合、図9(a)に示すように、データ出力タイミングを一定にして、振幅の変化量を変えていくことにより正弦波にする方法と、図9(b)に示すように、振幅の変化量を一定にしてデータ出力タイミングを変化させる方法とが考えられる。
【0134】
どちらの場合も階段波形となるが、前者の場合の振幅の変化量の最大値は、後者の場合の振幅変化量の一定の場合のπ/2倍(約1.6倍)となる。2つの正弦波の差を測定するシステムでは、駆動波形が滑らかな正弦波であれば、信号中に階段波形は存在しないが、階段波形の場合には、ステップ状変化に信号中にノイズとして重畳する。したがって、この変化量はできるだけ小さい方が望ましいと考えられるので、本システムにおいては後者の方法(図9(b))を採用している。
【0135】
用いられるD/Aコンバータ120.0〜120.16のデータ受信時間と変換時間の合計は、たとえば、およそ2μSであるので、この場合は、データの出力間隔は2μS以上が必要である。
【0136】
図9(b)に示した後者の方法で、1kHzを256分割(2の8乗)した場合、最小のデータ出力間隔が約2.3μSとなる。したがって、上記のような条件の下では、1周期を256分割として、システムを動作させればよい。
【0137】
正弦波はπ/2周期で左右や上下に反転した波形になるので、この正弦波を表現するためには、たとえば、1周期を4分割し、これを64個の点(0番目から63番目)で表わせばよい。この場合、正弦波を63段階の波形で表現することになる。
【0138】
今、n番目の点の電圧値V(n)は、パーソナルコンピュータ100から与えられる片側振幅値をVpcとすると、以下の式で表わすことができる。
【0139】
V(n)=Vpc×n÷63+DCオフセット
ただし、63で割る回路は回路規模が大きくなるので、単に下位6ビットを無視して等価的に64で割った値を用いる構成としてもよい。したがって、この場合は、Vpcの63/64が実際の片側振幅値になる。
【0140】
また、上式の掛算部分をそのままでは11ビット×6ビットで17ビットの大きな掛算回路になり、最大17個をFPGAに実装するのが困難となる。そこで、足算器とシフトレジスタで掛算器を構成し、6クロック(たとえば、約0.4μS)で動作する回路とすることが可能である。
【0141】
位相をシフトさせるためには、2分の1周期ごとに基準パルス(8000クロックごとのパルス)を作成し、この基準パルスからのクロックのカウント数がパーソナルコンピュータ100から与えるシフト数(0.0225度単位)に等しくなった時点で基準遅延パルスを生成し、これから正弦波の出力を始める構成とすればよい。
【0142】
b) フーリエ係数計算
センサアレイ10の赤外線検出センサからの出力信号には、ノイズのほかに歪み成分が重畳しており、たとえば、オシロスコープで出力を観測している場合には、所望の信号は、そのレベルが小さいと、この歪み成分に隠れてしまう。
【0143】
しかしながら、高速フーリエ変換(以下、FFT:Fast Fourier Transform)を行なうことにより、赤外線検出センサの駆動信号の周波数と同じ周波数の所望の信号である、たとえば、1kHzの信号成分の変化を取出せる。
【0144】
FFTのアルゴリズムは複雑で、また、最大16チャネルを同時に計算する必要があるので、その回路を、FPGAに実装することは困難である。ところで、FFTはナイキスト周波数までの全周波数の計算を行なうが、本発明では、上述のとおり、たとえば、1kHzの周波数成分のみを取出せばよいので、より簡単な1kHz固定のフーリエ係数の計算を行なう。
【0145】
信号波形に重畳する歪み信号を考慮すると、特に限定はされないが、サンプリング周波数は4kHz以上が必要である。一般的には、サンプリング周波数は、その必要な大きさの10倍程度を用いるので、図3のシステムでは、たとえば、32kHz(1KHzの2の5乗倍)でサンプリングを行なうこととすればよい。
【0146】
このとき、32kHzでサンプリングされたi番目のデータをZiとすると、1周期分のフーリエ係数Ca(複素数)は次式で表わすことができる。
【0147】
【数1】

Figure 0004255628
ここで、nは32、fは1kHz、jは虚数単位である。
【0148】
上式からフーリエ係数Caは複素平面上のベクトルとなり、上述のとおり、実軸側の係数をX、虚軸側の係数をYと置く。
【0149】
1kHzの正弦波の振幅は、このベクトルの大きさ、サンプリングのタイミングに対する位相差はベクトルのX軸からの回転角で表わされる。複数の周期にわたって上式を計算した場合は、ベクトルの大きさが周期数に比例するが、位相角は変化しない。サンプリングにノイズが含まれる場合は、周期数の平方根に比例してS/Nが向上する。
【0150】
上式を実行するための回路をFPGA110に実装する場合、サンプリングのタイミングは決まっているので、サンプリングデータに乗ずるサインやコサインの関数は32種類の決まった数値になる。実際にはこれらの関数はπ/2周期で左右や上下に反転した形なので、8個の数値を用いるだけでよく、この8個の係数値をFPGA110のフーリエ係数記憶部2116中のROM(Read Only Memory)テーブルに記録させる。
【0151】
サンプリングデータは、たとえば、12ビット(1ビットが約1.22mV)であるが、最下位ビットはノイズが大きく意味を持たないので、この場合、上位11ビットのみを計算に使用すればよい。また、オフセット調整後の信号の振幅は増幅後であっても1V以下であるので、サンプリングデータが12ビットの場合は、フーリエ係数の計算に有効なビット数は10ビット以下である。
【0152】
そこで、この8個の係数値は、サンプリングデータを12ビットとするシステムでは、10ビットデータとすればよい。したがって、掛算は21ビット幅が必要である。21ビットの掛算回路は非常に大きな回路となり、また遅延も大きい。したがって、回路規模の抑制のためには、シフトレジスタと足算回路を用いて10クロックで動作する掛算回路を構成することが可能である。この掛算結果の数値を、さらにFPGA110のフーリエ係数記憶部2116中のRAM(Random Access Memory)に加算することにより、フーリエ係数を求める。
【0153】
本システムでは、一例として、21ビット整数を1周期に32(2の5乗)回加算し、最大256(2の8乗)周期まで加算することにしたので、最大34ビットになる可能性がある。しかしながら、実際の最大振幅は1V以下と考えられるので、この足算は31ビット幅で行なうこととすることができる。
【0154】
また、このような構成の場合は、31ビット中下位ビットは、計算後は、ノイズのため意味をなさないので、本システムでは、パーソナルコンピュータ100に送信するデータは下位15ビットを無視して上位16ビットのみとしてもよい。
【0155】
振幅(ピークツーピーク)が1Vの1kHz正弦波に対して、1周期分の上記の計算を行ない、下位15ビットを無視すると、フーリエ係数(ベクトル)の大きさ(ベクトルの長さ)は約102となる。
【0156】
これから、計算を行なった周期をN、計算されたフーリエ係数の大きさをFとすれば、実際の信号強度Vは次式で与えられる
V=F/N/102
歪成分の高調波が重畳した実際の信号波形(160倍の増幅後)において、オシロスコープ付属のFFT機能により求めた1kHzの振幅が12.6mVのとき、125周期のフーリエ係数計算により上式から求められる振幅値は12.9mVとなり非常によく一致していることが確認された。
【0157】
[アナログ信号処理部およびA/Dコンバータ]
図3に示した赤外線2次元センサアレイ10では、赤外線検出センサからの信号は数mV以下であるので増幅が必要である。また、デジタル回路部から発生する高周波ノイズや、誘電体膜および処理回路の歪みによると考えられる高周波成分をできるだけ少なくするとともに、60Hz成分や直流成分もカットする必要がある。そのためにバンドパスフィルタ140.0〜140.15を使用する。
【0158】
しかしながら、フィルタの遮断特性を急峻にすると過渡特性が長くなり、1画素当りの駆動時間も長くする必要が生じる。したがって、フィルタの遮断特性にも最適な次数が要求される。これらを考慮して設計されたアナログ回路部であるバンドパスフィルタ140.0〜140.15について、さらに説明しておく。
【0159】
たとえば、駆動正弦波の周波数を1kHzとすると、出力信号には、それに対する高調波の歪が現れる。
【0160】
そこで、60Hz成分や直流成分と、この歪成分をカットすることを考慮して、バンドパスフィルタ140.0〜140.15を、たとえば、中心周波数1kHz、利得45dB(180倍)の特性を有するように設計する。
【0161】
図10は、このようなバンドパスフィルタ140.0の構成を示す概略ブロック図である。他のバンドパスフィルタ140.1〜140.15の構成も同様である。
【0162】
入力側は、赤外線検出センサからの出力をJ−FETのソースフォロアによって受けている。この回路は5V単電源で駆動する。フィルタへの2.5V入力は、5V電源からツェナダイオードにより2.5Vに低電圧化し、フィルタに安定に供給するためのバッファを使用して生成したものである。
【0163】
(1) 利得周波数特性
図11は、図10に示した回路の利得周波数特性を示す図である。
【0164】
図11(a)はシミュレーション結果であり、図11(b)は実測値である。シミュレーション、実測値ともに中心周波数1kHz成分は約45dBの利得がある。また、1kHz成分に対して2kHz成分は約25dBの減衰がある。
【0165】
(2) 時間応答特性
赤外線センサの1画素当りに必要な駆動時間は、画素切換時のノイズやフィルタの時間応答特性を考慮して決める必要がある。フィルタの帯域幅を狭くすればするほど、ノイズ除去能力は高くなるが、信号が急変したときのフィルタ出力が定常状態に達するまでの時間は長くなる。この時間応答特性のために、波形処理は要求されている精度に落ち着くまでの時間を待ってから行なわないと誤った結果となってしまう。
【0166】
したがって、16×16あるいはそれ以上の2次元アレイにおいては、定常状態に達するまでの時間をなるべく短くする必要がある。
【0167】
図12は、図10に示したバンドパスフィルタの時間応答特性を示す図である。ここで、図12は、バンドパスフィルタに正弦波1kHzの信号を10波形バースト信号として入力したときの出力応答波形である。
【0168】
図12(a)はシミュレーション結果であり、図中の5msから15msまではバースト信号を入力したときの出力応答波形である。図12(b)は実測値であり、図中に示したようなタイミングで信号入力の開始終了を行なったときの出力信号波形である。
【0169】
シミュレーションおよび実測値ともに、立上がり、立下がりの3msの間は信号が安定しない。よって、逆にいえば、以上説明したような測定のパラメータの条件下では、バンドパスフィルタ140.0〜140.15からの出力信号の振幅をFPGA110により、1kHzのフーリエ係数計算する場合に、画素の切換から3ms以降の信号を取込めば、十分な精度のデータを得ることができることがわかる。
【0170】
したがって、以上説明したような構成により、高感度であって、かつチョッパレス、しかも比較的簡易な構造等の特徴を有する容量変化検出型赤外線センサを用いて、センサアレイを実動作させることが可能となる。
【0171】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0172】
【発明の効果】
以上説明したとおり、本発明の容量変化検出型赤外センサを2次元に配列した赤外線2次元イメージセンサに対する駆動回路および赤外線2次元イメージセンサシステムにより、室温で高感度かつ簡易な構成の赤外線検出回路を実現することができ、高感度かつ高密度画素の室温動作赤外線2次元イメージセンサを実現することが可能となる。
【図面の簡単な説明】
【図1】 本発明に係る2次元センサアレイ中の、1つのセンサおよびそれを駆動する回路を等価的に示す図である。
【図2】 信号源VG1およびVG2により、赤外線センサIRSに与えられる信号波形を示す図である。
【図3】 素子駆動正弦波パルスにより補正を行なうことが可能な赤外線2次元センサアレイおよびその駆動回路の構成を説明する概略ブロック図である。
【図4】 2次元赤外線センサアレイ10およびFPGA110の構成を説明するための概略ブロック図である。
【図5】 FPGA110の構成をより詳しく説明するためのブロック図である。
【図6】 パーソナルコンピュータ100の構成の一部を抜き出して示す概略ブロック図である。
【図7】 フーリエ係数を係数Xと係数Yの2次元ベクトルで表現した場合において、赤外線非照射時と赤外線照射時のベクトルを表す概念図である。
【図8】 送受信のフローを示すフローチャートである。
【図9】 D/Aコンバータ120.0〜120.16により出力する正弦波の波形を模式的に示す図である。
【図10】 バンドパスフィルタ140.0の構成を示す概略ブロック図である。
【図11】 図10に示した回路の利得周波数特性を示す図である。
【図12】 図10に示したバンドパスフィルタの時間応答特性を示す図である。
【符号の説明】
10 赤外線センサアレイ、100 パーソナルコンピュータ、110 FPGA、120.0〜120.16 D/Aコンバータ、Cref 参照キャパシタ、130.0〜130.15 アンプ、140.0〜140.15 バンドパスフィルタ、150.0〜150.15 A/Dコンバータ、1102 インターフェース部、1104 駆動波形計算部、1106 D/A制御部、1108スイッチング制御部、1110 A/D制御部、1112 フーリエ係数計算部、2102 データ・コマンドインターフェース部、2104 基準タイミング生成部、2106 振幅・位相データ記憶部、2108.0〜2108.16駆動波形計算回路、2110.0〜2110.16 D/A制御回路、2112.0〜2112.15 A/D制御回路、2114 フーリエ係数計算回路、2116 フーリエ係数記憶部、2118 スイッチングパルス生成部、3000 キーボード、3002 マンマシンインターフェイス部、3004 画像表示用パラメータ設定部、3006 画素駆動パラメータ記憶部、3008 画像データ計算部、3010 画像表示部、3012 素子駆動パラメータ計算部、3014 I/Oカード部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a configuration of an infrared two-dimensional sensor array system for driving an infrared two-dimensional image sensor capable of measuring a two-dimensional distribution of infrared intensity emitted from a target object.
[0002]
[Prior art]
Infrared rays (heat rays) having a wavelength of about 10 μm are radiated from an object or human body at room temperature, and by measuring this, information on their presence and temperature can be obtained in a non-contact manner. By utilizing this, various applications such as automatic doors, intrusion warning devices, cooking monitors for microwave ovens, and chemical measurement have been made.
[0003]
In such measurement, the most important key device is an infrared sensor, which can be roughly divided into two types: a quantum infrared sensor and a thermal infrared sensor.
[0004]
The quantum infrared sensor has high sensitivity and excellent detection ability, but has a problem in practicality in that the apparatus is large because cooling is necessary. On the other hand, the thermal infrared sensor has a merit that it can be operated at room temperature, although its sensitivity is slightly inferior to that of the quantum infrared sensor, and is highly practical.
[0005]
For this reason, many thermal infrared sensors have been proposed, such as those using the pyroelectric effect, resistance bolometers, dielectric bolometers, thermopiles, and Golay cells.
[0006]
Above all, the dielectric bolometer that detects the temperature change of the dielectric constant by applying an electric field has excellent characteristics such as higher sensitivity than other sensors and the need for a chopper, and is expected from practical knowledge. Yes.
[0007]
Furthermore, as a more advanced infrared sensing, it is expected to be applied to an infrared image sensor (thermography) that can obtain the temperature distribution of an object or landscape without contact.
[0008]
Japanese Patent Application Laid-Open No. 11-271141 (Japanese Patent Application No. 10-72571) discloses a configuration in which a reference capacitor and an infrared detection capacitor are provided in an infrared sensor corresponding to each pixel in a capacitance change detection type infrared two-dimensional sensor array. Has been. This infrared detection capacitor has a high dielectric material whose dielectric constant changes depending on temperature, for example, ferroelectric BST [(Ba 1-x Sr x ) TiO Three ] (Composition ratio x = 0.33 vicinity) is sandwiched between electrodes. In this infrared sensor, when the infrared rays are not irradiated, the capacitances of the infrared detection capacitor and the reference capacitor are the same, and the output of the infrared detection capacitor varies due to the temperature rise caused by the infrared absorption during the irradiation.
[0009]
[Problems to be solved by the invention]
However, when an infrared sensor as described above is actually created, the characteristics of the infrared detection capacitor and the reference capacitor vary within a pixel and between pixels, and there is a difference in the capacitances.
[0010]
Due to the difference in capacitance, an output offset exists in the infrared sensor corresponding to each pixel even when infrared irradiation is not performed.
[0011]
Since the output after receiving infrared rays from the heat source to be the target of the infrared sensor is, for example, about several mV or less, the output offset needs to be further reduced by one or two digits from several mV. In the case of a single infrared detection sensor element, the capacitance deviation can be corrected by adding an external capacitor (variable capacitor, etc.). However, in the case of a multi-pixel sensor (sensor array), such an external element is added especially when the number of pixels is large. Correction by is impossible in reality.
[0012]
Further, when capturing a two-dimensional image, the correction that stably reduces the output offset to several mV or less at each frame time needs to be performed within a sufficiently short time for each frame. In terms of the correction speed, adjustment by an external element is impossible.
[0013]
However, in this case, it is difficult to actually operate the sensor array by using a capacitance change detection type infrared sensor having high sensitivity, chopperless, and relatively simple structure.
[0014]
The present invention has been made in order to solve the above-described problems. The object of the present invention is to eliminate the need for using a chopper or performing correction with an external element, and is easy to integrate and detect. It is an object to provide an infrared two-dimensional sensor array system having a configuration capable of achieving both improvement in sensitivity and high resolution.
[0015]
[Means for Solving the Problems]
In order to solve such problems, the infrared two-dimensional sensor array system according to the present invention corrects an offset output generated due to variations in capacitance values, dielectric losses, parasitic resistance values, and the like between the infrared detection capacitor and the reference capacitor. A drive signal is applied as described above.
[0016]
That is, the infrared two-dimensional sensor array system according to claim 1 includes an infrared two-dimensional sensor array in which a plurality of infrared detection sensors are arranged in a matrix, and each infrared detection sensor is in series with a reference capacitor and a reference capacitor. Switch means for selectively reading out a signal level from a connection node between an infrared detection capacitor connected and having a capacitance value changed according to incident infrared rays, and one end of a reference capacitor and one end of the infrared detection capacitor A first signal source for applying a reference signal to the other end of the reference capacitor, and a second signal source for applying a drive signal to the other end of the infrared detection capacitor, The signal source changes the amplitude and phase of the drive signal to predetermined values according to the infrared detection sensor from which the signal level is to be read. That.
[0017]
In the infrared two-dimensional sensor array system according to claim 2, in addition to the configuration of the infrared two-dimensional sensor array system according to claim 1, the first signal source is provided in common to the plurality of infrared detection sensors, and the second The signal source includes a plurality of signal output means provided for each column of the infrared two-dimensional sensor array, and selects a row of the infrared two-dimensional sensor array so that the switch means belonging to the selected row is turned on. And a plurality of signal reading means provided for each column of the infrared two-dimensional sensor array for reading the signal level via the switch means.
[0018]
In addition to the configuration of the infrared two-dimensional sensor array system according to claim 2, the infrared two-dimensional sensor array system according to claim 3 is a signal for extracting a signal having a desired frequency component from outputs of a plurality of signal reading means. And a frequency component calculation for calculating a first real component and a first imaginary component of a Fourier coefficient corresponding to a desired frequency for each of the outputs of the plurality of signal reading units. Means, a first vector composed of a first real component and a first imaginary component, and a desired value for each of the outputs of the plurality of signal read-out means when the infrared two-dimensional sensor array is not irradiated with infrared light An infrared detection level is derived based on a difference vector between the second vector composed of the second real component and the second imaginary component when the Fourier coefficient corresponding to the frequency is calculated. And a external level calculation means.
[0019]
In addition to the configuration of the infrared two-dimensional sensor array system according to claim 2, the infrared two-dimensional sensor array system according to claim 4 outputs a reference signal output from the first signal source and a second signal source. Both drive signals are sinusoidal waves, and further include drive signal parameter storage means for storing the phase and amplitude of a signal to be applied as a drive signal for each infrared detection sensor.
[0020]
5. The infrared two-dimensional sensor array system according to claim 5, in addition to the configuration of the infrared two-dimensional sensor array system according to claim 3, the desired frequency is the frequency of the drive signal. Sensor array system.
[0021]
In addition to the configuration of the infrared two-dimensional sensor array system according to claim 3, the infrared two-dimensional sensor array system according to claim 6 updates the second real number component and the second imaginary number component according to a user request. Update means for doing so.
[0022]
In addition to the configuration of the infrared two-dimensional sensor array system according to claim 3, the infrared two-dimensional sensor array system according to claim 7 is an infrared ray by the infrared level calculation means for the row selected at the first timing by the row selection means. At least a part of the detection level derivation process and the calculation process of the frequency component calculation unit for the row selected by the row selection unit at the second timing after the first timing are performed in parallel.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
[Configuration of infrared sensor and its driving method]
FIG. 1 is a diagram equivalently showing one sensor and a circuit for driving the sensor in a two-dimensional sensor array according to the present invention.
[0024]
As shown in FIG. 1, in each capacitance change detection type infrared sensor IRS constituting the sensor array, the light receiving unit capacitor Cd etches the substrate from the back surface in order to suppress the heat conduction and improve the thermal response characteristic. Thus, it is formed in a region where the thickness of the silicon substrate is reduced, or a region where the silicon substrate is removed by etching the substrate from the back surface or the front surface. On the other hand, the reference capacitor portion Cref is formed on the silicon bulk.
[0025]
Here, the reference capacitor portion Cref is expressed as a parallel connection of a capacitor C1 and a resistor R1 as an equivalent circuit in consideration of the presence of the leakage current. On the other hand, the light receiving unit capacitor Cd is also expressed as a parallel connection of a capacitor C2 and a resistor R2 as an equivalent circuit.
[0026]
One end of the light-receiving unit capacitor Cd and one end of the reference capacitor unit Cref are coupled at a node nc. An AC signal is supplied from the signal source VG1 to the other end of the reference capacitor unit Cref, and an AC signal is supplied from the signal source VG2 to the other end of the light receiving unit capacitor Cd. The potential of the node nc is output as an output signal from the infrared sensor IRS via the transistor Ta. The transistor Ta is selectively turned on or off by the switching signal Ssw.
[0027]
FIG. 2 is a diagram showing signal waveforms given to the infrared sensor IRS by the signal sources VG1 and VG2.
[0028]
Basically, when each of the reference capacitor Cref and the light-receiving unit capacitor Cd is driven by a pair of sine waves having the same amplitude from the signal sources VG1 and VG2 and having their phases inverted, the difference in thermal response to infrared rays An output voltage is generated at the common electrode node nc. At this time, the capacitances of the two capacitors should ideally be the same.
[0029]
However, as described above, actually, there is a difference of several percent between the capacitances of the two capacitors Cd and Cref due to variations in film thickness and film quality during film formation, variations in capacitor area during lithography, and leakage resistance components. Exists.
[0030]
On the other hand, the amount of change in capacitance due to infrared rays is typically 0.1% or less of the original capacitance, although depending on the amount of infrared rays. If the element is driven with an amplitude of V, the infrared signal will be several mV or less, but for example, in order to capture it as digital data using an 8- to 12-bit AD converter, Considering the resolution, the signal level is too small.
[0031]
Therefore, although amplification of about 100 times is necessary, a signal (offset) due to variation in capacitance is also amplified 100 times at the same time, so that the amplification system is saturated. Alternatively, it is difficult to obtain an infrared response signal component behind a large offset. Therefore, it is necessary to correct the difference between the capacitance values of the light receiving unit capacitor Cd and the reference capacitor Cref.
[0032]
In order to correct such a difference in capacitance value, it is possible to adjust the offset value by changing the amplitude and phase of the element driving sine wave pulse for each element.
[0033]
In FIG. 2, as an example, a state in which the signal output from the signal source VG2 is shifted by the phase difference δθ from the inverted signal of the signal output from the signal source VG1 is shown. Further, the amplitude of the output signal from the signal source VG2 is changed as necessary.
[0034]
In this way, the electrical correction by adjusting the phase and amplitude of the drive pulse, for example, is output from a signal source outside the sensor array, compared to the case where correction is performed by externally attaching a capacitor or the like outside the element. Since it is only necessary to adjust the phase / amplitude of the output signal, it is possible to easily correct the output drift due to the temperature change.
[0035]
In FIG. 2, the reference signal Cref and the light receiving unit capacitor Cd are driven based on a state in which each of the reference capacitors Cref and the light receiving unit capacitor Cd is driven by a pair of sine waves having the same amplitude from the signal sources VG1 and VG2 and having the phases inverted. However, the present invention is not limited to such a case, and the signals from the signal sources VG1 and VG2 are a pair of signals whose phases are inverted with respect to each other. As long as the signal is used as a reference, the signal is not limited to a sine wave.
[0036]
[Configuration and drive system of two-dimensional infrared sensor array system]
FIG. 3 is a schematic block diagram for explaining the configuration of an infrared two-dimensional sensor array that can be corrected by the element driving sine wave pulse as described above and a driving circuit thereof.
[0037]
Referring to FIG. 3, infrared sensor array 10 includes capacitance change type infrared detection sensors arranged in an array of m (columns) × n (rows) (m, n: natural numbers). Each infrared detection element corresponds to a pixel. Further, the m × n sensors have an equivalent configuration in which m line sensors composed of 1 × n sensors are repeated. From the m line sensors, m number of sensors are arranged in parallel. Data is read out.
[0038]
In the following, for the sake of simplicity of explanation, the infrared sensor array 10 includes, for example, 16 × 16 infrared detection sensors arranged in a matrix, and each 16 × 16 array is an independent 1 × 16 line sensor. It is assumed to be configured as a repeating array of
[0039]
The reason why the 1 × 16 line sensor is repeatedly arranged is that pixel output data is obtained simultaneously in parallel from each column, and data reading per frame is performed compared to the case where two-dimensional all pixel data is output in series and time series. This is because the speed can be increased. Further, there is an advantage that the influence between lines when a defective pixel is generated is reduced in the array.
[0040]
A 16 × 16 sensor array is selected by correcting and applying a driving sine wave for each column by a field programmable gate array (FPGA) 110 controlled by the personal computer 100. The infrared detection sensors belonging to the row are driven.
[0041]
Here, the corrected sine wave value calculated by the FPGA 110 is given to the infrared detection sensors in the corresponding line sensors by the D / A converters 120.0 to 120.15 provided for the respective line sensors. It is done. Furthermore, the D / A converter 120.16 is controlled by the FPGA 110, and the reference capacitor Cref is driven for all the pixels by the output.
[0042]
On the other hand, the FPGA 110 outputs signals Ssw0 to Ssw15 for driving the transistors Ta of the infrared detection sensor IRS in order to select a row in the infrared sensor array 10. That is, the FPGA 110 sequentially selects the switching transistors of the infrared sensor belonging to the selected row in each line sensor in order to scan the infrared frame image obtained from the 16 × 16 two-dimensional array.
[0043]
The data read from the 16 × 16 infrared sensor array is amplified by amplifiers 130.0 to 130.15 provided for each line sensor, and then includes a desired frequency by bandpass filters 140.0 to 140.15. After extracting only the components in the narrowest possible frequency region, they are converted into digital signals by the A / D converters 150.0 to 150.15 and given to the FPGA 110.
[0044]
As described above, since the signal from the element is several mV or less, it is necessary to perform amplification. In addition, it is necessary to reduce the high frequency noise generated from the digital circuit part and the high frequency component considered to be caused by the distortion of the dielectric film and the processing circuit as much as possible, and cut the 60 Hz component and DC component of the power supply. Therefore, bandpass filters 140.0 to 140.15 are provided in the configuration shown in FIG.
[0045]
The FPGA 110 extracts only the signal component due to the incident infrared rays by calculating the Fourier coefficient of the digital signal from each line sensor obtained in this way as will be described later.
[0046]
The data for which the Fourier coefficient is calculated in the FPGA 110 in this manner is sent back to the personal computer 100, where an infrared two-dimensional image is finally formed in the personal computer 100 and output on a display (not shown). The
[0047]
FIG. 4 is a schematic block diagram for explaining the configuration of the two-dimensional infrared sensor array 10 and the FPGA 110 described in FIG. In FIG. 4, for the sake of simplicity of explanation, only two rows and two columns are extracted from the configuration of the sensor array 10 of FIG.
[0048]
Hereinafter, the configuration and the flow of processing will be described in more detail with reference to FIG.
[0049]
The driving sine wave to be applied to the infrared sensor corresponding to each pixel obtains an integrated value after giving at least a plurality of times, for example, about 8 pulses to one pixel in consideration of noise at the time of switching and a transient response of the filter. There is a need. On the other hand, the frequency of the driving sine wave is suitably about 1 kHz, for example, due to the frequency characteristics of the dielectric constant of the ferroelectric film used in the infrared detection sensor.
[0050]
Therefore, driving of one pixel requires at least 8 mS in the above example. That is, when driving a 16 × 16 two-dimensional array, if there is only one pair of driving sine wave sources, the time required to drive all the pixels and make a round (frame time) is 2048 mS at minimum. This corresponds to obtaining an image of one frame in 2 seconds. However, in order to obtain an infrared image in almost real time, it is desirable to read out image data at a rate of 5 frames or more per second (frame time: 200 ms or less).
[0051]
Therefore, 16 pairs of driving sine waves for driving the two-dimensional infrared sensor array 10 shown in FIGS. 3 and 4 are generated simultaneously by the D / A converters 120.0 to 120.15. The 16 pixels corresponding to each column are driven simultaneously and independently to shorten the frame time. On the other hand, the sine wave for driving the reference capacitor Cref may be common to all pixels, and is generated by the D / A converter 120.16. Therefore, 17 drive sine waves (16 for the light receiving unit capacitor and 1 for the reference capacitor) are generated at the same time.
[0052]
For this reason, the FPGA 110 simultaneously calculates 17 sine wave data having different amplitudes and phases in the drive waveform calculation unit 1104 in accordance with control from the personal computer 100. Further, the FPGA 110 controls the D / A converters 120.0 to 120.16 by the D / A control unit 1106 according to the calculation result of the drive waveform calculation unit 1104, and outputs from the buffers 121.0 to 121.16. The waveform is applied to each infrared detection sensor in the sensor array 10.
[0053]
Here, when the infrared detection sensors are arranged in a two-dimensional array, the number of pixels is increased as compared with the line sensor, and further, the number of pixels needs to be increased in order to increase the resolution. Therefore, if the optimum amplitude and phase of each individual infrared detection sensor are stored in the memory on the FPGA 110, it is necessary that a large-scale memory is mounted on the FPGA 110.
[0054]
Rather, in the system shown in FIG. 4, the data corresponding to the amplitude and phase correction values for each pixel is stored in the memory in the personal computer 100, and the data for up to 16 pixels is stored in the personal computer before switching the driving pixel. The computer 100 is configured to transmit to the FPGA 110. This eliminates the need to mount a large capacity memory on the FPGA 110.
[0055]
As described above, the FPGA 110 sets the optimum amplitude and phase for the infrared detection sensor corresponding to the row to be read out of the infrared detection sensors belonging to each column of the sensor array 10 based on a preset compensation value. The D / A converters 120.0 to 120.15 output the drive signals to the corresponding columns.
[0056]
Further, the switching control unit 1108 in the FPGA 110 sequentially selects the rows of the sensor array 10 based on the switching timing data given from the personal computer 100 and the accurate clock signal given from the crystal oscillator (not shown). The switching signal is generated.
[0057]
On the other hand, in order for the personal computer 100 to simultaneously receive signals from the 16 A / D converters 150.0 to 150.15, the personal computer 100 needs to have an input / output interface corresponding thereto. Furthermore, it is not realistic that the Fourier coefficient calculation is simultaneously performed on the personal computer 100 due to restrictions on the data transfer speed and the calculation speed for the personal computer 100.
[0058]
Therefore, in the configuration shown in FIG. 4, the A / D control unit 1101 in the FPGA 110 controls the 16 A / D converters 150.0 to 150.15, and the Fourier coefficient calculation unit 1112 on the FPGA 110 The Fourier coefficient calculation for 16 pixels is performed, and the result is transmitted to the personal computer 100 via the interface unit 1102.
[0059]
Of course, when the number of pixels becomes larger, the function realized by the FPGA 110 in FIG. 4 and the function realized on the personal computer 100 are integrated and a dedicated LSI is provided to drive the pixels. It is also possible.
[0060]
On the other hand, the personal computer 100 controls the entire imaging and displays an image. At this time, as shown in FIG. 4, if the control is performed from the personal computer 100 in adjusting the optimum amplitude and phase for each pixel, the software can be mounted relatively easily. In addition, it is possible to perform optimum offset adjustment by feedback from the measurement image data.
[0061]
[Configuration of FPGA 110]
FIG. 5 is a block diagram for explaining the configuration of the FPGA 110 shown in FIG. 4 in more detail.
[0062]
Referring to FIG. 5, the data / command interface unit 2102 in the interface unit 1102 with the personal computer 100 receives data from the personal computer in accordance with the control code from the personal computer 100, and transmits the data to each unit in the FPGA 110. Send data. Further, the data / command interface unit 2102 transmits data received from each unit of the FPGA 110 to the personal computer 100 in accordance with the control code.
[0063]
On the other hand, the reference timing generation unit 2104, not shown in FIG. 4, captures the timing of driving waveform calculation and the data acquisition of the A / D converter based on the data supplied from the personal computer 100 and the clock signal from the crystal oscillator. Timing, Fourier coefficient calculation timing, data storage, data transmission timing to the interface with the personal computer 100, and switching timing for scanning of the infrared detection sensor are generated.
[0064]
Here, the received data from the personal computer 100 includes, for example, the horizontal address (column address) and vertical address (row address) of the element, and the amplitude of the driving sine wave corresponding to each infrared detection sensor. There is phase data. The data transmitted to the personal computer 100 includes, for example, the Fourier coefficient from each infrared detection sensor and the elapsed time after switching to the selected infrared detection sensor.
[0065]
The amplitude / phase data storage unit 2106 in the drive waveform calculation unit 1104 receives the amplitude and phase data of the drive waveform sent from the personal computer 100 via the interface unit 1102 for each infrared detection sensor in the sensor array 10. Remember. The amplitude / phase data storage unit 2106 sends data to the drive waveform calculation circuits 2108.0 to 2108.16 for generating waveforms for driving each element at an appropriate timing. Note that with respect to the drive waveform calculation circuit 2108.16, since the waveform of the reference wave is calculated, the data for generating the waveform without sending the data from the amplitude / phase data storage unit 2106 may be a fixed value.
[0066]
Based on the data sent from the amplitude / phase data storage unit 2106 and the reference timing of the calculation sent from the reference timing generation unit 2104, the drive waveform calculation circuits 2108.0 to 2108.16 are D / A converters at each moment. Data of 120.0 to 120.16 is calculated, and the data is sent to the D / A control circuits 2110.0 to 2110.16. The drive waveform calculation circuit 2108.16 and the D / A control circuit 2110.16 are for driving the reference electrode capacitor Cref. Seventeen drive waveform calculation circuits 2108.0 to 2108.16 are provided in parallel, including for driving the reference capacitor.
[0067]
D / A control circuits 2110.0 to 2110.16 in the D / A control unit 1106 control the D / A converters 120.0 to 120.16 and send them from the drive waveform calculation circuits 2108.0 to 2108.16. The transmitted data is sent to the D / A converters 120.0 to 120.16. Seventeen D / A control circuits 2110.0 to 2110.16 are also provided in parallel.
[0068]
The A / D control circuits 2112.0 to 2112.15 in the A / D control unit 1110 control the A / D converters 150.0 to 150.15 according to the timing sent from the reference timing generation unit 2104, and A Data is taken in from / D converters 150.0 to 150.15. Sixteen A / D control circuits 2112.0 to 2112.15 are provided in parallel.
[0069]
The Fourier coefficient calculation unit 1112 includes a Fourier coefficient calculation circuit 2114 and a Fourier coefficient storage unit 2116. The Fourier coefficient calculation circuit 2114 uses the data sent from the A / D control circuits 2112.0 to 2112.15 in accordance with the timing sent from the reference timing generation unit 2104 and uses 16 Fourier coefficients for each column of the sensor array 10. Perform the calculation. Further, the calculation result is sent to the Fourier coefficient storage unit 2116.
[0070]
The Fourier coefficient storage unit 2116 stores the Fourier coefficient sent from the Fourier coefficient calculation circuit 2114 for each element, and sends the Fourier coefficient to the personal computer 100 via the interface unit 1102 in accordance with the timing sent from the reference timing generation unit 2104. To do.
[0071]
The switching pulse generator 2118 in the switching controller 1108 generates a pulse for turning on and off the switching transistor Ta in each infrared detection sensor at an appropriate timing according to the timing from the reference timing generator.
[0072]
[Configuration of Control Personal Computer 100]
FIG. 6 is a schematic block diagram showing a part of the configuration of the personal computer 100.
[0073]
Referring to FIG. 6, man-machine interface unit 3002 sends each parameter input from keyboard 3000 by the user to image display parameter setting unit 3004 and pixel drive parameter storage unit 3006.
[0074]
The image display parameter setting unit 3004 sets and stores parameters used at the time of image display, for example, “zero vector” and “sensitivity coefficient” of each pixel according to key input. The image data calculation unit 3008 calculates the “zero vector” of the pixel based on the output of the sensor array 10, and the image display parameter setting unit 3004 receives the calculated value. As will be described later, the “zero vector” of each pixel means a vector of complex Fourier coefficients of the output of each infrared detection sensor in the sensor array 10 when infrared rays are not irradiated.
[0075]
For example, the image data calculation unit 3008 receives a signal (Fourier coefficient) for each pixel from the I / O card unit 3014 that transmits and receives data to and from the FPGA 110 with a data width of 24 bits, and transmits the signal from the image display parameter setting unit 3004. Display data is calculated using the zero vector and sensitivity coefficient of each pixel. Based on the calculation result of the image data calculation unit 3008, the image display unit 3010 displays a pseudo color image reflecting the temperature distribution of the measurement target on the screen of the personal computer 100.
[0076]
The pixel drive parameter storage unit 3006 stores optimum phase and amplitude data for each pixel drive according to a procedure described later. Phase and amplitude data are received from the man-machine interface unit 3002 during manual calibration and from the image data calculation unit 3008 during automatic calibration.
[0077]
The element drive parameter calculation unit 3012 receives the phase and amplitude data of each pixel from the pixel drive parameter storage unit 3006, calculates the pixel address, and sends the data to the I / O card unit 3014 at an appropriate timing.
[0078]
The I / O card unit 3014 performs communication and control with the FPGA 110, receives the Fourier coefficient of each pixel and the elapsed time after switching the row of the selected infrared detection sensor from the FPGA 110, and sends the address of each pixel to the FPGA 110. And transmit amplitude and phase data.
[0079]
In the above description, the external interface of the personal computer 100 is the I / O card unit 3014. Of course, as long as data can be exchanged with a predetermined bit width and a desired speed, Other interfaces may be used.
[0080]
[Operation of infrared two-dimensional sensor array system]
In the following, in the personal computer 100, the procedure for setting various parameters by the man-machine interface and the operation of each unit will be described in more detail.
[0081]
Referring to FIGS. 3 and 4 again, control personal computer 100 performs various parameter settings, image display, communication and control with FPGA 110, and data holding and offset adjustment processing of the optimum amplitude and phase of each pixel. .
[0082]
Therefore, the control personal computer 100 performs the following operations and controls in order to perform functions such as control of the FPGA 110, image display, and calibration (offset adjustment).
[0083]
i) Normal scan
Signals from the pixels are taken into the personal computer 100 through the FPGA 110, processed to be pseudo-colored, and displayed as a two-dimensional image. At this time, “zero vector value” to be described later is updated in accordance with an instruction from the user.
[0084]
ii) Manual calibration
Calibration (offset adjustment) is performed with the pixels fixed.
[0085]
Since the real axis coefficient and the imaginary axis coefficient of the Fourier coefficient are displayed in real time on the screen of the personal computer 100, the amplitude and phase of the drive sine wave applied to the pixel are changed by an instruction from the user while viewing the screen display. .
[0086]
Even during manual calibration, the zero vector value of a pixel fixed by an instruction from the user can be updated.
[0087]
iii) Automatic calibration
Calibration is automatically performed during normal scan. Since the calibration for the number of horizontal pixels (maximum 16 pixels) can be performed at the same time, the calibration is completed at high speed.
[0088]
iv) Measuring changes over time
In response to an instruction from the user at the time of manual calibration, data for the number of horizontal pixels is stored up to a maximum of 20,000 points, and automatically stored in a file at the end of calibration.
[0089]
v) Saving calibration data
Phase, amplitude, and sensitivity data for each pixel when calibration is performed are automatically saved. Even if the measurement software is terminated once, this parameter is automatically read when the measurement software is started next time, so that it is not necessary to reset the parameter unless the element is changed.
[0090]
(Various parameter setting functions)
In order to drive the infrared sensor and perform signal processing and image display, it is necessary to set various parameters and perform control and calculation of the FPGA 110.
[0091]
Such parameters are set by a man-machine interface using the personal computer 100. Hereinafter, the parameters set in this way will be described in more detail.
[0092]
i) Number of pixels
The number of pixels in the two-dimensional array is represented by the number of vertical pixels × the number of horizontal pixels. Note that 1 × 16 and 16 × 1 have different meanings. In 1 × 16, all 16 processes such as a D / A converter and an A / D converter are performed simultaneously (in parallel), and switching is not performed. On the other hand, in 16 × 1, processing is performed pixel by pixel, and 16 pixels are scanned. Therefore, even if the number of pixels is the same, 1 × 16 can capture data of all pixels 16 times faster.
[0093]
ii) Display settings
As will be described later in detail in the operation of the FPGA 110, when performing the Fourier coefficient calculation of the data of each pixel, the phase of the signal output due to the drive sine wave is π / 2. The shifted component is calculated.
[0094]
For convenience, the in-phase component is referred to as “real axis coefficient X”, and the component shifted by π / 2 is referred to as “imaginary axis coefficient Y”.
[0095]
FIG. 7 is a conceptual diagram showing vectors when infrared light is not irradiated and when infrared light is irradiated, when a Fourier coefficient is expressed by a two-dimensional vector of a coefficient X and a coefficient Y.
[0096]
Here, when no infrared irradiation is performed, for example, in an infrared camera equipped with an infrared two-dimensional sensor array, the shutter is closed in order to block incident infrared rays to the infrared two-dimensional sensor array.
[0097]
Originally, the vector at the time of non-irradiation with infrared rays should have a magnitude of 0 by adjusting the offset, but in practice it is difficult to make it completely zero. In addition, since there is a drift in the output of the infrared detection sensor, this vector has a finite value even when infrared rays are not irradiated.
[0098]
Therefore, the vector (“zero vector”) of each pixel at the time of non-infrared irradiation is stored, and the infrared of each pixel is displayed based on the magnitude of the difference vector between the zero vector and the vector at the time of infrared irradiation at the time of image display. Derives and displays levels. For example, the absolute value of the difference vector may be used as the infrared detection level.
[0099]
iii) Zero vector import
The above-described zero vector drifts with time and ambient temperature, so it needs to be updated from time to time. Accordingly, when the personal computer 100 instructs to take in the X / Y values of the zero vector, the value of the zero vector stored at the time of normal scanning and calibration (offset adjustment) is updated.
[0100]
iv) Drive time
The time for driving one pixel is input in units of milliseconds (mS), for example. The time obtained by multiplying this time by the number of vertical pixels is one frame time. Data acquisition starts 3 mS after pixel switching in order to avoid noise and transients during pixel switching. Therefore, the data acquisition time is the time obtained by subtracting 3 mS from the drive time.
[0101]
v) Automatic calibration setting
Even if calibration (offset adjustment) is performed, the zero vector is not completely zero. When it is performed manually, a human can determine the minimum value, but when it is performed automatically, a convergence condition is required. Therefore, the convergence condition of the X and Y coefficients of the zero vector is determined by “calibration change” and “positive side / negative side”.
[0102]
For example, if the deviation of the coefficient of X is 5 and negative, it is determined that convergence has occurred when 0>X> −5 for X of the zero vector.
[0103]
vi) Setting each pixel
Since the sensitivity and drift direction of each pixel are different, it is necessary to set display and calibration parameters for each pixel. By specifying the pixel to be set on the screen on the personal computer 100 and then inputting the sensitivity coefficient, it is possible to perform correction in consideration of the difference in sensitivity for each pixel.
[0104]
vii) Time-lapse measurement settings
It is also possible to set a time interval or the like when measuring a change with time. When the data acquisition timing is designated, the time interval is calculated from the measurement time and the measurement point interval and displayed.
[0105]
[Function and operation of I / O card unit 3014]
The function and operation of the I / O card unit 3014 that is an interface for communicating with and controlling the FPGA 110 will be further described below.
[0106]
i) Contents of communication data
As data transmitted from the personal computer 100, at least the following data is required.
[0107]
That is, 11-bit amplitude and phase 9-bit data of a sine wave for driving each pixel, 4-bit data of an address for designating which element data is transmitted / received, and start / stop of element drive This is the main control code to perform.
[0108]
Also, the received data from the FPGA 110 is as follows.
The real axis and imaginary axis coefficients of each pixel are 16-bit data and 8-bit elapsed time data after switching. Here, the reason why the elapsed time data from the FPGA 110 is used is that the personal computer 100 cannot perform accurate time measurement in units of 1 mS due to the interruption of the OS.
[0109]
In order to transmit and receive all of them simultaneously, a total of 66 bits of output 26 bits and input 40 bits are required. However, there is no I / O port or card having such a bit width in a general-purpose personal computer. Also, there is no room for allocating these I / O pins for communication on the FPGA 110 side.
[0110]
Therefore, 4 bits of data control code for controlling the contents of input / output are added, and instead the simultaneous transmission / reception of data is not performed, and the bit width is reduced by dividing each data into 8 bits or less. It is configured.
[0111]
Since the actual I / O card is 24 bits wide (8 bits × 3 ports), the following bit allocation is performed.
[0112]
1) A port: Output
0 to 5 bits: amplitude and phase data
6 and 7 bits: Main control code
2) B port: Input
0 to 7 bits: Fourier coefficients X and Y and elapsed time after element switching
3) C port: Output
0 to 3 bits: Data control code
4-7 bits: Element address
ii) Communication data rate and communication flow
When the FPGA 110 drives the element (infrared detection sensor) to calculate the Fourier coefficient, the A / D converter is in a transient state for a predetermined time, for example, 3 mS after switching the pixels as described above. Data is not taken in 150.0 to 150.15 and Fourier coefficients are not calculated.
[0113]
That is, during this transient state, the memory on the FPGA 110 holds the data of the Fourier coefficients of the pixels that have been driven previously.
[0114]
Therefore, when the personal computer 100 communicates with the FPGA 110, it is necessary to receive one row of Fourier coefficients from the FPGA 110, for example, a maximum of 16 pixels in this embodiment during this transient state.
[0115]
That is, since 32 bits (4 bytes) of data is received per pixel, a maximum of 64 bytes must be received within 3 mS. However, in actuality, which data of which pixel is received is notified to the FPGA 110 by using 1 byte of the data control code (4 bits) and the transmission address (4 bits). Therefore, the communication time per byte must be within about 23 μS.
[0116]
While the FPGA 110 is driving a certain pixel (up to 16 pixels at the same time), the personal computer 100 uses a total of 20 bits of amplitude and phase data for driving the next pixel (in fact, the transmission data bit width is 6 bits). It is necessary to transmit data corresponding to 4 bytes of data) to the FPGA 110 by the number of pixels (maximum of 64 bytes).
[0117]
The time for the FPGA 110 to take in the data of the A / D converters 150.0 to 150.15 and calculate the Fourier coefficient is, for example, a minimum of 5 mS (when combined with the transient time, the drive time of one pixel is a minimum of 8 mS). It is necessary to send and receive 128 bytes together with the control code sent from the personal computer 100 to the FPGA 110 within the time. In addition, it is necessary to display an image using the Fourier coefficient received earlier.
[0118]
FIG. 8 is a flowchart showing the flow of such transmission / reception.
Referring to FIG. 8, the I / O card unit 3014 of the personal computer 100 calculates Fourier coefficients for one row (16 pixels) for which calculation has been completed in the FPGA 110 based on data that has already been driven and read. Receive (step S100).
[0119]
Further, the I / O card unit 3014 receives an elapsed time from the switching of the selected row of the sensor array 10 from the FPGA 110 (step S102), and the personal computer 100 performs a predetermined transient response from the switching. A loop process for determining whether or not 3 mS has elapsed, for example, is performed (steps S102 and S104).
[0120]
If it is determined that 3 mS has elapsed (step S104), a command to start Fourier coefficient calculation is transmitted from the personal computer 100 to the FPGA 110 (step S106). In response to this, the FPGA 110 reads data from the A / D converters 150.0 to 150.15, the Fourier calculation circuit 2114 sequentially calculates the Fourier coefficients, and the calculation result is the Fourier coefficient storage unit 2116. Stored in As described above, if it takes 5 mS to calculate the Fourier coefficient for one row, for example, in the FPGA 110, 3 mS of the transient response period elapses from the switching of elements, and further after 5 mS elapses from the transmission of the Fourier coefficient calculation start command, That is, after 8 mS [= 3 (mS) +5 (mS)] has elapsed since the switching of the elements, the storage of the newly calculated Fourier coefficient in the Fourier coefficient storage unit 2116 ends.
[0121]
On the other hand, after the transmission of the Fourier coefficient calculation start command, the personal computer 100 subsequently transmits the amplitude and phase of the drive waveform to the FPGA 110 for the infrared detection sensor belonging to the next selected row (step S108).
[0122]
Data for image display is calculated based on the data received in step S100, and image display is performed (step S110).
[0123]
After the processing for displaying an image is completed, the personal computer 100 subsequently determines a loop for determining whether 8 mS has elapsed under the above conditions, for example, when the calculation of the Fourier coefficient is expected to be completed after switching the elements. Processing is performed (step S112, step S114).
[0124]
If it is determined that 8 mS has elapsed (step S114), an instruction to switch elements, that is, a selected row of the sensor array 10, is transmitted from the personal computer 100 to the FPGA 110 (step S116).
[0125]
Thereafter, the process returns to step S100 and repeats the same process.
[Details of operation of FPGA 110]
As described above, the FPGA 110 performs overall control of the imaging system, such as digital data calculation for element driving sine wave, control of the D / A converter and A / D converter, Fourier coefficient calculation, communication with the personal computer 100, and the like. Data output is performed. Hereinafter, the operation will be described in more detail.
[0126]
a) Calculation of sine wave for device drive
A D / A converter 120 is used to drive the device. For example, the D / A converter 120 has a 12-bit resolution (maximum output 4095 mV, resolution 1 mV) with a single 5 volt power supply.
[0127]
Since the output from the element by infrared irradiation is considered to be several mV or less, it is necessary to suppress the output (offset) due to the variation of the element to about 1 mV or less.
[0128]
When the amplitude of the element driving sine wave is changed by 1 mV by the equivalent circuit shown in FIG. 1, the output amplitude changes by 0.5 mV.
[0129]
That is, if the amplitude of the sine wave is changed in units of 1 mV, the offset can be reduced to a maximum of 0.25 mV. Further, the faster the clock frequency applied to the FPGA 110, the faster the FPGA 110 operates. However, if the clock frequency is too high, the operations of the D / A converters 120.0 to 120.16 cannot be caught up. In addition, noise due to unnecessary radiation accompanying high-speed operation also increases.
[0130]
Therefore, the clock frequency is not particularly limited, but is, for example, 16 MHz. When the output timing of a 1 kHz sine wave is controlled at this frequency, the phase resolution is 0.0225 degrees when 360 degrees is divided by 16000. As a result of simulation, it was found that when the phase was changed by 0.0225 degrees when the amplitude was 3.5 V, the output changed by about 0.6 mV. If the phase is adjusted in units of 0.0225 degrees, the maximum offset is about 0.3 mV.
[0131]
From the above, it can be said that if the D / A converters 120.0 to 120.16 having a resolution of 1 mV and a clock of 16 MHz are used for offset adjustment, the offset adjustment capability is sufficient.
[0132]
FIG. 9 is a diagram schematically showing the waveform of a sine wave output by the D / A converters 120.0 to 120.16.
[0133]
When a sine wave is output by the D / A converter 120, as shown in FIG. 9A, a method of making a sine wave by changing the amount of change in amplitude with a constant data output timing; As shown in (b), a method of changing the data output timing while keeping the amount of change in amplitude constant is conceivable.
[0134]
In both cases, a staircase waveform is obtained, but the maximum value of the amplitude change amount in the former case is π / 2 times (about 1.6 times) that in the case of the constant amplitude change amount in the latter case. In a system that measures the difference between two sine waves, if the drive waveform is a smooth sine wave, there is no staircase waveform in the signal, but in the case of a staircase waveform, it is superimposed on the step change as noise in the signal. To do. Therefore, since it is considered that the amount of change is as small as possible, the latter method (FIG. 9B) is adopted in this system.
[0135]
The total of the data reception time and the conversion time of the D / A converters 120.0 to 120.16 used is, for example, approximately 2 μS. In this case, the data output interval needs to be 2 μS or more.
[0136]
In the latter method shown in FIG. 9B, when 1 kHz is divided into 256 (2 to the 8th power), the minimum data output interval is about 2.3 μS. Therefore, under the above conditions, the system may be operated by dividing one cycle into 256 divisions.
[0137]
Since the sine wave is a waveform that is inverted left and right or up and down in a π / 2 period, for example, in order to express this sine wave, one period is divided into four parts, which are divided into 64 points (0th to 63rd) ). In this case, the sine wave is expressed by a 63-stage waveform.
[0138]
Now, the voltage value V (n) at the n-th point can be expressed by the following equation where the one-side amplitude value given from the personal computer 100 is Vpc.
[0139]
V (n) = Vpc × n ÷ 63 + DC offset
However, since the circuit divided by 63 has a large circuit scale, it may be configured to simply ignore the lower 6 bits and use a value equivalently divided by 64. Therefore, in this case, 63/64 of Vpc is the actual one-side amplitude value.
[0140]
Further, if the multiplication part of the above equation is left as it is, it becomes a large multiplication circuit of 11 bits × 6 bits and 17 bits, and it is difficult to mount a maximum of 17 pieces in the FPGA. Therefore, it is possible to configure a multiplier by an adder and a shift register and to make a circuit that operates at 6 clocks (for example, about 0.4 μS).
[0141]
In order to shift the phase, a reference pulse (pulse every 8000 clocks) is generated every half period, and the number of shifts (0.0225 degrees) given by the personal computer 100 is the number of clocks counted from this reference pulse. A reference delay pulse may be generated at the time when the signal becomes equal to (unit), and the output of the sine wave may be started.
[0142]
b) Fourier coefficient calculation
In addition to noise, a distortion component is superimposed on the output signal from the infrared detection sensor of the sensor array 10. For example, when the output is observed with an oscilloscope, the desired signal has a low level. , Hidden by this distortion component.
[0143]
However, by performing fast Fourier transform (hereinafter referred to as FFT), it is possible to take out a change in a signal component of a desired signal having the same frequency as that of the drive signal of the infrared detection sensor, for example, 1 kHz.
[0144]
The FFT algorithm is complicated, and since it is necessary to calculate up to 16 channels simultaneously, it is difficult to implement the circuit in an FPGA. By the way, the FFT calculates all frequencies up to the Nyquist frequency. However, in the present invention, as described above, for example, it is only necessary to extract the frequency component of 1 kHz.
[0145]
In consideration of the distortion signal superimposed on the signal waveform, there is no particular limitation, but the sampling frequency needs to be 4 kHz or more. In general, the sampling frequency is about 10 times as large as the required frequency. Therefore, in the system shown in FIG. 3, for example, sampling may be performed at 32 kHz (2K times 1KHz).
[0146]
At this time, if the i-th data sampled at 32 kHz is Zi, the Fourier coefficient Ca (complex number) for one period can be expressed by the following equation.
[0147]
[Expression 1]
Figure 0004255628
Here, n is 32, f is 1 kHz, and j is an imaginary unit.
[0148]
From the above equation, the Fourier coefficient Ca is a vector on the complex plane, and the coefficient on the real axis side is X and the coefficient on the imaginary axis side is Y as described above.
[0149]
The amplitude of the 1 kHz sine wave is represented by the magnitude of this vector, and the phase difference with respect to the sampling timing is represented by the rotation angle of the vector from the X axis. When the above equation is calculated over a plurality of periods, the magnitude of the vector is proportional to the number of periods, but the phase angle does not change. When the sampling includes noise, the S / N is improved in proportion to the square root of the number of periods.
[0150]
When the circuit for executing the above equation is mounted on the FPGA 110, the sampling timing is determined, and therefore, the sine and cosine functions to be multiplied by the sampling data are 32 kinds of fixed numerical values. Actually, these functions are reversed left and right and up and down in a cycle of π / 2, so it is only necessary to use eight numerical values. These eight coefficient values are stored in ROM (Read in the Fourier coefficient storage unit 2116 of the FPGA 110. Only Memory) table.
[0151]
The sampling data is, for example, 12 bits (1 bit is about 1.22 mV), but the least significant bit has a large noise and has no meaning. In this case, only the upper 11 bits need be used for the calculation. Further, since the amplitude of the signal after the offset adjustment is 1 V or less even after amplification, when the sampling data is 12 bits, the number of bits effective for the calculation of the Fourier coefficient is 10 bits or less.
[0152]
Therefore, these eight coefficient values may be 10-bit data in a system in which sampling data is 12 bits. Therefore, multiplication requires 21 bits. The 21-bit multiplication circuit is a very large circuit and has a large delay. Therefore, in order to suppress the circuit scale, it is possible to configure a multiplication circuit that operates at 10 clocks using a shift register and an addition circuit. The numerical value of the multiplication result is further added to a RAM (Random Access Memory) in the Fourier coefficient storage unit 2116 of the FPGA 110 to obtain a Fourier coefficient.
[0153]
In this system, as an example, since a 21-bit integer is added 32 (2 to the 5th power) times in one cycle and added up to a maximum of 256 (2 to the 8th power) cycle, there is a possibility that the maximum is 34 bits. is there. However, since the actual maximum amplitude is considered to be 1 V or less, this addition can be performed with a 31-bit width.
[0154]
In such a configuration, the lower 31 bits of the 31 bits are meaningless because of noise after the calculation, so in this system, the data transmitted to the personal computer 100 is ignored by ignoring the lower 15 bits. Only 16 bits may be used.
[0155]
When the above calculation for one period is performed on a 1 kHz sine wave having an amplitude (peak-to-peak) of 1 V and the lower 15 bits are ignored, the magnitude (vector length) of the Fourier coefficient (vector) is about 102. It becomes.
[0156]
Assuming that the calculation cycle is N and the magnitude of the calculated Fourier coefficient is F, the actual signal strength V is given by the following equation.
V = F / N / 102
When the amplitude of 1 kHz obtained by the FFT function attached to the oscilloscope is 12.6 mV in the actual signal waveform with the distortion component harmonics superimposed (after amplification by 160 times), it is obtained from the above equation by calculating the Fourier coefficient of 125 periods. The obtained amplitude value was 12.9 mV, which was confirmed to be in good agreement.
[0157]
[Analog signal processor and A / D converter]
In the infrared two-dimensional sensor array 10 shown in FIG. 3, since the signal from the infrared detection sensor is several mV or less, amplification is necessary. In addition, it is necessary to reduce the high frequency noise generated from the digital circuit section and the high frequency components considered to be due to the distortion of the dielectric film and the processing circuit as much as possible, and to cut the 60 Hz component and the direct current component. For this purpose, bandpass filters 140.0 to 140.15 are used.
[0158]
However, when the cutoff characteristic of the filter is steep, the transient characteristic becomes longer, and it is necessary to increase the driving time per pixel. Therefore, an optimum order is also required for the cutoff characteristics of the filter. The bandpass filters 140.0 to 140.15 that are analog circuit portions designed in consideration of these will be further described.
[0159]
For example, if the frequency of the drive sine wave is 1 kHz, harmonic distortion with respect to the output signal appears.
[0160]
Therefore, in consideration of cutting the 60 Hz component and the DC component and the distortion component, the bandpass filters 140.0 to 140.15 have characteristics such as a center frequency of 1 kHz and a gain of 45 dB (180 times), for example. To design.
[0161]
FIG. 10 is a schematic block diagram showing the configuration of such a bandpass filter 140.0. The configurations of the other bandpass filters 140.1 to 140.15 are the same.
[0162]
On the input side, the output from the infrared detection sensor is received by the source follower of the J-FET. This circuit is driven by a single 5V power supply. The 2.5V input to the filter is generated by using a buffer for reducing the voltage to 2.5V from a 5V power source by a Zener diode and supplying the filter stably.
[0163]
(1) Gain frequency characteristics
FIG. 11 is a diagram showing gain frequency characteristics of the circuit shown in FIG.
[0164]
FIG. 11A shows simulation results, and FIG. 11B shows actual measurement values. The center frequency 1 kHz component in both simulation and actual measurement has a gain of about 45 dB. Further, the 2 kHz component has an attenuation of about 25 dB with respect to the 1 kHz component.
[0165]
(2) Time response characteristics
The drive time required for each pixel of the infrared sensor needs to be determined in consideration of noise at the time of pixel switching and the time response characteristics of the filter. The narrower the filter bandwidth, the higher the noise removal capability, but the longer it takes for the filter output to reach a steady state when the signal suddenly changes. Because of this time response characteristic, the waveform processing will give an incorrect result if it is not performed after waiting for the time required to settle to the required accuracy.
[0166]
Therefore, in a 16 × 16 or larger two-dimensional array, it is necessary to shorten the time required to reach a steady state as much as possible.
[0167]
FIG. 12 is a diagram showing time response characteristics of the bandpass filter shown in FIG. Here, FIG. 12 shows an output response waveform when a sine wave 1 kHz signal is input to the bandpass filter as a 10-waveform burst signal.
[0168]
FIG. 12A shows the simulation result, and the output response waveform when a burst signal is input from 5 ms to 15 ms in the figure. FIG. 12B shows measured values, which are output signal waveforms when signal input starts and ends at the timing shown in the figure.
[0169]
In both simulation and actual measurement values, the signal is not stable for 3 ms of rising and falling. Therefore, conversely, under the conditions of the measurement parameters as described above, when the amplitude of the output signal from the bandpass filters 140.0 to 140.15 is calculated by the FPGA 110 as a Fourier coefficient of 1 kHz, It can be seen that sufficiently accurate data can be obtained if a signal of 3 ms or more is taken in after switching.
[0170]
Therefore, with the configuration as described above, it is possible to actually operate the sensor array using a capacitance change detection type infrared sensor having high sensitivity, chopperless, and relatively simple structure. It becomes.
[0171]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[0172]
【The invention's effect】
As described above, the infrared detection circuit having a high sensitivity and a simple configuration at room temperature by the driving circuit for the infrared two-dimensional image sensor in which the capacitance change detection type infrared sensor of the present invention is two-dimensionally arranged and the infrared two-dimensional image sensor system. Therefore, it is possible to realize a room temperature operation infrared two-dimensional image sensor having high sensitivity and high density pixels.
[Brief description of the drawings]
FIG. 1 is a diagram equivalently showing one sensor and a circuit for driving the sensor in a two-dimensional sensor array according to the present invention.
FIG. 2 is a diagram showing signal waveforms given to an infrared sensor IRS by signal sources VG1 and VG2.
FIG. 3 is a schematic block diagram illustrating the configuration of an infrared two-dimensional sensor array that can be corrected by an element driving sine wave pulse and a driving circuit thereof.
4 is a schematic block diagram for explaining the configuration of a two-dimensional infrared sensor array 10 and an FPGA 110. FIG.
FIG. 5 is a block diagram for explaining the configuration of the FPGA 110 in more detail.
6 is a schematic block diagram showing a part of the configuration of the personal computer 100. FIG.
FIG. 7 is a conceptual diagram showing vectors when infrared rays are not irradiated and when infrared rays are irradiated, when a Fourier coefficient is expressed by a two-dimensional vector of a coefficient X and a coefficient Y.
FIG. 8 is a flowchart showing a flow of transmission / reception.
FIG. 9 is a diagram schematically showing a waveform of a sine wave output by D / A converters 120.0 to 120.16.
FIG. 10 is a schematic block diagram showing a configuration of a bandpass filter 140.0.
11 is a diagram showing gain frequency characteristics of the circuit shown in FIG.
12 is a diagram showing time response characteristics of the bandpass filter shown in FIG.
[Explanation of symbols]
10. Infrared sensor array, 100 personal computer, 110 FPGA, 120.0 to 120.16 D / A converter, Cref reference capacitor, 130.0 to 130.15 amplifier, 140.0 to 140.15 bandpass filter, 150. 0 to 150.15 A / D converter, 1102 interface unit, 1104 drive waveform calculation unit, 1106 D / A control unit, 1108 switching control unit, 1110 A / D control unit, 1112 Fourier coefficient calculation unit, 2102 data command interface Unit, 2104 reference timing generation unit, 2106 amplitude / phase data storage unit, 2108.0 to 2108.16 drive waveform calculation circuit, 2110.0 to 2110.16 D / A control circuit, 2112.0 to 2121.15 A / D control circuit, 2114 Fourier coefficient calculation circuit, 2116 Fourier coefficient storage unit, 2118 switching pulse generation unit, 3000 keyboard, 3002 man-machine interface unit, 3004 image display parameter setting unit, 3006 pixel drive parameter storage unit, 3008 image data calculation unit, 3010 image display Part, 3012 element drive parameter calculation part, 3014 I / O card part.

Claims (7)

行列状に複数の赤外線検出センサが配列された赤外線2次元センサアレイを備え、
各前記赤外線検出センサは、
参照キャパシタと、
前記参照キャパシタと直列に接続され、入射する赤外線に応じて容量値が変化する赤外線検出キャパシタと、
前記参照キャパシタの一方端および前記赤外線検出キャパシタの一方端との接続ノードから、信号レベルの読出しを選択的に行なうためのスイッチ手段とを含み、
前記参照キャパシタの他方端に交流の参照信号を印加するための第1の信号源と、
前記赤外線検出キャパシタの他方端に交流の駆動信号を印加するための第2の信号源とを備え、
前記駆動信号は、前記参照信号と振幅が同じで、位相が反転した信号を基準とし、
前記第2の信号源は、前記信号レベルの読出し対象となる前記赤外線検出センサに応じて、前記駆動信号の振幅および位相を前記基準の値から予め定められた値だけ変化させる、赤外線2次元センサアレイシステム。
An infrared two-dimensional sensor array in which a plurality of infrared detection sensors are arranged in a matrix;
Each of the infrared detection sensors
A reference capacitor;
An infrared detection capacitor connected in series with the reference capacitor and having a capacitance value that changes in response to incident infrared rays;
Switch means for selectively reading a signal level from a connection node between one end of the reference capacitor and one end of the infrared detection capacitor;
A first signal source for applying an AC reference signal to the other end of the reference capacitor;
A second signal source for applying an alternating drive signal to the other end of the infrared detection capacitor;
The drive signal is based on a signal having the same amplitude as the reference signal and an inverted phase,
The second signal source is in response to said infrared detection sensor, the amplitude and phase of the drive signal is changed by a predetermined value from the value of the reference, the infrared two-dimensional sensor to be read of the signal level Array system.
前記第1の信号源は、前記複数の赤外線検出センサに共通に設けられ、
前記第2の信号源は、前記赤外線2次元センサアレイの列ごとに設けられる複数の信号出力手段を含み、
前記赤外線2次元センサアレイの行を選択して、選択された行に属する前記スイッチ手段を導通状態とするための行選択手段と、
前記赤外線2次元センサアレイの列ごとに設けられ、前記スイッチ手段を介して前記信号レベルを読み出すための複数の信号読出手段とをさらに備える、請求項1記載の赤外線2次元センサアレイシステム。
The first signal source is provided in common to the plurality of infrared detection sensors,
The second signal source includes a plurality of signal output means provided for each column of the infrared two-dimensional sensor array,
A row selection means for selecting a row of the infrared two-dimensional sensor array and bringing the switch means belonging to the selected row into a conductive state;
2. The infrared two-dimensional sensor array system according to claim 1, further comprising a plurality of signal reading means provided for each column of the infrared two-dimensional sensor array, for reading the signal level via the switch means.
前記複数の信号読出手段の出力から所望の周波数成分の信号を抽出するための信号抽出手段をさらに備え、
前記信号抽出手段は、
前記複数の信号読出手段の出力の各々に対して、前記所望の周波数に対応するフーリエ係数の第1の実数成分と第1の虚数成分を算出する周波数成分演算手段と、
前記第1の実数成分と第1の虚数成分とからなる第1のベクトルと、前記赤外線2次元センサアレイへの赤外線非照射時において、前記複数の信号読出手段の出力の各々に対して前記所望の周波数に対応するフーリエ係数の算出を行なった際の第2の実数成分と第2の虚数成分とからなる第2のベクトルとの差ベクトルに基づいて、赤外線検出レベルを導出する赤外線レベル算出手段とを含む、請求項2記載の赤外線2次元センサアレイシステム。
Signal extraction means for extracting a signal of a desired frequency component from the outputs of the plurality of signal reading means;
The signal extraction means includes
Frequency component calculating means for calculating a first real component and a first imaginary component of a Fourier coefficient corresponding to the desired frequency for each of the outputs of the plurality of signal reading means;
The first vector composed of the first real component and the first imaginary component, and the desired output for each of the outputs of the plurality of signal reading means when the infrared two-dimensional sensor array is not irradiated with infrared light. Infrared level calculation means for deriving an infrared detection level based on a difference vector between a second vector composed of a second real number component and a second imaginary number component when calculating a Fourier coefficient corresponding to the frequency of The infrared two-dimensional sensor array system according to claim 2, comprising:
前記第1の信号源から出力される前記参照信号と、前記第2の信号源から出力される前記駆動信号とは、ともに正弦波であり、
前記赤外線検出センサごとに前記駆動信号として印加するべき信号の位相および振幅を記憶する駆動信号パラメータ記憶手段をさらに備える、請求項2記載の赤外線2次元センサアレイシステム。
The reference signal output from the first signal source and the drive signal output from the second signal source are both sine waves,
The infrared two-dimensional sensor array system according to claim 2, further comprising drive signal parameter storage means for storing a phase and amplitude of a signal to be applied as the drive signal for each infrared detection sensor.
前記所望の周波数は、前記駆動信号の周波数である、請求項3記載の赤外線2次元センサアレイシステム。  The infrared two-dimensional sensor array system according to claim 3, wherein the desired frequency is a frequency of the drive signal. 前記第2の実数成分と前記第2の虚数成分とを、ユーザの要求にしたがって更新するための更新手段をさらに備える、請求項3記載の赤外線2次元センサアレイシステム。  The infrared two-dimensional sensor array system according to claim 3, further comprising updating means for updating the second real number component and the second imaginary number component according to a user request. 前記行選択手段により第1のタイミングで選択された行に対する前記赤外線レベル算出手段による赤外線検出レベルの導出処理の少なくとも一部と、前記第1のタイミング後の第2のタイミングで前記行選択手段により選択された行に対する前記周波数成分演算手段の算出処理とが並行して行なわれる、請求項3記載の赤外線2次元センサアレイシステム。  At least a part of the derivation process of the infrared detection level by the infrared level calculation unit for the row selected at the first timing by the row selection unit and the row selection unit at a second timing after the first timing. The infrared two-dimensional sensor array system according to claim 3, wherein the calculation processing of the frequency component calculation means for the selected row is performed in parallel.
JP2001172672A 2001-06-07 2001-06-07 Infrared two-dimensional sensor array system Expired - Lifetime JP4255628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001172672A JP4255628B2 (en) 2001-06-07 2001-06-07 Infrared two-dimensional sensor array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001172672A JP4255628B2 (en) 2001-06-07 2001-06-07 Infrared two-dimensional sensor array system

Publications (2)

Publication Number Publication Date
JP2002365130A JP2002365130A (en) 2002-12-18
JP4255628B2 true JP4255628B2 (en) 2009-04-15

Family

ID=19014253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001172672A Expired - Lifetime JP4255628B2 (en) 2001-06-07 2001-06-07 Infrared two-dimensional sensor array system

Country Status (1)

Country Link
JP (1) JP4255628B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7332717B2 (en) 2004-10-18 2008-02-19 Matsushita Electric Industrial Co., Ltd. Infrared sensor and infrared sensor array
US7952633B2 (en) * 2004-11-18 2011-05-31 Kla-Tencor Technologies Corporation Apparatus for continuous clocking of TDI sensors
JP2007114089A (en) 2005-10-21 2007-05-10 Matsushita Electric Ind Co Ltd Infrared sensor
JP5383349B2 (en) * 2009-06-30 2014-01-08 キヤノン株式会社 Image data transfer device
KR101158259B1 (en) 2011-11-07 2012-06-19 국방과학연구소 Read out integrated circuit of infrared detection sensor and correcting method thereof
JP6230395B2 (en) * 2013-12-06 2017-11-15 キヤノン株式会社 Imaging apparatus and driving method thereof
ES2682097T3 (en) * 2015-08-03 2018-09-18 Fundació Institut De Ciències Fotòniques Image sensor with non-local reading circuit and optoelectronic device comprising said image sensor
WO2017059970A1 (en) 2015-10-05 2017-04-13 Heimann Sensor Gmbh High-resolution thermopile infrared sensor array having monolithically integrated signal processing
DE102017102833A1 (en) * 2017-01-18 2018-07-19 Heimann Sensor Gmbh High resolution thermopile infrared sensor array

Also Published As

Publication number Publication date
JP2002365130A (en) 2002-12-18

Similar Documents

Publication Publication Date Title
JP4255628B2 (en) Infrared two-dimensional sensor array system
EP0565300B1 (en) Method for correction of position location indicator for a display system
US6249002B1 (en) Bolometric focal plane array
US10079987B2 (en) Signal simulation apparatus and method
CN108132448B (en) Device and method for calibrating phase zero of phase generator
JP2001289712A (en) Method for correcting video signal of infrared sensor and imaging system
JPH09146073A (en) Back light control circuit for liquid crystal display device
US20150261340A1 (en) Panel mismatch compensation for touch enabled displays
JPWO2003000136A1 (en) X-ray image diagnostic apparatus and X-ray image data correction method
Du et al. A 2.3-mW 11-cm range bootstrapped and correlated-double-sampling three-dimensional touch sensing circuit for mobile devices
Posch et al. A microbolometer asynchronous dynamic vision sensor for LWIR
EP1366344B1 (en) Method and apparatus for the read-out of a bolometer array by using multiple bias pulses
US20010050366A1 (en) Semiconductor sensor device having a correction circuit
Noda et al. An uncooled infrared sensor of dielectric bolometer mode using a new detection technique of operation bias voltage
JP2008082836A (en) Infrared sensor array system
CN211013253U (en) MEMS infrared detector response time measuring device
EP0870330B1 (en) Bolometric focal plane array
US5005145A (en) Method and apparatus for calibrating a scan convertor
US5438199A (en) Thermal imaging apparatus with bias modulation
CN116679125B (en) Strain resistance measuring circuit device for generating measured signal by using multivibrator
JPH09168128A (en) Common electrode potential adjustment device for liquid crystal television receiver
JP6790054B2 (en) Imaging system, imaging system control method, and control program
CN104348488B (en) Pixel data read method and reading circuit suitable for flat panel detector
CN112665734B (en) Temperature measurement method and device based on reference calibration
Vybornov Short pulse power measurements by uncooled bolometers

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081021

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081021

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: 20090113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090128

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4255628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term