On souhaite démoduler un signal modulé en amplitude . On utilise pour cela le montage ci-dessous, appelé détecteur d’enveloppe.
1/ Montrer que lorsque la diode est passante (c’est-à-dire qu’elle se comporte comme un fil) .
Lorsque la diode est passante, elle se comporte comme un simple fil : le point d’entrée et le nœud de sortie sont directement reliés, sans qu’aucune différence de potentiel n’apparaisse à ses bornes. On a donc directement
2/ Déterminer l’équation différentielle vérifiée par lorsque la diode est bloquée (c’est-à-dire qu’elle se comporte comme un interrupteur ouvert).
Lorsque la diode est bloquée, elle se comporte comme un interrupteur ouvert : aucun courant ne peut plus provenir de l’entrée . Le courant se répartit alors entre et , en parallèle : , donc , soit
Le condensateur , chargé lorsque la diode conduisait, se décharge alors dans .
On utilise Python pour simuler l’évolution de sur l’exemple d’un signal à transmettre sinusoïdal :
3/ Compléter le code ci-dessous pour tracer .
import numpy as np
import matplotlib.pyplot as plt
omega_p = 2*np.pi*200 # (rad/s) pulsation de la porteuse
omega_s = 2*np.pi*1.5 # (rad/s) pulsation du signal
A0 = 2 # (V) amplitude du signal
m = 0.7 # taux de modulation
t = np.linspace(0,1,2000) # temps (s)
e = ... # signal modulé en amplitude
plt.clf() #effacement de précédents tracés
plt.plot(t, e, label="signal modulé")
plt.legend()
plt.show()cos de la bibliothèque numpy accepte en argument un tableau de valeurs et renvoie un tableau de valeurs cosinus correspondantes.import numpy as np
import matplotlib.pyplot as plt
omega_p = 2*np.pi*200 # pulsation de la porteuse
omega_s = 2*np.pi*1.5 # pulsation du signal
A0 = 2 # (V) amplitude du signal
m = 0.7 # taux de modulation
t = np.linspace(0,1,2000) # temps (s)
e = A0 * np.cos(omega_p*t) * (1+m*np.cos(omega_s*t)) # signal modulé en amplitude
plt.clf() #effacement de précédents tracés
plt.plot(t, e, label="signal modulé")
plt.xlabel("temps (s)")
plt.ylabel("tension (V)")
plt.legend()
plt.show()Pour résoudre numériquement l’équation différentielle obtenue précédemment, on utilise la méthode d’Euler.
4/ Montrer que l’équation différentielle mène, une fois discrétisée, à la relation de récurrence
où est le pas de temps et .
La relation de Taylor d’ordre 1 permet d’écrire
c’est-à-dire
En remplaçant par l’équation différentielle obtenue précédemment, on obtient
En effectuant le changement d’indice , on obtient la relation demandée
5/ Compléter le code ci-dessous pour simuler l’évolution de .
Dt = ... # pas de temps (s)
R = 40e3 # (Ohm) résistance
C = 1e-6 # (F) capacité
s = np.zeros(len(t)) # initialisation
for i in range(1,len(t)):
s[i] = ... # méthode d'Euler
if s[i] < e[i]: # si e dépasse s, la diode devient passante
...t.Dt = t[1] - t[0] # pas de temps (s)
R = 40e3 # (Ohm) résistance
C = 1e-6 # (F) capacité
s = np.zeros(len(t)) # initialisation
for i in range(1,len(t)):
s[i] = (1- Dt/(R*C)) * s[i-1] # méthode d'Euler
if s[i] < e[i]: # si e dépasse s, la diode devient passante
s[i] = e[i]6/ Écrire les instructions permettant de tracer et sur le même graphique.
plt.clf()
plt.plot(t,e, label="signal modulé")
plt.plot(t,s, label="signal démodulé")
plt.xlabel("temps (s)")
plt.ylabel("tension (V)")
plt.legend()
plt.show()En fonctions de valeurs de , le signal démodulé peut être plus ou moins fidèle au signal à transmettre.
7/ En modifiant les valeurs de dans le programme, dans quelle plage de valeurs le signal démodulé suit-il correctement l’enveloppe du signal modulé ?
8/ Quelles conditions doit vérifier le produit pour que le signal démodulé suive correctement l’enveloppe du signal modulé ?
Pour que le signal démodulé suive correctement l’enveloppe du signal modulé , il faut que le produit soit grand devant la période de la porteuse et petit devant la période du signal à transmettre.
c’est-à-dire