ENSET Mohammedia Année universitaire : 2025/2026
TP1 Initiation Python
Objectif du Tp : apprendre à coder en python des traitements qui peuvent être utiles en
génie électrique, et se familiariser avec un environnement du langage Python.
Partie A :(traitement de signal)
1. Générer un signal x(t)=A cos (2πf0t) avec l’amplitude A=6, et de fréquence f0=20Hz.
Afficher x(t) sur 4 périodes, ajouter (titre, xlabel, ylabel, grid ).
2. Représenter le sinc(t)=sin(πt)/πt entre [-8,8], ajouter (titre, xlabel, ylabel, grid ).
3. Générer les fonctions de base suivantes :
4. Représenter la transformée de Fourier de :
✓ Du signal x(t)
✓ D’un signal rectangulaire centré sur la valeur 100 est de longueur 100.
5. Taper le programme suivant, ajouter un commentaire à chaque ligne puis déduire l’utilité
de la fonction stem.
import [Link] as plt
import numpy as np
x = [Link](0.2, 2 * [Link], 30)
y = [Link]([Link](x))
[Link](x, y)
[Link]()
6. Synthèse de filtre analogique :
Selon un cahier de charge de votre choix, synthétiser 4 types de filtre en se basant sur le
programme ci-dessous
from scipy import signal
import [Link] as plt
Professeur : [Link] 1
ENSET Mohammedia Année universitaire : 2025/2026
import numpy as np
b, a = [Link](…,….,'…..',analog=True)
w, h = [Link](b, a)
[Link](w, 20 * np.log10(abs(h)))
[Link]('Butterworth filter frequency response')
[Link]('Frequency [radians / second]')
[Link]('Amplitude [dB]')
[Link](0, 0.1)
[Link](which='both', axis='both')
[Link](…., color='green') # cutoff frequency
[Link]()
Partie B : (Asservissement)
1. Interconnexion des Blocs :
5 3
Définir deux fonctions de transfert : 𝐺 = 3𝑠²+𝑠+0.2 𝐹 = 0.7𝑠+2
2. Déterminer la fonction de transfert par la mise en :
✓ En parallèle de F et G
✓ En série de F et G
✓ F dans la chaine directe et G dans la chaine de retour.
2
3. Tracer la réponse indicielle de 𝑇 = 5𝑠²+0.7𝑠+1
4. Tracer la réponse impulsionnelle de T.
5. Donner le diagramme de Bode ainsi que les marges de stabilités du F*G et de T, que
peut-on dire sur la stabilité.
6. Proposer les paramètres d’un correcteur avance de phase pour améliorer la stabilité du
système.
7. Donner le diagramme de Bode ainsi que les marges de stabilités du système après
correction.
I. Partie C : (Traitement d’image)
1. Importer une image puis l’afficher en couleur et en nuance de gris puis afficher son
histogramme.
[Link]([Link](),256,[0,256])
2. Mettre tous les pixels d’intensité inferieur à 30 égales à 0 et les pixels supérieurs à 230 à
255, Que peut-on dire sur la qualité d’image affichée après cette opération.
3. Redimensionner l’image d’origine par deux méthodes (un rapport de 2) et afficher
l’image réduite.
Imgred = [Link](img, (0,0), fx=…., fy=…..)
Professeur : [Link] 2
ENSET Mohammedia Année universitaire : 2025/2026
Imgred1 = [Link](img, (….., ……))
II. Partie D : (Traitement de la vidéo)
Développer un programme Python pour analyser une séquence vidéo et calculer la vitesse
des véhicules en temps réel.
Étapes du traitement
1. Acquisition vidéo - Lecture des frames
2. Prétraitement - Amélioration de la qualité d'image
3. Détection des véhicules - Identification des objets mobiles
4. Suivi - Association des véhicules entre les frames
5. Calcul de vitesse - Conversion pixels → mètres → km/h
Professeur : [Link] 3