RadViewer をバージョンアップしました。
ダウンロードはこちら ⇒ RadViewer0.3β
適当な場所に解凍し、RadViewer.exe のショートカットをデスクトップなどに置いてご利用ください。
変更点:
1:計測を中断(STOP)した場合にも計測時間が加算されてしまう問題を修正しました。
2:Timerで計測時間を設定できるようにしました。
(Timer ボックスに「0」以外の数値を分単位で設定すると、設定された時間だけ計測を行います↓)
3:パルスデータ保存ファイルのフォーマットを、データ保存時刻・計測開始時刻・計測時間・計測開始時の閾値データを保存するよう変更しました。
(パルスデータは左から検出時刻・検出時閾値・波高値を表します↓)
4:閾値算出の基準をホワイトノイズのアベレージ(平均)からモード(最頻値)に変更しました。当たり前のことですが、ノイズ計測中に大きな放射線が入射すると平均値はノイズピークからずれてしまい閾値を正しく算出することが出来ません。モードはこの影響を受けませんので、ホワイトノイズのピークを正しく反映します。変更後は計測ごとの偏差が小さくなり算出時間も短縮されています。
(ホワイトノイズの波高分布に対する閾値の位置はこんな感じ↓)
※閾値とは、ホワイトノイズレベルの存在する領域と存在しない領域の境界値をさします。RadViewer0.3β では、ノイズを確実に排除するため、上図のように余裕を持たせています(MODE x 2.0 )。
エネルギーの低い放射線は、ホワイトノイズの領域にも多数存在しますので、ノイズが大きいとこれらの信号を検出することが出来ないため、感度が下がる事になります。PINフォトダイオードは逆電圧を高くすると端子間容量が減ってノイズレベルが下がります。高電子倍増管は非常にノイズが少ないため小さな信号を検出することが出来ます。
5:夜間などに長時間連続して計測する場合に、センサーの電源が減少してホワイトノイズレベルが大きくなっても継続して測定できるように、ホワイトノイズを監視して閾値を更新するようにしました(放射線検出時の閾値は、3. の変更によってデータとして記録されます)。
6:フォーマットの変更のため保存ファイルの拡張子を.rdv に変更しました。拡張子を RadViewer に関連付けると、クリックして開くことが出来ます。
(ファイルをクリックすると↓)
(RadViewer.exe を選択して「選択したプログラムをいつも使う」にチェックして関連付け↓)
(クリックすると RadViewer で開けます↓)
7:波高データを2000チャネルに分割し、各チャネルのカウント数をCSV形式で保存できるようにしました。
(こんな感じ↓)
8:PCのバッテリー残量が10%以下に減少すると計測を終了し、データを保存して終了するようにしました。
9:フォームを最小化すると表示関係の処理を割愛して、バッテリーの消耗を極力防ぐようにしました。
Config 設定について:
RadViewer.exe と同じフォルダに、RadViewer.exe.config というファイルがあります。このファイルはXMLファイルですので、メモ帳のようなテキストエディタで編集することが出来ます。ファイルの前半の、
◆MaxMem ・・・ 長時間の計測時に不測の事態によってノイズが大量に記録され、メモリが食いつぶされてPCがフリーズしないようプログラムは定期的にメモリ使用量をチェックしており、ここに設定された容量(MB)を超えると計測を中断します。Default では「200」が設定されています。
◇ChannelCount ・・・ チャネルデータを保存する際の分解能を設定します。Default では「2000」が設定されています。
◆TH_FACTOR ・・・ 閾値を設定する際に、測定したホワイトノイズピーク値に掛ける係数を設定します。Default では「2.0」が設定されています。
◇SAMPLE_RATE ・・・ 音声信号入力のサンプリングレートを設定します。Default では「96000」が設定されています。サウンドボードによってはもっと高い周波数でサンプリングできる場合もあります。レートが高いほど小さな信号の取りこぼしが少なくなります。
◆Delimiter ・・・ CSV形式で保存する場合の区切り文字を設定します。Default では「、」が設定されています。データを読み込むソフトの仕様にあわせて変更してください。
データの解析例:
CSV形式で保存したデータは、Excel など他のソフトで解析することが出来ます。放射線は、核種によって放出するエネルギーが決まっていますが、センサーの分解能など測定条件によってその波高分布はピークがなまった正規分布(ガウス分布)となります。今回は、計測データから波形データをガウスフィットして、ピークを抽出してみたいと思います。でも、Excel のグラフ機能ではちょっと難しいですね♪
「Fityk」(ふぃーてぃっく)は、その目的にピッタリです♪
Versions 0.9.8 まではフリーで利用できますし、ソースコードも公開されています。
ここでは、ポケットガイガーでトリタン線源を計測したデータから波形データを生成してみます。
(ダウンロードはこちら ⇒ th.csv )
まず、Fityk を立ち上げ、「DATA」→「Quick Load File」をクリックして、チャネルデータのCSVファイルを開きます。
データが読み込まれ、散布図が表示されます。
いくつかピークらしきものが分かるのですが、これを Fityk のピーク抽出機能を使って抽出します。
「正規分布波形の左上に黄色の十字の付いたボタン」をクリックすると自動的に抽出してくれます。
ピークはたくさん分布しているはずですので、何度もクリックして小さなピークまで拾います。
次に、フィットする関数を選択します(Default で Gaussian になっています)。
関数を選択したら、歯車のマークの「StartFitting」ボタンをクリックして、フィットを実行します。
フィットを実行すると・・・
波高値のキャリブレーション(校正)を行っていないので、エネルギーの値は分かりませんが、見る人が見ると意味が分かるのかもしれません♪ 自分にはちんぷんかんぷんですが(笑)
まとめ:
RadViewer 0.3β の変更点と、保存データの利用例を書いてみました。必要な(と思われる)機能を実装したので、そろそろリファクタリングしなくてはなりません。ソースコードはリファクタリング後か?再設計後に公開しようと思っています。
2,3種類のすこし強い基準線源があれば…キャリブレーション出来そうだなぁ^^
不具合や不明な点、要望等があれば、お気軽にコメントしてください。
では、また♪
[googlead]
おはようございます、大変有益なソフトを公開していただき、ありがとうございます。
ところで、私の環境ではRad Viewer 0.2β は動くのですが
RadViewer0.3β を動かそうとすると、
「測定を開始出来ませんでした。信号が入力されていないか、信号レベルが小さすぎます。」
というメッセージの警告が出てしまいます。
なにか設定するものがあるのでしょうか?
nakaoさん
お使い頂けてうれしいです^^
>というメッセージの警告が…
閾値が500より小さく設定された場合に警告メッセージが出るようになっており、
ver0.3 ではコンフィギュレーション出来るようになっていないので、
マイクのボリュームをもう少し大きくしていただくと計測開始されると思います。
ボリュームが最大でも開始しない場合は、AGC などでマイクのゲインを上げる必要が
あるかもしれません。お試しください♪
現在、PMT(光電子増倍管)で利用できるように、次のバージョンを書いています。
PMT はノイズレベルが小さく、SN比が大きいので閾値は大幅に小さくなります。
それに合わせて、信号入力の検出機能の廃止も検討中です。
実際のところ、センサーが正しく接続されていなくてもPCに搭載されているマイクの
雑音があれば計測開始してしまいますし、意図したように機能していないものですから^^
早々の回答ありがとうございます。
私のパソコンでは、既にマイクゲインは最大にしているので。
これ以上上げるには、OPアンプでマイクアンプを作るか、「USBオーディオ変換アダプタ PL-US35AP」を
買う必要がありそうです。
パソコンのマイク入力を使うのは諦めて、外部にA/Dコンバーターを付けた方が良いかもしれませんね。
重ねて質問があります。
「USBオーディオ変換アダプタ PL-US35AP」のA/DコンバーターのS/Nはかなり良いですか?
nakaoさん
>既にマイクゲインは最大にしているので。
とりあえず、最低閾値の設定による信号検出機能を排除したものをお使いになってみてください↓
download正⇒download
>A/DコンバーターのS/Nはかなり良いですか?
ノイズ対策と、自作ハードを直接接続してPCのサウンドボードを壊したくないという理由で利用しているので、きちんと計測したわけではありませんが、コンバータによってノイズが増加したりはしないようです。コンバータ内でデジタルに変換されるので、ポケガとコンバータの配線を短くすれば、外部からのノイズによるSN比の悪化は防止できると思います。
ありがとうございます。
DLして試してみます。
今後とも、有益なソフトを開発して下さい。
こんにちは。
このソフトを使えばポケットガイガーでの核種分析が出来るということで良いのでしょうか?
よろしくお願い致します。
maddesuke さん
こんにちは。
可能かどうかというと…可能なのですが、パルスを集めるのに
膨大な時間がかかるため実用的には無理があります。
意味のあるスペクトルを見られる程度にパルスを集めるには、
ポケガの200倍程度まで検出器の効率を高める必要があり、
シンチレーションという方法をとるのが一般的です。
なるほど。ありがとうございます。
このソフトはポケガ以外へも使えますでしょうか?
膨大な時間とは丸1日程度なのでしょうか?
よろしくお願い致します。
このソフトは音声としてPCに入力された信号を解析するものですので、音声信号出力するセンサーであれば利用できます。
所要時間は、検体の線量と検出器の効率と、どのくらいの精度で検出するか?に依存するので一概には言えません。ただ、余程高線量の試料でない限り、ポケガでは丸一日計測しても核種の弁別は難しいと思います。
ありがとうございます。
先ほどポケガ以外の測定器を繋いで見ましたがPCに搭載されているwebカメラマイクの音を拾ってしまっています。
どうすればいいのでしょうか?
よろしくお願いいたします。
「コントロールパネル」の、「サウンドとオーディオデバイス」のプロパティーから、「音声録音」の「既定のデバイス」を測定器の繋がれているデバイス(例えばPCのマイク入力端子など)に変更してください。