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()
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")
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()
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()
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()
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)")
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)