Skip to content
MotionalElectric_new.py 5.22 KiB
Newer Older
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate


#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data

#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')

Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataElectricNew')


Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed
Data = []
for ii in range(1,10):
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed
    Data.append(f"ss0{ii}.dat")
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
#for ii in range(10,20):
#    Data.append(f"ss{ii}.dat")
#for ii in range(40,49):
#    Data.append(f"ss{ii}.dat")
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed

FrequencyVec = []
FluoVec = []

for dd in Data:
    data = np.genfromtxt(dd,
                         skip_header=1,
                         names=True,
                         dtype=None,
                         delimiter=' ')

    FrequencyVec.append([data[i][1] for i in range(len(data))])
    FluoVec.append([data[i][2] for i in range(len(data))])
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
#%%
#visualizo data
ivec = [8]

plt.figure()
for i in ivec:
    plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
# plt.xlim(0.78,0.8)    


Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed

#%%
#los voltajes son 2, 2.5, 3, 5, 7 y 9
ivec = [1,2,3,4, 5, 6, 7,8]
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed

plt.figure()
for i in ivec:
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
plt.xlim(0.78,0.8)    


plt.figure()
for i in ivec:
    plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
plt.xlim(0.87,0.89)    

#%%
#veo la menor radial en funcion del voltaje pp del driving

ivec = [1,2,3,4, 5, 6, 7, 8]

Vpp = [0.5, 2, 2.5, 3, 5, 2.5, 7, 9, 1]

plt.figure()
for i in ivec:
    plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o', label=f'V={Vpp[i]} v')
plt.xlim(0.78,0.8)    
plt.legend()

#%%
#lo arreglo un poco
plt.figure()
plt.plot([f*1e-6+0.001700 for f in FrequencyVec[6]], FluoVec[6],'-o', label=f'V={Vpp[6]} v')
plt.plot([f*1e-6+0.0025 for f in FrequencyVec[7]], FluoVec[7],'-o', label=f'V={Vpp[7]} v')
plt.plot([f*1e-6+0.0013 for f in FrequencyVec[8]], FluoVec[8],'-o', label=f'V={Vpp[8]} v')
plt.plot([f*1e-6 for f in FrequencyVec[3]], FluoVec[3],'-o', label=f'V={Vpp[3]} v')
plt.plot([f*1e-6 for f in FrequencyVec[4]], FluoVec[4],'-o', label=f'V={Vpp[4]} v')
plt.xlim(0.78,0.8)    
plt.legend()






Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed
#%%
import scipy

ivec = [9]

plt.figure()
for i in ivec:
    pics = scipy.signal.find_peaks([-1*f for f in FluoVec[i]], height=-101.5, distance=300)
    plt.plot([1*f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
    plt.plot(np.array(FrequencyVec[i])[pics[0]]*1e-6, -pics[1]['peak_heights'],'o')

aspectratio = (np.array(FrequencyVec[i])[pics[0]][-1]*1e-6)/(np.array(FrequencyVec[i])[pics[0]][0]*1e-6)
print(aspectratio**(-1))

#%%
"""
Nuevas mediciones: dan mejor 
"""


Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric/')

os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric')


Data = []
for ii in range(1,10):
    Data.append(f"s0{ii}.dat")
for ii in range(10,14):
    Data.append(f"s{ii}.dat")
#for ii in range(40,49):
#    Data.append(f"ss{ii}.dat")

Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric2/')

os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric2')



for ii in range(1,10):
    Data.append(f"s0{ii}.dat")
for ii in range(10,24):
    Data.append(f"s{ii}.dat")
#for ii in range(40,49):
#    Data.append(f"ss{ii}.dat")

Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
FrequencyVec2 = []
FluoVec2 = []

for dd in Data:
    data = np.genfromtxt(dd,
                         skip_header=1,
                         names=True,
                         dtype=None,
                         delimiter=' ')

Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    FrequencyVec2.append([data[i][1] for i in range(len(data))])
    FluoVec2.append([data[i][2] for i in range(len(data))])

#%%
#visualizo data
ivec = [3]

plt.figure()
for i in ivec:
    plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'o')
# plt.xlim(0.78,0.8)    


#%%
"""
Miro modo radial con roi chiquita, una en el medio del ion y otra en donde el ion se estira en el costadito
"""
ivec = [33]

plt.figure()
for i in ivec:
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'-o')
#plt.xlim(0.3,0.6)   


#%%
"""
Modos radiales
"""
ivec = [23]
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed

plt.figure()
for i in ivec:
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
    plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'o')
#plt.xlim(0.3,0.6)   
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed

#%%
"""
Todos los modos de una
"""
ivec = [33]

ki=3500
kf=-1500

plt.figure()
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
plt.plot([f*1e-6 for f in FrequencyVec2[27]], FluoVec2[27],'-o')
#plt.plot([f*1e-6 for f in FrequencyVec2[33]][ki:kf], FluoVec2[33][ki:kf],'-o')
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
#plt.xlim(1.5,1.6)   
"""
Miro modo radial con roi chiquita, una en el medio del ion y otra en donde el ion se estira en el costadito
"""
ivec = [0,1]

plt.figure()
plt.plot([f*1e-6 for f in FrequencyVec[0]], FluoVec[0],'o')
plt.plot([f*1e-6+0.003 for f in FrequencyVec[1]], FluoVec[1],'o')
#plt.xlim(0.3,0.6)    


#%%
"""
Encuentro el primer modo relativo que es el breathing por ser sqrt(3)*wx
"""
ivec = [7]

plt.figure()
for i in ivec:
    plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
plt.xlim(1.32,1.42)   
plt.ylim(104.5,108.5)   
Nicolas Nunez Barreto's avatar
agd
Nicolas Nunez Barreto committed