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。縦 軸は信号強度で横軸はサンプリングポイント。

delay_00.png

図1: スピンエコーで観測された信号。全体(左)、エコートップの拡大(右)

繰り返し測定して得られたエコートップの強度と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回連続して測定した結果。右の拡大図の赤点が最大強度のポイント。

delay_01.png

図2: スピンエコーで観測された信号。全体(左)、エコートップの拡大(右)

最大強度の点は、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くらいあってセメントの測定には厳しい。

delay_02.png

図3: スピンエコーで観測された信号。全体(左)、エコートップの拡大(右)

パルス幅の調整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になるので少し寂しい。

RF_Oscilloscope.JPG

図4: RFパルスをオシロスコープで観察

パルス幅の調整

パルス幅は、現状、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くらいある。これは後ほど、改善したいところ。

2020-04-09.png

図5: 180度パルス直後からサンプリングしたエコー信号

T2分布データ <2020-05-14 木>

エコー時間を150usで20 points、0.01から0.001までlog spaceで150 points 測定するsequenceを作成して測定した。cpmg_20mM-CuSO4-2.seq

測定したデータの逆ラプラス処理してT2分布を得た。問題なく測定できてい るようです。

cpmg_20mM-CuSO4-2.png

図6: 水溶液の1成分フィットとT2分布解析の結果

メモ

拝師さん来訪時のメモ <2020-03-06 金>

  • 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が最大

Digital sequencerのコンパイル

著者: 大窪 貴洋

Created: 2022-11-30 水 21:47

Validate