• 検索結果がありません。

頭部用半導体 PET でのエネルギースペクトル測定

第 9 章 デジタルフィルタ回路実装

9.5 頭部用半導体 PET でのエネルギースペクトル測定

- 84 -

- 85 -

図 9-11 頭部用半導体 PET のピーク検出処理

9.5.1 デジタルフィルタ回路実装が失敗した測定スペクトル

図9-12に改良前のエネルギースペクトルを青で示す。エネルギーFWHM81.2keV

(15.8%@511keV)であった。一方、改良後のエネルギースペクトルを赤で示す。2600ch~

2800ch間で異常なカウントロスが見られた。数回測定を行ったが、必ず同一のチャネルの

みでカウントロスが発生していた。つまり、統計的なカウントロスではなく、デジタル演 算処理に不具合がある。

図 9-12 実装失敗した測定スペクトル

2400 2600 2800 3000 3200 3400 3600 3800 4000

100 101 102 103

チャネル

Count

改良前 改良後(失敗)

LLD ULD

- 86 -

9.5.2 デジタル演算処理不良の改善

図9-6(c)をよく見ると最大波高値がつぶれているのが確認できる。これは表9-2より、

sfix32En19でフィルタ係数Aを精度良く表現できていないのが原因と考えられる。したが

って小数部のbit数を増やしてsfix64En51としたが、必要なFPGAのLEが53819個とな り、搭載されている24624個を大幅に超えてしまい実装不可であった。

sfix32En19で精度良く表現できるフィルタ係数を選ぶことにした。表9-3より =60kHz のフィルタ係数はsfix32En19で十分表現でき、Simulinkシミュレーションで最大波高値 がつぶれていないことを確認した(図9-13)。また図8-17より =30kHzと =60kHzの ときのエネルギーFWHMに大差はない。よって、 =60kHzのフィルタを実装することに 変更した。

フィルタ演算処理を修正したVHDLフローチャートを図9-14に示す。修正箇所を赤で 示してある。

表 9-3 遮断周波数 60kHz のフィルタ係数値

データ型 フィルタ係数 A フィルタ係数 B フィルタ係数 C

double 6.048338641723570e-06 -1.995056879746730 0.995087123254622 sfix32En19 5.7220458984375e-6 -1.9950561523438 0.99508666992188

16 進数表示 x(0000 0003) x(FFF0 0A20) x(0007 F5F0)

図 9-13 Simulink での演算シミュレーション結果( のフィルタ)

- 87 -

図 9-14 修正した CHEB2_Filter.vhd 記述のフローチャート

- 88 -

9.5.3 デジタルフィルタ回路実装が成功した測定スペクトル

改良前のエネルギースペクトルを青で、改良後のエネルギースペクトルを赤で示す。図 9-12で見られた異常なカウントロスを解消できた。

ここで、 、 の2点を(5.1)式に代入して校正曲線を得る。

(9.3)

図9-15(a)より改良前はPEAK=2930chであり、1chあたり0.58keVの校正曲線が得られた。

改良後はPEAK=2847chであり、1chあたり0.64keVの校正曲線が得られた。電子ボルト 軸にしたときの測定スペクトルを図9-15(b)に示す。

図 9-15(a) 実装成功した測定スペクトル(チャネル軸)

2400 2600 2800 3000 3200 3400 3600 3800 4000 101

102 103

チャネル

Count

改良前 改良後(成功)

LLD ULD

2847ch 2930ch

- 89 -

図 9-15(b) 実装成功した測定スペクトル(電子ボルト軸)