예제 #1
0
import sys
sys.path.append('/Users/zac/Research/muon_g2_2015/nmr/bloch_fit')

import matplotlib.pyplot as plt
from pulse import NMRPulsePhaseFit
import util as u
import math

p = NMRPulsePhaseFit(u.get_pulse_path(),
                     zc_use_filter = True,
                     init_signal_cut = 4.0e-4,
                     zc_stop = 20e-3,
                     debug=True,
                     w_ref = 2*math.pi*9685)

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.phase_times, (p.phase_data - p.w_ref*p.phase_times) - p.phase_fit.best_values['d'], linestyle="None", marker=".", markeredgecolor = "#4f4f4f")
plt.plot(p.phase_times, (p.phase_fit.best_fit - p.w_ref*p.phase_times) - p.phase_fit.best_values['d'], color=u.RED)
plt.grid()
plt.gca().set_axis_bgcolor(u.GREY)
plt.title("PHASE VS. TIME FIT")
plt.xlabel("Time (s)")
plt.ylabel("PHASE (rad)")

plt.show()

예제 #2
0
import sys
sys.path.append('/Users/zac/Research/muon_g2_2015/nmr/bloch_fit')

import matplotlib.pyplot as plt
from pulse import NMRPulseFullFit
import util as u
import math
import numpy as np

p = NMRPulseFullFit(u.get_pulse_path(), full_fit_use_filter = False,
                    full_fit_stop = 15e-3, w_ref = 2*math.pi*9685, init_signal_cut = 2.5e-4,
                    time_since_pi2_pulse = 132e-6, debug=True, fit_harmonics=True)

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.raw_times, p.raw_signal, color=u.BLUE, label="raw signal")
plt.plot(p.best_fit_times, p.best_fit, color=u.GREEN, label="fit")
plt.plot(p.best_fit_times, p.fit_residuals, color=u.RED, label="residuals")
plt.legend(loc="lower right")
plt.grid()
plt.gca().set_axis_bgcolor(u.GREY)
plt.xlabel("Time (s)")
plt.ylabel("PHASE (rad)")
plt.xlim(0.0, p.best_fit_times[-1])

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.raw_freqs, np.abs(p.raw_fft), color=u.BLUE, label="raw signal")
plt.plot(p.raw_freqs, np.abs(p.fit_fft), color=u.GREEN, label="fit")
plt.plot(p.raw_freqs, np.abs(p.fit_residuals_fft), color=u.RED, label="residuals")
plt.legend(loc="lower right")
plt.grid()
plt.yscale("log")
예제 #3
0
import matplotlib.pyplot as plt
from pulse import NMRPulseFFT
import util as u
import numpy as np

p = NMRPulseFFT(u.get_pulse_path(), fft_time_cut = 35e-3)

print p.fft_freq

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.raw_freqs, np.abs(p.raw_fft), color=u.BLUE)
plt.plot(p.fft_fit_freqs, p.fft_fit, color=u.RED, alpha = 0.7)
plt.grid()
plt.gca().set_axis_bgcolor(u.GREY)
plt.yscale('log')
plt.title("RAW PULSE FFT")
plt.xlabel("Frequency (Hz)")

plt.show()
예제 #4
0
import sys
sys.path.append('/Users/zac/Research/muon_g2_2015/nmr/bloch_fit')

import matplotlib.pyplot as plt
from pulse import NMRPulse
import util as u

p = NMRPulse(u.get_pulse_path())

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.raw_times, p.raw_signal, color=u.BLUE)

plt.grid()
plt.gca().set_axis_bgcolor(u.GREY)
plt.xlim(p.raw_times[0], p.raw_times[-1])
plt.ylim(-0.8,0.8)
plt.title("RAW PULSE SIGNAL")
plt.ylabel("Voltage (V)")
plt.xlabel("Time (s)")

plt.show()
예제 #5
0
import sys
sys.path.append('/Users/zac/Research/muon_g2_2015/nmr/bloch_fit')

import matplotlib.pyplot as plt
from pulse import NMRPulseFiltered
import util as u
import numpy as np
import math

p = NMRPulseFiltered(u.get_pulse_path())

d_hz = p.raw_freqs[1] - p.raw_freqs[0]
ei = (p.w_ref * 8 / (2*math.pi)) / d_hz

plt.figure(facecolor=u.LIGHTGREY)
plt.plot(p.raw_freqs[:ei], np.abs(p.raw_fft)[:ei], color=u.BLUE)
plt.plot(p.raw_freqs[:ei], np.abs(p.filter_fft)[:ei], color=u.RED, alpha=0.7)
plt.grid()
plt.gca().set_axis_bgcolor(u.GREY)
plt.yscale('log')
plt.title("FILTERED PULSE FFT")
plt.xlabel("Frequency (Hz)")
plt.ylim(np.min(0.99*np.abs(p.raw_fft)), 1.1*np.max(np.abs(p.raw_fft)))

plt.show()
예제 #6
0
import sys
sys.path.append('/Users/zac/Research/muon_g2_2015/nmr/bloch_fit')

import matplotlib.pyplot as plt
from pulse import NMRPulseFullFit, NMRPulsePhaseFit
import util as u
import math

data_path = u.get_pulse_path()

pf = NMRPulseFullFit(data_path, full_fit_use_filter = False,
                    full_fit_stop = 12e-3, w_ref = 2*math.pi*9685, init_signal_cut = 2.5e-4,
                    time_since_pi2_pulse = 132e-6, debug=True, fit_harmonics=True)


pp = NMRPulsePhaseFit(data_path,
                     zc_use_filter = True,
                     init_signal_cut = 4.0e-4,
                     zc_stop = 12e-3,
                     debug=True,
                     w_ref = 2*math.pi*9685)

plt.figure(facecolor="#ffffff")
plt.plot(pp.phase_times, pp.phase_freq_vs_time/(2*math.pi), color=u.BLUE, linewidth = 2.0, label="phase")
plt.plot(pf.best_fit_times, pf.freq_fit, color="#4f4f4f", label="full")
plt.grid()
plt.gca().set_axis_bgcolor(u.LIGHTGREY)
#plt.ylim(-0.6, 0.05)
#plt.xlim(0, 20e-3)
plt.xlabel("Time (s)")
plt.ylabel("Frequency (Hz)")
예제 #7
0
import sys

sys.path.append("/Users/zac/Research/muon_g2_2015/nmr/bloch_fit")

import matplotlib.pyplot as plt
from pulse import NMRHilbertFit
import util as u
import math
import numpy as np

p = NMRHilbertFit(
    u.get_pulse_path(),
    init_signal_cut=4.0e-4,
    debug=True,
    hilbert_stop=20e-3,
    hilbert_cut=2.5e-4,
    w_ref=2 * math.pi * 9685,
)

offset = p.hilbert_phase_nonlinear[0]

plt.figure(facecolor="#ffffff")
plt.plot(p.hilbert_times, p.hilbert_phase_nonlinear - offset, color=u.BLUE, linestyle="None", marker=".", markevery=20)
plt.plot(p.hilbert_times, p.hilbert_fit_nonlinear - offset, color="#ff0000", linewidth=3.0)
plt.grid()
plt.gca().set_axis_bgcolor(u.LIGHTGREY)
plt.ylim(-0.7, 0.1)
plt.xlim(0, p.hilbert_times[-1])
plt.xlabel("Time (s)", fontsize=16)
plt.ylabel("Phase (rad)", fontsize=16)