(57)【特許請求の範囲】
【請求項１】
同一干渉光を複数チャンネルに分け複数の試料に夫々照射し、該チャンネルから得られたインタフェログラム信号をフォトダイオードで夫々電気信号に変換し、順次にＡ／Ｄ変換してデジタルインタフェログラム信号を出力する分光器と、該分光器から得られたデジタルインタフェログラム信号を受信してこれを演算処理するコンピュータとを備え、前記複数のチャンネルの各試料をスペクトルによって解析する分光分析システムにおいて、
前記分光器は、
前記各試料から前記インタフェログラム信号を取得し、該インタフェログラム信号をＡＤ変換器に入力する走査を所定回数行う干渉計と、
前記干渉計からのインタフェログラム信号をデジタルインタフェログラム信号にＡＤ変換し、前記デジタルインタフェログラム信号をＡＤバッファに格納し、ラッチ信号を前記コンピュータの割込み入力に送信するＡＤ変換器と、
走査信号を前記干渉計に入力し、測定の開始信号を前記ＡＤ変換器に入力する制御部と
を備え、
前記コンピュータは、
前記デジタルインタフェログラム信号をそれぞれ基本平均回数分保持するための領域を有するバンク０及びバンク１を、各チャンネルごとに有する主メモリと、
前記バンク０及びバンク１の一方を読み込みバンクとし、他方を平均バンクとして、前記割込み入力からラッチ信号を受信して割込み処理を実行し、その割込み処理により、前記ＡＤ変換器のＡＤバッファから前記デジタルインタフェログラム信号を読み出して前記読み込みバンクに順次格納し、通常処理により、前記平均バンクに格納されたデジタルインタフェログラム信号を平均し、平均されたデジタルインタフェログラム信号に基づいてスペクトル解析演算する分光特性計算を実行するＣＰＵと
を備え、
前記平均バンクは、前記割込み処理により読み込みバンクにデジタルインタフェログラム信号を順次格納している間に、既に取得した基本平均回数分のデジタルインタフェログラム信号を平均のために保持し、
前記ＣＰＵは、前記読み込みバンクに前記基本平均回数分のデジタルインタフェログラム信号が格納された時に、前記バンク０及びバンク１と読み込みバンク及び平均バンクとの対応関係を入れ換えること
を特徴とする分光分析システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分光分析システムに関し、より詳細には、干渉計から得られるインターフェログラム信号を計算機で演算処理し、スペクトル解析によって試料の分光特性を求める分光分析システムに関するものである。
【０００２】
【従来の技術】
分光分析は、試料に光を照射し、光の吸収量と光の掃引波長とから成分及びその濃度を測定する方法である。通常用いられる分光法では、光源からの光を分光器等で単色化し、波長を掃引して周波数応答を測定する。しかし、この分光方法では、光源の利用率が悪く波長掃引に時間が掛かる。このため、光源からの光を干渉計を通して試料に照射し、可動鏡の位置を変えながら、それに対する応答を測定し、その測定結果を計算機で処理して、試料の周波数応答であるスペクトルを求める分光分析法が最近用いられている。
【０００３】
図１１は、従来の分光分析システムのブロック図である。分光器５１は、試料からのインターフェログラムを電気信号であるインターフェログラム信号１０３に変換し、これをＡＤ変換し、ＡＤ変換データ１０５を主メモリ５４に送信する。コンピュータ２は、ＡＤ変換データをフーリエ変換により解析し、分光特性を求める。ヒューマン・マシン・インターフェース（ＨＭＩ部）３は、測定開始の命令を与えるための入力を受け付け、また、分光特性の測定結果を表示する。この分光分析システムは、複数の試料を同時に分光分析できるマルチチャンネル分光方式を採用する。
【０００４】
図１２は、図１１の分光分析システムが分光特性計算を行うために実行するメイン処理を示すフローチャートである。測定者がＨＭＩ部３から測定開始命令を入力すると、分光分析システムは、図１２のメイン処理を実行する。まず、“チャンネル”変数を“１”に設定する（ステップＳ９１）。“チャンネル”変数が“チャンネル設定数”変数より大きいか判断する（ステップＳ９２）。ＡＤ変換５２からのインターフェログラムを所定の平均回数走査、データ取得し、平均、フーリエ変換演算、及び、スペクトル分析演算する（ステップＳ９３〜Ｓ９６）。次いで、“チャンネル”変数を１インクリメントし、ステップＳ９２から処理を継続する。ステップＳ９２の判断が“ＹＥＳ”であれば、この測定が終了するか判断し（ステップＳ９８）、“ＮＯ”であれば、ステップＳ９１から処理を継続する。ＹＥＳ”であれば、メイン処理を終了する。
【０００５】
図１３は、図１１の分光分析システムの動作を示す各信号のタイムチャートであり、図１４は、図１３の詳細な具体例を示すタイムチャートである。分光分析システムは、複数の試料を対象とするマルチチャンネル分光方式であり、干渉計６は、４チャンネル分のインターフェログラム信号１０３をＡＤ変換器５２に入力する。分光分析システムは、チャンネル１〜４に対応する各処理を逐次に実行する。干渉計６は、入力した走査信号１０１がＬレベルとなる１走査期間内に試料からインターフェログラムを取得し、インターフェログラム信号１０３をＡＤ変換器５２に入力する走査を所定回数行う。ＡＤ変換器５２は、開始信号１０２に基づいて動作を開始し、インターフェログラム信号１０３をＡＤ変換し、ＡＤ変換後に変換データをＡＤバッファに格納してＬレベルのラッチ信号１０４をバスライン４に送信する。ＣＰＵ５３は、バスライン４を経由して受信するラッチ信号１０４がＬレベルになると、ＡＤバッファからの読出し、及び、主メモリ５４への書込みから成るデータ取得を通常処理Ｃ１２、Ｃ２２、Ｃ３２、Ｃ４２、Ｃ１４、Ｃ２４、Ｃ３４、及び、Ｃ４４で行う。ＣＰＵ５３は、データ取得が終了すると、変換データ１０５から分光特性計算を通常処理Ｃ１１、Ｃ２１、Ｃ３１、Ｃ４１、Ｃ１３、Ｃ２３、Ｃ３３、及び、Ｃ４３で行う。
【０００６】
図１３に示すように、ＣＰＵ５３は、走査信号１０１の立下り時刻ｔ１にスペクトル分析演算を通常処理で実行中であり、通常処理によるデータ取得を開始できず、スペクトル分析演算を継続する。その計算が終了する時刻ｔ２から、時刻ｔ３までの間待機する。時刻ｔ３に、ＣＰＵ５３は、通常処理によるデータ取得を開始し、更に時刻ｔ４に、スペクトル分析演算を通常処理で開始する。
【０００７】
【発明が解決しようとする課題】
干渉計６が試料のインターフェログラムを得るために行う所定回数の走査中に、ＣＰＵ５３が何もしない待機時間が存在することにより、分光特性の測定を開始してから終了するまでの測定時間が増加する。また、マルチチャンネル分光方式の場合には、データ取得及びスペクトル分析演算を全て通常処理で実行することにより、各チャンネルごとの待機時間が加わるので、更に測定時間が増加する。
【０００８】
本発明は、上記したような従来の技術が有する問題点を解決するためになされたものであり、干渉計が行う所定の回数の走査中に、ＣＰＵの平均回数分のインターフェログラム取得時の待機時間と干渉計がインターフェログラムを取得していない期間が発生せず、複数チャンネルで連続して分光分析結果を出力する分光分析システムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明の分光分析システムは、
同一干渉光を複数チャンネルに分け複数の試料に夫々照射し、該チャンネルから得られたインタフェログラム信号をフォトダイオードで夫々電気信号に変換し、順次にＡ／Ｄ変換してデジタルインタフェログラム信号を出力する分光器と、該分光器から得られたデジタルインタフェログラム信号を受信してこれを演算処理するコンピュータとを備え、前記複数のチャンネルの各試料をスペクトルによって解析する分光分析システムにおいて、
前記分光器は、
前記各試料から前記インタフェログラム信号を取得し、該インタフェログラム信号をＡＤ変換器に入力する走査を所定回数行う干渉計と、
前記干渉計からのインタフェログラム信号をデジタルインタフェログラム信号にＡＤ変換し、前記デジタルインタフェログラム信号をＡＤバッファに格納し、ラッチ信号を前記コンピュータの割込み入力に送信するＡＤ変換器と、
走査信号を前記干渉計に入力し、測定の開始信号を前記ＡＤ変換器に入力する制御部と
を備え、
前記コンピュータは、
前記デジタルインタフェログラム信号をそれぞれ基本平均回数分保持するための領域を有するバンク０及びバンク１を、各チャンネルごとに有する主メモリと、
前記バンク０及びバンク１の一方を読み込みバンクとし、他方を平均バンクとして、前記割込み入力からラッチ信号を受信して割込み処理を実行し、その割込み処理により、前記ＡＤ変換器のＡＤバッファから前記デジタルインタフェログラム信号を読み出して前記読み込みバンクに順次格納し、通常処理により、前記平均バンクに格納されたデジタルインタフェログラム信号を平均し、平均されたデジタルインタフェログラム信号に基づいてスペクトル解析演算する分光特性計算を実行するＣＰＵと
を備え、
前記平均バンクは、前記割込み処理により読み込みバンクにデジタルインタフェログラム信号を順次格納している間に、既に取得した基本平均回数分のデジタルインタフェログラム信号を平均のために保持し、
前記ＣＰＵは、前記読み込みバンクに前記基本平均回数分のデジタルインタフェログラム信号が格納された時に、前記バンク０及びバンク１と読み込みバンク及び平均バンクとの対応関係を入れ換えること
を特徴とする。
【００１０】
本発明の分光分析システムは、割込み処理でＡＤ変換器からの変換データを取得するので、干渉計が行う所定回数の走査中に、ＣＰＵが何もしない待機時間と干渉計がインターフェログラムを取得していない期間が発生しない。
【００１１】
本発明の分光分析システムでは、前記コンピュータは、２つのバンクを有するメモリを備え、一方のバンクに前記デジタルインタフェログラム信号を順次記憶している間に、他方のバンクに平均のためにインターフェログラムを保持しておき、読み込みバンクが満杯になった時点で平均バンクと入れ換える。平均途中の演算結果と平均結果はバンクの外のメモリに記憶しておく。この場合、平均回数がいくら多くても全てのインターフェログラムをメモリに蓄えておかなくても良い。
【００１２】
前記分光器は、前記複数のチャンネルの夫々から前記インタフェログラム信号を複数回得るが、平均回数と平均回数分のインターフェログラム走査開始時刻が各チャンネルで非同期でよいことも本発明の好ましい態様である。この場合、１度に複数の試料を取り扱うことが可能で、各チャンネルのインターフェログラムを間断なく取得することが可能になり、ＳＮ比が上がり測定精度が向上するので、分光分析システムが高機能化する。
【００１３】
【発明の実施の形態】
以下、本発明の実施形態例に基づいて、本発明の分光分析システムについて図面を参照して説明する。図１は、本発明の一実施形態例の分光分析システムのブロック図である。本実施形態例の分光分析システムは、試料のインターフェログラムをデータに変換する分光器１、変換データから分光特性を計算するコンピュータ２、及び、システムを操作し分光特性の測定結果を表示するＨＭＩ部３で構成される。分光器１、コンピュータ２、及び、ＨＭＩ部３は、接続されたバスライン４を経由して相互にデータや信号を送受信する。
【００１４】
分光器１は、制御部５、干渉計６、及び、ＡＤ変換器７で構成される。制御部５は、ＨＭＩ部３から測定開始の命令を受信すると、走査信号１０１を干渉計６に入力し、開始信号１０２をＡＤ変換器７に入力する。干渉計６は、走査信号１０１がＬレベルになると、試料からインターフェログラムを取得し、インターフェログラム信号１０３をＡＤ変換器７に入力する走査を所定回数行う。ＡＤ変換器７は、インターフェログラム信号１０３をＡＤ変換し、ＡＤ変換終了後、変換データをＡＤバッファに格納し、Ｌレベルのラッチ信号１０４をコンピュータ２の割込み入力１４に送信する。
【００１５】
コンピュータ２は、ＣＰＵ８、主メモリ９、及び、補助記憶装置１０で構成される。ＣＰＵ８は、割込み入力１４からラッチ信号１０４を受信し、ラッチ信号１０４がＬレベルになると、割込み処理を実行する。ＣＰＵ８は、割込み処理により、ＡＤ変換器７のＡＤバッファから変換データ１０５を読み出し、主メモリ９に書き込む。ＣＰＵ８は、通常処理により、変換データを平均し、スペクトル解析演算する分光特性計算を実行し、分光特性計算の結果をＨＭＩ部３に送信する。主メモリ９は、バンク０及び１から成る２つのバンクを有し、読み込みバンクと呼ぶ一方のバンクでデジタルインタフェログラム信号を割り込み処理で順次上書きしている間に、平均バンクと呼ぶ他方のバンクでは既に取得したインターフェログラムを平均のために基本平均回数分保持しておき、読み込みバンクが満杯になったら平均バンクと入れ換える。各バンクは、各インターフェログラムのサンプリング点数と基本平均回数との積に対応するデータが記憶できるメモリ容量を各チャンネル毎に有する。補助記憶装置１０は、最終的な演算結果を保存する。
【００１６】
ＨＭＩ部３は、キーボード１１、マウス１２、及び、表示装置１３で構成される。測定者は、キーボード１１及びマウス１２を用いて、分光分析システムを操作する。表示装置１３は、分光分析システムの操作状況や分光特性計算の結果等を表示する。
【００１７】
ここで、各処理プログラムで使用される変数について説明する。図２は、予め割り当てられるグローバル配列及び変数を示す。グローバル配列は、全て処理プログラムから参照及び更新が可能である。主メモリ９の領域には、“パラメータ再設定フラグ”、“総平均回数”、“スペクトル演算フラグ”、“平均バンクオフセット”、“平均フラグ”、“平均”、“インターフェログラム列”、“バンク内走査回数”、及び、“読込バンクオフセット”の名称を付した９個のグローバル配列が割り当てられる。ＡＤ変換器７の領域には、“ＡＤバッファ”の名称を付した１個のグローバル配列が割り当てられる。グローバル配列は全て、各チャンネルごとに管理され使用される。
【００１８】
グローバル変数は、全て処理プログラムから参照が可能である。主メモリ９の領域には、“チャンネル設定数”、“基本平均回数”、及び、“インターフェログラムデータ点数”の名称を付した３個のグローバル変数が割り当てられる。各処理プログラムは、自処理プログラム内のみで参照及び更新が可能なローカル変数も使用する。
【００１９】
“チャンネル設定数”変数は、マルチチャンネル方式で取り扱われるチャンネル数である。“基本平均回数”変数は、通常“８”が設定され、インターフェログラムデータを得る際の走査の回数である。インターフェログラムデータは、“基本平均回数”変数で除算され平均化される。“インターフェログラムデータ点数”変数は、１走査で得られるインターフェログラムデータのサンプリング数である。
【００２０】
図３は、図２の“インターフェログラム列”配列の構造を示す具体例である。“インターフェログラム列”配列は、（“チャンネル設定数”変数）×２×（“基本平均回数”変数）×（“インターフェログラムデータ点数”変数）に相当する領域を有する。
【００２１】
図３に示すように、“インターフェログラム番号”変数に対応する“インターフェログラム列”は、バンクオフセットに基づいて、バンク０又は１の何れか一方の領域が使用される。バンクオフセットは、基本平均回数が８であるので、バンク０を示す値が０であり、バンク１を示す値が８である。“インターフェログラム番号”変数は、バンク０を示す場合、０〜７であり、バンク１を示す場合、８〜１５である。
【００２２】
“総平均回数”配列は、各チャンネルごとの設定数である。“バンク内走査回数”配列は、各チャンネルごとの現在処理中の走査回数であり、読込バンクの開始及び終了が非同期に行うために使用される。“パラメータ再設定フラグ”配列は、パラメータが新たに設定されたか否かを示すフラグである。“スペクトル演算フラグ”配列は、スペクトル分析演算をするか否かを示すフラグである。“平均フラグ”配列は、平均をするか否かを示すフラグである。“平均”配列は、最終的に平均化されたデータが格納され、スペクトル分析演算のために使用される。“平均バンクオフセット”配列は、平均バンクを示し、“読込バンクオフセット”配列は、読込バンクを示す。
【００２３】
図４は、図１の分光分析システムが分光特性計算を行うために実行するメイン処理を示すフローチャートである。測定者がＨＭＩ部３から測定開始命令を入力すると、分光分析システムは、図４のメイン処理を実行する。メイン処理は、ＣＰＵ８で通常の処理として実行される通常処理である。
【００２４】
メイン処理は、“パラメータ再設定フラグ”、“総平均回数”、“スペクトル演算フラグ”、“平均バンクオフセット”、“平均フラグ”の５個のグローバル配列を使用し、“チャンネル設定数”及び“基本平均回数”の２個のグローバル変数を使用し、“チャンネル”の１個のローカル変数を使用する。
【００２５】
データ取得割込み処理を許可し（ステップＳ１１）、“チャンネル”変数に“１”を設定して（ステップＳ１２）、“チャンネル”変数が“チャンネル設定数”変数より小さいか判断する（ステップＳ１４）。“ＹＥＳ”であれば、“チャンネル”変数に対応する“パラメータ再設定フラグ”配列が“ＹＥＳ”と等しいか判断する（ステップＳ１５）。“ＹＥＳ”であれば、“チャンネル”変数に対応する“総平均回数”配列を引数としてパラメータ再設定の処理を実行する（ステップＳ１６）。パラメータ再設定の処理は、“チャンネル”変数に対応する各パラメータを再設定し、“パラメータ再設定フラグ”配列を“ＮＯ”に設定する。次に“チャンネル”変数を１インクリメントし（ステップＳ１３）、ステップＳ１４から処理を続行する。
【００２６】
ステップＳ１５の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“スペクトル演算フラグ”配列を参照し“実行”の値と等しいか判断する（ステップＳ１７）。“ＹＥＳ”であれば、“チャンネル”変数を第１引数に、“チャンネル”変数に対応する“総平均回数”配列を“基本平均回数”変数で除算した余りを第２引数に、“チャンネル”変数に対応する“平均バンクオフセット”配列を第３引数にして、平均処理を呼び出して実行する（ステップＳ１８）。フーリエ変換演算を実行し（ステップＳ１９）、スペクトル分析演算を実行する（ステップＳ２０）。“チャンネル”変数に対応する“スペクトル演算フラグ”配を“未実行”に設定して（ステップＳ２１）、ステップＳ１３から処理を続行する。
【００２７】
ステップＳ１７の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“平均フラグ”配列を参照し“バンク０実行”の値と等しいか判断する（ステップＳ２２）。“ＹＥＳ”であれば、“チャンネル”変数を第１引数に、“基本平均回数”変数を第２引数に、“チャンネル”変数に対応する“平均バンクオフセット”配列を第３引数にして、平均処理を呼び出して実行する（ステップＳ２３）。“チャンネル”変数に対応する“平均フラグ”配列を“未実行”の値に設定して（ステップＳ２４）、ステップＳ１３から処理を続行する。
【００２８】
ステップＳ２２の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“平均フラグ”配列を参照し“バンク１実行”の値と等しいか判断する（ステップＳ２５）。“ＹＥＳ”であれば、ステップＳ２３から処理を続行し、“ＮＯ”であれば、ステップＳ１３から処理を続行する。
【００２９】
ステップＳ１４の判断が“ＮＯ”であれば、測定終了か否か判断し（ステップＳ２８）、“ＮＯ”であれば、ステップＳ１３から処理を続行し、“ＹＥＳ”であれば、データ取得割込み処理を禁止してメイン処理を終了する。
【００３０】
図５は、取得データをスペクトル解析演算する前にA/D変換による雑音を減らしスペクトルのSN比を向上させるために行う平均処理を示すフローチャートである。平均処理は、チャンネルの値及びバンク・オフセットの値が入力パラメータとして設定されて、図４のメイン処理から呼び出される。バンクオフセットの値は、バンク０に対する平均処理の際に０が設定され、バンク１に対する平均処理の際に基本平均回数が設定されている。
【００３１】
平均処理は、“平均”、“インターフェログラム列”、及び、“総平均回数”の３個のグローバル配列を使用し、“インターフェログラムデータ点数”の１個のグローバル変数を使用し、“平均チャンネル”、“回数”、“バンクオフセット”、“データ数”、及び、“インターフェログラム番号”の５個のローカル変数を使用する。平均処理は、第１引数を“平均チャンネル”変数に、第２引数を“回数”変数に、第３引数を“バンクオフセット”変数に夫々初期設定する。
【００３２】
“インターフェログラム番号”変数に“バンクオフセット”変数を設定し（ステップＳ３１）、“インターフェログラム番号”変数が“バンクオフセット”変数と“回数”変数との合計値より小さいか判断する（ステップＳ３３）。“ＹＥＳ”であれば、“データ数”変数に“０”を設定し（ステップＳ３４）、“データ数”変数が“インターフェログラムデータ点数”変数以下であるか判断する（ステップＳ３６）。“ＹＥＳ”であれば、“平均チャンネル”変数、“インターフェログラム番号”変数、且つ、“データ数”変数に対応する“インターフェログラム列”配列を“平均チャンネル”変数に対応する“総平均回数”で除算し、この除算値と“平均チャンネル”変数に対応する“平均”配列とを加算して、この加算値を新たな“平均チャンネル”変数として設定する（ステップＳ３７）。
【００３３】
続いて、“データ数”変数を１インクリメントしてステップＳ３６から処理を続行する。ステップＳ３６の判断が“ＮＯ”であれば、“インターフェログラム番号”変数を１インクリメントして（ステップＳ３２）、ステップＳ３３から処理を続行する。
ステップＳ３３の判断が“ＮＯ”であれば、平均処理を終了する。
【００３４】
図６は、ＡＤ変換器７からデータ取得を行う際のデータ取得割込み処理を示すフローチャートである。ＣＰＵ８は、ラッチ信号１０４がＬレベルになると割込みのイベントとして認識し、割込み処理が許可されていれば、データ取得割込み処理を実行する。データ取得割込み処理は、ＡＤ変換器７からチャンネルの値に対応するＡＤバッファの内容を変換データ１０５として読み出し、変換データ１０５を主メモリ９上の読出しバンクの領域に書き込む。
【００３５】
データ取得割込み処理は、“インターフェログラム列”、“読込みバンクオフセット”、“バンク内走査回数”、及び、“ＡＤバッファ”の４個のグローバル配列を使用し、“インターフェログラムデータ点数”及び“チャンネル設定数”の２個のグローバル変数を使用し、“チャンネル”及び“データ数”の２個のローカル変数を使用する。
【００３６】
“チャンネル”変数に“１”を設定し（ステップＳ４１）、“チャンネル”変数が“チャンネル設定数”変数より小さいか判断する（ステップＳ４３）。“ＹＥＳ”であれば、“チャンネル”変数に対応する“読込みバンクオフセット”配列と“チャンネル”変数に対応する“バンク内走査回数”配列との合計値を求める。“チャンネル”変数、求めた合計値、且つ、“データ数”変数に対応する“インターフェログラム列”配列に、“チャンネル”変数に対応する“ＡＤバッファ”配列を設定する（ステップＳ４４）。
【００３７】
続いて、“チャンネル”変数を１インクリメントして（ステップＳ４２）、ステップＳ４３から処理を継続する。ステップＳ４３の判断が“ＮＯ”であれば、“データ数”変数を１インクリメントし（ステップＳ４５）、“データ数”変数が“インターフェログラムデータ点数”以上であるかを判断し（ステップＳ４６）、“ＹＥＳ”であれば、１走査が終了しているので、走査終了時処理を呼び出して実行し（ステップＳ４７）、データ取得割込み処理を終了する。 “ＮＯ”であれば、何もせずにデータ取得割込み処理を終了する。
【００３８】
分光分析システムは、初めの１走査期間中に、干渉計６のミラーを前後方向の一方の向きに移動させながら、所定数のデータを測定し、次の１走査期間中に、ミラーを前後方向の他方の向きに移動させながら測定する。
【００３９】
図７は、図６のデータ取得割込み処理が呼び出す走査終了時処理を示すフローチャートである。走査終了時処理は、“パラメータ再設定フラグ”、“バンク内走査回数”、“平均フラグ”、“スペクトル演算フラグ”、“総平均回数”、“平均バンクオフセット”、及び、“読込バンクオフセット”の７個のグローバル配列を使用し、“チャンネル設定数”及び“基本平均回数”の２個のグローバル変数を使用し、“走査回数”の１個のローカル配列を使用し、“チャンネル”及び“作業用”の２個のローカル変数を使用する。
【００４０】
“チャンネル”変数に“１”を設定し（ステップＳ５１）、“チャンネル”変数が“チャンネル設定数”変数以上であるか判断する（ステップＳ５３）。 “ＹＥＳ”であれば、“チャンネル”変数に対応する“パラメータ再設定フラグ”配列が“ＹＥＳ”と不一致であるか判断する（ステップＳ５４）。測定者は、途中でチャンネルの試料や平均回数等のパラメータを変える場合、“チャンネル”変数に対応する“パラメータ再設定フラグ”配列に“ＹＥＳ”を設定する。これにより、他のチャンネルと非同期に次の１走査から次のデータ取得が開始する。
【００４１】
“ＮＯ”であれば、今回までの走査によるデータを捨てるので、“チャンネル”変数に対応する“走査回数”配列に“０”を設定し（ステップＳ５５）、“チャンネル”変数に対応する“バンク内走査回数”配列に“０”を設定し（ステップＳ５６）、“チャンネル”変数に対応する“平均フラグ”配列に“未実行”を設定し（ステップＳ５７）、“チャンネル”変数に対応する“スペクトル演算フラグ”配列に“未実行”を設定し（ステップＳ５８）、“チャンネル”変数を１インクリメントして（ステップＳ５２）、ステップＳ５３から処理を継続する。
【００４２】
ステップＳ５４の判断が“ＹＥＳ”であれば、“チャンネル”変数に対応する“走査回数”配列を１インクリメントして（ステップＳ５９）、“チャンネル”変数に対応する“走査回数”配列が“チャンネル”変数に対応する“総平均回数”以上であるか判断する（ステップＳ６０）。“ＹＥＳ”であれば、チャンネル”変数に対応する“走査回数”配列に“０”を設定し（ステップＳ６１）、“チャンネル”変数に対応する“バンク内走査回数”配列に“０”を設定し（ステップＳ６２）、“チャンネル”変数に対応する“スペクトル演算フラグ”配列に“実行”を設定し（ステップＳ６３）、“作業用”変数に“チャンネル”変数に対応する“平均バンクオフセット”配列を設定し（ステップＳ６４）、“チャンネル”変数に対応する“平均バンクオフセット”配列に“チャンネル”変数に対応する“読込バンクオフセット”配列を設定し（ステップＳ６５）、“チャンネル”変数に対応する“読込バンクオフセット”配列に“作業用”変数を設定し（ステップＳ６６）、ステップＳ５２から処理を継続する。
【００４３】
ステップＳ６０の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“走査回数”配列と“１”との合計値を“基本平均回数”変数で除算し剰余を求める。この剰余が“０”と一致するか判断する（ステップＳ６７）。“ＹＥＳ”であれば、“チャンネル”変数と“１”との合計値を“基本平均回数”変数の２倍値で除算し剰余を求める。この剰余が“０”と一致するか判断する（ステップＳ６８）。“ＹＥＳ”であれば、“チャンネル”変数に対応する“バンク内走査回数”配列に“０”を設定し（ステップＳ６９）、チャンネル”変数に対応する“平均フラグ”配列に“バンク１実行”を設定し（ステップＳ７０）、“チャンネル”変数に対応する“平均バンクオフセット”配列に“基本平均回数”を設定し（ステップＳ７１）、“チャンネル”変数に対応する“読込バンクオフセット”配列に“０”を設定し（ステップＳ７２）、ステップＳ５２から処理を継続する。
【００４４】
ステップＳ６８の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“バンク内走査回数”配列を１インクリメントし（ステップＳ７３）、“チャンネル”変数に対応する“平均フラグ”配列に“バンク０実行”を設定し（ステップＳ７４）、“チャンネル”変数に対応する“平均バンクオフセット”配列に“０”を設定し（ステップＳ７５）、“チャンネル”変数に対応する“読込バンクオフセット”配列に“基本平均回数”変数を設定し（ステップＳ７６）、ステップＳ５２から処理を継続する。
【００４５】
ステップＳ６７の判断が“ＮＯ”であれば、“チャンネル”変数に対応する“バンク内走査回数”配列を１インクリメントし（ステップＳ７７）、ステップＳ５２から処理を継続する。続いて、ステップＳ５３の判断が“ＮＯ”であれば、走査終了時処理を終了する。
【００４６】
図８は、図１の分光分析システムの動作を示す信号のタイムチャートである。干渉計６は、入力した走査信号１０１がＬレベルとなる１走査期間内に、試料からインターフェログラムを取得し、インターフェログラム信号１０３をＡＤ変換器７に入力する走査を所定回数行う。ＡＤ変換器７は、開始信号１０２に基づいて動作を開始し、インターフェログラム信号１０３をＡＤ変換し、ＡＤ変換後にＬレベルのラッチ信号１０４をＣＰＵ８に送信する。ＣＰＵ８は、割込み入力１４で受信するラッチ信号１０４がＬレベルになると、割込みハンドル、ＡＤバッファの読出し、主メモリへの書込み、及び、割込み後処理から成るデータ取得を割込み処理で実行する。割込み処理は、優先度が高く割込みイベントが発生すれば、通常処理を実行中でも優先的に実行される。ＣＰＵ８は、割込みが発生しない期間に、１走査期間のデータ取得が完了したチャンネルに対応するデータに対して、平均及びフーリエ変換等のスペクトル分析演算を通常処理で実行する。
【００４７】
同図に示すように、ＣＰＵ８は、走査信号１０１がＬレベルになる時刻ｔ１、ｔ２、及び、ｔ３に通常処理による実行中のスペクトル分析演算を実行しながら、割込み処理によるデータ取得を開始する。通常処理は、平均バンクに格納された変換データに対して、スペクトル分析演算を行い、割込み処理は、読込バンクに新たな変換データを格納するデータ取得を行う。通常処理及び割込み処理は、長い時間範囲において、並列に処理されるので、ＣＰＵ８のインターフェログラム・データ取得による待機時間が発生しない。
【００４８】
【表１】
0004505961.tif 000002
表１は、本実施形態例の試行例の条件を示す表である。本実施形態例は、４チャンネル分のマルチチャンネル分光方式である。基本平均回数には８が設定され、走査周期には１秒当り４回が設定され、チャンネルの設定数には４が設定される。チャンネル１〜４の総平均回数には夫々、試行例１で１６、７、３２、及び、１０が設定され、試行例２で１６、４、３２、及び、１０が設定される。試行例１及び２は、何れかのチャンネルの平均回数が基本回数未満の場合を示し、各チャンネルに対応する平均処理が非同期に開始される。
【００４９】
図９は、図８の詳細な試行例１を示すタイムチャートである。基本平均回数は８回である。分光分析システムは、各チャンネルに対する走査回数が基本平均回数の８回を越えると、データ取得が行われていたバンクを一方から他方に切り換える。各チャンネルに対応する処理は、通常処理及び割込み処理で構成される。通常処理は、平均及びスペクトル分析演算であり、チャンネル間で直列に実行される。割込み処理は、データ取込みであり、チャンネル間で並列に実行される。通常処理の平均は、総平均回数が８回以上であると、８回分の基本平均が１単位として、総平均回数が８回未満になるまで行われ、残りの回数分の最後の平均が行われる。
【００５０】
チャンネル１に対応する処理は、総平均回数が１６である。通常処理は、８回の基本平均から成る５０ｍｓの処理Ｃ１１、Ｃ１３、及び、８回の最後の平均とスペクトル分析演算から成る４００ｍｓの処理Ｃ１２、Ｃ１４である。割込み処理は、平均回数が8回のデータ取込みから成る２ｓｅｃの２つの処理Ｂ１１とＢ１２、Ｂ１３とＢ１４、及び、Ｂ１５とＢ１６である。
【００５１】
チャンネル２に対応する処理は、総平均回数が７である。通常処理は、７回の最後の平均とスペクトル分析演算から成る４００ｍｓの処理Ｃ２１、Ｃ２２、Ｃ２３、Ｃ２４、Ｃ２５、及び、Ｃ２６である。割込み処理は、平均回数が７回のデータ取込みから成る１．７５ｓｅｃの処理Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４、Ｂ２５、Ｂ２６、及び、Ｂ２７である。
【００５２】
チャンネル３に対応する処理は、総平均回数が３２である。通常処理は、８回の基本平均から成る５０ｍｓの３つの処理Ｃ３１とＣ３２とＣ３３、及び、８回の最後の平均とスペクトル分析演算から成る４００ｍｓの処理Ｃ３４である。割込み処理は、平均回数が8回のデータ取込みから成る２ｓｅｃの４つの処理Ｂ３１とＢ３２とＢ３３とＢ３４である。
【００５３】
チャンネル４に対応する処理は、総平均回数が１０である。通常処理は、８回の基本平均から成る５０ｍｓの処理Ｃ４１、Ｃ４３、Ｃ４５、Ｃ４７、８回の最後の平均とスペクトル分析演算から成る４００ｍｓの処理Ｃ４２、Ｃ４４、Ｃ４６、及び、Ｃ４８である。割込み処理は、平均回数が8回のデータ取込みから成る２ｓｅｃの処理Ｂ４１、Ｂ４３、Ｂ４５、平均回数が２回のデータ取込みから成る０．５ｓｅｃの処理Ｂ４２、Ｂ４４、Ｂ４６、及び、Ｂ４８である。
【００５４】
図１０は、図８の詳細な試行例２を示すタイムチャートである。チャンネル１、チャンネル３、及び、チャンネル４に対応する処理は、図９の場合と同様に実行される。
【００５５】
チャンネル２に対応する処理は、総平均回数が４である。通常処理は、４回の最後の平均とスペクトル分析演算から成る４００ｍｓの処理Ｃ２１、Ｃ２２、Ｃ２３、Ｃ２４、Ｃ２５、及び、Ｃ２６である。割込み処理は、平均回数が４回のデータ取込みから成る１ｓｅｃの処理Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４、Ｂ２５、及び、Ｂ２６である。
【００５６】
上記実施形態例によれば、基本平均回数分の走査時間２ｓｅｃに対して、通常処理で４００ｍｓｅｃの分光特性計算を実行し、通常処理に比して優先度が高い割込み処理でデータ取得を実行するので、干渉計が行う所定の回数の走査中に、ＣＰＵの待機時間が発生しない。また、バンク０とバンク１を読込バンクとに平均バンク切換えて使用するので、干渉計がインターフェログラムを走査、Ａ／Ｄ変換、データ取得していない期間も発生しない。
【００５７】
更に、通常処理の平均、及び、割り込み処理のデータ取得は、チャンネル間で非同期に開始されるので、シングルチャンネル方式の分光分析システムを複数備えた場合と同様に動作する。
【００５８】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の分光分析システムは、上記実施形態例の構成にのみ限定されるものでなく、上記実施形態例の構成から種々の修正及び変更を施した分光分析システムも、本発明の範囲に含まれる。
【００５９】
【発明の効果】
以上説明したように、本発明の分光分析システムでは、通常処理でスペクトル分析演算を実行し、通常処理に比して優先度が高い割込み処理でデータ取得を実行するので、干渉計が行う所定の回数の走査中に、ＣＰＵの待機時間が発生しない。また、干渉計がインターフェログラムを取得していない期間も発生しない。平均回数が非常に多い場合でも、インターフェログラムを全てメモリに保持しておく必要がない。
【００６０】
また、チャンネルごとに対応するＣＰＵの待機時間が加算されないので、マルチチャンネル分光方式では、各々のチャンネルで全く独立に最少間隔で分光特性演算ができる。通常演算はフラグで管理しているので、各チャンネルの平均やスペクトル演算等は非同期に実行できる。この場合、平均回数をチャンネル毎に独立に設定できる。
【図面の簡単な説明】
【図１】本発明の一実施形態例の分光分析システムのブロック図である。
【図２】図２は、予め割り当てられるグローバル配列及び変数を示す。
【図３】図２の“インターフェログラム列”配列の構造を示す具体例である。
【図４】図１の分光分析システムが分光特性計算を行うために実行するメイン処理を示すフローチャートである。
【図５】取得データをスペクトル解析演算する前にA/D変換による雑音を減らしスペクトルのSN比を向上させるために行う平均処理を示すフローチャートである。
【図６】ＡＤ変換器７からデータ取得を行う際のデータ取得割込み処理を示すフローチャートである。
【図７】図６のデータ取得割込み処理が呼び出す走査終了時処理を示すフローチャートである。
【図８】図１の分光分析システムの動作を示す信号のタイムチャートである。
【図９】図８の詳細な試行例１を示すタイムチャートである。
【図１０】図８の詳細な試行例２を示すタイムチャートである。
【図１１】従来の分光分析システムのブロック図である。
【図１２】図１１の分光分析システムが分光特性計算を行うために実行するメイン処理を示すフローチャートである。
【図１３】図１１の分光分析システムの動作を示す各信号のタイムチャートである。
【図１４】図１３の詳細な具体例を示すタイムチャートである。
【符号の説明】
１，５１  分光器
２  コンピュータ
３  ヒューマン・マシン・インターフェース部（ＨＭＩ部）
４  バスライン
５  制御部
６  干渉計
７，５２  ＡＤ変換器
８，５３  ＣＰＵ
９，５４  主メモリ
１０  補助記憶装置
１１  キーボード
１２  マウス
１３  表示装置
１０１  走査信号
１０２  開始信号
１０３  インターフェログラム信号
１０４  ラッチ信号
１０５  変換データ
【図１】
0004505961.tif 000003
【図２】
0004505961.tif 000004
【図３】
0004505961.tif 000005
【図４】
0004505961.tif 000006
【図５】
0004505961.tif 000007
【図６】
0004505961.tif 000008
【図７】
0004505961.tif 000009
【図８】
0004505961.tif 000010
【図９】
0004505961.tif 000011
【図１０】
0004505961.tif 000012
【図１１】
0004505961.tif 000013
【図１２】
0004505961.tif 000014
【図１３】
0004505961.tif 000015
【図１４】
0004505961.tif 000016