Astronomie, galaxie Messier 82, chimie, spectrométrie, profils de Gauss, analyse d'un bruit, raie spectrale
La galaxie Messier 82 a été observée par les étudiants du M2 « A&A » à l'Observatoire de l'IRAM au Pico Veleta en 2013. Le spectre « pré-réduit » se trouve dans le fichier « M82_Spec.dat ». Ce fichier comporte 158 560 lignes de données.
1re colonne : Fréquence en MHz, relative à une origine à 90 000 MHz. On convertira les abscisses en GHz.
2e colonne : Intensité en K ?
Lire ce fichier et ranger les données dans deux tableaux.
[...] w = 19.57424570845978 0.1937022307793044 phi = 44.887845077256245 19.62302169435903 a = 0.0005049475367159376 1.8688711645697505e-05 Tracer une portion de ce spectre autour de la raie la plus intense Il s'agit de la transition de rotation de CO à 115.27 GHz In int1 = np.where(np.isclose(f,115.1)) int2 = np.where(np.isclose(f,115.5)) in1 = int1[0] in2 = int2[0] f_raie = f[in1[0]:in2[0]] I_raie = I[in1[0]:in2[0]] ax = plt.subplot(111) ax.plot(f_raie,I_raie) plt.xlabel('Fréquence (en plt.ylabel('Intensité (en Out[11]: Text( 'Intensité (en Fit de la raie Afin de déterminer les caractéristiques de cette raie, on cherche à l'ajuster à l'aide d'une fonction a priori. En général, on utilise des profils de Gauss. Mais ici, on voit que la raie est très asymétrique. Après avoir d'abord utilisé une gaussienne, on pourra tenter une distribution de Gauss asymétrique, telle qu'elle est définie dans l'annexe du polycopié. [...]
[...] Mais il y a une composante supplémentaire Tracer le résidu, et commenter. In plt.xlabel('Nu') plt.ylabel('F(Nu) - fit)/bruit') plt.title("résidu de plt.plot(f2_raie,(I2_raie-funf(f2_raie,*p3))/sig) Out[26]: [
[...] Il y a visiblement deux sources différentes qui contribuent à la raie observée. [...]
[...] Calculer la moyenne et l'écart type du signal dans cet intervalle int1 = np.where(np.isclose(f,100.2)) int2 = np.where(np.isclose(f,102.0)) in1 = int1[0] in2 = int2[0] f_bruit = f[in1[0]:in2[0]] I_bruit = I[in1[0]:in2[0]] ax = plt.subplot(111) ax.plot(f_bruit,I_bruit) plt.xlabel('Fréquence (en plt.ylabel('Intensité (en plt.savefig("Bruit.pdf") In In moy_f_bruit = np.mean(f_bruit) ecart_f_bruit = np.std(f_bruit) print("La moyenne du bruit en intensité est de",moy_f_bruit," K avec un écart moy_I_bruit = np.mean(I_bruit) ecart_I_bruit = np.std(I_bruit) print("La moyenne du bruit en intensité est de",moy_I_bruit,"GHz avec un écart La moyenne du bruit en intensité est de 101.09896015883632 K avec un écart-type de 0.5195878022911133 K La moyenne du bruit en intensité est de -3.595997820499868e-06 GHz avec un écart-type de 0.0007925732040098722 GHz Sélectionner une petite partie de la zone de bruit, et ajuster une sinusoïde sur cet intervalle. Quelle est l'amplitude de ce bruit résiduel ? Tracer le "résidu du résidu". On pourra éventuellement tracer l'histogramme du bruit. [...]
[...] In int1 = np.where(np.isclose(f,88.5)) int2 = np.where(np.isclose(f,88.8)) in1 = int1[0] in2 = int2[0] f2_raie = f[in1[0]:in2[0]] I2_raie = I[in1[0]:in2[0]] In alpha = 0.5 mu = 88.62 sig = 0.05 b = 0.012 p3, pcov3 = curve_fit(funf,f2_raie,I2_raie,p0=[b,sig,mu,alpha]) ax = plt.subplot(111) In ax.plot(f2_raie,I2_raie,f2_raie,funf(f2_raie,*p3)) plt.xlabel('Fréquence (en plt.ylabel('Intensité (en plt.title("raie de print("sig =",p3[1],"+/-",np.sqrt(np.diag(pcov3)[1])) print("mu =",p3[2],"+/-",np.sqrt(np.diag(pcov3)[2])) print("b =",p3[0],"+/-",np.sqrt(np.diag(pcov3)[0])) print("alpha =",p3[3],"+/-",np.sqrt(np.diag(pcov3)[3])) sig = 0.02884436483427736 0.00012140666940757685 mu = 88.61671803456208 6.003568258475104e-05 b = 0.006304459768672361 1.8029004673408592e-05 alpha = 4.616638270087273 0.07446714479848593 On voit que l'aile à haute fréquence de la raie présente une contribution supplémentaire. Le profil trouvé pour CO s'adapte bien. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture