def fingerprint(disp_sim_spin = True,n_sim_spins = 5,xrange = [0,20],): ################### # Add simulated spins # ################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min') #msmp1_f from hdf5 file # msm1 from hdf5 file # ZFG g_factor from hdf5file B_Field = 403.555 # use magnet tools Bz = (msp1_f**2 - msm1_f**2)/(4.*ZFS*g_factor) tau_lst = np.linspace(0,72e-6,10000) Mt16 = SC.dyn_dec_signal(HF_par,HF_perp,B_Field,16,tau_lst) FP_signal16 = ((Mt16+1)/2) ## Data location ## timestamp ='20141016_182539' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts = 40, ssro_calib_folder=ssro_calib_folder) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35,5)) ax = a.default_ax(fig) # ax.set_xlim(15.0,15.5) ax.set_xlim(xrange) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(xrange[0], xrange[1], (xrange[1]- xrange[0])/10)) ax.set_ylim(-0.05,1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, n_sim_spins)) for tt in range(n_sim_spins): ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(n_sim_spins): tot_signal = tot_signal * Mt16[tt,:] fin_signal = (tot_signal+1)/2.0 ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin = True,n_sim_spins = 8,xrange = [0,20]): ################### # Add simulated spins # ################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min') #msmp1_f from hdf5 file # msm1 from hdf5 file # ZFG g_factor from hdf5file B_Field = 403.555 # use magnet tools Bz = (msp1_f**2 - msm1_f**2)/(4.*ZFS*g_factor) tau_lst = np.linspace(0,72e-6,10000) Mt16 = SC.dyn_dec_signal(HF_par,HF_perp,B_Field,64,tau_lst) FP_signal16 = ((Mt16+1)/2) ## Data location ## timestamp ='20141016_234534' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts = 50, ssro_calib_folder=ssro_calib_folder) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35,5)) ax = a.default_ax(fig) # ax.set_xlim(15.0,15.5) ax.set_xlim(xrange) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(xrange[0], xrange[1], (xrange[1]- xrange[0])/10)) ax.set_ylim(-0.05,1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, n_sim_spins)) for tt in range(n_sim_spins): ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(n_sim_spins): tot_signal = tot_signal * Mt16[tt,:] fin_signal = (tot_signal+1)/2.0 ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin = True, RO = 'x'): ################### ## Data location ## ################### if RO == '-x': timestamp ='20140730_140911' # for the -x msmt elif RO == 'x': timestamp ='20140730_134956' # for the +x msmt timestamp = '20140730_184039' ssro_calib_folder = 'D:\\measuring\data\\20140730\\115839_AdwinSSRO_SSROCalibration_Hans_sil1' a, folder = fp_funcs.load_mult_dat(timestamp, number_of_msmts = 80, x_axis_step = 0.5, x_axis_pts_per_msmnt= 51, ssro_calib_folder=ssro_calib_folder) ####################### # Add simulated spins # ####################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min') B_Field = 304.49 tau_lst = np.linspace(0, 72e-6, 10000) Mt16 = SC.dyn_dec_signal(HF_par,HF_perp,B_Field,16,tau_lst) FP_signal16 = ((Mt16+1)/2) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35,5)) ax = a.default_ax(fig) ax.set_xlim(0,40) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(start, end, 0.5)) ax.set_ylim(-0.05,1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, len(HF_par))) for tt in range(len(HF_par)): ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(len(HF_par)): tot_signal = tot_signal * Mt16[tt,:] fin_signal = (tot_signal+1)/2.0 ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin=True, xlim=None): ################### ## Data location ## ################### timestamp = '20140730_145444' # for the -x msmt timestamp = '20140730_142833' # for the +x msmt timestamp = '20140730_213811' ssro_calib_folder = 'D:\\measuring\data\\20140730\\115839_AdwinSSRO_SSROCalibration_Hans_sil1' a, folder = fp_funcs.load_mult_dat(timestamp, number_of_msmts=80, x_axis_step=0.5, x_axis_pts_per_msmnt=51, ssro_calib_folder=ssro_calib_folder) ####################### # Add simulated spins # ####################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms='min') B_Field = 304.49 tau_lst = np.linspace(0, 72e-6, 10000) Mt16 = SC.dyn_dec_signal(HF_par, HF_perp, B_Field, 32, tau_lst) FP_signal16 = ((Mt16 + 1) / 2) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35, 5)) ax = a.default_ax(fig) if xlim == None: ax.set_xlim(0, 40) else: ax.set_xlim(xlim) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(start, end, 0.5)) ax.set_ylim(-0.05, 1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4, label='data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, len(HF_par))) for tt in range(len(HF_par)): ax.plot(tau_lst * 1e6, FP_signal16[tt, :], '-', lw=.8, label='spin' + str(tt + 1), color=colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(len(HF_par)): tot_signal = tot_signal * Mt16[tt, :] fin_signal = (tot_signal + 1) / 2.0 ax.plot(tau_lst * 1e6, fin_signal, ':g', lw=.8, label='tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin) + 'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin) + 'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin = True,xlim =None): ################### ## Data location ## ################### timestamp ='20160110_170758' ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1' a, folder = fp_funcs.load_mult_dat(timestamp, number_of_msmts = 100, x_axis_step = 0.1, x_axis_start = 3.5, x_axis_pts_per_msmnt= 51, ssro_calib_folder=ssro_calib_folder) ####################### # Add simulated spins # ####################### if disp_sim_spin == True: print 'Starting Simulation' HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min', NV = 'Pippin') print 'HF_perp = ' + str(HF_perp) print 'HF_par = ' + str(HF_par) B_Field = 417.268 tau_lst = np.linspace(0, 72e-6, 10000) Mt16 = SC.dyn_dec_signal(HFs_par = HF_par, HFs_orth = HF_perp, B_field = B_Field, N = 32, tau = tau_lst) FP_signal16 = ((Mt16+1)/2) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35,5)) ax = a.default_ax(fig) if xlim == None: ax.set_xlim(3.5,13.5) else: ax.set_xlim(xlim) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(start, end, 0.5)) ax.set_ylim(-0.05,1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, len(HF_par))) for tt in range(len(HF_par)): ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(len(HF_par)): tot_signal = tot_signal * Mt16[tt,:] fin_signal = (tot_signal+1)/2.0 ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin=True, n_sim_spins=5, N=32, xrange=[0, 20], carbons=[1, 2, 3, 4, 5]): ################### # Add simulated spins # ################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms='min', carbon_spins=carbons) #msmp1_f from hdf5 file # msm1 from hdf5 file # ZFG g_factor from hdf5file B_Field = 403.555 # use magnet tools Bz = (msp1_f**2 - msm1_f**2)/(4.*ZFS*g_factor) tau_L = 1 / (1.0705e3 * B_Field) * 1e6 print tau_L tau_lst = np.linspace(0, 72e-6, 10000) Mt16 = SC.dyn_dec_signal(HF_par, HF_perp, B_Field, N, tau_lst) FP_signal16 = ((Mt16 + 1) / 2) ## Data location ## save_folder_str = 'D:/Dropbox/QEC LT/Decoupling memory/Fingerprints/N=' + str( N) if N == 32: timestamp = '20141016_205842' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts=40, ssro_calib_folder=ssro_calib_folder) elif N == 64: timestamp = '20141016_234534' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts=50, ssro_calib_folder=ssro_calib_folder) else: raise Exception('Only N=32 or N=64') print tau_L carbon_relabel = {} carbon_relabel['1'] = '2' carbon_relabel['2'] = '1' carbon_relabel['3'] = '4' carbon_relabel['5'] = '3' carbon_relabel['6'] = '5' ############### ## Plotting ### ############### first_tau = int(np.ceil(xrange[0] / tau_L)) * tau_L last_tau = int(np.ceil(xrange[1] / tau_L)) * tau_L last_tau_nr = int(np.ceil(xrange[1] / tau_L)) fig = a.default_fig(figsize=(16, 4)) ax = a.default_ax(fig) # ax.set_xlim(15.0,15.5) ax.set_title('') ax.set_xlabel(r'$\tau$ $(\mu s)$', fontsize=20) ax.set_ylabel(r'$\langle$X$\rangle$', fontsize=20) ax.set_xlim(xrange) #ax.hlines(0.,xrange[0],xrange[1],linestyles='dotted',linewidth = 1.5) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(np.ceil(xrange[0]), xrange[1], 1)) ax.vlines(first_tau, 0.1, 2, linestyles='dotted', linewidth=1.5) for tau_value in np.arange(first_tau + tau_L, last_tau, tau_L): ax.vlines(tau_value, -2, 2, linestyles='dotted', linewidth=1.5) ax.tick_params(axis='x', which='major', labelsize=15) ax.tick_params(axis='y', which='major', labelsize=15) #ax.set_xticklabels(range(1,last_tau_nr+1)) ax.set_ylim(-1.05, 1.05) handles = [] ax.plot(a.sweep_pts, a.p0 * 2 - 1, '.-k', lw=0.4) #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, n_sim_spins)) for tt, carbon_nr in enumerate(carbons): h = ax.plot(tau_lst * 1e6, FP_signal16[tt, :] * 2 - 1, '-', lw=.8, label='C' + carbon_relabel[str(carbon_nr)], color=colors[tt]) handles.append(h) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(n_sim_spins): tot_signal = tot_signal * Mt16[tt, :] fin_signal = (tot_signal + 1) / 2.0 ax.plot(tau_lst * 1e6, fin_signal, ':g', lw=.8, label='tot') #handles, labels = ax.get_legend_handles_labels() #order= [i[0] for i in sorted(enumerate(labels), key=lambda x:x[1])] #handles = handles[order] #labels = labels[order] # sort both labels and handles by labels #labels, handles = zip(*sorted(zip(labels, handles), key=lambda t: t[0])) #ax.legend(handles, labels) plt.legend(loc='lower left', frameon=False, fontsize=15, columnspacing=0.2, handletextpad=0.0) print folder plt.savefig(save_folder_str + 'fingerprint.pdf', format='pdf', bbox_inches='tight') plt.savefig(save_folder_str + 'fingerprint.png', format='png')
def fingerprint(disp_sim_spin=True, xlim=None): ################### ## Data location ## ################### timestamp = '20160110_170758' ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1' a, folder = fp_funcs.load_mult_dat(timestamp, number_of_msmts=100, x_axis_step=0.1, x_axis_start=3.5, x_axis_pts_per_msmnt=51, ssro_calib_folder=ssro_calib_folder) ####################### # Add simulated spins # ####################### if disp_sim_spin == True: print 'Starting Simulation' HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms='min', NV='Pippin') print 'HF_perp = ' + str(HF_perp) print 'HF_par = ' + str(HF_par) B_Field = 417.268 tau_lst = np.linspace(0, 72e-6, 10000) Mt16 = SC.dyn_dec_signal(HFs_par=HF_par, HFs_orth=HF_perp, B_field=B_Field, N=32, tau=tau_lst) FP_signal16 = ((Mt16 + 1) / 2) ############### ## Plotting ### ############### fig = a.default_fig(figsize=(35, 5)) ax = a.default_ax(fig) if xlim == None: ax.set_xlim(3.5, 13.5) else: ax.set_xlim(xlim) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(start, end, 0.5)) ax.set_ylim(-0.05, 1.05) ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4, label='data') #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, len(HF_par))) for tt in range(len(HF_par)): ax.plot(tau_lst * 1e6, FP_signal16[tt, :], '-', lw=.8, label='spin' + str(tt + 1), color=colors[tt]) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(len(HF_par)): tot_signal = tot_signal * Mt16[tt, :] fin_signal = (tot_signal + 1) / 2.0 ax.plot(tau_lst * 1e6, fin_signal, ':g', lw=.8, label='tot') plt.legend(loc=4) print folder plt.savefig(os.path.join(folder, str(disp_sim_spin) + 'fingerprint.pdf'), format='pdf') plt.savefig(os.path.join(folder, str(disp_sim_spin) + 'fingerprint.png'), format='png')
def fingerprint(disp_sim_spin = True,n_sim_spins = 5,N=32,xrange = [0,20],carbons=[1,2,3,4,5]): ################### # Add simulated spins # ################### if disp_sim_spin == True: HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min',carbon_spins=carbons) #msmp1_f from hdf5 file # msm1 from hdf5 file # ZFG g_factor from hdf5file B_Field = 403.555 # use magnet tools Bz = (msp1_f**2 - msm1_f**2)/(4.*ZFS*g_factor) tau_L = 1/(1.0705e3*B_Field)*1e6 print tau_L tau_lst = np.linspace(0,72e-6,10000) Mt16 = SC.dyn_dec_signal(HF_par,HF_perp,B_Field,N,tau_lst) FP_signal16 = ((Mt16+1)/2) ## Data location ## save_folder_str = 'D:/Dropbox/QEC LT/Decoupling memory/Fingerprints/N=' + str(N) if N==32: timestamp ='20141016_205842' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts = 40, ssro_calib_folder=ssro_calib_folder) elif N==64: timestamp ='20141016_234534' ssro_calib_folder = 'D:\\measuring\\data\\20141016\\150451_AdwinSSRO_SSROCalibration_111_1_sil18' a, folder = load_mult_dat(timestamp, number_of_msmts = 50, ssro_calib_folder=ssro_calib_folder) else: raise Exception('Only N=32 or N=64') print tau_L carbon_relabel = {} carbon_relabel['1'] = '2' carbon_relabel['2'] = '1' carbon_relabel['3'] = '4' carbon_relabel['5'] = '3' carbon_relabel['6'] = '5' ############### ## Plotting ### ############### first_tau = int(np.ceil(xrange[0]/tau_L))*tau_L last_tau = int(np.ceil(xrange[1]/tau_L))*tau_L last_tau_nr = int(np.ceil(xrange[1]/tau_L)) fig = a.default_fig(figsize=(16,4)) ax = a.default_ax(fig) # ax.set_xlim(15.0,15.5) ax.set_title('') ax.set_xlabel(r'$\tau$ $(\mu s)$',fontsize = 20) ax.set_ylabel(r'$\langle$X$\rangle$',fontsize = 20) ax.set_xlim(xrange) #ax.hlines(0.,xrange[0],xrange[1],linestyles='dotted',linewidth = 1.5) start, end = ax.get_xlim() ax.xaxis.set_ticks(np.arange(np.ceil(xrange[0]), xrange[1], 1)) ax.vlines(first_tau,0.1,2,linestyles='dotted',linewidth=1.5) for tau_value in np.arange(first_tau+tau_L, last_tau, tau_L): ax.vlines(tau_value,-2,2,linestyles='dotted',linewidth=1.5) ax.tick_params(axis='x', which='major', labelsize=15) ax.tick_params(axis='y', which='major', labelsize=15) #ax.set_xticklabels(range(1,last_tau_nr+1)) ax.set_ylim(-1.05,1.05) handles = [] ax.plot(a.sweep_pts, a.p0*2-1, '.-k', lw=0.4) #N = 16 if disp_sim_spin == True: colors = cm.rainbow(np.linspace(0, 1, n_sim_spins)) for tt, carbon_nr in enumerate(carbons): h = ax.plot(tau_lst*1e6, FP_signal16[tt,:]*2-1 ,'-',lw=.8,label = 'C' + carbon_relabel[str(carbon_nr)], color = colors[tt]) handles.append(h) if False: tot_signal = np.ones(len(tau_lst)) for tt in range(n_sim_spins): tot_signal = tot_signal * Mt16[tt,:] fin_signal = (tot_signal+1)/2.0 ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot') #handles, labels = ax.get_legend_handles_labels() #order= [i[0] for i in sorted(enumerate(labels), key=lambda x:x[1])] #handles = handles[order] #labels = labels[order] # sort both labels and handles by labels #labels, handles = zip(*sorted(zip(labels, handles), key=lambda t: t[0])) #ax.legend(handles, labels) plt.legend(loc='lower left',frameon=False,fontsize=15,columnspacing=0.2,handletextpad=0.0) print folder plt.savefig(save_folder_str+'fingerprint.pdf', format='pdf',bbox_inches='tight') plt.savefig(save_folder_str+'fingerprint.png', format='png')