🖥️ Effet de la vitesse de balayage sur un signal sinusoïdal ★

Notebook Capytale de cet exercice : 506a-11678445

On s’intéresse ici à un montage suiveur dont l’entrée est sinusoïdale. Si la fréquence de la sinusoïde est trop élevée, la vitesse de balayage de l’ALI va déformer le signal. On cherche à simuler numériquement la forme du signal de sortie obtenu.

Le signal d’entrée noté 𝑒(𝑡)=𝐴sin(2𝜋𝑓𝑡) avec 𝐴=10 V et 𝑓=300 kHz est envoyé à l’entrée du montage suiveur.

1/ Quelle valeur minimale doit avoir la vitesse de balayage pour que le signal de sortie ne soit pas déformé ?

Coup de pouce 1
Quelle valeur maximale peut atteindre la dérivée de la tension de sortie si elle suit parfaitement l’entrée ?
Coup de pouce 2
Que représente la vitesse de balayage de l’ALI ?
Corrigé

Si le signal de sortie n’est pas déformé, il est égal au signal d’entrée et sa dérivée vaut

𝑠′(𝑡)=𝑒′(𝑡)=2𝜋𝑓𝐴cos(2𝜋𝑓𝑡)

Sa valeur maximale est donc 2𝜋𝑓𝐴=1,9⋅107 V s−1, la vitesse de balayage doit être au moins égale à cette valeur pour ne pas avoir de déformation.

L’ALI simulé a une vitesse de balayage de 14⁠ ⁠V µs−1.

2/ Compléter le code suivant pour mettre en place les variables nécessaires à la simulation.

import numpy as np
f = 300e3        # fréquence du signal d'entrée (Hz)
SR = 14e6        # vitesse de balayage de l'ALI (V/s)
N = 20000        # nombre de points de la simulation
n_périodes = 4   # nombre de périodes du signal à simuler
A = 10           # amplitude du signal d'entrée (V)

T = ...        # période du signal d'entrée (s)
t = np.linspace(0, n_périodes * T, N) # tableau des instants de la simulation (s)
dt = ... # période d'échantillonnage de la simulation (s)

e = ... # signal d'entrée (V)
Coup de pouce 1
La période d’échantillonnage est le temps entre deux instants consécutifs.
Coup de pouce 2
La fonction sin de la bibliothèque numpy peut s’appliquer directement à un tableau et renvoie alors un tableau.
Corrigé
import numpy as np
f = 300e3        # fréquence du signal d'entrée (Hz)
SR = 14e6        # vitesse de balayage de l'ALI (V/s)
N = 20000        # nombre de points de la simulation
n_périodes = 4   # nombre de périodes du signal à simuler
A = 10           # amplitude du signal d'entrée (V)

T = 1 / f        # période du signal d'entrée (s)
t = np.linspace(0, n_périodes * T, N) # tableau des instants de la simulation (s)
dt = t[1] - t[0] # période d'échantillonnage de la simulation (s)

e = A * np.sin(2 * np.pi * f * t) # signal d'entrée (V)

Le principe de la simulation est le suivant : à chaque instant, on calcule la dérivée qu’aurait la sortie si elle suivait parfaitement l’entrée.

3/ Compléter le code suivant pour simuler l’évolution de la tension de sortie de l’ALI.

s = [e[0]] # initialisation : la sortie est initialement égale à l'entrée
for i in ...: # on parcourt tous les instants de la simulation
    if abs(s[i-1] - e[i]) / dt < SR: # la vitesse de balayage n'est pas dépassée
        s.append(...)
    elif e[i] > s[i-1]: # la sortie doit croitre
        s.append(...)
    else: # la sortie doit décroitre
        s.append(...)
Corrigé
s = [e[0]] # initialisation : la sortie est initialement égale à l'entrée
for i in range(1, N):
    if abs(s[i-1] - e[i]) / dt < SR: # la vitesse de balayage n'est pas dépassée
        s.append(e[i])
    elif e[i] > s[i-1]: # la sortie doit croitre
        s.append(s[i-1] + SR*dt)
    else: # la sortie doit décroitre
        s.append(s[i-1] - SR*dt)

Les instructions suivantes permettent de tracer les signaux d’entrée et de sortie simulés.

import matplotlib.pyplot as plt
plt.plot(t,e, label='Entrée')
plt.plot(t,s, label='Sortie')
plt.xlabel('Temps (s)')
plt.ylabel('Tensions (V)')
plt.title('Effet de la vitesse de balayage sur un signal sinusoïdal')
plt.legend()
plt.grid()
plt.show()

4/ Le résultat de la simulation est-il conforme à votre réponse à la première question ?

Corrigé
La sortie diffère effectivement de l’entrée, ce qui est attendu car la vitesse de balayage de l’ALI est inférieure à la valeur minimale calculée à la première question. Le signal de sortie est donc déformé par rapport au signal d’entrée.