エネルギー分散型放射線分光分析システムにおけるパイルアップ除去
【解決手段】エネルギー分散型放射線分光分析システムにおけるパイルアップを検出する方法であって、システムのフィルタがプリアンプ信号に応答して第1のパルスを発生し、システムが完全な効率のエネルギーを有する1又は複数の高速チャンネルを有し、少なくとも完全な効率のエネルギーを有する受信された実質的に全ての光子が検出される。この方法は、フィルタのスレッショルド超過期間を測定するステップと、第1のパルスがフィルタの最小検出可能スレッショルドエネルギーを超える間に高速チャンネルが何ら検出を行っていないことを判定するステップと、この判定に応答して、スレッショルド超過期間がシステムによって受信されている完全な効率のエネルギーに等しいエネルギーを有している単一の光子に応答してフィルタによって出力されることになる第2のパルスの期間である最長予想パルス間隔を超える場合に、パイルアップを断定するステップとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムに関し、特に、エネルギー分散型放射線分光分析システムにおけるパイルアップ除去を改良する方法に関する。
【背景技術】
【0002】
限定するものでないが、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムは、たとえば、走査型電子顕微鏡(SEM)からX線放射またはガンマ線放射のような放射線放射を検出、測定、および分析するため使用される。典型的なエネルギー分散型放射線分光分析システムは、以下の4つの主要な構成要素:(1)検出器、(2)プリアンプ、(3)パルスプロセッサ、および(4)コンピュータ利用アナライザを含む。便宜のためだけに、限定の目的のためでなく、以下の説明では、X線分光分析システムと、(たとえば、ガンマ線分光分析システムにおいて検出されるガンマ線の形をした光子と比べて)X線の形をした光子とに関して行なう。
【0003】
通常、何らかの半導体センサの形をとる検出器は、約数十ないし数百ナノ秒の期間に、入射するX線を非常に小さい電流パルス、典型的には、およそ数万個の程度の電子に変換する。電流パルスの1つずつの大きさは、X線のエネルギーに比例する。
【0004】
プリアンプは、検出器によって出力された電流パルスを増幅し、典型的に電流パルスを数十分の1ミリボルトから数百ミリボルトまでの範囲内の電圧信号に変換する。2つの主なプリアンプの型、すなわち、「テイル・パルス」またはRC結合プリアンプと、パルス・リセット・プリアンプとが存在する。本明細書中の他の場所に記載された主題は、両方の型のプリアンプに適用できる。
【0005】
パルス・リセット型のプリアンプでは、センサ内に生成された電荷は、結果として生じる電圧が上限に達するまで可変高さおよび間隔のステップで増加するように、フィードバックコンデンサ内で積分される。上限に達したとき、フィードバックコンデンサから蓄積電荷を排出させる「リセット」パルスが印加され、短期間、典型的に数マイクロ秒のうちにプリアンプをプリアンプの最小出力電圧付近に復元させる。次に、X線と検出器との相互作用による電荷が再びフィードバックコンデンサに蓄積し、サイクルが反復する。これに反して、テイル・パルス・プリアンプは、検出器によって出力された電圧ステップ信号に高域通過フィルタとして機能し、プリアンプのフィードバックコンデンサにおける電荷積分時間より長い時定数でベースラインへ指数関数的に復帰する。
【0006】
パルスプロセッサは、プリアンプ信号を受信し、積分過程を通じてX線のエネルギーの数値表現を生成する。従来のエネルギー分散型放射線分光分析システムでは、パルスプロセッサは、2つの別個の構成要素、すなわち、「整形アンプ(shaping amplifier)」と、アナログ・デジタル変換器とを含んでいる。現代のエネルギー分散型放射線分光分析システムは、これに反して、典型的にこれらの機能を組み合わせ、プリアンプ信号をそのままデジタル化し、デジタル信号処理を使用してすべてのパルス検出機能とフィルタリング機能とを実行する最新の設計を伴う。
【0007】
コンピュータ利用アナライザは、パルスプロセッサによって出力されたX線エネルギーをX線のエネルギーに対する検出されたX線のスペクトル、または検出されたX線の個数のプロット図に蓄積する。このスペクトルを、「チャンネル」または「ビン」と称される若干の任意の数の小さい範囲に分割する。旧来のシステムでは、マルチ・チャンネル・アナライザ(MCA)と称されるハードウェア構成要素がスペクトルチャンネルへのX線の蓄積を行い、コンピュータが合計された結果を読み出す。現代のシステムでは、MCA機能は、コンピュータによって、または、パルスプロセッサ内のいずれかで、ソフトウェアで操作される。
【0008】
パルスプロセッサの仕事は、数個の要因によってより複雑化される。たとえば、電子ノイズがプリアンプから受信された基礎信号に重ね合わされる。最低検出可能エネルギーレベル付近にあるX線に対し、プリアンプ出力ステップ高さは、電子ノイズのピーク・ツー・ピーク・エクスカーションより著しく小さい。このような場合、X線は、ノイズの寄与を平均除去するため、ステップの前後で比較的長期間に亘って信号をフィルタリングすることだけによって検出できる。このようなノイズ平均化の量は、すべてのパルスプロセッサの基本的な動作パラメータである。この平均化時間は、技術的に「整形時間(shaping time)」または「ピーキング時間(peaking time)」と様々に称される。
【0009】
第二に、プリアンプ出力のステップは瞬時的ではない。ノイズが無い場合、信号はシグモイド状(S字型)曲線である。この原因は、帯域幅制限、機器容量、およびセンサのアノードに到達するためX線によって発生されるすべての電子のための所要時間である。これらの電子は、半導体センサ内部のバイアス電圧フィールドの影響下でセンサ材料の中をアノードへ向かって移動する小さいクラスタまたは雲として可視化することができる。テイル・パルス・プリアンプを用いると、信号の初期立ち上がりは、同じシグモイド状の形であり、設計によって変化するが、初期立ち上がりに比べて常に長い時定数をもつ指数関数的減衰が後に続く。
【0010】
各面に簡単な平面状電極を有する、リチウム・ドリフト・シリコン、または、Si(Li)検出器と称される従来型の検出器では、バイアスフィールド線は直線であり(第1の近似では、エッジ効果を無視する)、前後に広がる。その結果として、電子雲コレクション時間は、およそ一定であり、プリアンプ信号の「立ち上がり時間(rise time)」(シグモイド状ステップの幅)は、機器の比較的大きい容量に起因する帯域幅制限によって支配される。
【0011】
シリコン・ドリフト検出器(SDD)として知られている新しい型のセンサが近年は開発されている。このシリコン・ドリフト検出器の顕著な新しい特徴は、バイアス電極にエッチングされた同心円パターンであり、この同心円パターンは、僅かに変化する電圧がパターン内の個別のリングに印加されるとき、電子が非常に小さいスポットアノードへ注ぎ込まれるようにセンサ材料内部のバイアスフィールドが整形されることを可能にする。この特徴は、実効機器容量を約4桁だけ低減する効果がある。X線相互作用からの電子雲は、ドリフト時間の経過と共に、電子がアノードに到達するために移動する経路長に依存してより大きい程度またはより小さい程度で膨張する。機器容量の低減に起因して、雲統合時間は、Si(Li)検出器の場合の数パーセントと比較して、SDDでは約2倍の割合で変化する可能性があるプリアンプ信号の立ち上がり時間にさらに多く寄与する(しかし、SDDのための立ち上がり時間の範囲の終わりがより長い場合でも、総容量が低減されているので、従来型の平面状電極センサ(Si(Li)検出器)より依然として高速であることがある)。
【0012】
技術的に「パルス・パイルアップ(pulse pile-up)」として知られている現象は、非常に互いに接近して到着するためにそれぞれのエネルギーを独立に測定することができない連続的なX線の結果として出現する。検出されない場合、2つのエネルギーに対し、システムのパルス整形フィルタの細部とX線間の時間間隔とに依存して、対のうちの高エネルギー側のX線のエネルギーと2つのX線エネルギーの合計との間のどこかに位置している1つのエネルギーだけが測定される。このように、パルスプロセッサは、パイルアップの出現を効率的に検出できることが必要であり、パイルアップは、検出されたとき、このパイルアップと関連付けられたエネルギー測定が廃棄されることをもたらす(パイルアップ除去(pile up rejection)と称される)。
【0013】
放射線は、自然発生するか、または、何らかの形式の励起によって誘発されるかにかかわらず、ランダム過程である。平均放射率の高低とは無関係に、ある種の非零確率を用いて、2つの放射されたX線間の時間間隔は、任意に短くされてもよい。任意の時間間隔tの範囲内で2番目のX線を取得する確率は、
P=(1−e−(rt))
であり、式中、eは自然対数の底であり、rは平均X線到着率である。
【0014】
依然として2つのX線を別個の事象として識別することができ、技術的に「パルス対分解時間(pulse-pair resolving time)」として知られている2つのX線間の最小時間間隔は、エネルギーの強い逆関数である。換言すると、小さい(低エネルギー)パルス間のほぼ同時性を検出することは、大きいパルス間のほぼ同時性を検出するより一層困難である。パルスプロセッサのすべてのピーク検出フィルタは、高エネルギーX線に強く反応するので、検出するのが最も困難である場合は、低エネルギーX線のすぐ後に続く場合である。
【0015】
パイルアップ検出の従来型の方法は、一般的に、固定しているが、主エネルギー測定処理経路(「主チャンネル(main channel)」と称される)より非常に短い整形時間をもつ1つ以上の並列フィルタとして記述できる。主チャンネルは、「高速チャンネル(fast channels)」または「パイルアップ除去チャンネル(pile-up rejection channels)」と様々に称される。各チャンネル(主および高速)は、チャンネルが正確かつ明確に単一のX線のエネルギーを測定するために要する時間量である不感時間と称されるパラメータを有している。高速チャンネル不感時間Dfは、主チャンネルの不感時間Dよりかなり短いので、高速チャンネルは、時間的に一緒に接近して到着するX線のため区別できるパルスを発生させる可能性がかなり高い。高速チャンネルで使用されるフィルタ(アナログまたはデジタル)は、一般に、エネルギー測定(主チャンネル)のため使用されるフィルタと同じ型であり、パルス幅がかなり短いだけである。
【0016】
しかし、高速チャンネル整形時間は非常に短いので、電子ノイズを平均除去することにはあまり効果的ではない。パルス処理チャンネルの整形時間は、このパルス処理チャンネル内で検出することができる最低エネルギーX線を決定する。整形時間の検出スレッショルドがより低く設定される場合、処理チャンネルは、プリアンプ出力信号内のランダムノイズ変動が原因となって過剰な間違ったトリガを生じることになる。最新技術のX線分光分析システムは、典型的に、約100〜200電子ボルト(eV)をもつX線を主測定チャンネル内のノイズから区別することができるが、高速チャンネルのスレッショルドエネルギーは、遙かに高くされることが必要である。高エネルギーX線のための最良パルス対分解時間を定義する最高速パイルアップ除去チャンネルは、典型的に、スレッショルド1000から2000eVを有する。ある種の既存のパルスプロセッサは、1000eV未満の範囲におけるパイルアップ除去性能を改良するためにちょうど3個のパイルアップ除去チャンネルを有している。2つ以上のパイルアップ除去チャンネルを備えるシステムでは、中間チャンネルは、525eVでの酸素、または、277eVでの炭素のような特有の放射線への感度を可能にするため選択された整形時間を有することになる。所望のエネルギースレッショルドにおける下方の各ステップを用いて、パルス対分解時間は、より長い整形時間の必要性のため劣化させられる。
【0017】
パルス対分解時間は、対のうちのエネルギーの低い方のX線によって支配される。これは、低エネルギー・パイルアップ検出不成功が低エネルギーピークだけでなく、スペクトル内のすべてのピークに影響を与えるので重要である。検出されない低エネルギーのX線とのパイルアップは、2つのピークエネルギーの合計値まで、何れかのピークを除外し、予想位置から延びる広範なシェルフを考慮にいれて、シフトし得る。エネルギーへのパイルアップ効果の依存性についての優れた説明は、P.J.Statham、Microchim.Acta 155、289-294(2006)で見出されることがある。
【0018】
さらに、SDDの場合に有効な単一のX線パルスの非常に変化し易い立ち上がり時間は、X線が電荷収集アノードからどの程度まで吸収されるかに依存するが、最も速い従来のパイルアップ・チャンネルでさえ単一の出力パルスを発生させるとき、時間的に非常に接近した同時性を検出する従来の方法の最大の課題を引き起こす。たとえば、Warburtonらの米国特許第5684850号に記載されているように、従来的な技術は、パルス幅テストである。デジタル三角形または台形フィルタは、比較的容易に構築でき、そして、計算的に効率が良いので、すべてのデジタルパルス処理システム向けに最もよく知られている。技術的に有限インパルス応答(FIR)フィルタとして知られているフィルタもあり、このフィルタの応答は、フィルタの非零重み係数の程度によって定義された有限の時間範囲の外側で零であることが保証されている。その一方、従来型のセミガウシアン・アナログ整形は、原理的に応答が無限に継続する指数関数的な時定数を導入するが、実際には、出力は、(僅かにエネルギー依存性ではあるが)合理的に予測可能な時間内にノイズスレッショルドより下に減衰する。
【0019】
FIRフィルタのパルス幅は、原則的にもエネルギー依存性ではないが、プリアンプ・ステップの立ち上がり時間に依存し、この立ち上がり時間は次にSDDにおける可変電荷収集時間に依存する。よって、単一のX線からの有効パルスの誤った除去を回避するため、固定パルス幅テストは、SDDにおける最長ドリフト経路から生じる最大立ち上がり時間を許容するため十分に長く設定することが必要である。
【0020】
したがって、立ち上がり時間が非常に変わりやすいSDDを利用するシステムの性能を改良するものとして、立ち上がり時間に依存しないパイルアップ検出方法を設けることが有利である。
【発明の概要】
【0021】
一実施形態では、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムのプリアンプの出力信号からパイルアップを検出する方法は、エネルギー分散型放射線分光分析システムのフィルタが、出力信号に応答して第1のパルスを発生させ、エネルギー分散型放射線分光分析システムが、完全な効率のエネルギーを有する1つ以上の高速チャンネルを有し、エネルギー分散型放射線分光分析システムによって受信され、少なくとも完全な効率のエネルギーを有する実質的にすべての光子が検出される方法である。この方法は、第1のパルスがフィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定する(measuring)ステップと、第1のパルスがフィルタの最小検出可能スレッショルドを超える間に1つ以上の高速チャンネルが何ら検出を行っていないことを判定する(determining)ステップと、この判定に応答して、スレッショルド超過期間が、エネルギー分散型放射線分光分析システムによって受信されている完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答してフィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定する(declaring)ステップと、を含む。1つの特定の実施形態では、1つ以上の高速チャンネルは、複数の高速チャンネルを含み、完全な効率のエネルギーは、最高スレッショルドエネルギーを有する高速チャンネルのスレッショルドエネルギーによって判定される。
【0022】
別の実施形態では、直前に説明された方法を実行するため適合したパルスプロセッサが設けられる。さらに別の実施形態では、入射光子を、電流パルスを含む出力に変換する検出器と、検出器の出力を、電圧信号を含むプリアンプ出力信号に変換するプリアンプと、プリアンプ出力信号に応答して第1のパルスを発生させるフィルタ、および、完全な効率のエネルギーを有する1つ以上の高速チャンネルを有するパルスプロセッサとを含み、少なくとも完全な効率を有し、エネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出される、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムが設けられる。パルスプロセッサは、第1のパルスがフィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定し、第1のパルスがフィルタの最小検出可能スレッショルドを超える間に、1つ以上の高速チャンネルが何ら検出を行っていないことを判定し、1つ以上の高速チャンネルが何ら検出を行っていないという判定に応答して、上記スレッショルド超過期間が、エネルギー分散型放射線分光分析システムによって受信されている完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答してフィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定するため適合している。
【0023】
したがって、発明は、すべての上記の態様および利点を実質的に達成することが明らかになるであろう。発明の付加的な態様および利点は、以下の説明において示され、部分的に説明から自明であるか、または、発明の実施によってわかるであろう。さらに、発明の態様および利点は、特許請求の範囲で特に指摘された手段および組み合わせを用いて実現され、達成されることがある。
【0024】
添付図面は、現時点で好ましい発明の実施形態を示し、前述の一般的な説明および後述の詳細な説明と併せて、発明の原理を説明するために役立つ。図面を通じて示されているように、同様の符号は同様の部品または対応する部品を指定する。
【図面の簡単な説明】
【0025】
【図1】本発明が実施される1つの特定の非限定的な実施形態によるX線分光システムの全体的なブロック図である。
【0026】
【図2】一般的な台形FIRデジタルフィルタのブロック図である。
【0027】
【図3A】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3B】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3C】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3D】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【0028】
【図4A】発明のFPGA実施形態を設計するため使用されることがある図3A〜3Dのプログラム論理から抽出された状態図である。
【図4B】発明のFPGA実施形態を設計するため使用されることがある図3A〜3Dのプログラム論理から抽出された状態図である。
【0029】
【図5A】図1に示されたピーク検出フィルタからエネルギーが異なる2つの低エネルギーX線への理想的な台形応答を示す図であり、3番目の直線が検出スレッショルドエネルギーを表している。
【0030】
【図5B】400eVエネルギーで2つのX線からの図1に示されたピーク検出フィルタの出力の理想的な表現を示す図である。
【0031】
【図6A】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【図6B】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【図6C】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【0032】
【図7A】SDDからの実際の波形のプロット図である。
【図7B】SDDからの実際の波形のプロット図である。
【0033】
【図8】特定のSDDのための典型的なパルス対分解時間およびエネルギー検出スレッショルドと共に、図1のシステムの予想パイルアップ性能を要約する概略図である。
【発明を実施するための形態】
【0034】
<望ましい実施例の説明>
背景技術の欄で指摘されているように、本明細書に記載された主題は、テイル・パルス・プリアンプおよびパルス・リセット・プリアンプの両方に適用される。しかし、例図および説明を簡単にするため、発明は、パルス・リセット型プリアンプを利用する実施形態と関連して説明される。背景技術の欄に記載されているように、検出器電圧ステップ信号の立ち上がり部分は、比較的変更されることなくテイル・パルス・プリアンプの中を通される。その結果、本明細書中で説明されている発明はテイル・パルス・プリアンプ実施形態に容易に適用されてもよいことがパルス・リセット実施形態の説明からわかる。さらに、本明細書中で説明されている手段は、エネルギー分散型放射線分光分析システム全般に適用される。しかし、例図および説明を簡単にするため、発明は、X線分光分析システムを利用する実施形態と関連して説明される。これは限定的であるとみなされるべきでないが、発明は、限定されることなく、ガンマ線分光分析システムのような他の型のエネルギー分散型放射線分光分析システムと関連して適用されてもよいことが理解されるべきである。
【0035】
本明細書中に記載された改良は、立ち上がり時間に依存しないが、一実施形態では、検出器内の電荷収集の予想シグモイドパターンだけに依存し、別の実施形態では、ランダムノイズが信号の方向(局所的な1次微分の符号、すなわち、立ち上がりまたは立ち下がり)を判定する短い期間が後に続く単調に(ノイズ依存限界の範囲内で)立ち上がる信号を有することに依存する。よって、本明細書中に記載されている改良は、短い立ち上がり時間でX線ステップにより高速に応答可能であり、適切には、パルスを誤って除去することなく、より緩やかにパルスに応答可能である。一実施形態では、有効な単一のX線からの電圧信号が(ノイズの限界内で)ある種の最大値まで単調増加し、その後に単調減少する1次微分を有するべきであると仮定される。本明細書中により詳細に記載されるように、一実施形態による開示された方法は、プリアンプ出力を直接的にデジタル化し、デジタル化ADCサンプルの間の逐次的な差は、1次微分の瞬時値の利用可能な最良推定を与える。別の実施形態では、有効な単一のX線からの電圧信号が局所的なピーク・ツー・ピークノイズ帯域より上に立ち上がり、次に,最終的に立ち上がりが停止することを仮定し、そして、立ち上がりより先行する局所な最大値とその後に続く局所な最小値とによって測定されるように、ノイズ帯域が立ち上がりの前後で著しくシフトすべきであることを仮定する。本実施形態におけるシステムは、プリアンプ出力を直接的にデジタル化し、局所極値はデジタル化された信号内で測定される。
【0036】
デジタル化ADCの変換速度は、立ち上がり時間の予想範囲に適切に一致させるべきである。この変換速度は、最短予想立ち上がり時間で、波形が立ち上がり中に数回に亘ってサンプリングされるように十分高速にされるべきである。発明が完全に有効であるための立ち上がり時間内の最小サンプル数は、好ましくは、4または5である。好ましい実施形態では、ADCのサンプリングレートは、最短予想立ち上がり時間約50ナノ秒の場合に100MHzであるので、5サンプルが最小立ち上がり時間内に発生し、およそ10サンプルが最長立ち上がり時間内に発生する。
【0037】
サンプリングレートが非常に高く、たとえば、40または50サンプルが立ち上がり時間の範囲内に収まる場合、波形は、単一のサンプリング間隔内で、立ち上がりステップがランダムノイズ変動から容易に識別できるため十分に移動しない。本明細書中の他の場所に記載されているように、この状況は、最も速い立ち上がり中に最適な4ないし8サンプルを達成するため、サンプリングレートを低下させ、発明を具現化する回路に与えられた値毎に何個かのADCサンプルを合計することにより容易に対処される。
【0038】
本発明の実施形態の主な目的は、基礎となる信号の滑らかなシグモイド性を利用し、立ち上がり時間の変動と、センサ/プリアンプ結合のノイズ特性とに自動的に適応する適応ステップ検出方法を使用することにより、半導体放射線センサの出力信号に発生させられた電圧ステップの平均パルス対分解時間を短縮することである。結果は、エネルギースペクトル内の検出されないパルス・パイルアップの低い方のレベル、したがって、スペクトル内の何れか2つの大きい放射ピークのエネルギーの2倍または合計エネルギーで現れる「サム・ピーク(sum peaks)」として技術的に知られている誤ったアーティファクトの相対的なサイズの縮小である。
【0039】
本明細書中に記載されている方法は、デジタルベースであり、そして、プリアンプ信号がアナログ・デジタル変換器(ADC)によってデジタル化されることを必要とする。最適変換レートは、前述されているようにプリアンプから予想される最速立ち上がり時間に依存する。
【0040】
以下の説明は、X線が検出されるとき、正に向かうプリアンプ出力を仮定するが、信号の極性が信号列の全体を通じて反転させることが可能であり、この方法が同様に有効であることは、当業者によって認められるであろう。シリコンベースのセンサと低いX線エネルギー範囲内の放射線とがさらに仮定されるが、説明された発明が、ゲルマニウムのような他の半導体から作られたセンサ、および、より高エネルギーのX線またはガンマ線に適用できることもまた当業者によって認められるであろう。
【0041】
図1は、本発明が実施されることがある1つの特定の実施形態によるX線分光システム1の全体的なブロック図である。図1においてわかるように、X線分光システム1は、主構成要素として、破線境界によって示され、本発明が本明細書中に記載されているように実施されるデジタル・パルス・プロセッサ(DPP)2を含む。さらに、X線分光システム1は、シリコン・ドリフト検出器(SDD)100と、パルス・リセット型プリアンプ101とをさらに含む。
【0042】
動作中に、X線は、SDD 100に当たり、電子−正孔対に変換され、電子の個数はX線のエネルギーに比例している。これらの電子のすべてにより構成される小電荷は、プリアンプ101内のコンデンサに蓄積され、変化する振幅および間隔がノイズに重ね合わされた小さいシグモイド状ステップが現れる図示された形式の出力電圧信号に変換される。電圧信号は、フィードバックコンデンサから電荷を排出し、急速に出力を下限へ押し進める周期的なリセットを有するSDD 100内の漏れ電流に起因して全体的な正の勾配を有し、図1に示された鋸歯状の波形を生じる。この一般的なアプローチは、長年に亘って技術的に知られている。
【0043】
プリアンプ101の出力は、DPP 2の一部として設けられた高速アナログ・デジタル変換器(ADC)102によってデジタル化される。好ましい実施形態では、ADC 102は、AD9446シリーズのようなAnalog Devices社製の100MHz、16ビット部品である。本発明は、走査型電子顕微鏡(SEM)に搭載されたSDDからプリアンプ波形の数千個の短い(2.62ミリ秒)セグメントを獲得し、合計すると数秒のリアルタイム・データがディスクファイルに格納されることになるように、このデバイスのためAnalog Devices社から供給され、DC結合入力信号を受け入れるように変更され、オンボード・メモリおよびPCへの標準USBインターフェイスを備えるインターフェイス・ボード(モデルHSC-ADC-EVALB-DC)に接続された開発ボード(モデルAD9446-100LVDS/PCB)を使用して開発された。後述されるその後のデジタル機能は、最初に、Pythonと呼ばれるスクリプト言語で記述された後処理ソフトウェアにおいて具現化された。このソフトウェアのソースコードは、2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERGIES AT HIGH COUNT RATES”である米国仮出願第60/963320号に含まれている。ここから選択された機能が本明細書中に再現されている。Pythonプログラムは、したがって、フィールド・プログラマブル・ゲート・アレイ(FPGA)論理と、Texas Instruments社320C-6414デジタル信号処理(DSP)チップのため記述されたソフトウェアとの組み合わせを使用するリアルタイム実施形態の仕様として役に立った。図1に示された好ましい実施形態は、名前が付けられ、以下でより詳細に説明された論理ブロック103ないし119をFPGA論理の中に設置し、同様に名前が付けられ、以下でより詳細に説明された論理ブロック120および121をDSPチップソフトウェアの中に設置する。
【0044】
ADC 102の出力は、プリアンプ電圧波形からのデジタルサンプルと、図1中のすべての後に続くブロックのタイミングを定めるクロックとから構成される。図1を簡略化するため、クロックは別個に示されていないが、すべての機能ブロックは、後述されるように、ADC 102のクロックによって、または、このクロックの何らかの約数によって同期させられることが理解されるべきである。
【0045】
ADC 102の出力およびこのADCのクロックは、場合によっては、ADCサンプルの個数を合計し、元のADCクロックを同じ個数によって分割する検出器・照合・平均化器103を通過する。検出器・照合・平均化器103の目的は、DPP 2に接続されたSDD 100の立ち上がり時間に関して実効サンプリング間隔を最適化することである。合計の中にすべてのビットを保持することは、すべての短いフィルタリング時間で最終的なX線スペクトルの量子化誤差を回避するために好ましく、したがって、処理がDPP 2の中を通過し続けるときにデータ経路がより広くなる。
【0046】
SDD 100から予想される平均立ち上がり時間は約150ナノ秒未満である場合、検出器・照合・平均化器103は無効にされ、完全な100MHzレートが可能な最良タイミング精度を実現するため使用される。しかし、平面状電極を有する、いわゆるリチウム・ドリフト・シリコンまたはSi(Li)検出器のような非常に低速の検出器がDPP 2に接続され、そして、平均立ち上がり時間が数百ナノ秒である場合、平均立ち上がり中に約16サンプル未満のサンプルを生成するレートまで実効サンプリングレートを低下させることが望ましい。
【0047】
検出器・照合・平均化器103からの(できる限り合計された)データおよびクロックは、2つの並列経路の中を通される。一方の経路は、2つのサブセクションを有する高速パイルアップ論理104につながる。第1のサブセクションは、一実施形態の対象であり、本明細書中でより詳述されるシングルステップ論理と称される。もう一方のサブセクションは、逐次データサンプルの単調ランの長さおよびパターンに基づくデジタル方法を含む別の実施形態の対象であり、本明細書中でより詳述されるラン論理と称される。ここで使用される「単調(Monotonic)」は、数学的な意味で厳密に単調を意味するのではない。この方法で使用される比較器は、負のサンプル間の差がピーク・ツー・ピークノイズ変動より小さい場合、この差を許容する正のランを検出するために僅かに負にオフセットされている。シングルステップ論理が適度に高エネルギーX線のため単一の連続的な立ち上がりの範囲内でパイルアップを検出する能力をもつ場合、ラン論理は、ノイズの制約の範囲内でできる限り素早く低エネルギーX線に起因する連続的な立ち上がりの終了を検出するように設計される。
【0048】
第2の経路はフィルタ平均化器105につながる。フィルタ平均化器105は、ノイズ(サンプル間のランダム変動)を低減し、そして、後続のデジタル処理ステップにおいて必要とされる速度をさらに低減するため、少数の、好ましくは、4個の逐次ADCサンプルを合計する。4個が合計されたデータと、4で分割されたクロックは、低速パイルアップ論理106へ送られる。低速パイルアップ論理106は、高速パイルアップ論理104と機能的に同一であるが、ノイズがより少なく、データがより低速である。フィルタ平均化器105からのより低速のサンプルレートで動作するとき、本発明は、劣らない分解時間をもたないが、ノイズに基づく間違ったトリガが過剰になる前により低いエネルギー検出スレッショルドに達する。
【0049】
フィルタ平均化器105からの出力は、ピーク検出フィルタ107(主チャンネル)と、複数の台形FIRデジタルフィルタ108、109、110(高速チャンネル)とへさらに並列に送られる。これらのフィルタのすべては、少なくとも15年に亘って技術的に一般に使用されているように、従来通りの台形型である。一般的な台形FIRデジタルフィルタのブロック図は図2に示される。図2においてわかるように、ADCサンプルは、立ち上がりFIFO 201、ギャップFIFO 202、および立ち下がりFIFO 203と称される3つの可変長FIFOを通過する。立ち上がりFIFO 201は、FIRフィルタの初期積分時間である。ステップエッジと畳み込まれたとき、立ち上がりFIFOは、エッジがFIFOの中を通過するとき、最終的なFIR合計の中で直線的な立ち上がりを与える(ノイズ変動を無視する)。ギャップFIFO 202は、そうでなければ、ステップエッジに対する三角形状応答になる応答に「平坦な上部(flat top)」を提供する零重み付けの期間である。検出器への立ち上がり時間が可変である場合、純粋な三角形パルス形状(ギャップなし)は、高さが同じであるが、異なる立ち上がり時間を有するノイズを含まないステップエッジに対し異なる最大出力を有することになるので、平坦な上部が望ましい。ギャップが最長予想立ち上がり時間を覆うために十分に長い場合、最大出力合計は同じである(ノイズと入力信号中の何らかの背景勾配を無視する)。立ち下がりFIFO 203は、立ち上がりFIFO 201と同じ期間に亘って逆極性を用いてサンプルを積分するので、Nが2つのFIFOの長さであるとして、立ち上がりFIFO 201で全体的な合計にN回加算されたサンプルは、FIFO 203において合計からN回に亘って最終的に差し引かれる。
【0050】
三角形(または台形)フィルタ形状は、フィルタ形状を計算するために必要とされる簡単な回路のためによく知られている。4回の計算だけが任意の全長をもつFIRフィルタの1回のFIFOクロックサイクル毎に必要とされる。立ち上がりFIFO 201に入るサンプルおよび立ち上がりFIFOから出るサンプルは、それぞれ、移動合計に加算され、および、移動合計から減算される。立ち下がりFIFO 203に入るサンプルおよび立ち下がりFIFOから出るサンプルは、それぞれ、移動合計から減算され、および、移動合計に加算される。第1の差は算術論理ユニット(ALU)204で計算され、第2の差はALU 205で計算される。これらの2つのALUの出力は、累算器206内で前の全体的なFIR出力に加算される。
【0051】
FIR出力合計の最大値は、入力信号のシグモイド状立ち上がりがギャップFIFO 202の内部に完全に格納されている間に現れ、立ち上がりを引き起こすX線のエネルギーに比例する。
【0052】
ピーク検出器フィルタ107は、X線エネルギーの測定ではなく、非常に低エネルギーのX線であってもすべてのX線の検出に関係し、すべてのX線を時間的にできる限り正確に突き止める。立ち上がりFIFOおよび立ち下がりFIFOの幅は、できる限り短くされるが、収集されたスペクトル内で最低エネルギーX線輝線を依然として確実に検出する。電子顕微鏡に搭載されたX線アナライザの場合、X線輝線は、多くの場合に、277電子ボルト(eV)の炭素輝線である。したがって、ピーク検出フィルタ107は、前述の2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERIGIES AT HIGH COUNT RATES”である米国仮特許出願第60/963320号において、「カーボンフィルタ」と呼ばれることがよくある。最小ターゲット輝線は、より低エネルギー(ホウ素またはベリリウム)でもよく、または、低エネルギーでは非常に不十分であるX線蛍光(XRF)励起のための検出器の場合、より高エネルギーでもよい。XRF検出器は、通常は、約700eV未満の本質的にすべてのX線を阻止するベリリウム窓をセンサの前面に装備している。その場合、ピーク検出フィルタ107は、有意な個数のX線を失う虞なしに、より狭くすることができ、ピーク検出フィルタのパイルアップ検出のための性能を改良する。
【0053】
ピーク検出フィルタ107は、通常のFIR合計と、2つの他の信号、すなわち、最大応答の時点のパルスおよび応答がスレッショルドエネルギーを超えた時点を示す論理信号とを生成する。これらの信号の詳細な仕様は後述される。
【0054】
X線エネルギーレベルを測定するFIRフィルタ108、109、110と、ピーク検出フィルタ107と、低速パイルアップ論理106と、高速パイルアップ論理105とは、十分なエネルギーを有するノイズを含まない単一のX線パルスがすべてのエッジ(イベント)検出器をトリガする程度に、高速パイルアップ論理104および低速パイルアップ論理106からのエッジ(イベント)位置(時点)と、ピーク検出フィルタ107の最大値と、すべてのエネルギー測定FIRフィルタ108、109、110のためのギャップの中心に対応する出力データとが、パルス検証ロジック117、ベースライン勾配測定論理118、および、フィルタラッチ論理119に(フィルタ平均化器105のクロック分割によって課される量子化限界の範囲内で)同時に到着するように、すべてが適切な大きさのプログラマブル長アライメント遅延FIFO 111、112、113、114、115、116に接続されている。
【0055】
フィルタラッチ論理119は、ピーク検出フィルタ107のアライメントされた最大出力時間に対応するすべてのFIRフィルタの出力を捕捉する。フィルタラッチ回路は、従来的なアナログパルス処理のサンプル・ホールド回路と機能的に等価である。フィルタラッチ論理の出力は、ラッチをトリガしたエッジの後に続くパイルアップの検出のための時間を許容するため、エネルギー測定フィルタスタックにおける最長FIRフィルタのFIRパルス幅の半分(立ち下がり時間とギャップ時間の半分との合計)に対応する付加的な期間によって遅延される。
【0056】
フィルタラッチ論理119は、Koemanへの米国特許第3872287号およびMottへの米国特許第5392982号に開示された方法によるパイルアップなしで使用することができる(存在するならば)FIRスタック内の最長フィルタの選択を可能にするため、現在のストローブ信号から先行するストローブ信号および後続するストローブ信号(ピーク検出フィルタ107からの最大出力パルス)までの時間を測定するタイマをさらに収容している。この最大値より短いすべてのフィルタの出力は、この場合も同様にKoemanへの米国特許第387287号で教示された方法によって、X線エネルギーのより優れた推定を達成するため、さらに様々な重みと組み合わされることがある。
【0057】
ベースライン勾配測定論理118は、X線の到着に起因するシグモイド状ステップが存在しない場合にプリアンプ101の電圧信号の漏れ電流に起因する正の勾配を測定する。台形FIRフィルタがフィルタの積分時間およびギャップの幅に依存する直線的な勾配に対し一定の応答を有することは技術的に周知である。この勾配応答は、X線のエネルギーの正確な測定を実現するためフィルタの出力から減算されなければならない。シグモイド状ステップの近くで勾配を推定する好ましい方法の詳細は、2007年8月3日に出願され、名称が“DIGITAL PULSE PROCESSOR SLOPE CORRECTION”である米国仮出願第60/963312号に記載され、参照によってこの文献の開示が本明細書中に組み込まれる。
【0058】
パルス検証論理117は、パイルアップがピーク検出フィルタ107からの単一出力パルスの範囲内で出現したかどうかを判定するため、高速パイルアップ論理104、低速パイルアップ論理106、および、ピーク検出フィルタ107からの信号を組み合わせる。1つの最大出力パルスだけがピーク検出フィルタ107によって発生されるので、フィルタラッチ論理119によって検出されないこのようなパイルアップが出現した場合、抑止パルス(inhibit pulse)が発生され、フィルタラッチ論理119の出力が勾配訂正およびキャリブレーション論理120に到達するときに同時に到着するように適切に遅延される。
【0059】
以下のテストは、パルス検証論理117で実行される。直接パイルアップ検出されたパルスが高速パイルアップ論理105または低速パイルアップ論理106のいずれかから受信され、ピーク検出フィルタ107からの「スレッショルド超過(above threshold)」論理信号がアクティブ状態である場合、パイルアップは断定され、抑止信号(inhibit signal)が発生される。2つ以上のエッジ検出パルスが高速パイルアップ論理105または低速パイルアップ論理106の何れかから受信され、「スレッショルド超過」論理信号がアクティブ状態である場合、パイルアップは同様に断定され、抑止信号が発生される。
【0060】
「スレッショルド超過」信号がアクティブ状態ではないときに高速パイルアップ論理105または低速パイルアップ論理106から発生されるエッジ検出信号およびパイルアップ検出信号は、間違ったトリガとして無視される。これは、ピーク検出フィルタ107内でエネルギースレッショルド未満に平均除去される短いノイズスパイクに起因する間違ったトリガを計数することを防止し、そして、2つのパイルアップ論理ブロックがそうでなければ必要となる検出スレッショルドより低い検出スレッショルドを有することを阻止する。
【0061】
ピーク検出フィルタ107からのパルス幅およびパルス対称性は、X線の一方または両方が非常に低エネルギーであるため、高速パイルアップ論理105または低速パイルアップ論理106をトリガできない場合、パイルアップを検出するため、Mottへの米国特許第5349193に開示されているように同様にテストされる。
【0062】
高速パイルアップ論理104および低速パイルアップ論理106で検出されたエッジがピーク検出フィルタ107のスレッショルドを超過した時間内で中心に置かれるかどうかをチェックする付加的な対称的なテストが実行される。本明細書中の他の場所に記載されているソフトウェア利用実施では、このテストは、高速パイルアップ論理104および低速パイルアップ論理106によって通知されたエッジ位置の時間的な絶対差と、単一のX線のためスレッショルドを超過する時間内で中心に置かれることが予想されるピーク検出フィルタ107の最大応答とを得ることによって行われる。しかし、図1に示されたFPGA論理実施では、時間スタンプの絶対差の代わりに、図5bに示されるように、タイマを使用する方がより便利である。これらのタイマは、イベント・ラグ・タイマと称される。1つのイベント・ログ・タイマは、「スレッショルド超過」信号の始まりで開始される。エッジ信号が高速パイルアップ論理104または低速パイルアップ論理106のいずれかから受信されるとき、タイマは、ピーク検出フィルタ107の既知の立ち上がり時間およびギャップ時間から計算された限界値と、単一イベントのための検出器の最長予想立ち上がり時間の半分と、ノイズおよび時間量子化誤差に起因する変動のための小さい余裕との合計に対してチェックされる。タイマがこの限界を超える場合、低エネルギーX線を用いるパイルアップが出現する、と予想される。
【0063】
第2のイベント・ラグ・タイマは、いずれかのエッジが高速パイルアップ論理104または低速パイルアップ論理106から受信されたときに開始され、「スレッショルド超過」信号が低下したときに同じ限界に対しチェックされる。2つのタイマは、図5bでは、「イベント・ラグ(Event Lag)1」および「イベント・ラグ2」という名前が付けられている。このタイマの対は、エッジ信号をピーク検出フィルタ107のスレッショルドを超過する時間の中心にある範囲に制約することが当業者に明かであろう。これは、ピーク検出フィルタ107の最大応答が通常はスレッショルドを超過する時間の中心付近にあることを仮定して、ソフトウェア・タイムスタンプ法と機能的に等価である。
【0064】
何れかのフィルタリングメカニズムによるエッジ検出は、ある一定の値を上回るすべてのX線が検出され、同時にこの値を下回るすべてのX線は検出されない鋭いカットオフをもたない。その代わりに、エッジ付近のランダムノイズ変動に起因して、検出効率は、P.J.Statham、Microchim. Acta 155、289-294(2006)に記載されているように、あるエネルギーを上回る100%からある下方のエネルギーを下回る零まで滑らかに低下する。この文献の図2は、検出効率曲線の形状を示すが、この図は、SI(Li)検出器を参照し、制約およびエネルギー範囲はSDDの場合とは全く異なる。低速パイルアップ論理106が50%の確率でX線を検出するエネルギーで2つのX線のパイルアップを仮定する。大抵は、X線の一方だけが検出される。
【0065】
図5aは、ピーク検出フィルタ107からエネルギーの異なる2つの低エネルギーX線への理想的な台形応答を示し、3番目の線は検出スレッショルドエネルギーを示す。現実の用途において指定されるエネルギーは、フィルタ幅と使用されている特有のSDD/プリアンプとに依存して異なることがあるが、与えられる値は、電流生成SDDに対して適当である。
【0066】
上方の破線480eVは、このエネルギーを上回るエネルギーで低速パイルアップ論理106がほぼ100%有効であるエネルギーを表現する。中間の破線280eVは、炭素X線エネルギーの付近である。下方の破線160eVは、検出スレッショルドのための典型的な設定値であり、元素ホウ素(183eV)を検出するために十分に低い。
【0067】
「G+R+N」と呼ばれる中心時間は、ピーク検出フィルタ107のギャップ時間Gと、検出器から予想される最長立ち上がり時間Rと、ノイズおよび時間量子化誤差の安全係数Nとゆとりである。この余裕は、フィルタ出力に平坦な領域を生成する。出力の立ち上がりセグメントおよび立ち下がりセグメントは、ピーク検出フィルタ107の先行積分時間および後続積分時間である。
【0068】
この場合に「高エネルギー」は、20ないし30キロeV(keV)、検出スレッショルドの100倍より大きいエネルギーまで意味することがある。480eVのX線および280eVのX線のそれぞれに示されたパルス幅BおよびCは、検出スレッショルドが1keVを下回るX線エネルギーのますます重要なスレッショルドになるので、図示されているように短い。
【0069】
図5Bは、400eVエネルギーの2つのX線からのピーク検出フィルタ107の出力の理想的な表現を示す。400eVは、低速パイルアップ論理106を確実にトリガするためには非常に低く、検出効率50%がこのエネルギーで仮定される。十字形で外形が描かれた台形は、400eVに中心が置かれた単一のX線への応答を示す。点線の台形および一点鎖線の台形は、それぞれ左にX1回および右にX2回シフトされた2つのこのようなX線を示す。全応答は、常に点線と一点鎖線との合計である上方の実線である。丸数字は、出力応答の勾配が変化する回数を示す。パイルアップされたX線は、エネルギーが等しいと仮定されるので、出力形状は、円3と円4との間の狭い平坦な領域のどこかで出力の最大立ち下がりに関して対称性がある。小さいランダムノイズ変動に起因して、実際の最大値は、この領域内のどこかにあるので、米国特許第5349193号に記載されているような対称性チェックは、パイルアップを検出しないことがある。
【0070】
ピーク検出フィルタ107内のパルスは、全体的なパルス幅チェックに同様に合格することがある。図5Aに示されるように、単一の低エネルギーX線のためのパルス幅は、高エネルギーで最大幅より縮小され、そして、低エネルギーのパイルアップされたイベントがこの縮小分未満で分離される場合、パルス幅テストは、図5Bに示されるように役に立たない(範囲p−pはA未満である)。しかし、図5Bに示されるように、前述のタイマのうちの一方は、所与のX線のスレッショルドを超過する平均パルス立ち上がり時間に加算された完全なバルス分離時間を有する。よって、これらのタイマのテストは、X線の一方だけがパイルアップ論理ブロックの少なくとも1つをトリガする場合、パイルアップを検出する確率を増加させる。
【0071】
固定したイベント・ラグ限界は、ピーク検出フィルタ107の積分時間と前述の「G+R+N」との和未満にはなり得ないか、または、単一の高エネルギーX線は、パイルアップとして間違って除去されることがある。限界が低くなるほど、検出できる時間分離が低くなるので、できる限り速い立ち上がり時間Rおよびできる限り低いノイズNをもつSDDを選ぶことが有利である。
【0072】
パイルアップ検出におけるさらなる改良は、前述され、そして、図5Aに示されたように、ピーク検出フィルタ107のパルス幅が低エネルギーに対しより狭いので、タイマがテストされる限界が一定ではなく、エネルギーと共に変化する場合に行うことができる。このより狭いパルス幅は、X線エネルギーが既知である場合、既知の検出スレッショルドエネルギーと、ピーク検出フィルタ107のFIR積分時間とから予測可能である。残念ながら、ピーク検出フィルタ107のパルス時間の範囲内のパイルアップは仮定されるので、ピーク検出フィルタの最大出力は、パイルアップされたX線のエネルギーの合計までの何れかの値に比例することがある。
【0073】
しかし、パイルアップ系列内のすべてのX線のエネルギーの上限は、高速パイルアップ論理105がトリガされない場合に、X線の中でX線の検出効率が100%付近であることを実現することによって設定可能である。同様に、低速パイルアップ論理106がトリガされない場合に、X線の中で、X線の検出効率が100%付近であるX線のエネルギーの上限を超えることができるものは存在しない。
【0074】
実際には、このことは、イベント・ラグ・タイマのため2つの異なる限界を設定し、全パルス幅に対し3つ、すなわち、少なくとも1つの高速パイルアップ105のエッジ検出をトリガするイベントのための前述の固定した限界に等しい最長と、高速パイルアップ105のエッジ検出をトリガしないが、少なくとも1つの低速パイルアップ論理106のエッジ検出をトリガするイベントのための中間スレッショルドと、エッジがパイルアップ論理ブロックによって検出されないときに限るパルス幅テストのための最短とを設定することを意味する。高エネルギーのケースからの限界の削減は、ピーク検出フィルタ107の検出スレッショルドエネルギーと、適切なパイルアップ論理ブロックの100%検出効率エネルギーとの検出の比率から計算される。単一のX線に対しピーク検出フィルタ107のFIR応答の立ち上がり部分および立ち下がり部分のためのスレッショルドを上回る予想時間は、同じ比率によって短縮される。図5Aでは、スレッショルド160eVは、低速パイルアップ論理106が480eVを上回るときほぼすべてのX線を検出することが予想される480eVエネルギー限界の1/3であるので、出力の立ち上がり部分/立ち下がり部分のスレッショルドを上回る時間は、1/3に短縮される。最低検出可能エネルギー付近のエネルギーをもつ予想パルス幅におけるこの比較的大きい変化は、従来技術において実行できるより近いパイルアップの検出を可能にする。
【0075】
低速パイルアップ論理106からのエッジが存在しない場合、スレッショルドを上回るパルス幅は、図5Aに与えられた間隔Bより大きくなるべきでなく、炭素X線からのパルスの予想幅は間隔Cである。したがって、(B−C)より大きく分離された2つの炭素X線は、パイルアップとして検出可能である。従来技術では、パイルアップは、炭素X線が少なくとも(A−C)によって分離されない限り検出されない。同じ理由は、一方のX線が低速パイルアップ論理106をトリガし、高速パイルアップ論理105をトリガしない場合に適用できるが、高速パイルアップ105の完全な効率のエネルギー限界がより高いので、パルス幅Bはやや広いであろう。同様に、イベント・ラグ・タイマ限界は、中心G+R+N帯域の右エッジから高速パイルアップ論理105の完全な効率のエネルギー限界のため適切である間隔Bの左エッジまでの間隔に設定できる。酸素X線を含む炭素X線のためのパイルアップ検出は、このように、従来技術より改良される。
【0076】
図1に戻ると、勾配訂正およびキャリブレーション論理120は、すべてが適切に時間アライメントされたベースライン勾配測定論理118からの電流勾配推定値と、すべてのエネルギー測定FIRフィルタ108、109、110の出力と、おそらくパルス検証論理117からの抑止信号とを受信する。好ましい実施形態では、これらのイベントは、ADCサンプリングレートより遙かに低いピーク検出フィルタ107のパルスレートで出現するので、これらの機能は、Texas Instruments社TMS320C6414のようなデジタル信号処理チップにおいてソフトウェアで実施される。
【0077】
抑止信号がない場合、この論理は、技術的に周知の方法で、ADC 102からの信号中のベースライン勾配に起因する誤差を減算し、ステップエッジを生じたX線のためのキャリブレーションされたエネルギー推定値を生成するため、1つ以上のFIRフィルタ108、109、110の未加工出力に重み付けする。
【0078】
これらの測定されたエネルギーは、同様に技術的に周知の方法で、マルチチャンネル・アナライザ(MCA)121のメモリに格納される。MCA 121内に累積されたスペクトルは、解析のためホストPC 122へ送られる。
【0079】
本明細書中に詳述されているのは、図1において「シングルステップ(Single Step)」および「ラン(Runs)」と称される高速パイルアップ論理105の一部および低速パイルアップ論理106の一部である。「シングルステップ」がこのように称されるのは、検出器・照合・平均化器103およびフィルタ平均化器104において前述されているようにおそらく平均化されたADC 102からのサンプル間の逐次的な差で作動するからである。「ラン」がこのように称されるのは、検出器・照合・平均化器103およびフィルタ平均化器104において前述されているようにおそらく平均化されたADC 102からのサンプルの正に向かうランおよび負に向かうランを追跡するからである。図3A〜3Dは、本明細書の他の場所に記載されているように、シングルステップ方法およびラン方法のFPGA実施形態のため仕様としての役目を果たした一実施形態による高速パイルアップ論理105および低速パイルアップ論理106の「シングルステップ」部分および「ラン」部分の両方を具現化する機能のプログラム・ソース・コードのリストを提供する。図4Aおよび4Bは、シングルステップ方法およびラン方法のためのFPGA実施形態を設計するため使用されたプログラム論理から抽出された状態図である。図6A、6Bおよび6Cは、立ち上がりおよび局所極値のいくつかの可能なパターンの略図と、本発明が、一実施形態において、これらのパターンを取り扱う方法とを図示する。4個の逐次的な局所極値は、図6A〜6Cを通じて、それぞれA、B、CおよびDと称される。局所最小値Bから局所最大値Cまでの中間の立ち上がりランは、本明細書中に記載されたPythonコードでは変数「bigtrig」であるトリガレベルと比較される。好ましい実施形態で利用された重大な強化は、Dにおいて立ち上がりに後続する局所最小値とAにおいて立ち上がりに先行する局所最大値との間の付加的なチェックである。図7Aおよび7Bは、好ましい実施形態と同じADCを使用してSDDから、前述されているように捕捉された実データにおける2つのパルスのプロット図を示す。パルスの一方は、2つのX線のパイルアップであり、一方は類似した立ち上がり時間をもつ単一イベントである。これらの図は詳細に後述される。
【0080】
以下の検討を通じて、「ADCサンプル」について言及する。これは、検討中の論理に与えられる逐次的なデータサンプルを意味し、データサンプルの1つずつは、検出器・照合・平均化器103およびフィルタ平均化器104の設定に応じて、ADC 102からのある程度の数の元のサンプルの合計または平均でもよいことが理解されるべきである。
【0081】
ノイズを平均化するか、または、ベースライン勾配を測定するFIFOの長さと、平均化データと非平均化データとに対するスレッショルド値の比率などを設定するある種の定数が図3A〜3Dのコード(本明細書中の他の場所に記載されているようにPythonコード)と図4の状態図との中に現れる。FPGA実施形態(図)では、これらの定数はプログラマブルレジスタ値である。当業者は、本発明の本質的な性質から逸脱することなく、特有の検出器または検出器の型を適合させるため使用される特定の値が変化してもよいことがわかるであろう。
【0082】
一般に、ソフトウェアは、3つの論理ブロック、すなわち、高速パイルアップ論理105、低速パイルアップ論理106、および、Pythonコード中では「カーボンフィルタ」と称されるピーク検出フィルタ107によって報告されたエッジ位置から時間差を取得することにより動作する。FPGA実施の場合、高速パイルアップ論理105または低速パイルアップ論理106によって報告されたエッジがピーク検出フィルタ107からのパルスの内側に収まったかどうかを判定するためにタイムスタンプの最大値信号と関連付けられたタイムスタンプに算術を実行するより、ピーク検出フィルタ107のスレッショルド超過論理出力を使用する方が便利であるが、当業者は、これらの方法が機能的に等価であることがわかるであろう。
【0083】
Python言語構文は行番号(line numbers)を含まない。しかし、図3A〜3Dにおける実行可能な(コメントではない)行は、以下の説明をコードリストと一致させる便宜のため、行末に番号コメントが付加されている。行番号は、301から始まり、417で終わる。
【0084】
コードの1つのバージョンは、2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERGIES AT HIGH COUNT RATES”である米国仮出願第60/963320号において提供された。図3A〜3Dのコードでは、仮出願におけるコードと比較して、いくつかのコメント行が落とされるか、または、変更されている。同様に、デバッグ用出力のいくつかの行、もはや使用されないコード、または、実行されない「デッドコード(dead code)」は、ソースリストを短縮し、明瞭さを改良するため、仮出願に含まれているコードバージョンから除去されている。図3A〜3Dにおいて提供された発明の機能に重要である実行可能コードは、仮出願において提供された実行可能コードと等価である。
【0085】
「変曲点(inflection points)」について言及するコメントは、正確な数学的用法に準拠するため「局所極大値/局所最小値(local maxima/minima)」または「局所極値(local extrema)」について言及するように変更された。実際の動作は実行可能コードから明瞭である。本明細書および図3A〜3Dのコードにおいて使用されるような用語は、逐次的なADCサンプルの値が増加を停止し、減少を開始するサンプル、または、減少を停止し,増加を開始するサンプルを指す。
【0086】
なお、高速パイルアップ論理105のための図3A〜3dおよび4に示された論理ブロック全体は、フィルタ平均化器104に起因してより低い実効ADCサンプルレートで、低速パイルアップ論理106のため複製される。
【0087】
図3Aでは、行301は、1つの特有の実施形態による発明を実施する関数を定義する。引数「trace」は、前述されるように元のデータレートから低下させられていることがあるADC 102からの入力データである。引数「tracestart」は使用されない。引数「calib」は、5895eVのMn K−アルファX線における複数のADC最下位ビット(LSB)の数であるエネルギー・キャリブレーション因子である。引数「Debug」は、様々な診断出力をオンにするフラグである。引数「Cedges」は、ソフトウェアの全体を通じて「カーボンフィルタ」と称されるピーク検出フィルタ107によって検出されたX線のエッジ(タイムスタンプ)を保持する配列、したがって、配列名である。
【0088】
行302は、大域的パラメータを格納し、スレッショルド乗数「tfactor」だけが使用される。行302は、後述される臨界トリガ値trigおよびbigtrigのための外部固定値(FPGA実施形態(図1)のレジスタにロードされる)の設定を可能にする。
【0089】
行304〜328は、いくつかの変数および配列を初期化する。これらの変数および配列の意味は、これらが使用されるコードの行が説明されるときに必要に応じて説明される。特に、配列「fastpileups」は、本発明の1つの実施形態で検出されたパイルアップのためのエッジ位置を収容する。配列「fastpileups」にエントリを書き込むことは、図4において「パイルアップ(PILEUP)」状態に入ることと等価であり、FPGA実施形態(図1)における高速パイルアップ論理105から信号Pを発生する。配列「edges」は、FPGA実施形態(図1)における高速パイルアップ論理105からの信号Eに等価であるエッジ(イベント)位置を格納する。本明細書中に記載された別の実施形態では、パイルアップ信号は直接的に発生されるのではない。その代わり、この別の実施形態は、隣接エッジから分離することができる各エッジに対し信号Eを発生する。前述の通り、2つ以上のこのような信号Eがピーク検出フィルタ107からの「スレッショルド超過」パルス中にパルス検証論理117によって受信される場合、パイルアップが認識される。
【0090】
ハードウェアフラグ「Hflag」がセットされているかどうかに依存して行333または336で設定される変数「trig」は、単一のADCサンプル差によってエッジを検出するトリガ値である。行333において、trigは、大域的パラメータとして設定されたスレッショルド乗数「tfactor」を乗じた最後の16個の負へ向かう単一のADCサンプル差との平均に設定される。FPGA実施形態では、trigは、行336のようにレジスタ値として直接的に設定される。変数「bigtrig」(行334、または、FPGA実施形態(図1)におけるtrigとは独立したレジスタ値として行337)は、変数「posrun」に保持されたADCサンプル間の正の差の連続的なランの全積分のトリガ値である。この名前が示唆するように、「bigtrig」は、通常は、trigより大きい。
【0091】
行328は、すべての残りのサンプルを処理する主ループを始める。行308〜309における初期化時に1によって分離された2つの並列インデックス変数iおよびjは、ADCサンプルのうちの現在のペアを選択する。このループは、これらの配列変数をインクリメントする行415および416で終わる。
【0092】
行331において設定され、図4の殆どの状態遷移において参照される状態変数diffは、(いずれかの先行する平均化によって定義された時間メモリでの)2つの逐次的なADCサンプルの間の単一のサンプル差であり、プリアンプ信号(すなわち、FPGA実施形態(図1)におけるプリアンプ101によって出力された信号)の瞬時勾配の利用可能な最良のデジタル推定値である。「diff」の先行する値は、勾配の2次微分(変化率)をチェックするため、行330で変数「lastdiff」に保持され、勾配の2次微分(変化率)は、信号がX線から生じるシグモイド状パターンの前半を通じて立ち上がるとき、正(diff>lastdiff)であり(図4Aにおける「上昇(GOING UP)」状態407)、次に、X線から生じるシグモイド状パターンの後半に対して安定または下降である(図4Aにおける「下降(GOING DOWN)」状態407)と予想される。「i」によってインデックス付けされたこの対のうちの後方のADCサンプルの最新値は、行329で変数「lastval」に格納される。この値は、パルスを検証し、定義によれば、局所最大値または最小値である勾配が符号を変える点を追跡するため使用される。
【0093】
図3A〜3Dのループは、図4の「待機(IDLE)」状態402で始まる。行338〜359および386〜389は、本明細書中に記載された実施形態の状態遷移を管理し、連続増加ランまたは連続減少ランの間を切り替え、後述されるようにエッジの最終判定を行う。
【0094】
システムが図4Aの状態図のどの位置で作動しているかとは無関係に、信号は、図4Bにおける「正(POS)」状態408と「負(NEG)」状態409との間で交番しなければならない(変化しない値を「正」状態408に一括する)ことと、これらの2つの状態の間の遷移は、「正」状態408が「負」状態409へ遷移する局所最大値と、その逆の局所最小値とで出現すべきであることとが直ちにわかるであろう。これらの遷移点において、ある種の状態変数は、特に、現在の局所最大値「neginf」および直前の局所最大値「lastneginf」におけるADCサンプルの値は、後の使用のため維持されるべきである。
【0095】
「正クリア(CLR POS)」状態410に対応する行338〜340は、負のランの開始時に正のランの高さをクリアする。図3A〜3Dに示されたコードのバージョンでは、「正クリア」状態410状態は、「正」状態408のあらゆる反復中に通過する。このことは、不要であるが、害にならない。重要な点は、処理が局所最小値にあるかと新しい正のランの開始であるかどうかを判定するために「posrun」が零であるかどうかをテストし、したがって、「xraydone」がセットされている場合に「有効エッジ(VALID EDGE)」状態412に入るべきであるかどうかをテストする「負」状態409から「正」状態408への遷移である。なお、Python構文では、数値変数に関して、零の値のテストは偽であり、あらゆる非零値のテストは真である。
【0096】
行341〜343は、「負クリア(CLR NEG)」状態411のための対応する機能を実行し、負のランの高さ「negrun」をクリアする。変数「negrun」のクリア条件は、局所最大値を特定する「負」状態409から「正」状態408への遷移を通知するため使用される。先行の2つの局所最大値のADCサンプル値は、変数「neginf」および「lastneginf」に保存される。
【0097】
行344は、処理が「正」状態408にあるか、または、「負」状態409にあるかを判定する状態テストである。好ましい実施形態では、比較限界は零より僅かに低い。この目的は、立ち上がりランを僅かに優先してテストにバイアスを加えることである。ある程度のランダムノイズが各ADCサンプルに存在し、いくつかのサンプル間の差を低エネルギーX線に起因して立ち上がり中に負にすることがある。変数「trig」は、前述されている通り、ランダムノイズに起因して予想されるべきサンプル間の差の上限を表す。したがって、負に向かう差は、立ち上がりを終わらせる前に、変数「trig」のほんの一部分より大きくなることが必要とされ、厳密に単調増加が必要とされる場合に可能であるエネルギーより低いエネルギーのX線が検出されることを可能にする。さらに、立ち上がりを終わらせる負の差に最小限の大きさを必要とすることにより、パイルアップを間違って識別する危険性は、平均立ち上がり時間より遅い有効エッジが負に向かうランダムノイズ変動によって途中で中断される場合に、最小限に抑えられる。「bigtrig」によって表されるエネルギー検出スレッショルドは、有効X線がパイルアップとしてこのように間違って除去される回数が有意になることを防止するため十分に大きくすることが必要である。経験的に、行334および344において使用されるように、bigtrigとtrigとの比率5対4と、状態切り替えスレッショルド(−trig/8)とは、有意な間違った除去を伴うことなく、低検出スレッショルドを実現するために、組み合わせて巧く機能することがわかったが、他の値が本発明の精神から逸脱することなく使用されてもよい。
【0098】
行345は、「負」状態409から「正」状態408への遷移をテストする。この遷移時に、フラグ「xraydone」が、「下降(GOING DOWN)」状態407から、または、「上昇(GOING UP)」状態404において直接的にセットされた場合(図4A)、「有効パルス」状態406と同一である「有効エッジ(VALID EDGE)」状態412になる。行346は、最大「diff」値が確実なロケータではない弱いエッジの最終タイムスタンプを推定するため終了時刻を用いて平均化された現在のインデックス(タイムスタンプ)を保存する。フラグ「xraydone」がセットされている場合、行348はこのフラグをクリアする。行349は、「diff」の負の値が前述されているようにノイズトリガ「trig」の動的計算のためノイズ推定値に平均化されない期間である10サンプル抑止時間を設定する。これは、ノイズ推定値におけるエッジからの何れかのオーバーシュートの負に向かう復元期間の計数を回避する。
【0099】
行350は、簡単なラン高さテストによると間違ったトリガをもたらすことになる多数のパターンを削除することにより、本実施形態が従来技術の方法を凌ぐことを可能にさせるテストを実行する。図6A〜6Cは、(局所最小値Bから局所最大値Cまで)テストされる立ち上がりがおおよそ同じである3つの波形の略図を示す。簡単にするため、波形の立ち上がり部分および立ち下がり部分は、直線セグメントとして描かれているが、前述の通り、立ち上がりセグメントは、小さい負のブリップを収容することがあり、立ち上がりセグメントおよび立ち下がりセグメントの両方は、一般に、ノイズ変動のため直線的ではない。
【0100】
行350で、変数「lastval」は、点DにおけるADCサンプル、すなわち、現在の局所最小値を含む。変数「lastneginif」は、点AにおけるADCサンプル、すなわち、テスト中の立ち上がりに先行する局所最小値を収容する。立ち上がり自体は、スレッショルド「bigtrig」を超えることが既に判定されている。「lastval」(すべての図6の略図における点D)から「lastneginf」(すべての図6軌跡における点A)までの差が次にチェックされる。この差が、ノイズトリガレベル「trig」の半分より大きい場合、エッジは有効として容認される。倍率1/2は、計算の便宜上選ばれ、発明の範囲から逸脱することなく変化してもよい。しかし、ノイズ帯域は、ノイズトリガレベルの有意な部分によってシフトされているといういくつかの証拠を有することが望ましい。D−Aに合理的に大きい最小値を有することは、同様に、上下するセグメントのジグザグ系列として現れる非常に弱いエッジ、または、遅いエッジが、別個のエッジとして間違って検出され、それによって、パイルアップとして間違って除去されることを防止する。このチェックは、C−Bのための検出スレッショルド「bigtrig」が単一ステップのトリガ「trig」よりほんの僅かに大きくなることを許可するチェックである。
【0101】
図6Aは、C−Bエッジが異常に大きい負に向かうノイズエクスカーションからの復元である事例を示す。エッジ前後のノイズ帯域の平均は同じである。D−A差は実際には負であるため、この立ち上がりは除去される。
【0102】
図6Cは、同様に前後で平均ノイズ帯域が変化しない正に向かうスパイクを示す。同様に、D−Aテストは不合格であり、エッジは無視される。
【0103】
図6Bは、成功したエッジ検出を図示する。テスト中のエッジの後のノイズ帯域は、エッジの前でノイズのピーク・ツー・ピーク範囲から著しくシフトし、D−A差は、単一ステップのノイズトリガレベル「trig」のちょうど半分を超えるので、エッジ検出は有効であるとして容認される。
【0104】
テスト中のエッジより先行および後続するより多くの局所最小値および最大値が、ピーク・ツー・ピークノイズ帯域がテスト中のエッジで実際にシフトしたことを検証するために同様の形式で使用できることは、当業者に明瞭であろう。本発明の方法がいずれの固定した期間にも依存せず、よって、SDDの事例と同じように立ち上がり時間が広範に変化するエッジに動的に応答することは、同様に明瞭であろう。
【0105】
行351は、エッジのタイムスタンプを格納する(図1における高速パイルアップ論理105または低速パイルアップ論理106からE信号を発生する)。行352は、正のランの蓄積した高さを維持する。行353は、図4Bにおいて「負クリア」状態411に入るためにフラグ「clearneg」をセットする。この行は、「if not posrun」論理ブロックの内部に存在し、1回の遷移につき1回だけ実行できる。
【0106】
行354は、負のランを処理する論理の始まりである。負のランの高さは行358によって維持されるが、現在使用されていない。D−A差チェックは、有効エッジを検出するために適切であることがわかった。
【0107】
行355〜357は、局所最大値の出現を検出し、現在(点C)および以前(点A)の最大値を維持する。行359は、強制的に「正クリア」状態410へ入るためフラグ「clearpos」をセットするが、「if not negrun」論理ブロックの内側でこの機能を実行することは等価である。
【0108】
図4Aに表された状態は、行360〜417によって取り扱われる。なお、Pythonプログラミング言語における「elif」構造は、状態を相互に排他的にするので、条件が満たされている行360で始まる「if...elif...elif」テスト連鎖の最初が実行される。よって、状態は、図4における状態の時間順の進行と比べると、図3A〜3Dのコード内では逆の順番に提示される。
【0109】
行360〜369は、システムが図4の「下降(GOING DOWN)」状態407にあるときの処理を示す。これは、主ループへ戻る前に最後の能動的な状態である。この状態は、2つの可能な終了経路、すなわち、連続的な立ち上がり中のパイルアップの直接的な検出(「パイルアップ(PILEUP)」状態405)、または、「有効パルス?(VALID PULSE?)」状態406における後のパルス妥当性チェックへの進行を有している。
【0110】
「下降」状態407では、行361は、現在のサンプル間の差がノイズトリガレベル「trig」より下に低下したかどうかをテストする。この差が低下した場合、プリアンプ信号の変化率は、このとき、ノイズ帯域の範囲内に入るので、「下降」状態407は、行362〜363で終了し、フラグ「xraydone」がセットされ、図4Bにおける「有効エッジ?(VALID EDGE?)」状態412でもある図4Aにおける「有効パルス?」状態406に入る結果を生じる。
【0111】
行364は、直接的なパイルアップが検出されたかどうかを判定する重要なチェックを行う。図3A〜3Dに提供された実施形態では、重要な特徴は、現在の差「diff」がノイズトリガレベル「trig」より大きい差で以前の差「lastdiff」を上回るべきことである。テストが「trig」に関して条件付けられていない場合、後述の通り、パイルアップとして間違って識別された有効X線を取得する可能性がある。SDD立ち上がり時間は、3つの逐次的な差が立ち上がりの中心の近くにあり、類似した勾配をもつ比較的低速の立ち上がり時間を考慮すると、広範に変化する可能性があることに注意を要する。ノイズは小さいランダム変位を各サンプル値に付加するので、中程度の差は、直前の差および直後の差に対して僅かに低下する可能性があり、逐次的な差がノイズレベルを超過することを必要とされない場合、間違ったパイルアップ信号を引き起こす。
【0112】
図7Aおよび7Bは、SDDからの実際の波形の2つのプロット図を示す。水平軸目盛は単位当たり10ナノ秒(100MHz ADCのサンプリング時間)であり、数字は、実時間で2.62ミリ秒の256000個のサンプルのファイル内のインデックス(タイムスタンプ)である。垂直目盛は、ADC単位のため「adu」と呼ばれるADCの最下位ビットである。両方のプロット図の場合、垂直目盛は1区分当たり100aduである。
【0113】
図7Aは、SDD内のドリフト経路が平均より長い単一のX線からの滑らかであるが、しかし、比較的緩やかな立ち上がりを示す。囲み区域は、7個のサンプル、すなわち、70ナノ秒を覆う。さらに、約30aduのピーク・ツー・ピークノイズエクスカーションが囲み区域の直前にあることに注意を要する。時点74440のデータ点において類似した30aduの上向き変位を仮定する場合、これは、サンプル74441とサンプル74440との間に、サンプル74440と74439との間、または、サンプル74442と74441との間の何れかの差より小さい差を作ることがあり、完全にノイズのため、パイルアップのパターンに一致する。
【0114】
図7Bは、全立ち上がり時間および振幅が図7Aの有効パルスに非常に類似しているにもかかわらず、パイルアップとして巧く検出されたパルスを示し、個々のX線の立ち上がり時間がかなり短くなければならないことを意味する。中央の囲み領域内の勾配は、左下の囲み領域内の勾配より著しく小さく、図4において処理を「上昇」状態404から「下降」状態407へ進ませる。次に、73adu/サンプルから142adu/サンプルまでの右上の囲み領域内の勾配の増加、すなわち、69aduは、図7Aにおいて認められる30aduのサンプル間ノイズ変動の2倍より大きいので、ノイズに起因する可能性は非常に低い。従来技術の方法は、これらの2つのパルスのうちの一方をパイルアップとして、そして、もう一方を有効として識別できないであろう。特に、図7Bにおける2つのパイルアップX線の中心(最大勾配の点)は、図7Aの全立ち上がり時間より短い50ナノ秒の差で分離されていることに注意すべきである。
【0115】
図3Cの行364ないし369は、パイルアップのタイムスタンプの記憶、または、高速パイルアップ論理105もしくは低速パイルアップ論理106からのP信号の発生と、状態変数の「上昇」状態404への復帰とのハウスキーピングを取り扱う。
【0116】
図3Cの行370〜381は、「上昇」状態404の処理を取り扱う。変数「maxdiff」は、現在の立ち上がりシグモイド状プリアンプエッジの間に出現した現在の最大単一サンプル差(瞬時勾配)を保持する。行371〜373は、この最大値を維持し、この最大値を指示するエッジと関連付けられたタイムスタンプを保持する。
【0117】
「上昇」状態404からの2つの可能な終了経路が存在し、そのうちの一方(後述されたうちの後者)だけが本発明に関連している。行374〜376は、現在の勾配(単一のサンプル差)がノイズトリガレベルの半分未満に低下した場合、「有効パルス?」状態406へ抜け出る。シングルステップ・パイルアップ・チェックは実行されない。前述されている通り、「負」状態409から「正」状態408への次の遷移を意味するフラグ「xraydone」がセットされる。図6A〜6Cと関連して説明されたD−A妥当性チェックが実行される。
【0118】
行377〜379は、本発明(および第2の終了経路)を実施するテスト対のもう一方の部分である。テストのこの部分は、状態が「上昇」状態404から「下降」状態407へ変化するときを判定する。このテストでは、立ち上がり中に出現した最大値からのシングルステップ勾配中の下落は、ノイズトリガ「trig」より大きくなければならない。なお、行374は、少なくとも「trig」の1.5倍の最大差を取得しない限り、この終了経路に到達することができず、そうでなければ、第1の終了経路(前述された通り)が行われることを意味する。「下降」状態407に到達するため、したがって、本発明によるパイルアップ検出の可能性を有効にするための唯一の方式は、最初に条件を満たすことである。正確な倍率1.5は重要ではないが、計算上都合がよい。要点は、前述の通り、比較的高エネルギーのX線だけが、間違った肯定の危険なしに、これらのテストのための適当な候補である、ということである。低エネルギーX線は、同じパターンを提示することがあるが、本当のパイルアップではない。図7Aおよび7Bの波形が捕捉される試料はNi−Al合金である。図7Aに示されたX線は、おそらく、7500eV付近のニッケル K−アルファであり、図7Bの2つのX線は、おそらく、Ni K−アルファ、および、1500eV付近のアルミニウム K−アルファである。
【0119】
行378および379は、「上昇」状態404から「下降」状態407までの状態の変化を取り扱う。行380〜381は、いずれの終了経路条件も満たされないが、現在の差が新しい最大値ではない場合に、何も行わない。
【0120】
行382は、「待機」状態402から「上昇」状態404へのエントリをトリガするテストである。2つの条件が満たされる必要がある。第一に、現在の差は、ノイズトリガレベル「trig」を上回る必要がある。第2のテストは、対のうちの高い方のADCサンプルが以前の局所最大値を超過することを確実にする。このことは不可欠ではないが、負に向かうノイズスパイクからの復元時の間違ったトリガを削除することにより性能を改良する。
【0121】
行383〜385は、「上昇」状態404を初期化し、最大差を現在の差に設定する。このことは、「maxdiff」がこの最初の使用後に決してノイズトリガレベル「trig」より小さくならないことを意味することに特に注意を要する。
【0122】
行386〜389は、「弱い上昇(GOING UP WEAK)」状態403をトリガする。これは、(本明細書中の他の場所に記載されているように)正のランの累積高さが、シングルステップ差がノイズトリガ「trig」より大きいことを必要とすることなく、「bigtrig」を超える場合、「上昇」状態404へのエントリを引き起こす。本発明のための重要な行は、「maxdiff」をリセットしてノイズトリガ「trig」に等しくする行389である。これは、「上昇」状態404が「下降」状態407に入ることを防止し、よって、おそらく、「trig」に等しい「maxdiff」を用いて行371におけるテストを満たすことにより、シングルステップ差が「trig」を超えることが示されない限り、本発明によるパイルアップ検出を可能にする。このように、本明細書中に記載された連続ランの実施形態と、シングルステップでトリガされる実施形態とは、互いに干渉することが防止される。
【0123】
行390〜400は、プリアンプ101におけるリセットの発生を検出する。これは、負の単一サンプル差がトリガレベル「trig」の10倍を超えるように、出力を急速に低下させる。行391〜393は、リセット中と、その後の指定された期間に処理を抑止する。行394〜400は、状態変数を再初期化する。
【0124】
行404〜414は、Mottへの米国特許第5393982号において教示された方法に類似したノイズを動的に推定する手段として、リセットまたは検出されたエッジに近接した指定された期間を除外して、ADCデータ内の負の単一サンプル差16エントリの移動合計を維持する。具体的に、負および正のエクスカーションは、リセットおよびX線からのエッジがない場合に、統計的に等しくなるべきであるが、正のエクスカーションの平均は、検出されていない非常に低エネルギーのX線によって上方へバイアスされることがある。
【0125】
行415および416は、プリアンプ101からの捕捉された波形内のすべてのサンプルの中を並列に進む。FPGA実施形態では、処理ループは、リアルタイムで連続的に動作し、電源投入時に限り初期化されるので、ファイルセグメントの先頭および最後で境界条件を取り扱う必要がない。
【0126】
図8は、P.Lechnerら、“Silicon drift detectors for high resolution room temperature X-ray spectroscopy”、Nucl.Instr.andMeth.1996;A 377、pp.346-351によって記載されているようにセンサ上でリソグラフィ内に組み込まれた以下の特性、すなわち、(i)約10平方ミリメートルの能動的な領域、および、(ii)プリアンプ101の第1の電解効果トランジスタ(FFT)段をもつSDDのための典型的なパルス対分解時間およびエネルギー検出スレッショルドを用いて、全体的なシステムの予想されるパイルアップ性能を要約する。列挙された特定の数字は普遍的ではないが、異なる検出器の型および構造とともに変化する。しかし、これらの数字は、検出器の小さいサンプル上で測定された実際の性能を合理的に表している。
【0127】
上方の波形軌跡は、プリアンプ101からの波形セグメントの理想的な表現であり、いくつかのパイルアップ状況を図示する。右端は、非常に低エネルギーのX線ステップの拡大図である。矢印は様々なステップの位置を示している。非常に大きいステップは、図7Bに示されているように、本発明の方法だけによって検出することができる単一X線からのステップの立ち上がり時間範囲内の接近したパイルアップである。
【0128】
波形軌跡の下には、順番にこれらのパルス対分解時間およびエネルギースレッショルドの予想範囲と共に、様々なパイルアップおよびエッジ検出論理ブロックからの予想検出信号がある。ピーク検出フィルタ107は、高速パイルアップ論理105によって間違って報告されているが、ピーク検出フィルタ107の出力がスレッショルドを超過しないため除去された時点Sにおけるスパイクを除いて、すべてのエッジを検出する。非常に低エネルギーのX線のための最良分解時間は、最小検出可能エネルギー200eVに対し約350〜400ナノ秒でもよい。低い方の検出スレッショルドが、たとえば、185eVのホウ素、または、さらに、109eVのベリリウムのため必要とされる場合、積分時間はより長くされる必要があり、分解時間は実質的に増加することになる。しかし、ピーク検出フィルタは、すべての他の論理ブロックによって見逃される非常に低エネルギーのX線を右端で検出する。
【0129】
高速パイルアップ論理105は、検出器の立ち上がり時間に依存して最良分解時間50ないし100ナノ秒を有している。本明細書中に記載されたシングルステップ方法は、約2.5keVエネルギーより上で有効であり、一方、本明細書中に記載された連続ラン方法は、600〜900eV程度に達することができる。高速パイルアップ論理は、時点Lにおいて低エネルギーX線を見逃す。
【0130】
高速パイルアップ論理105と同一であるが、フィルタ平均化器104において平均化されたデータに低い方の実効レートで作用する低速パイルアップ106は、Lの適度に低いエネルギーのX線を巧く検出するが、おおよそ約2倍の長さの最良分解時間80〜200ナノ秒を有している。低速パイルアップのシングルステップ方法は、ちょうど2keVまで低下したX線を検出することができ、そして、低速パイルアップの連続ラン方法は、優れた効率で500eVの酸素X線を検出することができる。
【0131】
全体的に、これらの結果は、検討中のエネルギー対に依存して、従来技術の方法を使用して既存のシステムによって示された分解時間よりおよそ2倍ないし5倍の程度で優れている。
【0132】
発明の好ましい実施形態が前述の通り説明され、図示されているが、これらの好ましい実施形態は、発明の例示であり、限定として見なされるべきでないことが理解されるべきである。付加、削除、置換、および、他の変形は、本発明の精神または範囲から逸脱することなくなされることができる。したがって、発明は、以上の説明によって限定されるものとして見なされるべきでなく、特許請求の範囲だけによって限定される。
【技術分野】
【0001】
本発明は、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムに関し、特に、エネルギー分散型放射線分光分析システムにおけるパイルアップ除去を改良する方法に関する。
【背景技術】
【0002】
限定するものでないが、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムは、たとえば、走査型電子顕微鏡(SEM)からX線放射またはガンマ線放射のような放射線放射を検出、測定、および分析するため使用される。典型的なエネルギー分散型放射線分光分析システムは、以下の4つの主要な構成要素:(1)検出器、(2)プリアンプ、(3)パルスプロセッサ、および(4)コンピュータ利用アナライザを含む。便宜のためだけに、限定の目的のためでなく、以下の説明では、X線分光分析システムと、(たとえば、ガンマ線分光分析システムにおいて検出されるガンマ線の形をした光子と比べて)X線の形をした光子とに関して行なう。
【0003】
通常、何らかの半導体センサの形をとる検出器は、約数十ないし数百ナノ秒の期間に、入射するX線を非常に小さい電流パルス、典型的には、およそ数万個の程度の電子に変換する。電流パルスの1つずつの大きさは、X線のエネルギーに比例する。
【0004】
プリアンプは、検出器によって出力された電流パルスを増幅し、典型的に電流パルスを数十分の1ミリボルトから数百ミリボルトまでの範囲内の電圧信号に変換する。2つの主なプリアンプの型、すなわち、「テイル・パルス」またはRC結合プリアンプと、パルス・リセット・プリアンプとが存在する。本明細書中の他の場所に記載された主題は、両方の型のプリアンプに適用できる。
【0005】
パルス・リセット型のプリアンプでは、センサ内に生成された電荷は、結果として生じる電圧が上限に達するまで可変高さおよび間隔のステップで増加するように、フィードバックコンデンサ内で積分される。上限に達したとき、フィードバックコンデンサから蓄積電荷を排出させる「リセット」パルスが印加され、短期間、典型的に数マイクロ秒のうちにプリアンプをプリアンプの最小出力電圧付近に復元させる。次に、X線と検出器との相互作用による電荷が再びフィードバックコンデンサに蓄積し、サイクルが反復する。これに反して、テイル・パルス・プリアンプは、検出器によって出力された電圧ステップ信号に高域通過フィルタとして機能し、プリアンプのフィードバックコンデンサにおける電荷積分時間より長い時定数でベースラインへ指数関数的に復帰する。
【0006】
パルスプロセッサは、プリアンプ信号を受信し、積分過程を通じてX線のエネルギーの数値表現を生成する。従来のエネルギー分散型放射線分光分析システムでは、パルスプロセッサは、2つの別個の構成要素、すなわち、「整形アンプ(shaping amplifier)」と、アナログ・デジタル変換器とを含んでいる。現代のエネルギー分散型放射線分光分析システムは、これに反して、典型的にこれらの機能を組み合わせ、プリアンプ信号をそのままデジタル化し、デジタル信号処理を使用してすべてのパルス検出機能とフィルタリング機能とを実行する最新の設計を伴う。
【0007】
コンピュータ利用アナライザは、パルスプロセッサによって出力されたX線エネルギーをX線のエネルギーに対する検出されたX線のスペクトル、または検出されたX線の個数のプロット図に蓄積する。このスペクトルを、「チャンネル」または「ビン」と称される若干の任意の数の小さい範囲に分割する。旧来のシステムでは、マルチ・チャンネル・アナライザ(MCA)と称されるハードウェア構成要素がスペクトルチャンネルへのX線の蓄積を行い、コンピュータが合計された結果を読み出す。現代のシステムでは、MCA機能は、コンピュータによって、または、パルスプロセッサ内のいずれかで、ソフトウェアで操作される。
【0008】
パルスプロセッサの仕事は、数個の要因によってより複雑化される。たとえば、電子ノイズがプリアンプから受信された基礎信号に重ね合わされる。最低検出可能エネルギーレベル付近にあるX線に対し、プリアンプ出力ステップ高さは、電子ノイズのピーク・ツー・ピーク・エクスカーションより著しく小さい。このような場合、X線は、ノイズの寄与を平均除去するため、ステップの前後で比較的長期間に亘って信号をフィルタリングすることだけによって検出できる。このようなノイズ平均化の量は、すべてのパルスプロセッサの基本的な動作パラメータである。この平均化時間は、技術的に「整形時間(shaping time)」または「ピーキング時間(peaking time)」と様々に称される。
【0009】
第二に、プリアンプ出力のステップは瞬時的ではない。ノイズが無い場合、信号はシグモイド状(S字型)曲線である。この原因は、帯域幅制限、機器容量、およびセンサのアノードに到達するためX線によって発生されるすべての電子のための所要時間である。これらの電子は、半導体センサ内部のバイアス電圧フィールドの影響下でセンサ材料の中をアノードへ向かって移動する小さいクラスタまたは雲として可視化することができる。テイル・パルス・プリアンプを用いると、信号の初期立ち上がりは、同じシグモイド状の形であり、設計によって変化するが、初期立ち上がりに比べて常に長い時定数をもつ指数関数的減衰が後に続く。
【0010】
各面に簡単な平面状電極を有する、リチウム・ドリフト・シリコン、または、Si(Li)検出器と称される従来型の検出器では、バイアスフィールド線は直線であり(第1の近似では、エッジ効果を無視する)、前後に広がる。その結果として、電子雲コレクション時間は、およそ一定であり、プリアンプ信号の「立ち上がり時間(rise time)」(シグモイド状ステップの幅)は、機器の比較的大きい容量に起因する帯域幅制限によって支配される。
【0011】
シリコン・ドリフト検出器(SDD)として知られている新しい型のセンサが近年は開発されている。このシリコン・ドリフト検出器の顕著な新しい特徴は、バイアス電極にエッチングされた同心円パターンであり、この同心円パターンは、僅かに変化する電圧がパターン内の個別のリングに印加されるとき、電子が非常に小さいスポットアノードへ注ぎ込まれるようにセンサ材料内部のバイアスフィールドが整形されることを可能にする。この特徴は、実効機器容量を約4桁だけ低減する効果がある。X線相互作用からの電子雲は、ドリフト時間の経過と共に、電子がアノードに到達するために移動する経路長に依存してより大きい程度またはより小さい程度で膨張する。機器容量の低減に起因して、雲統合時間は、Si(Li)検出器の場合の数パーセントと比較して、SDDでは約2倍の割合で変化する可能性があるプリアンプ信号の立ち上がり時間にさらに多く寄与する(しかし、SDDのための立ち上がり時間の範囲の終わりがより長い場合でも、総容量が低減されているので、従来型の平面状電極センサ(Si(Li)検出器)より依然として高速であることがある)。
【0012】
技術的に「パルス・パイルアップ(pulse pile-up)」として知られている現象は、非常に互いに接近して到着するためにそれぞれのエネルギーを独立に測定することができない連続的なX線の結果として出現する。検出されない場合、2つのエネルギーに対し、システムのパルス整形フィルタの細部とX線間の時間間隔とに依存して、対のうちの高エネルギー側のX線のエネルギーと2つのX線エネルギーの合計との間のどこかに位置している1つのエネルギーだけが測定される。このように、パルスプロセッサは、パイルアップの出現を効率的に検出できることが必要であり、パイルアップは、検出されたとき、このパイルアップと関連付けられたエネルギー測定が廃棄されることをもたらす(パイルアップ除去(pile up rejection)と称される)。
【0013】
放射線は、自然発生するか、または、何らかの形式の励起によって誘発されるかにかかわらず、ランダム過程である。平均放射率の高低とは無関係に、ある種の非零確率を用いて、2つの放射されたX線間の時間間隔は、任意に短くされてもよい。任意の時間間隔tの範囲内で2番目のX線を取得する確率は、
P=(1−e−(rt))
であり、式中、eは自然対数の底であり、rは平均X線到着率である。
【0014】
依然として2つのX線を別個の事象として識別することができ、技術的に「パルス対分解時間(pulse-pair resolving time)」として知られている2つのX線間の最小時間間隔は、エネルギーの強い逆関数である。換言すると、小さい(低エネルギー)パルス間のほぼ同時性を検出することは、大きいパルス間のほぼ同時性を検出するより一層困難である。パルスプロセッサのすべてのピーク検出フィルタは、高エネルギーX線に強く反応するので、検出するのが最も困難である場合は、低エネルギーX線のすぐ後に続く場合である。
【0015】
パイルアップ検出の従来型の方法は、一般的に、固定しているが、主エネルギー測定処理経路(「主チャンネル(main channel)」と称される)より非常に短い整形時間をもつ1つ以上の並列フィルタとして記述できる。主チャンネルは、「高速チャンネル(fast channels)」または「パイルアップ除去チャンネル(pile-up rejection channels)」と様々に称される。各チャンネル(主および高速)は、チャンネルが正確かつ明確に単一のX線のエネルギーを測定するために要する時間量である不感時間と称されるパラメータを有している。高速チャンネル不感時間Dfは、主チャンネルの不感時間Dよりかなり短いので、高速チャンネルは、時間的に一緒に接近して到着するX線のため区別できるパルスを発生させる可能性がかなり高い。高速チャンネルで使用されるフィルタ(アナログまたはデジタル)は、一般に、エネルギー測定(主チャンネル)のため使用されるフィルタと同じ型であり、パルス幅がかなり短いだけである。
【0016】
しかし、高速チャンネル整形時間は非常に短いので、電子ノイズを平均除去することにはあまり効果的ではない。パルス処理チャンネルの整形時間は、このパルス処理チャンネル内で検出することができる最低エネルギーX線を決定する。整形時間の検出スレッショルドがより低く設定される場合、処理チャンネルは、プリアンプ出力信号内のランダムノイズ変動が原因となって過剰な間違ったトリガを生じることになる。最新技術のX線分光分析システムは、典型的に、約100〜200電子ボルト(eV)をもつX線を主測定チャンネル内のノイズから区別することができるが、高速チャンネルのスレッショルドエネルギーは、遙かに高くされることが必要である。高エネルギーX線のための最良パルス対分解時間を定義する最高速パイルアップ除去チャンネルは、典型的に、スレッショルド1000から2000eVを有する。ある種の既存のパルスプロセッサは、1000eV未満の範囲におけるパイルアップ除去性能を改良するためにちょうど3個のパイルアップ除去チャンネルを有している。2つ以上のパイルアップ除去チャンネルを備えるシステムでは、中間チャンネルは、525eVでの酸素、または、277eVでの炭素のような特有の放射線への感度を可能にするため選択された整形時間を有することになる。所望のエネルギースレッショルドにおける下方の各ステップを用いて、パルス対分解時間は、より長い整形時間の必要性のため劣化させられる。
【0017】
パルス対分解時間は、対のうちのエネルギーの低い方のX線によって支配される。これは、低エネルギー・パイルアップ検出不成功が低エネルギーピークだけでなく、スペクトル内のすべてのピークに影響を与えるので重要である。検出されない低エネルギーのX線とのパイルアップは、2つのピークエネルギーの合計値まで、何れかのピークを除外し、予想位置から延びる広範なシェルフを考慮にいれて、シフトし得る。エネルギーへのパイルアップ効果の依存性についての優れた説明は、P.J.Statham、Microchim.Acta 155、289-294(2006)で見出されることがある。
【0018】
さらに、SDDの場合に有効な単一のX線パルスの非常に変化し易い立ち上がり時間は、X線が電荷収集アノードからどの程度まで吸収されるかに依存するが、最も速い従来のパイルアップ・チャンネルでさえ単一の出力パルスを発生させるとき、時間的に非常に接近した同時性を検出する従来の方法の最大の課題を引き起こす。たとえば、Warburtonらの米国特許第5684850号に記載されているように、従来的な技術は、パルス幅テストである。デジタル三角形または台形フィルタは、比較的容易に構築でき、そして、計算的に効率が良いので、すべてのデジタルパルス処理システム向けに最もよく知られている。技術的に有限インパルス応答(FIR)フィルタとして知られているフィルタもあり、このフィルタの応答は、フィルタの非零重み係数の程度によって定義された有限の時間範囲の外側で零であることが保証されている。その一方、従来型のセミガウシアン・アナログ整形は、原理的に応答が無限に継続する指数関数的な時定数を導入するが、実際には、出力は、(僅かにエネルギー依存性ではあるが)合理的に予測可能な時間内にノイズスレッショルドより下に減衰する。
【0019】
FIRフィルタのパルス幅は、原則的にもエネルギー依存性ではないが、プリアンプ・ステップの立ち上がり時間に依存し、この立ち上がり時間は次にSDDにおける可変電荷収集時間に依存する。よって、単一のX線からの有効パルスの誤った除去を回避するため、固定パルス幅テストは、SDDにおける最長ドリフト経路から生じる最大立ち上がり時間を許容するため十分に長く設定することが必要である。
【0020】
したがって、立ち上がり時間が非常に変わりやすいSDDを利用するシステムの性能を改良するものとして、立ち上がり時間に依存しないパイルアップ検出方法を設けることが有利である。
【発明の概要】
【0021】
一実施形態では、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムのプリアンプの出力信号からパイルアップを検出する方法は、エネルギー分散型放射線分光分析システムのフィルタが、出力信号に応答して第1のパルスを発生させ、エネルギー分散型放射線分光分析システムが、完全な効率のエネルギーを有する1つ以上の高速チャンネルを有し、エネルギー分散型放射線分光分析システムによって受信され、少なくとも完全な効率のエネルギーを有する実質的にすべての光子が検出される方法である。この方法は、第1のパルスがフィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定する(measuring)ステップと、第1のパルスがフィルタの最小検出可能スレッショルドを超える間に1つ以上の高速チャンネルが何ら検出を行っていないことを判定する(determining)ステップと、この判定に応答して、スレッショルド超過期間が、エネルギー分散型放射線分光分析システムによって受信されている完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答してフィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定する(declaring)ステップと、を含む。1つの特定の実施形態では、1つ以上の高速チャンネルは、複数の高速チャンネルを含み、完全な効率のエネルギーは、最高スレッショルドエネルギーを有する高速チャンネルのスレッショルドエネルギーによって判定される。
【0022】
別の実施形態では、直前に説明された方法を実行するため適合したパルスプロセッサが設けられる。さらに別の実施形態では、入射光子を、電流パルスを含む出力に変換する検出器と、検出器の出力を、電圧信号を含むプリアンプ出力信号に変換するプリアンプと、プリアンプ出力信号に応答して第1のパルスを発生させるフィルタ、および、完全な効率のエネルギーを有する1つ以上の高速チャンネルを有するパルスプロセッサとを含み、少なくとも完全な効率を有し、エネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出される、X線分光分析システムまたはガンマ線分光分析システムのようなエネルギー分散型放射線分光分析システムが設けられる。パルスプロセッサは、第1のパルスがフィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定し、第1のパルスがフィルタの最小検出可能スレッショルドを超える間に、1つ以上の高速チャンネルが何ら検出を行っていないことを判定し、1つ以上の高速チャンネルが何ら検出を行っていないという判定に応答して、上記スレッショルド超過期間が、エネルギー分散型放射線分光分析システムによって受信されている完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答してフィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定するため適合している。
【0023】
したがって、発明は、すべての上記の態様および利点を実質的に達成することが明らかになるであろう。発明の付加的な態様および利点は、以下の説明において示され、部分的に説明から自明であるか、または、発明の実施によってわかるであろう。さらに、発明の態様および利点は、特許請求の範囲で特に指摘された手段および組み合わせを用いて実現され、達成されることがある。
【0024】
添付図面は、現時点で好ましい発明の実施形態を示し、前述の一般的な説明および後述の詳細な説明と併せて、発明の原理を説明するために役立つ。図面を通じて示されているように、同様の符号は同様の部品または対応する部品を指定する。
【図面の簡単な説明】
【0025】
【図1】本発明が実施される1つの特定の非限定的な実施形態によるX線分光システムの全体的なブロック図である。
【0026】
【図2】一般的な台形FIRデジタルフィルタのブロック図である。
【0027】
【図3A】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3B】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3C】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【図3D】1つの特定の非限定的な実施形態による発明を実施するため使用されることがあるソースコードを含む図である。
【0028】
【図4A】発明のFPGA実施形態を設計するため使用されることがある図3A〜3Dのプログラム論理から抽出された状態図である。
【図4B】発明のFPGA実施形態を設計するため使用されることがある図3A〜3Dのプログラム論理から抽出された状態図である。
【0029】
【図5A】図1に示されたピーク検出フィルタからエネルギーが異なる2つの低エネルギーX線への理想的な台形応答を示す図であり、3番目の直線が検出スレッショルドエネルギーを表している。
【0030】
【図5B】400eVエネルギーで2つのX線からの図1に示されたピーク検出フィルタの出力の理想的な表現を示す図である。
【0031】
【図6A】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【図6B】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【図6C】本発明の一実施形態を使用してエッジを検出するため処理されることがある立ち上がりおよび局所極値の可能なパターンを示す図である。
【0032】
【図7A】SDDからの実際の波形のプロット図である。
【図7B】SDDからの実際の波形のプロット図である。
【0033】
【図8】特定のSDDのための典型的なパルス対分解時間およびエネルギー検出スレッショルドと共に、図1のシステムの予想パイルアップ性能を要約する概略図である。
【発明を実施するための形態】
【0034】
<望ましい実施例の説明>
背景技術の欄で指摘されているように、本明細書に記載された主題は、テイル・パルス・プリアンプおよびパルス・リセット・プリアンプの両方に適用される。しかし、例図および説明を簡単にするため、発明は、パルス・リセット型プリアンプを利用する実施形態と関連して説明される。背景技術の欄に記載されているように、検出器電圧ステップ信号の立ち上がり部分は、比較的変更されることなくテイル・パルス・プリアンプの中を通される。その結果、本明細書中で説明されている発明はテイル・パルス・プリアンプ実施形態に容易に適用されてもよいことがパルス・リセット実施形態の説明からわかる。さらに、本明細書中で説明されている手段は、エネルギー分散型放射線分光分析システム全般に適用される。しかし、例図および説明を簡単にするため、発明は、X線分光分析システムを利用する実施形態と関連して説明される。これは限定的であるとみなされるべきでないが、発明は、限定されることなく、ガンマ線分光分析システムのような他の型のエネルギー分散型放射線分光分析システムと関連して適用されてもよいことが理解されるべきである。
【0035】
本明細書中に記載された改良は、立ち上がり時間に依存しないが、一実施形態では、検出器内の電荷収集の予想シグモイドパターンだけに依存し、別の実施形態では、ランダムノイズが信号の方向(局所的な1次微分の符号、すなわち、立ち上がりまたは立ち下がり)を判定する短い期間が後に続く単調に(ノイズ依存限界の範囲内で)立ち上がる信号を有することに依存する。よって、本明細書中に記載されている改良は、短い立ち上がり時間でX線ステップにより高速に応答可能であり、適切には、パルスを誤って除去することなく、より緩やかにパルスに応答可能である。一実施形態では、有効な単一のX線からの電圧信号が(ノイズの限界内で)ある種の最大値まで単調増加し、その後に単調減少する1次微分を有するべきであると仮定される。本明細書中により詳細に記載されるように、一実施形態による開示された方法は、プリアンプ出力を直接的にデジタル化し、デジタル化ADCサンプルの間の逐次的な差は、1次微分の瞬時値の利用可能な最良推定を与える。別の実施形態では、有効な単一のX線からの電圧信号が局所的なピーク・ツー・ピークノイズ帯域より上に立ち上がり、次に,最終的に立ち上がりが停止することを仮定し、そして、立ち上がりより先行する局所な最大値とその後に続く局所な最小値とによって測定されるように、ノイズ帯域が立ち上がりの前後で著しくシフトすべきであることを仮定する。本実施形態におけるシステムは、プリアンプ出力を直接的にデジタル化し、局所極値はデジタル化された信号内で測定される。
【0036】
デジタル化ADCの変換速度は、立ち上がり時間の予想範囲に適切に一致させるべきである。この変換速度は、最短予想立ち上がり時間で、波形が立ち上がり中に数回に亘ってサンプリングされるように十分高速にされるべきである。発明が完全に有効であるための立ち上がり時間内の最小サンプル数は、好ましくは、4または5である。好ましい実施形態では、ADCのサンプリングレートは、最短予想立ち上がり時間約50ナノ秒の場合に100MHzであるので、5サンプルが最小立ち上がり時間内に発生し、およそ10サンプルが最長立ち上がり時間内に発生する。
【0037】
サンプリングレートが非常に高く、たとえば、40または50サンプルが立ち上がり時間の範囲内に収まる場合、波形は、単一のサンプリング間隔内で、立ち上がりステップがランダムノイズ変動から容易に識別できるため十分に移動しない。本明細書中の他の場所に記載されているように、この状況は、最も速い立ち上がり中に最適な4ないし8サンプルを達成するため、サンプリングレートを低下させ、発明を具現化する回路に与えられた値毎に何個かのADCサンプルを合計することにより容易に対処される。
【0038】
本発明の実施形態の主な目的は、基礎となる信号の滑らかなシグモイド性を利用し、立ち上がり時間の変動と、センサ/プリアンプ結合のノイズ特性とに自動的に適応する適応ステップ検出方法を使用することにより、半導体放射線センサの出力信号に発生させられた電圧ステップの平均パルス対分解時間を短縮することである。結果は、エネルギースペクトル内の検出されないパルス・パイルアップの低い方のレベル、したがって、スペクトル内の何れか2つの大きい放射ピークのエネルギーの2倍または合計エネルギーで現れる「サム・ピーク(sum peaks)」として技術的に知られている誤ったアーティファクトの相対的なサイズの縮小である。
【0039】
本明細書中に記載されている方法は、デジタルベースであり、そして、プリアンプ信号がアナログ・デジタル変換器(ADC)によってデジタル化されることを必要とする。最適変換レートは、前述されているようにプリアンプから予想される最速立ち上がり時間に依存する。
【0040】
以下の説明は、X線が検出されるとき、正に向かうプリアンプ出力を仮定するが、信号の極性が信号列の全体を通じて反転させることが可能であり、この方法が同様に有効であることは、当業者によって認められるであろう。シリコンベースのセンサと低いX線エネルギー範囲内の放射線とがさらに仮定されるが、説明された発明が、ゲルマニウムのような他の半導体から作られたセンサ、および、より高エネルギーのX線またはガンマ線に適用できることもまた当業者によって認められるであろう。
【0041】
図1は、本発明が実施されることがある1つの特定の実施形態によるX線分光システム1の全体的なブロック図である。図1においてわかるように、X線分光システム1は、主構成要素として、破線境界によって示され、本発明が本明細書中に記載されているように実施されるデジタル・パルス・プロセッサ(DPP)2を含む。さらに、X線分光システム1は、シリコン・ドリフト検出器(SDD)100と、パルス・リセット型プリアンプ101とをさらに含む。
【0042】
動作中に、X線は、SDD 100に当たり、電子−正孔対に変換され、電子の個数はX線のエネルギーに比例している。これらの電子のすべてにより構成される小電荷は、プリアンプ101内のコンデンサに蓄積され、変化する振幅および間隔がノイズに重ね合わされた小さいシグモイド状ステップが現れる図示された形式の出力電圧信号に変換される。電圧信号は、フィードバックコンデンサから電荷を排出し、急速に出力を下限へ押し進める周期的なリセットを有するSDD 100内の漏れ電流に起因して全体的な正の勾配を有し、図1に示された鋸歯状の波形を生じる。この一般的なアプローチは、長年に亘って技術的に知られている。
【0043】
プリアンプ101の出力は、DPP 2の一部として設けられた高速アナログ・デジタル変換器(ADC)102によってデジタル化される。好ましい実施形態では、ADC 102は、AD9446シリーズのようなAnalog Devices社製の100MHz、16ビット部品である。本発明は、走査型電子顕微鏡(SEM)に搭載されたSDDからプリアンプ波形の数千個の短い(2.62ミリ秒)セグメントを獲得し、合計すると数秒のリアルタイム・データがディスクファイルに格納されることになるように、このデバイスのためAnalog Devices社から供給され、DC結合入力信号を受け入れるように変更され、オンボード・メモリおよびPCへの標準USBインターフェイスを備えるインターフェイス・ボード(モデルHSC-ADC-EVALB-DC)に接続された開発ボード(モデルAD9446-100LVDS/PCB)を使用して開発された。後述されるその後のデジタル機能は、最初に、Pythonと呼ばれるスクリプト言語で記述された後処理ソフトウェアにおいて具現化された。このソフトウェアのソースコードは、2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERGIES AT HIGH COUNT RATES”である米国仮出願第60/963320号に含まれている。ここから選択された機能が本明細書中に再現されている。Pythonプログラムは、したがって、フィールド・プログラマブル・ゲート・アレイ(FPGA)論理と、Texas Instruments社320C-6414デジタル信号処理(DSP)チップのため記述されたソフトウェアとの組み合わせを使用するリアルタイム実施形態の仕様として役に立った。図1に示された好ましい実施形態は、名前が付けられ、以下でより詳細に説明された論理ブロック103ないし119をFPGA論理の中に設置し、同様に名前が付けられ、以下でより詳細に説明された論理ブロック120および121をDSPチップソフトウェアの中に設置する。
【0044】
ADC 102の出力は、プリアンプ電圧波形からのデジタルサンプルと、図1中のすべての後に続くブロックのタイミングを定めるクロックとから構成される。図1を簡略化するため、クロックは別個に示されていないが、すべての機能ブロックは、後述されるように、ADC 102のクロックによって、または、このクロックの何らかの約数によって同期させられることが理解されるべきである。
【0045】
ADC 102の出力およびこのADCのクロックは、場合によっては、ADCサンプルの個数を合計し、元のADCクロックを同じ個数によって分割する検出器・照合・平均化器103を通過する。検出器・照合・平均化器103の目的は、DPP 2に接続されたSDD 100の立ち上がり時間に関して実効サンプリング間隔を最適化することである。合計の中にすべてのビットを保持することは、すべての短いフィルタリング時間で最終的なX線スペクトルの量子化誤差を回避するために好ましく、したがって、処理がDPP 2の中を通過し続けるときにデータ経路がより広くなる。
【0046】
SDD 100から予想される平均立ち上がり時間は約150ナノ秒未満である場合、検出器・照合・平均化器103は無効にされ、完全な100MHzレートが可能な最良タイミング精度を実現するため使用される。しかし、平面状電極を有する、いわゆるリチウム・ドリフト・シリコンまたはSi(Li)検出器のような非常に低速の検出器がDPP 2に接続され、そして、平均立ち上がり時間が数百ナノ秒である場合、平均立ち上がり中に約16サンプル未満のサンプルを生成するレートまで実効サンプリングレートを低下させることが望ましい。
【0047】
検出器・照合・平均化器103からの(できる限り合計された)データおよびクロックは、2つの並列経路の中を通される。一方の経路は、2つのサブセクションを有する高速パイルアップ論理104につながる。第1のサブセクションは、一実施形態の対象であり、本明細書中でより詳述されるシングルステップ論理と称される。もう一方のサブセクションは、逐次データサンプルの単調ランの長さおよびパターンに基づくデジタル方法を含む別の実施形態の対象であり、本明細書中でより詳述されるラン論理と称される。ここで使用される「単調(Monotonic)」は、数学的な意味で厳密に単調を意味するのではない。この方法で使用される比較器は、負のサンプル間の差がピーク・ツー・ピークノイズ変動より小さい場合、この差を許容する正のランを検出するために僅かに負にオフセットされている。シングルステップ論理が適度に高エネルギーX線のため単一の連続的な立ち上がりの範囲内でパイルアップを検出する能力をもつ場合、ラン論理は、ノイズの制約の範囲内でできる限り素早く低エネルギーX線に起因する連続的な立ち上がりの終了を検出するように設計される。
【0048】
第2の経路はフィルタ平均化器105につながる。フィルタ平均化器105は、ノイズ(サンプル間のランダム変動)を低減し、そして、後続のデジタル処理ステップにおいて必要とされる速度をさらに低減するため、少数の、好ましくは、4個の逐次ADCサンプルを合計する。4個が合計されたデータと、4で分割されたクロックは、低速パイルアップ論理106へ送られる。低速パイルアップ論理106は、高速パイルアップ論理104と機能的に同一であるが、ノイズがより少なく、データがより低速である。フィルタ平均化器105からのより低速のサンプルレートで動作するとき、本発明は、劣らない分解時間をもたないが、ノイズに基づく間違ったトリガが過剰になる前により低いエネルギー検出スレッショルドに達する。
【0049】
フィルタ平均化器105からの出力は、ピーク検出フィルタ107(主チャンネル)と、複数の台形FIRデジタルフィルタ108、109、110(高速チャンネル)とへさらに並列に送られる。これらのフィルタのすべては、少なくとも15年に亘って技術的に一般に使用されているように、従来通りの台形型である。一般的な台形FIRデジタルフィルタのブロック図は図2に示される。図2においてわかるように、ADCサンプルは、立ち上がりFIFO 201、ギャップFIFO 202、および立ち下がりFIFO 203と称される3つの可変長FIFOを通過する。立ち上がりFIFO 201は、FIRフィルタの初期積分時間である。ステップエッジと畳み込まれたとき、立ち上がりFIFOは、エッジがFIFOの中を通過するとき、最終的なFIR合計の中で直線的な立ち上がりを与える(ノイズ変動を無視する)。ギャップFIFO 202は、そうでなければ、ステップエッジに対する三角形状応答になる応答に「平坦な上部(flat top)」を提供する零重み付けの期間である。検出器への立ち上がり時間が可変である場合、純粋な三角形パルス形状(ギャップなし)は、高さが同じであるが、異なる立ち上がり時間を有するノイズを含まないステップエッジに対し異なる最大出力を有することになるので、平坦な上部が望ましい。ギャップが最長予想立ち上がり時間を覆うために十分に長い場合、最大出力合計は同じである(ノイズと入力信号中の何らかの背景勾配を無視する)。立ち下がりFIFO 203は、立ち上がりFIFO 201と同じ期間に亘って逆極性を用いてサンプルを積分するので、Nが2つのFIFOの長さであるとして、立ち上がりFIFO 201で全体的な合計にN回加算されたサンプルは、FIFO 203において合計からN回に亘って最終的に差し引かれる。
【0050】
三角形(または台形)フィルタ形状は、フィルタ形状を計算するために必要とされる簡単な回路のためによく知られている。4回の計算だけが任意の全長をもつFIRフィルタの1回のFIFOクロックサイクル毎に必要とされる。立ち上がりFIFO 201に入るサンプルおよび立ち上がりFIFOから出るサンプルは、それぞれ、移動合計に加算され、および、移動合計から減算される。立ち下がりFIFO 203に入るサンプルおよび立ち下がりFIFOから出るサンプルは、それぞれ、移動合計から減算され、および、移動合計に加算される。第1の差は算術論理ユニット(ALU)204で計算され、第2の差はALU 205で計算される。これらの2つのALUの出力は、累算器206内で前の全体的なFIR出力に加算される。
【0051】
FIR出力合計の最大値は、入力信号のシグモイド状立ち上がりがギャップFIFO 202の内部に完全に格納されている間に現れ、立ち上がりを引き起こすX線のエネルギーに比例する。
【0052】
ピーク検出器フィルタ107は、X線エネルギーの測定ではなく、非常に低エネルギーのX線であってもすべてのX線の検出に関係し、すべてのX線を時間的にできる限り正確に突き止める。立ち上がりFIFOおよび立ち下がりFIFOの幅は、できる限り短くされるが、収集されたスペクトル内で最低エネルギーX線輝線を依然として確実に検出する。電子顕微鏡に搭載されたX線アナライザの場合、X線輝線は、多くの場合に、277電子ボルト(eV)の炭素輝線である。したがって、ピーク検出フィルタ107は、前述の2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERIGIES AT HIGH COUNT RATES”である米国仮特許出願第60/963320号において、「カーボンフィルタ」と呼ばれることがよくある。最小ターゲット輝線は、より低エネルギー(ホウ素またはベリリウム)でもよく、または、低エネルギーでは非常に不十分であるX線蛍光(XRF)励起のための検出器の場合、より高エネルギーでもよい。XRF検出器は、通常は、約700eV未満の本質的にすべてのX線を阻止するベリリウム窓をセンサの前面に装備している。その場合、ピーク検出フィルタ107は、有意な個数のX線を失う虞なしに、より狭くすることができ、ピーク検出フィルタのパイルアップ検出のための性能を改良する。
【0053】
ピーク検出フィルタ107は、通常のFIR合計と、2つの他の信号、すなわち、最大応答の時点のパルスおよび応答がスレッショルドエネルギーを超えた時点を示す論理信号とを生成する。これらの信号の詳細な仕様は後述される。
【0054】
X線エネルギーレベルを測定するFIRフィルタ108、109、110と、ピーク検出フィルタ107と、低速パイルアップ論理106と、高速パイルアップ論理105とは、十分なエネルギーを有するノイズを含まない単一のX線パルスがすべてのエッジ(イベント)検出器をトリガする程度に、高速パイルアップ論理104および低速パイルアップ論理106からのエッジ(イベント)位置(時点)と、ピーク検出フィルタ107の最大値と、すべてのエネルギー測定FIRフィルタ108、109、110のためのギャップの中心に対応する出力データとが、パルス検証ロジック117、ベースライン勾配測定論理118、および、フィルタラッチ論理119に(フィルタ平均化器105のクロック分割によって課される量子化限界の範囲内で)同時に到着するように、すべてが適切な大きさのプログラマブル長アライメント遅延FIFO 111、112、113、114、115、116に接続されている。
【0055】
フィルタラッチ論理119は、ピーク検出フィルタ107のアライメントされた最大出力時間に対応するすべてのFIRフィルタの出力を捕捉する。フィルタラッチ回路は、従来的なアナログパルス処理のサンプル・ホールド回路と機能的に等価である。フィルタラッチ論理の出力は、ラッチをトリガしたエッジの後に続くパイルアップの検出のための時間を許容するため、エネルギー測定フィルタスタックにおける最長FIRフィルタのFIRパルス幅の半分(立ち下がり時間とギャップ時間の半分との合計)に対応する付加的な期間によって遅延される。
【0056】
フィルタラッチ論理119は、Koemanへの米国特許第3872287号およびMottへの米国特許第5392982号に開示された方法によるパイルアップなしで使用することができる(存在するならば)FIRスタック内の最長フィルタの選択を可能にするため、現在のストローブ信号から先行するストローブ信号および後続するストローブ信号(ピーク検出フィルタ107からの最大出力パルス)までの時間を測定するタイマをさらに収容している。この最大値より短いすべてのフィルタの出力は、この場合も同様にKoemanへの米国特許第387287号で教示された方法によって、X線エネルギーのより優れた推定を達成するため、さらに様々な重みと組み合わされることがある。
【0057】
ベースライン勾配測定論理118は、X線の到着に起因するシグモイド状ステップが存在しない場合にプリアンプ101の電圧信号の漏れ電流に起因する正の勾配を測定する。台形FIRフィルタがフィルタの積分時間およびギャップの幅に依存する直線的な勾配に対し一定の応答を有することは技術的に周知である。この勾配応答は、X線のエネルギーの正確な測定を実現するためフィルタの出力から減算されなければならない。シグモイド状ステップの近くで勾配を推定する好ましい方法の詳細は、2007年8月3日に出願され、名称が“DIGITAL PULSE PROCESSOR SLOPE CORRECTION”である米国仮出願第60/963312号に記載され、参照によってこの文献の開示が本明細書中に組み込まれる。
【0058】
パルス検証論理117は、パイルアップがピーク検出フィルタ107からの単一出力パルスの範囲内で出現したかどうかを判定するため、高速パイルアップ論理104、低速パイルアップ論理106、および、ピーク検出フィルタ107からの信号を組み合わせる。1つの最大出力パルスだけがピーク検出フィルタ107によって発生されるので、フィルタラッチ論理119によって検出されないこのようなパイルアップが出現した場合、抑止パルス(inhibit pulse)が発生され、フィルタラッチ論理119の出力が勾配訂正およびキャリブレーション論理120に到達するときに同時に到着するように適切に遅延される。
【0059】
以下のテストは、パルス検証論理117で実行される。直接パイルアップ検出されたパルスが高速パイルアップ論理105または低速パイルアップ論理106のいずれかから受信され、ピーク検出フィルタ107からの「スレッショルド超過(above threshold)」論理信号がアクティブ状態である場合、パイルアップは断定され、抑止信号(inhibit signal)が発生される。2つ以上のエッジ検出パルスが高速パイルアップ論理105または低速パイルアップ論理106の何れかから受信され、「スレッショルド超過」論理信号がアクティブ状態である場合、パイルアップは同様に断定され、抑止信号が発生される。
【0060】
「スレッショルド超過」信号がアクティブ状態ではないときに高速パイルアップ論理105または低速パイルアップ論理106から発生されるエッジ検出信号およびパイルアップ検出信号は、間違ったトリガとして無視される。これは、ピーク検出フィルタ107内でエネルギースレッショルド未満に平均除去される短いノイズスパイクに起因する間違ったトリガを計数することを防止し、そして、2つのパイルアップ論理ブロックがそうでなければ必要となる検出スレッショルドより低い検出スレッショルドを有することを阻止する。
【0061】
ピーク検出フィルタ107からのパルス幅およびパルス対称性は、X線の一方または両方が非常に低エネルギーであるため、高速パイルアップ論理105または低速パイルアップ論理106をトリガできない場合、パイルアップを検出するため、Mottへの米国特許第5349193に開示されているように同様にテストされる。
【0062】
高速パイルアップ論理104および低速パイルアップ論理106で検出されたエッジがピーク検出フィルタ107のスレッショルドを超過した時間内で中心に置かれるかどうかをチェックする付加的な対称的なテストが実行される。本明細書中の他の場所に記載されているソフトウェア利用実施では、このテストは、高速パイルアップ論理104および低速パイルアップ論理106によって通知されたエッジ位置の時間的な絶対差と、単一のX線のためスレッショルドを超過する時間内で中心に置かれることが予想されるピーク検出フィルタ107の最大応答とを得ることによって行われる。しかし、図1に示されたFPGA論理実施では、時間スタンプの絶対差の代わりに、図5bに示されるように、タイマを使用する方がより便利である。これらのタイマは、イベント・ラグ・タイマと称される。1つのイベント・ログ・タイマは、「スレッショルド超過」信号の始まりで開始される。エッジ信号が高速パイルアップ論理104または低速パイルアップ論理106のいずれかから受信されるとき、タイマは、ピーク検出フィルタ107の既知の立ち上がり時間およびギャップ時間から計算された限界値と、単一イベントのための検出器の最長予想立ち上がり時間の半分と、ノイズおよび時間量子化誤差に起因する変動のための小さい余裕との合計に対してチェックされる。タイマがこの限界を超える場合、低エネルギーX線を用いるパイルアップが出現する、と予想される。
【0063】
第2のイベント・ラグ・タイマは、いずれかのエッジが高速パイルアップ論理104または低速パイルアップ論理106から受信されたときに開始され、「スレッショルド超過」信号が低下したときに同じ限界に対しチェックされる。2つのタイマは、図5bでは、「イベント・ラグ(Event Lag)1」および「イベント・ラグ2」という名前が付けられている。このタイマの対は、エッジ信号をピーク検出フィルタ107のスレッショルドを超過する時間の中心にある範囲に制約することが当業者に明かであろう。これは、ピーク検出フィルタ107の最大応答が通常はスレッショルドを超過する時間の中心付近にあることを仮定して、ソフトウェア・タイムスタンプ法と機能的に等価である。
【0064】
何れかのフィルタリングメカニズムによるエッジ検出は、ある一定の値を上回るすべてのX線が検出され、同時にこの値を下回るすべてのX線は検出されない鋭いカットオフをもたない。その代わりに、エッジ付近のランダムノイズ変動に起因して、検出効率は、P.J.Statham、Microchim. Acta 155、289-294(2006)に記載されているように、あるエネルギーを上回る100%からある下方のエネルギーを下回る零まで滑らかに低下する。この文献の図2は、検出効率曲線の形状を示すが、この図は、SI(Li)検出器を参照し、制約およびエネルギー範囲はSDDの場合とは全く異なる。低速パイルアップ論理106が50%の確率でX線を検出するエネルギーで2つのX線のパイルアップを仮定する。大抵は、X線の一方だけが検出される。
【0065】
図5aは、ピーク検出フィルタ107からエネルギーの異なる2つの低エネルギーX線への理想的な台形応答を示し、3番目の線は検出スレッショルドエネルギーを示す。現実の用途において指定されるエネルギーは、フィルタ幅と使用されている特有のSDD/プリアンプとに依存して異なることがあるが、与えられる値は、電流生成SDDに対して適当である。
【0066】
上方の破線480eVは、このエネルギーを上回るエネルギーで低速パイルアップ論理106がほぼ100%有効であるエネルギーを表現する。中間の破線280eVは、炭素X線エネルギーの付近である。下方の破線160eVは、検出スレッショルドのための典型的な設定値であり、元素ホウ素(183eV)を検出するために十分に低い。
【0067】
「G+R+N」と呼ばれる中心時間は、ピーク検出フィルタ107のギャップ時間Gと、検出器から予想される最長立ち上がり時間Rと、ノイズおよび時間量子化誤差の安全係数Nとゆとりである。この余裕は、フィルタ出力に平坦な領域を生成する。出力の立ち上がりセグメントおよび立ち下がりセグメントは、ピーク検出フィルタ107の先行積分時間および後続積分時間である。
【0068】
この場合に「高エネルギー」は、20ないし30キロeV(keV)、検出スレッショルドの100倍より大きいエネルギーまで意味することがある。480eVのX線および280eVのX線のそれぞれに示されたパルス幅BおよびCは、検出スレッショルドが1keVを下回るX線エネルギーのますます重要なスレッショルドになるので、図示されているように短い。
【0069】
図5Bは、400eVエネルギーの2つのX線からのピーク検出フィルタ107の出力の理想的な表現を示す。400eVは、低速パイルアップ論理106を確実にトリガするためには非常に低く、検出効率50%がこのエネルギーで仮定される。十字形で外形が描かれた台形は、400eVに中心が置かれた単一のX線への応答を示す。点線の台形および一点鎖線の台形は、それぞれ左にX1回および右にX2回シフトされた2つのこのようなX線を示す。全応答は、常に点線と一点鎖線との合計である上方の実線である。丸数字は、出力応答の勾配が変化する回数を示す。パイルアップされたX線は、エネルギーが等しいと仮定されるので、出力形状は、円3と円4との間の狭い平坦な領域のどこかで出力の最大立ち下がりに関して対称性がある。小さいランダムノイズ変動に起因して、実際の最大値は、この領域内のどこかにあるので、米国特許第5349193号に記載されているような対称性チェックは、パイルアップを検出しないことがある。
【0070】
ピーク検出フィルタ107内のパルスは、全体的なパルス幅チェックに同様に合格することがある。図5Aに示されるように、単一の低エネルギーX線のためのパルス幅は、高エネルギーで最大幅より縮小され、そして、低エネルギーのパイルアップされたイベントがこの縮小分未満で分離される場合、パルス幅テストは、図5Bに示されるように役に立たない(範囲p−pはA未満である)。しかし、図5Bに示されるように、前述のタイマのうちの一方は、所与のX線のスレッショルドを超過する平均パルス立ち上がり時間に加算された完全なバルス分離時間を有する。よって、これらのタイマのテストは、X線の一方だけがパイルアップ論理ブロックの少なくとも1つをトリガする場合、パイルアップを検出する確率を増加させる。
【0071】
固定したイベント・ラグ限界は、ピーク検出フィルタ107の積分時間と前述の「G+R+N」との和未満にはなり得ないか、または、単一の高エネルギーX線は、パイルアップとして間違って除去されることがある。限界が低くなるほど、検出できる時間分離が低くなるので、できる限り速い立ち上がり時間Rおよびできる限り低いノイズNをもつSDDを選ぶことが有利である。
【0072】
パイルアップ検出におけるさらなる改良は、前述され、そして、図5Aに示されたように、ピーク検出フィルタ107のパルス幅が低エネルギーに対しより狭いので、タイマがテストされる限界が一定ではなく、エネルギーと共に変化する場合に行うことができる。このより狭いパルス幅は、X線エネルギーが既知である場合、既知の検出スレッショルドエネルギーと、ピーク検出フィルタ107のFIR積分時間とから予測可能である。残念ながら、ピーク検出フィルタ107のパルス時間の範囲内のパイルアップは仮定されるので、ピーク検出フィルタの最大出力は、パイルアップされたX線のエネルギーの合計までの何れかの値に比例することがある。
【0073】
しかし、パイルアップ系列内のすべてのX線のエネルギーの上限は、高速パイルアップ論理105がトリガされない場合に、X線の中でX線の検出効率が100%付近であることを実現することによって設定可能である。同様に、低速パイルアップ論理106がトリガされない場合に、X線の中で、X線の検出効率が100%付近であるX線のエネルギーの上限を超えることができるものは存在しない。
【0074】
実際には、このことは、イベント・ラグ・タイマのため2つの異なる限界を設定し、全パルス幅に対し3つ、すなわち、少なくとも1つの高速パイルアップ105のエッジ検出をトリガするイベントのための前述の固定した限界に等しい最長と、高速パイルアップ105のエッジ検出をトリガしないが、少なくとも1つの低速パイルアップ論理106のエッジ検出をトリガするイベントのための中間スレッショルドと、エッジがパイルアップ論理ブロックによって検出されないときに限るパルス幅テストのための最短とを設定することを意味する。高エネルギーのケースからの限界の削減は、ピーク検出フィルタ107の検出スレッショルドエネルギーと、適切なパイルアップ論理ブロックの100%検出効率エネルギーとの検出の比率から計算される。単一のX線に対しピーク検出フィルタ107のFIR応答の立ち上がり部分および立ち下がり部分のためのスレッショルドを上回る予想時間は、同じ比率によって短縮される。図5Aでは、スレッショルド160eVは、低速パイルアップ論理106が480eVを上回るときほぼすべてのX線を検出することが予想される480eVエネルギー限界の1/3であるので、出力の立ち上がり部分/立ち下がり部分のスレッショルドを上回る時間は、1/3に短縮される。最低検出可能エネルギー付近のエネルギーをもつ予想パルス幅におけるこの比較的大きい変化は、従来技術において実行できるより近いパイルアップの検出を可能にする。
【0075】
低速パイルアップ論理106からのエッジが存在しない場合、スレッショルドを上回るパルス幅は、図5Aに与えられた間隔Bより大きくなるべきでなく、炭素X線からのパルスの予想幅は間隔Cである。したがって、(B−C)より大きく分離された2つの炭素X線は、パイルアップとして検出可能である。従来技術では、パイルアップは、炭素X線が少なくとも(A−C)によって分離されない限り検出されない。同じ理由は、一方のX線が低速パイルアップ論理106をトリガし、高速パイルアップ論理105をトリガしない場合に適用できるが、高速パイルアップ105の完全な効率のエネルギー限界がより高いので、パルス幅Bはやや広いであろう。同様に、イベント・ラグ・タイマ限界は、中心G+R+N帯域の右エッジから高速パイルアップ論理105の完全な効率のエネルギー限界のため適切である間隔Bの左エッジまでの間隔に設定できる。酸素X線を含む炭素X線のためのパイルアップ検出は、このように、従来技術より改良される。
【0076】
図1に戻ると、勾配訂正およびキャリブレーション論理120は、すべてが適切に時間アライメントされたベースライン勾配測定論理118からの電流勾配推定値と、すべてのエネルギー測定FIRフィルタ108、109、110の出力と、おそらくパルス検証論理117からの抑止信号とを受信する。好ましい実施形態では、これらのイベントは、ADCサンプリングレートより遙かに低いピーク検出フィルタ107のパルスレートで出現するので、これらの機能は、Texas Instruments社TMS320C6414のようなデジタル信号処理チップにおいてソフトウェアで実施される。
【0077】
抑止信号がない場合、この論理は、技術的に周知の方法で、ADC 102からの信号中のベースライン勾配に起因する誤差を減算し、ステップエッジを生じたX線のためのキャリブレーションされたエネルギー推定値を生成するため、1つ以上のFIRフィルタ108、109、110の未加工出力に重み付けする。
【0078】
これらの測定されたエネルギーは、同様に技術的に周知の方法で、マルチチャンネル・アナライザ(MCA)121のメモリに格納される。MCA 121内に累積されたスペクトルは、解析のためホストPC 122へ送られる。
【0079】
本明細書中に詳述されているのは、図1において「シングルステップ(Single Step)」および「ラン(Runs)」と称される高速パイルアップ論理105の一部および低速パイルアップ論理106の一部である。「シングルステップ」がこのように称されるのは、検出器・照合・平均化器103およびフィルタ平均化器104において前述されているようにおそらく平均化されたADC 102からのサンプル間の逐次的な差で作動するからである。「ラン」がこのように称されるのは、検出器・照合・平均化器103およびフィルタ平均化器104において前述されているようにおそらく平均化されたADC 102からのサンプルの正に向かうランおよび負に向かうランを追跡するからである。図3A〜3Dは、本明細書の他の場所に記載されているように、シングルステップ方法およびラン方法のFPGA実施形態のため仕様としての役目を果たした一実施形態による高速パイルアップ論理105および低速パイルアップ論理106の「シングルステップ」部分および「ラン」部分の両方を具現化する機能のプログラム・ソース・コードのリストを提供する。図4Aおよび4Bは、シングルステップ方法およびラン方法のためのFPGA実施形態を設計するため使用されたプログラム論理から抽出された状態図である。図6A、6Bおよび6Cは、立ち上がりおよび局所極値のいくつかの可能なパターンの略図と、本発明が、一実施形態において、これらのパターンを取り扱う方法とを図示する。4個の逐次的な局所極値は、図6A〜6Cを通じて、それぞれA、B、CおよびDと称される。局所最小値Bから局所最大値Cまでの中間の立ち上がりランは、本明細書中に記載されたPythonコードでは変数「bigtrig」であるトリガレベルと比較される。好ましい実施形態で利用された重大な強化は、Dにおいて立ち上がりに後続する局所最小値とAにおいて立ち上がりに先行する局所最大値との間の付加的なチェックである。図7Aおよび7Bは、好ましい実施形態と同じADCを使用してSDDから、前述されているように捕捉された実データにおける2つのパルスのプロット図を示す。パルスの一方は、2つのX線のパイルアップであり、一方は類似した立ち上がり時間をもつ単一イベントである。これらの図は詳細に後述される。
【0080】
以下の検討を通じて、「ADCサンプル」について言及する。これは、検討中の論理に与えられる逐次的なデータサンプルを意味し、データサンプルの1つずつは、検出器・照合・平均化器103およびフィルタ平均化器104の設定に応じて、ADC 102からのある程度の数の元のサンプルの合計または平均でもよいことが理解されるべきである。
【0081】
ノイズを平均化するか、または、ベースライン勾配を測定するFIFOの長さと、平均化データと非平均化データとに対するスレッショルド値の比率などを設定するある種の定数が図3A〜3Dのコード(本明細書中の他の場所に記載されているようにPythonコード)と図4の状態図との中に現れる。FPGA実施形態(図)では、これらの定数はプログラマブルレジスタ値である。当業者は、本発明の本質的な性質から逸脱することなく、特有の検出器または検出器の型を適合させるため使用される特定の値が変化してもよいことがわかるであろう。
【0082】
一般に、ソフトウェアは、3つの論理ブロック、すなわち、高速パイルアップ論理105、低速パイルアップ論理106、および、Pythonコード中では「カーボンフィルタ」と称されるピーク検出フィルタ107によって報告されたエッジ位置から時間差を取得することにより動作する。FPGA実施の場合、高速パイルアップ論理105または低速パイルアップ論理106によって報告されたエッジがピーク検出フィルタ107からのパルスの内側に収まったかどうかを判定するためにタイムスタンプの最大値信号と関連付けられたタイムスタンプに算術を実行するより、ピーク検出フィルタ107のスレッショルド超過論理出力を使用する方が便利であるが、当業者は、これらの方法が機能的に等価であることがわかるであろう。
【0083】
Python言語構文は行番号(line numbers)を含まない。しかし、図3A〜3Dにおける実行可能な(コメントではない)行は、以下の説明をコードリストと一致させる便宜のため、行末に番号コメントが付加されている。行番号は、301から始まり、417で終わる。
【0084】
コードの1つのバージョンは、2007年8月3日に出願され、名称が“IMPROVED EDS PILEUP REJECTION FOR LOW ENERGIES AT HIGH COUNT RATES”である米国仮出願第60/963320号において提供された。図3A〜3Dのコードでは、仮出願におけるコードと比較して、いくつかのコメント行が落とされるか、または、変更されている。同様に、デバッグ用出力のいくつかの行、もはや使用されないコード、または、実行されない「デッドコード(dead code)」は、ソースリストを短縮し、明瞭さを改良するため、仮出願に含まれているコードバージョンから除去されている。図3A〜3Dにおいて提供された発明の機能に重要である実行可能コードは、仮出願において提供された実行可能コードと等価である。
【0085】
「変曲点(inflection points)」について言及するコメントは、正確な数学的用法に準拠するため「局所極大値/局所最小値(local maxima/minima)」または「局所極値(local extrema)」について言及するように変更された。実際の動作は実行可能コードから明瞭である。本明細書および図3A〜3Dのコードにおいて使用されるような用語は、逐次的なADCサンプルの値が増加を停止し、減少を開始するサンプル、または、減少を停止し,増加を開始するサンプルを指す。
【0086】
なお、高速パイルアップ論理105のための図3A〜3dおよび4に示された論理ブロック全体は、フィルタ平均化器104に起因してより低い実効ADCサンプルレートで、低速パイルアップ論理106のため複製される。
【0087】
図3Aでは、行301は、1つの特有の実施形態による発明を実施する関数を定義する。引数「trace」は、前述されるように元のデータレートから低下させられていることがあるADC 102からの入力データである。引数「tracestart」は使用されない。引数「calib」は、5895eVのMn K−アルファX線における複数のADC最下位ビット(LSB)の数であるエネルギー・キャリブレーション因子である。引数「Debug」は、様々な診断出力をオンにするフラグである。引数「Cedges」は、ソフトウェアの全体を通じて「カーボンフィルタ」と称されるピーク検出フィルタ107によって検出されたX線のエッジ(タイムスタンプ)を保持する配列、したがって、配列名である。
【0088】
行302は、大域的パラメータを格納し、スレッショルド乗数「tfactor」だけが使用される。行302は、後述される臨界トリガ値trigおよびbigtrigのための外部固定値(FPGA実施形態(図1)のレジスタにロードされる)の設定を可能にする。
【0089】
行304〜328は、いくつかの変数および配列を初期化する。これらの変数および配列の意味は、これらが使用されるコードの行が説明されるときに必要に応じて説明される。特に、配列「fastpileups」は、本発明の1つの実施形態で検出されたパイルアップのためのエッジ位置を収容する。配列「fastpileups」にエントリを書き込むことは、図4において「パイルアップ(PILEUP)」状態に入ることと等価であり、FPGA実施形態(図1)における高速パイルアップ論理105から信号Pを発生する。配列「edges」は、FPGA実施形態(図1)における高速パイルアップ論理105からの信号Eに等価であるエッジ(イベント)位置を格納する。本明細書中に記載された別の実施形態では、パイルアップ信号は直接的に発生されるのではない。その代わり、この別の実施形態は、隣接エッジから分離することができる各エッジに対し信号Eを発生する。前述の通り、2つ以上のこのような信号Eがピーク検出フィルタ107からの「スレッショルド超過」パルス中にパルス検証論理117によって受信される場合、パイルアップが認識される。
【0090】
ハードウェアフラグ「Hflag」がセットされているかどうかに依存して行333または336で設定される変数「trig」は、単一のADCサンプル差によってエッジを検出するトリガ値である。行333において、trigは、大域的パラメータとして設定されたスレッショルド乗数「tfactor」を乗じた最後の16個の負へ向かう単一のADCサンプル差との平均に設定される。FPGA実施形態では、trigは、行336のようにレジスタ値として直接的に設定される。変数「bigtrig」(行334、または、FPGA実施形態(図1)におけるtrigとは独立したレジスタ値として行337)は、変数「posrun」に保持されたADCサンプル間の正の差の連続的なランの全積分のトリガ値である。この名前が示唆するように、「bigtrig」は、通常は、trigより大きい。
【0091】
行328は、すべての残りのサンプルを処理する主ループを始める。行308〜309における初期化時に1によって分離された2つの並列インデックス変数iおよびjは、ADCサンプルのうちの現在のペアを選択する。このループは、これらの配列変数をインクリメントする行415および416で終わる。
【0092】
行331において設定され、図4の殆どの状態遷移において参照される状態変数diffは、(いずれかの先行する平均化によって定義された時間メモリでの)2つの逐次的なADCサンプルの間の単一のサンプル差であり、プリアンプ信号(すなわち、FPGA実施形態(図1)におけるプリアンプ101によって出力された信号)の瞬時勾配の利用可能な最良のデジタル推定値である。「diff」の先行する値は、勾配の2次微分(変化率)をチェックするため、行330で変数「lastdiff」に保持され、勾配の2次微分(変化率)は、信号がX線から生じるシグモイド状パターンの前半を通じて立ち上がるとき、正(diff>lastdiff)であり(図4Aにおける「上昇(GOING UP)」状態407)、次に、X線から生じるシグモイド状パターンの後半に対して安定または下降である(図4Aにおける「下降(GOING DOWN)」状態407)と予想される。「i」によってインデックス付けされたこの対のうちの後方のADCサンプルの最新値は、行329で変数「lastval」に格納される。この値は、パルスを検証し、定義によれば、局所最大値または最小値である勾配が符号を変える点を追跡するため使用される。
【0093】
図3A〜3Dのループは、図4の「待機(IDLE)」状態402で始まる。行338〜359および386〜389は、本明細書中に記載された実施形態の状態遷移を管理し、連続増加ランまたは連続減少ランの間を切り替え、後述されるようにエッジの最終判定を行う。
【0094】
システムが図4Aの状態図のどの位置で作動しているかとは無関係に、信号は、図4Bにおける「正(POS)」状態408と「負(NEG)」状態409との間で交番しなければならない(変化しない値を「正」状態408に一括する)ことと、これらの2つの状態の間の遷移は、「正」状態408が「負」状態409へ遷移する局所最大値と、その逆の局所最小値とで出現すべきであることとが直ちにわかるであろう。これらの遷移点において、ある種の状態変数は、特に、現在の局所最大値「neginf」および直前の局所最大値「lastneginf」におけるADCサンプルの値は、後の使用のため維持されるべきである。
【0095】
「正クリア(CLR POS)」状態410に対応する行338〜340は、負のランの開始時に正のランの高さをクリアする。図3A〜3Dに示されたコードのバージョンでは、「正クリア」状態410状態は、「正」状態408のあらゆる反復中に通過する。このことは、不要であるが、害にならない。重要な点は、処理が局所最小値にあるかと新しい正のランの開始であるかどうかを判定するために「posrun」が零であるかどうかをテストし、したがって、「xraydone」がセットされている場合に「有効エッジ(VALID EDGE)」状態412に入るべきであるかどうかをテストする「負」状態409から「正」状態408への遷移である。なお、Python構文では、数値変数に関して、零の値のテストは偽であり、あらゆる非零値のテストは真である。
【0096】
行341〜343は、「負クリア(CLR NEG)」状態411のための対応する機能を実行し、負のランの高さ「negrun」をクリアする。変数「negrun」のクリア条件は、局所最大値を特定する「負」状態409から「正」状態408への遷移を通知するため使用される。先行の2つの局所最大値のADCサンプル値は、変数「neginf」および「lastneginf」に保存される。
【0097】
行344は、処理が「正」状態408にあるか、または、「負」状態409にあるかを判定する状態テストである。好ましい実施形態では、比較限界は零より僅かに低い。この目的は、立ち上がりランを僅かに優先してテストにバイアスを加えることである。ある程度のランダムノイズが各ADCサンプルに存在し、いくつかのサンプル間の差を低エネルギーX線に起因して立ち上がり中に負にすることがある。変数「trig」は、前述されている通り、ランダムノイズに起因して予想されるべきサンプル間の差の上限を表す。したがって、負に向かう差は、立ち上がりを終わらせる前に、変数「trig」のほんの一部分より大きくなることが必要とされ、厳密に単調増加が必要とされる場合に可能であるエネルギーより低いエネルギーのX線が検出されることを可能にする。さらに、立ち上がりを終わらせる負の差に最小限の大きさを必要とすることにより、パイルアップを間違って識別する危険性は、平均立ち上がり時間より遅い有効エッジが負に向かうランダムノイズ変動によって途中で中断される場合に、最小限に抑えられる。「bigtrig」によって表されるエネルギー検出スレッショルドは、有効X線がパイルアップとしてこのように間違って除去される回数が有意になることを防止するため十分に大きくすることが必要である。経験的に、行334および344において使用されるように、bigtrigとtrigとの比率5対4と、状態切り替えスレッショルド(−trig/8)とは、有意な間違った除去を伴うことなく、低検出スレッショルドを実現するために、組み合わせて巧く機能することがわかったが、他の値が本発明の精神から逸脱することなく使用されてもよい。
【0098】
行345は、「負」状態409から「正」状態408への遷移をテストする。この遷移時に、フラグ「xraydone」が、「下降(GOING DOWN)」状態407から、または、「上昇(GOING UP)」状態404において直接的にセットされた場合(図4A)、「有効パルス」状態406と同一である「有効エッジ(VALID EDGE)」状態412になる。行346は、最大「diff」値が確実なロケータではない弱いエッジの最終タイムスタンプを推定するため終了時刻を用いて平均化された現在のインデックス(タイムスタンプ)を保存する。フラグ「xraydone」がセットされている場合、行348はこのフラグをクリアする。行349は、「diff」の負の値が前述されているようにノイズトリガ「trig」の動的計算のためノイズ推定値に平均化されない期間である10サンプル抑止時間を設定する。これは、ノイズ推定値におけるエッジからの何れかのオーバーシュートの負に向かう復元期間の計数を回避する。
【0099】
行350は、簡単なラン高さテストによると間違ったトリガをもたらすことになる多数のパターンを削除することにより、本実施形態が従来技術の方法を凌ぐことを可能にさせるテストを実行する。図6A〜6Cは、(局所最小値Bから局所最大値Cまで)テストされる立ち上がりがおおよそ同じである3つの波形の略図を示す。簡単にするため、波形の立ち上がり部分および立ち下がり部分は、直線セグメントとして描かれているが、前述の通り、立ち上がりセグメントは、小さい負のブリップを収容することがあり、立ち上がりセグメントおよび立ち下がりセグメントの両方は、一般に、ノイズ変動のため直線的ではない。
【0100】
行350で、変数「lastval」は、点DにおけるADCサンプル、すなわち、現在の局所最小値を含む。変数「lastneginif」は、点AにおけるADCサンプル、すなわち、テスト中の立ち上がりに先行する局所最小値を収容する。立ち上がり自体は、スレッショルド「bigtrig」を超えることが既に判定されている。「lastval」(すべての図6の略図における点D)から「lastneginf」(すべての図6軌跡における点A)までの差が次にチェックされる。この差が、ノイズトリガレベル「trig」の半分より大きい場合、エッジは有効として容認される。倍率1/2は、計算の便宜上選ばれ、発明の範囲から逸脱することなく変化してもよい。しかし、ノイズ帯域は、ノイズトリガレベルの有意な部分によってシフトされているといういくつかの証拠を有することが望ましい。D−Aに合理的に大きい最小値を有することは、同様に、上下するセグメントのジグザグ系列として現れる非常に弱いエッジ、または、遅いエッジが、別個のエッジとして間違って検出され、それによって、パイルアップとして間違って除去されることを防止する。このチェックは、C−Bのための検出スレッショルド「bigtrig」が単一ステップのトリガ「trig」よりほんの僅かに大きくなることを許可するチェックである。
【0101】
図6Aは、C−Bエッジが異常に大きい負に向かうノイズエクスカーションからの復元である事例を示す。エッジ前後のノイズ帯域の平均は同じである。D−A差は実際には負であるため、この立ち上がりは除去される。
【0102】
図6Cは、同様に前後で平均ノイズ帯域が変化しない正に向かうスパイクを示す。同様に、D−Aテストは不合格であり、エッジは無視される。
【0103】
図6Bは、成功したエッジ検出を図示する。テスト中のエッジの後のノイズ帯域は、エッジの前でノイズのピーク・ツー・ピーク範囲から著しくシフトし、D−A差は、単一ステップのノイズトリガレベル「trig」のちょうど半分を超えるので、エッジ検出は有効であるとして容認される。
【0104】
テスト中のエッジより先行および後続するより多くの局所最小値および最大値が、ピーク・ツー・ピークノイズ帯域がテスト中のエッジで実際にシフトしたことを検証するために同様の形式で使用できることは、当業者に明瞭であろう。本発明の方法がいずれの固定した期間にも依存せず、よって、SDDの事例と同じように立ち上がり時間が広範に変化するエッジに動的に応答することは、同様に明瞭であろう。
【0105】
行351は、エッジのタイムスタンプを格納する(図1における高速パイルアップ論理105または低速パイルアップ論理106からE信号を発生する)。行352は、正のランの蓄積した高さを維持する。行353は、図4Bにおいて「負クリア」状態411に入るためにフラグ「clearneg」をセットする。この行は、「if not posrun」論理ブロックの内部に存在し、1回の遷移につき1回だけ実行できる。
【0106】
行354は、負のランを処理する論理の始まりである。負のランの高さは行358によって維持されるが、現在使用されていない。D−A差チェックは、有効エッジを検出するために適切であることがわかった。
【0107】
行355〜357は、局所最大値の出現を検出し、現在(点C)および以前(点A)の最大値を維持する。行359は、強制的に「正クリア」状態410へ入るためフラグ「clearpos」をセットするが、「if not negrun」論理ブロックの内側でこの機能を実行することは等価である。
【0108】
図4Aに表された状態は、行360〜417によって取り扱われる。なお、Pythonプログラミング言語における「elif」構造は、状態を相互に排他的にするので、条件が満たされている行360で始まる「if...elif...elif」テスト連鎖の最初が実行される。よって、状態は、図4における状態の時間順の進行と比べると、図3A〜3Dのコード内では逆の順番に提示される。
【0109】
行360〜369は、システムが図4の「下降(GOING DOWN)」状態407にあるときの処理を示す。これは、主ループへ戻る前に最後の能動的な状態である。この状態は、2つの可能な終了経路、すなわち、連続的な立ち上がり中のパイルアップの直接的な検出(「パイルアップ(PILEUP)」状態405)、または、「有効パルス?(VALID PULSE?)」状態406における後のパルス妥当性チェックへの進行を有している。
【0110】
「下降」状態407では、行361は、現在のサンプル間の差がノイズトリガレベル「trig」より下に低下したかどうかをテストする。この差が低下した場合、プリアンプ信号の変化率は、このとき、ノイズ帯域の範囲内に入るので、「下降」状態407は、行362〜363で終了し、フラグ「xraydone」がセットされ、図4Bにおける「有効エッジ?(VALID EDGE?)」状態412でもある図4Aにおける「有効パルス?」状態406に入る結果を生じる。
【0111】
行364は、直接的なパイルアップが検出されたかどうかを判定する重要なチェックを行う。図3A〜3Dに提供された実施形態では、重要な特徴は、現在の差「diff」がノイズトリガレベル「trig」より大きい差で以前の差「lastdiff」を上回るべきことである。テストが「trig」に関して条件付けられていない場合、後述の通り、パイルアップとして間違って識別された有効X線を取得する可能性がある。SDD立ち上がり時間は、3つの逐次的な差が立ち上がりの中心の近くにあり、類似した勾配をもつ比較的低速の立ち上がり時間を考慮すると、広範に変化する可能性があることに注意を要する。ノイズは小さいランダム変位を各サンプル値に付加するので、中程度の差は、直前の差および直後の差に対して僅かに低下する可能性があり、逐次的な差がノイズレベルを超過することを必要とされない場合、間違ったパイルアップ信号を引き起こす。
【0112】
図7Aおよび7Bは、SDDからの実際の波形の2つのプロット図を示す。水平軸目盛は単位当たり10ナノ秒(100MHz ADCのサンプリング時間)であり、数字は、実時間で2.62ミリ秒の256000個のサンプルのファイル内のインデックス(タイムスタンプ)である。垂直目盛は、ADC単位のため「adu」と呼ばれるADCの最下位ビットである。両方のプロット図の場合、垂直目盛は1区分当たり100aduである。
【0113】
図7Aは、SDD内のドリフト経路が平均より長い単一のX線からの滑らかであるが、しかし、比較的緩やかな立ち上がりを示す。囲み区域は、7個のサンプル、すなわち、70ナノ秒を覆う。さらに、約30aduのピーク・ツー・ピークノイズエクスカーションが囲み区域の直前にあることに注意を要する。時点74440のデータ点において類似した30aduの上向き変位を仮定する場合、これは、サンプル74441とサンプル74440との間に、サンプル74440と74439との間、または、サンプル74442と74441との間の何れかの差より小さい差を作ることがあり、完全にノイズのため、パイルアップのパターンに一致する。
【0114】
図7Bは、全立ち上がり時間および振幅が図7Aの有効パルスに非常に類似しているにもかかわらず、パイルアップとして巧く検出されたパルスを示し、個々のX線の立ち上がり時間がかなり短くなければならないことを意味する。中央の囲み領域内の勾配は、左下の囲み領域内の勾配より著しく小さく、図4において処理を「上昇」状態404から「下降」状態407へ進ませる。次に、73adu/サンプルから142adu/サンプルまでの右上の囲み領域内の勾配の増加、すなわち、69aduは、図7Aにおいて認められる30aduのサンプル間ノイズ変動の2倍より大きいので、ノイズに起因する可能性は非常に低い。従来技術の方法は、これらの2つのパルスのうちの一方をパイルアップとして、そして、もう一方を有効として識別できないであろう。特に、図7Bにおける2つのパイルアップX線の中心(最大勾配の点)は、図7Aの全立ち上がり時間より短い50ナノ秒の差で分離されていることに注意すべきである。
【0115】
図3Cの行364ないし369は、パイルアップのタイムスタンプの記憶、または、高速パイルアップ論理105もしくは低速パイルアップ論理106からのP信号の発生と、状態変数の「上昇」状態404への復帰とのハウスキーピングを取り扱う。
【0116】
図3Cの行370〜381は、「上昇」状態404の処理を取り扱う。変数「maxdiff」は、現在の立ち上がりシグモイド状プリアンプエッジの間に出現した現在の最大単一サンプル差(瞬時勾配)を保持する。行371〜373は、この最大値を維持し、この最大値を指示するエッジと関連付けられたタイムスタンプを保持する。
【0117】
「上昇」状態404からの2つの可能な終了経路が存在し、そのうちの一方(後述されたうちの後者)だけが本発明に関連している。行374〜376は、現在の勾配(単一のサンプル差)がノイズトリガレベルの半分未満に低下した場合、「有効パルス?」状態406へ抜け出る。シングルステップ・パイルアップ・チェックは実行されない。前述されている通り、「負」状態409から「正」状態408への次の遷移を意味するフラグ「xraydone」がセットされる。図6A〜6Cと関連して説明されたD−A妥当性チェックが実行される。
【0118】
行377〜379は、本発明(および第2の終了経路)を実施するテスト対のもう一方の部分である。テストのこの部分は、状態が「上昇」状態404から「下降」状態407へ変化するときを判定する。このテストでは、立ち上がり中に出現した最大値からのシングルステップ勾配中の下落は、ノイズトリガ「trig」より大きくなければならない。なお、行374は、少なくとも「trig」の1.5倍の最大差を取得しない限り、この終了経路に到達することができず、そうでなければ、第1の終了経路(前述された通り)が行われることを意味する。「下降」状態407に到達するため、したがって、本発明によるパイルアップ検出の可能性を有効にするための唯一の方式は、最初に条件を満たすことである。正確な倍率1.5は重要ではないが、計算上都合がよい。要点は、前述の通り、比較的高エネルギーのX線だけが、間違った肯定の危険なしに、これらのテストのための適当な候補である、ということである。低エネルギーX線は、同じパターンを提示することがあるが、本当のパイルアップではない。図7Aおよび7Bの波形が捕捉される試料はNi−Al合金である。図7Aに示されたX線は、おそらく、7500eV付近のニッケル K−アルファであり、図7Bの2つのX線は、おそらく、Ni K−アルファ、および、1500eV付近のアルミニウム K−アルファである。
【0119】
行378および379は、「上昇」状態404から「下降」状態407までの状態の変化を取り扱う。行380〜381は、いずれの終了経路条件も満たされないが、現在の差が新しい最大値ではない場合に、何も行わない。
【0120】
行382は、「待機」状態402から「上昇」状態404へのエントリをトリガするテストである。2つの条件が満たされる必要がある。第一に、現在の差は、ノイズトリガレベル「trig」を上回る必要がある。第2のテストは、対のうちの高い方のADCサンプルが以前の局所最大値を超過することを確実にする。このことは不可欠ではないが、負に向かうノイズスパイクからの復元時の間違ったトリガを削除することにより性能を改良する。
【0121】
行383〜385は、「上昇」状態404を初期化し、最大差を現在の差に設定する。このことは、「maxdiff」がこの最初の使用後に決してノイズトリガレベル「trig」より小さくならないことを意味することに特に注意を要する。
【0122】
行386〜389は、「弱い上昇(GOING UP WEAK)」状態403をトリガする。これは、(本明細書中の他の場所に記載されているように)正のランの累積高さが、シングルステップ差がノイズトリガ「trig」より大きいことを必要とすることなく、「bigtrig」を超える場合、「上昇」状態404へのエントリを引き起こす。本発明のための重要な行は、「maxdiff」をリセットしてノイズトリガ「trig」に等しくする行389である。これは、「上昇」状態404が「下降」状態407に入ることを防止し、よって、おそらく、「trig」に等しい「maxdiff」を用いて行371におけるテストを満たすことにより、シングルステップ差が「trig」を超えることが示されない限り、本発明によるパイルアップ検出を可能にする。このように、本明細書中に記載された連続ランの実施形態と、シングルステップでトリガされる実施形態とは、互いに干渉することが防止される。
【0123】
行390〜400は、プリアンプ101におけるリセットの発生を検出する。これは、負の単一サンプル差がトリガレベル「trig」の10倍を超えるように、出力を急速に低下させる。行391〜393は、リセット中と、その後の指定された期間に処理を抑止する。行394〜400は、状態変数を再初期化する。
【0124】
行404〜414は、Mottへの米国特許第5393982号において教示された方法に類似したノイズを動的に推定する手段として、リセットまたは検出されたエッジに近接した指定された期間を除外して、ADCデータ内の負の単一サンプル差16エントリの移動合計を維持する。具体的に、負および正のエクスカーションは、リセットおよびX線からのエッジがない場合に、統計的に等しくなるべきであるが、正のエクスカーションの平均は、検出されていない非常に低エネルギーのX線によって上方へバイアスされることがある。
【0125】
行415および416は、プリアンプ101からの捕捉された波形内のすべてのサンプルの中を並列に進む。FPGA実施形態では、処理ループは、リアルタイムで連続的に動作し、電源投入時に限り初期化されるので、ファイルセグメントの先頭および最後で境界条件を取り扱う必要がない。
【0126】
図8は、P.Lechnerら、“Silicon drift detectors for high resolution room temperature X-ray spectroscopy”、Nucl.Instr.andMeth.1996;A 377、pp.346-351によって記載されているようにセンサ上でリソグラフィ内に組み込まれた以下の特性、すなわち、(i)約10平方ミリメートルの能動的な領域、および、(ii)プリアンプ101の第1の電解効果トランジスタ(FFT)段をもつSDDのための典型的なパルス対分解時間およびエネルギー検出スレッショルドを用いて、全体的なシステムの予想されるパイルアップ性能を要約する。列挙された特定の数字は普遍的ではないが、異なる検出器の型および構造とともに変化する。しかし、これらの数字は、検出器の小さいサンプル上で測定された実際の性能を合理的に表している。
【0127】
上方の波形軌跡は、プリアンプ101からの波形セグメントの理想的な表現であり、いくつかのパイルアップ状況を図示する。右端は、非常に低エネルギーのX線ステップの拡大図である。矢印は様々なステップの位置を示している。非常に大きいステップは、図7Bに示されているように、本発明の方法だけによって検出することができる単一X線からのステップの立ち上がり時間範囲内の接近したパイルアップである。
【0128】
波形軌跡の下には、順番にこれらのパルス対分解時間およびエネルギースレッショルドの予想範囲と共に、様々なパイルアップおよびエッジ検出論理ブロックからの予想検出信号がある。ピーク検出フィルタ107は、高速パイルアップ論理105によって間違って報告されているが、ピーク検出フィルタ107の出力がスレッショルドを超過しないため除去された時点Sにおけるスパイクを除いて、すべてのエッジを検出する。非常に低エネルギーのX線のための最良分解時間は、最小検出可能エネルギー200eVに対し約350〜400ナノ秒でもよい。低い方の検出スレッショルドが、たとえば、185eVのホウ素、または、さらに、109eVのベリリウムのため必要とされる場合、積分時間はより長くされる必要があり、分解時間は実質的に増加することになる。しかし、ピーク検出フィルタは、すべての他の論理ブロックによって見逃される非常に低エネルギーのX線を右端で検出する。
【0129】
高速パイルアップ論理105は、検出器の立ち上がり時間に依存して最良分解時間50ないし100ナノ秒を有している。本明細書中に記載されたシングルステップ方法は、約2.5keVエネルギーより上で有効であり、一方、本明細書中に記載された連続ラン方法は、600〜900eV程度に達することができる。高速パイルアップ論理は、時点Lにおいて低エネルギーX線を見逃す。
【0130】
高速パイルアップ論理105と同一であるが、フィルタ平均化器104において平均化されたデータに低い方の実効レートで作用する低速パイルアップ106は、Lの適度に低いエネルギーのX線を巧く検出するが、おおよそ約2倍の長さの最良分解時間80〜200ナノ秒を有している。低速パイルアップのシングルステップ方法は、ちょうど2keVまで低下したX線を検出することができ、そして、低速パイルアップの連続ラン方法は、優れた効率で500eVの酸素X線を検出することができる。
【0131】
全体的に、これらの結果は、検討中のエネルギー対に依存して、従来技術の方法を使用して既存のシステムによって示された分解時間よりおよそ2倍ないし5倍の程度で優れている。
【0132】
発明の好ましい実施形態が前述の通り説明され、図示されているが、これらの好ましい実施形態は、発明の例示であり、限定として見なされるべきでないことが理解されるべきである。付加、削除、置換、および、他の変形は、本発明の精神または範囲から逸脱することなくなされることができる。したがって、発明は、以上の説明によって限定されるものとして見なされるべきでなく、特許請求の範囲だけによって限定される。
【特許請求の範囲】
【請求項1】
エネルギー分散型放射線分光分析システムのプリアンプの出力信号からパイルアップを検出する方法であって、エネルギー分散型放射線分光分析システムのフィルタが出力信号に応答して第1のパルスを発生し、前記エネルギー分散型放射線分光分析システムが完全な効率のエネルギーを有する1又は複数の高速チャンネルを有し、少なくとも前記完全な効率のエネルギーを有するエネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出されることを含んでおり、
前記第1のパルスが前記フィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定すること、
前記第1のパルスが前記フィルタの前記最小検出可能スレッショルドを超える間に前記1又は複数の高速チャンネルが何ら検出を行っていないことを判定すること、
前記判定に応答して、前記スレッショルド超過期間が、前記エネルギー分散型放射線分光分析システムによって受信されている前記完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答して前記フィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定すること、を含む方法。
【請求項2】
前記最長予想パルス期間を計算することをさらに含む、請求項1に記載の方法。
【請求項3】
前記1又は複数の高速チャンネルは、複数の高速チャンネルを含み、前記完全な効率のエネルギーは、最高スレッショルドエネルギーを有する前記高速チャンネルのうちの特有の1つの高速チャンネルのスレッショルドエネルギーによって判定される、請求項1に記載の方法。
【請求項4】
請求項1に記載の方法を実行することができるパルスプロセッサ。
【請求項5】
前記エネルギー分散型放射線分光分析システムはX線分光分析システムであり、前記光子はX線である、請求項1に記載の方法。
【請求項6】
前記エネルギー分散型放射線分光分析システムはガンマ線分光分析システムであり、前記光子はガンマ線である、請求項1に記載の方法。
【請求項7】
エネルギー分散型放射線分光分析システムであって、
入射光子を、電流パルスを含む出力に変換する検出器と、
前記検出器の前記出力を、電圧信号を含むプリアンプ出力信号に変換するプリアンプと、
前記プリアンプの出力信号に応答して第1のパルスを発生するフィルタ、及び完全な効率のエネルギーを有する1又は複数の高速チャンネルを有するパルスプロセッサと、を具え、
少なくとも前記完全な効率のエネルギーを有するエネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出され、
前記パルスプロセッサは、
前記第1のパルスが前記フィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定し、
前記第1のパルスが前記フィルタの前記最小検出可能スレッショルドを超える間に、前記1つ以上の高速チャンネルが何ら検出を行っていないことを判定し、
前記1又は複数の高速チャンネルが何ら検出を行っていないという判定に応答して、前記スレッショルド超過期間が、前記エネルギー分散型放射線分光分析システムによって受信されている前記完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答して前記フィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定することができる、エネルギー分散型放射線分光分析システム。
【請求項8】
前記パルスプロセッサは、前記最長予想パルス期間を計算することができる、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項9】
前記1又は複数の高速チャンネルは複数の高速チャンネルを含み、前記完全な効率のエネルギーは、最高スレッショルドエネルギーを有する前記高速チャンネルのうちの特有の1つの高速チャンネルのスレッショルドエネルギーによって判定される、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項10】
前記エネルギー分散型放射線分光分析システムはX線分光分析システムであり、前記光子はX線である、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項11】
前記エネルギー分散型放射線分光分析システムはガンマ線分光分析システムであり、前記光子はガンマ線である、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項1】
エネルギー分散型放射線分光分析システムのプリアンプの出力信号からパイルアップを検出する方法であって、エネルギー分散型放射線分光分析システムのフィルタが出力信号に応答して第1のパルスを発生し、前記エネルギー分散型放射線分光分析システムが完全な効率のエネルギーを有する1又は複数の高速チャンネルを有し、少なくとも前記完全な効率のエネルギーを有するエネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出されることを含んでおり、
前記第1のパルスが前記フィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定すること、
前記第1のパルスが前記フィルタの前記最小検出可能スレッショルドを超える間に前記1又は複数の高速チャンネルが何ら検出を行っていないことを判定すること、
前記判定に応答して、前記スレッショルド超過期間が、前記エネルギー分散型放射線分光分析システムによって受信されている前記完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答して前記フィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定すること、を含む方法。
【請求項2】
前記最長予想パルス期間を計算することをさらに含む、請求項1に記載の方法。
【請求項3】
前記1又は複数の高速チャンネルは、複数の高速チャンネルを含み、前記完全な効率のエネルギーは、最高スレッショルドエネルギーを有する前記高速チャンネルのうちの特有の1つの高速チャンネルのスレッショルドエネルギーによって判定される、請求項1に記載の方法。
【請求項4】
請求項1に記載の方法を実行することができるパルスプロセッサ。
【請求項5】
前記エネルギー分散型放射線分光分析システムはX線分光分析システムであり、前記光子はX線である、請求項1に記載の方法。
【請求項6】
前記エネルギー分散型放射線分光分析システムはガンマ線分光分析システムであり、前記光子はガンマ線である、請求項1に記載の方法。
【請求項7】
エネルギー分散型放射線分光分析システムであって、
入射光子を、電流パルスを含む出力に変換する検出器と、
前記検出器の前記出力を、電圧信号を含むプリアンプ出力信号に変換するプリアンプと、
前記プリアンプの出力信号に応答して第1のパルスを発生するフィルタ、及び完全な効率のエネルギーを有する1又は複数の高速チャンネルを有するパルスプロセッサと、を具え、
少なくとも前記完全な効率のエネルギーを有するエネルギー分散型放射線分光分析システムによって受信された実質的にすべての光子が検出され、
前記パルスプロセッサは、
前記第1のパルスが前記フィルタの最小検出可能スレッショルドエネルギーを超える期間であるスレッショルド超過期間を測定し、
前記第1のパルスが前記フィルタの前記最小検出可能スレッショルドを超える間に、前記1つ以上の高速チャンネルが何ら検出を行っていないことを判定し、
前記1又は複数の高速チャンネルが何ら検出を行っていないという判定に応答して、前記スレッショルド超過期間が、前記エネルギー分散型放射線分光分析システムによって受信されている前記完全な効率のエネルギーに等しいエネルギーを有する単一の光子に応答して前記フィルタによって出力されることになる第2のパルスの期間である最長予想パルス期間を超える場合に、パイルアップを断定することができる、エネルギー分散型放射線分光分析システム。
【請求項8】
前記パルスプロセッサは、前記最長予想パルス期間を計算することができる、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項9】
前記1又は複数の高速チャンネルは複数の高速チャンネルを含み、前記完全な効率のエネルギーは、最高スレッショルドエネルギーを有する前記高速チャンネルのうちの特有の1つの高速チャンネルのスレッショルドエネルギーによって判定される、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項10】
前記エネルギー分散型放射線分光分析システムはX線分光分析システムであり、前記光子はX線である、請求項7に記載のエネルギー分散型放射線分光分析システム。
【請求項11】
前記エネルギー分散型放射線分光分析システムはガンマ線分光分析システムであり、前記光子はガンマ線である、請求項7に記載のエネルギー分散型放射線分光分析システム。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4A】
【図4B】
【図5A】
【図5B】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図8】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4A】
【図4B】
【図5A】
【図5B】
【図6A】
【図6B】
【図6C】
【図7A】
【図7B】
【図8】
【公表番号】特表2011−530067(P2011−530067A)
【公表日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2011−521233(P2011−521233)
【出願日】平成21年7月28日(2009.7.28)
【国際出願番号】PCT/US2009/051913
【国際公開番号】WO2010/014576
【国際公開日】平成22年2月4日(2010.2.4)
【出願人】(510029830)パルセータ,エルエルシー (4)
【氏名又は名称原語表記】PULSETOR,LLC
【Fターム(参考)】
【公表日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願日】平成21年7月28日(2009.7.28)
【国際出願番号】PCT/US2009/051913
【国際公開番号】WO2010/014576
【国際公開日】平成22年2月4日(2010.2.4)
【出願人】(510029830)パルセータ,エルエルシー (4)
【氏名又は名称原語表記】PULSETOR,LLC
【Fターム(参考)】
[ Back to top ]