MRTechnology製のNMR
目次
はじめに
MRtechnology製のシーケンサーでセメントの緩和時間分布を得るまでのメモで す。名古屋大学丸山先生が代表の科研費の予算で研究をすすめています。セ メント中の水分移動をNMRのいろいろなパルステクニックを使って非破壊で評 価する装置を開発しています。基本的に永久磁石で観測する時間ドメインの NMR信号を使った解析になります。
NMR信号の確認と調整
20 mMのCuSO4水溶液を使って信号を確認しながら調整をすすめた。測定は すべて測定前にon resonamceに調整して実行した。
パルス幅
4usと8usのハードパルスを生成するファイルを作成した(hard_04us.txtと hard_08us.txt)。
4 ; 4 point 1 1.0 1000.0 ; sampling rate(us) 32767 0 ; real imrt (short) 32767 0 32767 0 32767 0
8usのハードパルスを照射してFIDを観測するシーケンスを作成した。
:DW 1 :NR 8192 :TR 200 :TI 1000 :NX 4 :LK 8 :LTR 500 :LTE 10 :LPW 120 :LPA 0.300000 :LNR 1 :LOF 0 :LDW 10 :LNP 512 00.002.500.0 PH 0000<-v3{0000,0100,0200,0300} 00.002.500.0 RF 000F=[hard_08us.txt] 00.002.600.0 AD 0000<-v3{0000,0100,0200,0300}
このパルスシーケンスで 繰り返し測定しながら、TXのattnを変えて180度パルスに相当するattnを求め たところ16.4 dBであった。
ADイベントのDelay(1回目)
ADイベントは、指定した時間からデータのサンプリングを開始しないらしい。 正確なエコートップを観測したいたので、cpmg測定で観測されるエコートップ から、サンプリング開始のdelayを逆算した。
1000 usのエコー時間で16回のエコーを生成するシーケンスを mrt_cpmg_ADcheck.pyで作成した。16回目のエコーを180度パルス後から、DW =1 usでNR=2000 pnt観測する。delayがなければ、180度パルス後の 500us-(0.5*8us)=496のところにエコートップがあらわれるはず。このシーケ ンスを繰り返し実行して、観測される信号強度とエコートップの再現性を確認した。
:DW 1 :NR 2000 :TR 200 :NX 512 :LK 8 :LTR 500 :LTE 10 :LPW 120 :LPA 0.300000 :LNR 1 :LOF 0 :LDW 10 :LNP 512 00.000.000.0 PH 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300} 00.000.000.0 RF 000F=[hard_04us.txt] 00.000.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.000.498.0 RF 000F=[hard_08us.txt] 00.001.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.001.498.0 RF 000F=[hard_08us.txt] 00.002.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.002.498.0 RF 000F=[hard_08us.txt] 00.003.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.003.498.0 RF 000F=[hard_08us.txt] 00.004.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.004.498.0 RF 000F=[hard_08us.txt] 00.005.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.005.498.0 RF 000F=[hard_08us.txt] 00.006.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.006.498.0 RF 000F=[hard_08us.txt] 00.007.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.007.498.0 RF 000F=[hard_08us.txt] 00.008.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.008.498.0 RF 000F=[hard_08us.txt] 00.009.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.009.498.0 RF 000F=[hard_08us.txt] 00.010.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.010.498.0 RF 000F=[hard_08us.txt] 00.011.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.011.498.0 RF 000F=[hard_08us.txt] 00.012.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.012.498.0 RF 000F=[hard_08us.txt] 00.013.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.013.498.0 RF 000F=[hard_08us.txt] 00.014.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.014.498.0 RF 000F=[hard_08us.txt] 00.015.498.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.015.498.0 RF 000F=[hard_08us.txt] 00.015.506.0 AD 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300}
得られた信号は次のとおり。赤と緑がrealとimaginaryで、青がmagnitude。縦 軸は信号強度で横軸はサンプリングポイント。
繰り返し測定して得られたエコートップの強度とpointを表にまとめた。
# imgfile M(pnt) 00000868--193425.img 5440639.17(554) 00000869--193613.img 5443161.79(553) 00000872--194100.img 5438539.88(556) 00000873--194253.img 5436736.71(558) 00000874--194442.img 5442068.28(561) 00000875--194640.img 5444652.87(553) 00000876--194834.img 5445140.23(562) 00000877--195026.img 5445434.04(553) 00000880--200147.img 5416150.73(558) 00000882--200538.img 5446338.77(556) 00000883--201315.img 5447491.27(550) 00000884--202914.img 5446157.71(555)
強度の精度は1%以下なので十分。エコートップの位置は、555.75 +/- 3.7であっ た。エコートップの位置は556として、556-496=62usだけ早くサンプリングす るようなので62usのdelayいれることにする。パルス照射後のdeadtimeが200 usくらいあるのが気になる。
ADイベントのDelay(2回目)
クロスダイオードが3段入ったboxが到着したので、DuplexerのRF入り口のとこ ろに装着した。テスタで抵抗を測定したら、両方向とも6.3 MΩであった。パ ルス照射前後に強度0のgateを入れて方が良いとこのことで、 mrt_cpmg_ADcheck.pyを修正して、パルスの前後にgateを指定できるようにし た。前後に10usのgateを入れて再度、ADイベントのDelayを確認した。hard_004us.txtは次のようなファイルを生成するようにした。hard_004us.txtも同様にpregateとpostgateを入れた。
24 ; point 1 1.0 1000 ; point/us gain/dB sweep 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32767 0 32767 0 32767 0 32767 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
測定に使用したパルスシーケンス。エコー時間は1000usとした。postgateと pregateは10usとしている。ADのdelayを0としているので、最後のRFイベント から、pregate + P180 + postgate後に、ADイベントが入っている。delayが0 ならば、エコートップは、500 - P180*0.5 - 10 = 486になるはず。
; Head :DW 1 ; dwell/us :TR 200 ; relaxation delay/us :NR 2000 ; sampling points :NX 512 ; number of scan ; On resonance :LK 8 :LTR 500 :LTE 10 :LPW 120 :LPA 0.300000 :LNR 1 :LOF 0 :LDW 10 :LNP 512 ; Sequence 00.000.100.0 PH 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300} 00.000.100.0 RF 000F=[hard_004us.txt] 00.000.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.000.598.0 RF 000F=[hard_008us.txt] 00.001.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.001.598.0 RF 000F=[hard_008us.txt] 00.002.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.002.598.0 RF 000F=[hard_008us.txt] 00.003.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.003.598.0 RF 000F=[hard_008us.txt] 00.004.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.004.598.0 RF 000F=[hard_008us.txt] 00.005.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.005.598.0 RF 000F=[hard_008us.txt] 00.006.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.006.598.0 RF 000F=[hard_008us.txt] 00.007.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.007.598.0 RF 000F=[hard_008us.txt] 00.008.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.008.598.0 RF 000F=[hard_008us.txt] 00.009.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.009.598.0 RF 000F=[hard_008us.txt] 00.010.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.010.598.0 RF 000F=[hard_008us.txt] 00.011.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.011.598.0 RF 000F=[hard_008us.txt] 00.012.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.012.598.0 RF 000F=[hard_008us.txt] 00.013.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.013.598.0 RF 000F=[hard_008us.txt] 00.014.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.014.598.0 RF 000F=[hard_008us.txt] 00.015.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.015.598.0 RF 000F=[hard_008us.txt] 00.016.598.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.016.598.0 RF 000F=[hard_008us.txt] 00.016.626.0 AD 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300}
16回連続して測定した結果。右の拡大図の赤点が最大強度のポイント。
最大強度の点は、618.9 +/- 2に観測された。delayが0ならば486に観測される はずなので、133早くサンプリングを開始しているので、133送らせてADを入れ ることにする。gateなしの時は63であったが、倍になっているのは謎。
# imgfile M(pnt) 00000897--121606.img 5144489.11(623) 00000899--121808.img 5140368.99(618) 00000900--122014.img 5137334.52(619) 00000903--122225.img 5134008.12(620) 00000904--122414.img 5135422.25(621) 00000906--122736.img 5135723.68(618) 00000907--124931.img 5132428.06(618) 00000908--131704.img 5135719.23(623) 00000909--131929.img 5135615.44(614) 00000910--132309.img 5136006.64(620) 00000911--132551.img 5129739.84(621) 00000912--132936.img 5136476.83(619) 00000913--133130.img 5135784.58(620) 00000915--133406.img 5131683.56(625) 00000917--133633.img 5130508.08(619) 00000921--133905.img 5136372.39(620)
delayを入れて測定した結果。485にエコートップが観測された。パルス照射後 のdeadtimeが170usくらいあってセメントの測定には厳しい。
パルス幅の調整1
どうも指定したパルス幅でハードパルスがでていなということで、オシロで波 形を観察した。RFアンプに入るinputとgateをオシロのCH1とトリガにつなげて 短い繰り返し時間でパルスシーケンスを走らせた。
:DW 1 :NR 1 :TR 10 :TI 100 :NX 1 :LK 0 :LTR 500 :LTE 10 :LPW 120 :LPA 0.300000 :LNR 1 :LOF 0 :LDW 10 :LNP 512 00.002.500.0 PH 0000<-v3{0000,0100,0200,0300} 00.002.500.0 RF 000F=[hard04.txt] 00.002.600.0 AD 0000<-v3{0000,0100,0200,0300}
shapedパルスを指定するファイルの2行目は、1 point(行)あたりのパルス幅だ が、この数字がまったく効いていない。1 point=7.5 usくらいで、4 pointあ れば30 usくらいパルスがでていた。何か勘違いしているのかもしれない。こ のままだと最小のパルス幅は、7.5usになるので少し寂しい。
パルス幅の調整
パルス幅は、現状、8us以下が出せないので180パルスを16usとして調整する こととする。8usと16usのハードパルス用のファイルを作成した。
- 8usハードパルスの生成ファイル
3 ; point 8 1.0 1000 ; us/point gain/dB sweep 0 0 32767 0 0 0
- 16usハードパルスの生成ファイル
4 ; point 8 1.0 1000 ; us/point gain/dB sweep 0 0 32767 0 32767 0 0 0
ADイベントの最調整
パルス幅のイベントで、8us/point以下に設定できないことが判明したので、 ADイベントで、早くサンプリングする時間を再確認した。エコートップを観測 して、予測されるエコートップから逆算して、開始時間のズレを推定した。
; NECH=1 TAU=1000 expected echotop=490.0; Head :DW 1.0 ; dwell/us :TR 500 ; relaxation delay/ms :NR 1000 ; sampling points :NX 8 ; number of scan ; On resonance :LK 8 :LTR 500 :LTE 10 :LPW 120 :LPA 0.300000 :LNR 1 :LOF 0 :LDW 10 :LNP 512 :DU 4 ; Sequence 00.100.000.0 PH 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300} 00.100.000.0 RF 000F=[hard_008us.txt] 00.100.496.0 PH 0000<-v3{0100,0100,0200,0200,0300,0300,0000,0000} 00.100.496.0 RF 000F=[hard_016us.txt] 00.100.517.0 AD 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300}
このパルスシーケンスで、ADイベント発生からサンプリングすれば、490ポイ ントにエコートップが観測されるはずである。実際は、490ポイントに観測さ れたので、やはり60us程度、ADイベント発生より早くサンプリングを開始して いる。60ずらして180パルスのゲート直後から観測するようパルスシーケンス を作成した。ADを変更して再測定した。
00.100.577.0 AD 0000<-v3{0000,0200,0100,0300,0000,0200,0100,0300}
これで観測した結果は以下のとおり。ADのズレは求まった。ただし、 deadtimeが90usくらいある。これは後ほど、改善したいところ。
T2分布データ
エコー時間を150usで20 points、0.01から0.001までlog spaceで150 points 測定するsequenceを作成して測定した。cpmg_20mM-CuSO4-2.seq
測定したデータの逆ラプラス処理してT2分布を得た。問題なく測定できてい るようです。
メモ
拝師さん来訪時のメモ
- DTRX本体
- 送信機(DTRX)のErrのRedランプが点灯しているが気にしない。
- Overのランプ(オーバーシュート)は点灯しているが気にしない。
- DTRX Control画面
- 周波数は24,203,300 Hz
- Gxは、+/-5V(5mA)のトリガを出力できる。
- Customは使わない
- RX total Gainはプリアンプと本体アンプの足し算
- メールメモ
- プローブのダイオードが故障しているかどうかは、RXとTXの導通を見る ダイオードチェック
- TXのattnが12dB以下になると信号がでなくなる。反射の信号がRFアンプに 信号が入っているかもしれないので、RFアンプにクロスダイオード(2万前 後)つけて反射を防ぐ
- 磁石の温度管理が磁場を一定に保つために重要。木箱で囲って温度調整す る。また、磁石の温調は1/100スケールに変更する。
- サンプリングポイントは、shortで32,768が最大でどうしようもない。
- BNCラインは、RF側に指す。Maranに合わせてTXとRXで2つ口がある。TX側 にはクロスダイオードが挟んでいる。
- pulse幅やイベント発生はus単位。パルス幅の微調整をするときはTXのゲ インで微調整する。なおコントロールboxにマウスを当ててwheelで少数1 桁のゲインを変えられる。
- pulse shapeはファイルで指定できる。
- 受信側に保護回路が入っているので、受信側のgateは気にしなくて良い。 パルス照射する間に受信してもプリアンプが壊れることはない。
データファイルのメモ
Cのヘッダファイルに基づいてデータを読むプログラムを作る。
- GX出力をRFのGATEとして使い,長さ微調整することができる。
- NR(データポイント数)はshortなので32768が最大