# -*- coding: utf-8 -*-
"""
Influence de la largeur du spectre sur la duree d'un train d'onde
"""

import numpy as np
import matplotlib.pyplot as plt

# longueur d'onde et pulsation centrale du paquet d'onde
lambda_0 = 500e-9              # longueur d'onde en nm
w_0 = 2*np.pi*3e8 / lambda_0   # pulsation centrale, avec celerite lumiere dans vide

# choix du spectre, peigne de pulsation d'intervalle dw entre pics, et largeur totale 2*N*dw
# [ w - N dw, ..., w, ..., w + N*dw] ]
dw = 0.01 * w_0
N = 10

# valeurs de temps t entre -50 et 50 periodes separees de 0.1 periode
t = np.arange( -50 , 50 , 0.1 ) * 2 * np.pi / w_0
s = np.zeros( len(t) )
for n in range(-N , N+1):
    w_n = w_0 + n*dw
    s += np.cos( w_n * t )
plt.plot ( t , s, label='N = {0:.0f}'.format(N) )
plt.title("Influence de la largeur du spectre sur la duree d'un train d'onde")
plt.xlabel('temps (s)')
plt.ylabel('amplitude [u.a.]')
plt.legend()