Première partie
Rappels théoriques et exercices
4
Chapitre 1
Signaux et systèmes : représentation et
opérations
1.1 Rappel théorique
Signaux et Systèmes
En toute généralité,
• un signal u{·} est une application associant des valeurs u{q} = m, prises dans un ensemble M
(l’image de u), aux valeurs de la variable indépendante q variant dans un ensemble Q (le domaine
de u).
• un système S est un processus associant un ou plusieurs signaux de sortie à un ou plusieurs signaux
d’entrée. Ces signaux peuvent être de types tout à fait différents. Il se peut également que différentes
sorties soient possibles pour une même entrée ; dans ce cas, on dit que le système n’est pas univoque.
Dans ce cours, la variable indépendante q est toujours unidimensionnelle et ordonnée. On abordera deux
types de systèmes.
1. Systèmes dans des espaces vectoriels :
• les signaux prennent leurs valeurs (image) dans un espace vectoriel (R ou C - cfr. cours). La
variable indépendante peut être
– discrète, lorsque le domaine de u est Z (on écrira u[·]) ou
– continue, lorsque le domaine de u est R (on écrira u(·)).
On parlera respectivement de signal en temps discret ou en temps continu, même lorsque la va-
riable indépendante n’est pas le temps.
• les systèmes étudiés agissent sur les signaux définis ci-dessus. Nous n’étudierons en détail que les
systèmes SISO (Single Output - Single Input), admettant un signal d’entrée scalaire u et un signal
de sortie scalaire y, bien que la généralisation aux systèmes MIMO (Multiple Input - Multiple
Output) soit assez immédiate.
2. Automates finis :
• les signaux ont pour domaine les naturels 0, 1, 2, ... (on écrira u[n]) et prennent des valeurs dans
des ensembles finis de symboles abstraits communément appelés alphabets. Les alphabets d’entrée
et de sortie d’un système peuvent être différents.
• les systèmes (plus souvent appelés automates) possèdent une variable interne x, aussi appelée
variable d’état ou état, prenant des valeurs dans un ensemble fini de symboles. L’évolution de la
5
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 6
variable d’état définit un signal d’état. A chaque itération n, en fonction du symbole fourni par le
signal d’entrée u[n] et de son état actuel x[n], l’automate produit le symbole du signal de sortie
y[n] et son nouvel état interne x[n + 1]. Comme pour tout modèle d’état (cfr. chapitres 2 et 4), il
est nécessaire de préciser également l’état initial, i.e. le symbole que prend la variable interne x
pour n = 0, pour pouvoir prédire l’évolution du système.
u - SYSTÈME - y
La plupart des outils développés ne sont applicables qu’aux systèmes linéaires et invariants, notés
LTI (Linear and Time Invariant), qui ne sont définis que pour les systèmes dans des espaces vectoriels
(cfr. chapitre 3). Il est cependant important de se remémorer que les systèmes LTI ne sont qu’une classe
particulière de systèmes, résultant souvent d’une idéalisation de la réalité (par exemple par linéarisation
dans le voisinage d’un comportement de référence, cfr. chapitre 4). Il est donc naturel d’utiliser des moyens
de représentation mathématique convenant à des classes plus larges de systèmes (cfr. chapitre 2).
Transformations de signaux par la variable indépendante
Dans cette section, nous revoyons rapidement quels sont les effets d’une transformation de la variable
indépendante sur le graphe d’un signal, i.e. comment le graphe de y(t) = u(τ (t)) (respectivement y[n] =
u[τ [n]]) est lié à celui de u(t) (respectivement u[n]). Nous nous attacherons plus particulièrement au cas
des transformations affines
τ (t) = at − σ ou
τ [n] = na − σ .
Décalage temporel
Il s’agit du cas a = 1. Nous avons donc les transformations
u(t) −→ u(t − σ) , σ∈R
u[n] −→ u[n − σ] , σ∈Z
Le signal transformé est égal au signal d’origine, décalé de σ vers la DROITE.
3 3
u(t) u(t−2)
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
−0.5 t −0.5 t
−1 −1
σ>0⇒ retard pur décalage vers la droite.
σ<0⇒ avance pure décalage vers la gauche.
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 7
Inversion temporelle
Il s’agit du cas σ = 0, a = −1. Nous avons donc les transformations
u(t) −→ u(−t)
u[n] −→ u[−n]
Le signal transformé est simplement le symétrique du signal d’origine par rapport à l’axe t = 0 (respecti-
vement n = 0).
3 3
u(t) u(−t)
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
−0.5 t −0.5 t
−1 −1
Dilatation ou contraction temporelle
Il s’agit du cas σ = 0 et a > 0. Nous avons alors les transformations
u(t) −→ u at a ∈ R>0
u[n] −→ u na a ∈ (R>0 )
Le signal transformé est égal au signal d’origine DILATÉ de a par rapport à l’axe t = 0 (respectivement
n = 0)
3 3
u(t) u(t/1.5)
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
−0.5 t −0.5 t
−1 −1
a>1⇒ dilatation.
a<1⇒ contraction.
NB : Dans le cas discret, on prend la convention u[τ ] = 0 lorsque τ n’est pas un entier. Ainsi, pour a =
2, le signal transformé u[τ [n]] sera nul pour n impair. Similairement, comme il n’est pas permis d’attribuer
une valeur au signal u[τ [n]] pour n non-entier, toute information contenue dans {u[n] : τ [n] ∩ Z = ∅} sera
perdue après transformée. Cela implique que
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 8
– pour a irrationnel, toute l’information est perdue : u[τ [n]] ≡ 0 ;
– toute l’information est gardée ssi a ∈ N>0 .
Transformation affine générale
Dans ce cas se pose la question de savoir dans quel ordre il faut combiner les opérations que nous
venons d’examiner ; une première remarque évidente est que les opérations d’inversion temporelle et de
dilatation / contraction commutent entre elles. En ce qui concerne le décalage, l’on s’aperçoit que le résultat
respecte l’ordre inverse des priorités usuelles des opérations (parenthèses, multiplications/divisions,
additions/soustractions). En effet, écrivant les deux alternatives
t
[u(t) −→ y1 (t) = u(t t− σ) ; y1 (t) −→ y2 (t) = y1 a ] ⇒ y2 (t) = y1 at = u at − σ ;
[u(t) −→ y1 (t) = u a ; y1 (t) −→ y2 (t) = y1 (t − σ)] ⇒ y2 (t) = y1 (t − σ) = u t−σ a ,
on obtient
– pour le premier cas, la transformation t → t/a−σ en commençant par l’addition (et non la division) ;
– pour le second cas, la transformation t → (t − σ)/a en commençant par la division (et non la
parenthèse).
1.2 Exercices 1 - 4.
Exercice 1 - (+ Ex 28) - Cherchez les différents signaux que vous pouvez associer à une image photo-
graphique. Dans chaque cas, identifiez le domaine et l’image du signal et discutez son adéquation avec
les signaux traités dans le cours de système. Imaginez des systèmes agissant sur ces différents signaux ;
spécifiez clairement les signaux d’entrée et de sortie.
a) - (Exemple) - Une image continue en niveaux de gris peut être représentée par le signal u(x, z) où
x et z désignent les coordonnées horizontale et verticale et où u décrit l’intensité.
Les variables x et z sont continues (⇒ signal en temps continu) et prennent leurs valeurs dans
[0, Xmax ] et [0, Zmax ] respectivement. Ce signal a donc un domaine de dimension 2 ; il faut se
restreindre à une dimension (suivre une courbe sur l’image) afin de pouvoir le traiter avec les outils
vus dans ce cours, à moins de généraliser ces outils à plusieurs dimensions.
Le signal u prend en général ses valeurs dans [0, 1], qui n’est pas un espace vectoriel. Il est cependant
possible, en excluant les points 0 et 1, d’effectuer un changement de variable (0, 1) → (−∞, +∞)
par exemple à l’aide d’une fonction tangente.
b) Essayez de faire un raisonnement similaire pour une image couleur.
c) Que pouvez-vous dire si l’on considère une image composée d’un nombre fini de pixels (u prenant
toujours ses valeurs dans un ensemble continu de R) ? En particulier, essayez de vous ramener à
un signal répondant aux hypothèses de ce cours (notamment, ne dépendant plus que d’une seule
variable).
d) Qu’en est-il du cas d’une image stockée dans un ordinateur, i.e. comportant un nombre fini de pixels
et un nombre fini de couleurs ?
e) - (Exemple) - Un exemple de système agissant sur une image en niveaux de gris est un filtre d’in-
tensité. Dans le cas du signal continu en (x, z) et avec u ∈ (0, 1), nous pourrions imaginer de diviser
l’intensité par 2 en chaque point ("effet lunettes solaires"). On aurait alors y1 (x, z) = u(x, z)/2. Ce
système est SISO ; un changement de variable différent sera cependant nécessaire sur y1 (x, z) pour
qu’il prenne ses valeurs dans un espace vectoriel. Une autre possibilité serait y2 (x, z) = (u(x, z))2 ,
qui prend ses valeurs dans (0, 1) comme le signal d’entrée ; dans ce cas, le même changement de
variable peut être utilisé sur u et y2 .
f) Que dire de la faisabilité du système ci-dessus si l’on dispose d’un nombre fini de couleurs ?
g) Comment définir un système similaire sur une image couleur ?
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 9
h) Considérant un signal du type de c), écrivez la relation entrée-sortie pour un système associant à
chaque pixel la moyenne de ses voisins et analysez ces entrée et sortie.
Exercice 2 - Soit le signal continu x(t) représenté ci-dessous.
3
x(t)
0
−2 −1 0 1 2
t
−1
Tracer les signaux suivants.
a) x(t − 1)
b) x(2 − t)
c) x(2t
+ 1)
d) x 4 − 2t
e) (x(t) + x(−t)) 1I+ (t)
f) x(t) δ(t + 32 ) − δ(t − 32 )
Exercice 3 - Soit le signal discret x[n] représenté ci-dessous.
1.5
x[n]
1
0.5
0
−5 −4 −3 −2 −1 0 1 2 3 4 5
n
−0.5
−1
−1.5
Tracer les signaux suivants.
a) x[n − 4]
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 10
b) x[3 − n]
c) x[3n]
d) x[3n + 1]
e) x[n]1I+ [2 − n]
f) x[n − 2]δ[n − 2]
1 1 n
g) 2 x[n] + 2 (−1) x[n]
h) x[(n − 1)2 ]
Exercice 4 - Imaginer des situations réelles où un signal de sortie est obtenu par transformation affine de
la variable indépendante du signal d’origine. Considérer les cas discret et continu, où t et n représentent le
temps ou une autre variable.
1.3 Applications M ATLAB
c
M ATLAB c est un logiciel permettant de faire des calculs mathématiques "semi-formels". M ATLAB c
connaît un grand nombre d’opérations ou de fonctions mathématiques : fonctions usuelles, calcul matriciel,
fonctions plus spécifiques à des domaines techniques,... . Les outils usuels de l’algorithmique (boucles for
ou while, conditions if ... else, définition de fonctions,...) peuvent également être utilisés avec de
multiples variantes.
Les quelques séances qui vont suivre ont pour but de vous familiariser avec l’utilisation de M AT-
LAB
c dans le cadre des signaux et systèmes. Des compléments d’information peuvent être facilement
obtenus grâce à l’aide incluse dans le logiciel. L’accès à l’aide s’obtient en tapant help fonction, où
fonction représente le nom d’une fonction prédéfinie de M ATLAB c . L’appel à help sans argument
renvoie la liste des sujets pour lesquels l’aide est disponible, ensuite help sujet renvoie la liste des
fonctions relatives au sujet. Dans les versions récentes de M ATLAB c , il est également possible d’accéder
à un menu d’aide interactif, via l’onglet Help proposé en entête de la fenêtre principale ou en cliquant sur
un hyperlien doc fonction apparaissant dans la fenêtre de commande à la fin du commentaire renvoyé
par help fonction. On peut avoir un aperçu des possibilités de M ATLAB c en lançant la commande
demo.
Les présentes lignes n’ont pas vocation d’exhaustivité en ce qu’elles se bornent aux concepts inhérents
aux signaux et systèmes. Il est clair que les possibilités de M ATLAB c sont nettement plus importantes que
celles décrites dans cet ouvrage et que l’on devra faire appel à la documentation complète pour les utiliser.
Représentation d’une fonction
La représentation d’une fonction passe par le stockage des valeurs de cette fonction dans un vecteur ou
dans une matrice.
Exemple :
t = [0:0.1:10];
y = sin(t);
illustre la représentation en mémoire de la fonction y = sin t lorsque t ∈ [0, 10]. La représentation informa-
tique étant par essence discrète, la précision de la représentation est liée à la fréquence d’échantillonnage,
choisie à 10 dans l’exemple. Le choix d’un pas d’échantillonnage suffisamment petit est important en vue
d’une approximation correcte d’un signal continu. Le théorème de Shannon affirme qu’un signal de largeur
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 11
de bande limitée est échantillonné sans perte d’information si la fréquence d’échantillonnage est supérieure
à 2 fois la largeur de bande. Les effets de l’échantillonnage sont étudiés de manière rigoureuse dans le Cha-
pitre 12 du syllabus théorique.
La fonction plot(t,y) permet de représenter les valeurs du vecteur y en fonction des indices du
vecteur t, comme illustré sur la figure suivante pour la fonction définie ci-dessus. Cette fonction fournit
une représentation continue des valeurs discrètes.
0.8
0.6
0.4
0.2
sin(t)
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7 8 9 10
Evolution temporelle t
La fonction stem(t,y) est le pendant discret de la fonction plot. Elle représente, sous forme de
barres verticales, la séquence de données du vecteur y aux valeurs spécifiées sur l’axe des abscisses par le
vecteur t.
0.8
0.6
0.4
0.2
sin(t)
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7 8 9 10
Evolution temporelle t
Résumé des commandes utiles pour le tracé de graphes
CHAPITRE 1. SIGNAUX ET SYSTÈMES : REPRÉSENTATION ET OPÉRATIONS 12
plot(signal) Trace sous la forme d’une courbe les composantes du vecteur signal :
l’axe des x correspond à l’indice de la composante dans le vecteur signal,
l’axe des y à la valeur de la composante.
stem(signal) Trace sous forme d’un échantillonnage discret les composantes du vecteur signal.
subplot(a,b,c) Partage l’écran en une matrice de dimension a × b
et affiche le graphe suivant cette commande dans la région c.
mesh(A) Affiche en 3D les valeurs de la matrice A.
title(’Figure 1’) Inscrit la chaîne de caractères ’Figure 1’ en titre au-dessus du graphe courant.
xlabel(’Abscisses’) Inscrit la chaîne de caractères ’Abscisses’ en regard de l’axe des x.
ylabel(’Ordonnées’) Inscrit la chaîne de caractères ’Ordonnées’ en regard de l’axe des y.
hold on Superpose les graphiques ultérieurs avec l’affichage courant.
hold off Désactive la superposition des graphiques.
Applications
1. a) Créer dans M ATLAB c un signal sinusoïdal de 31 échantillons, régi par l’équation h(t) = g ◦ f
où f (t) = 2t + 1 et g(x) = sin(x).
b) Représenter graphiquement le signal échantillonné h[t].
c) Représenter la fonction h(t) pour t ∈ [−5, 5].
2. c permettant d’obtenir le signal impulsion δ[n].
a) Concevoir un code M ATLAB
b) Générer et tracer les séquences définies ci-dessous en vous servant du point a).
(i) x1 [n] = 1.5δ[n − 333], 300 ≤ n ≤ 350
(ii) x2 [n] = 4.5δ[n + 7], −10 ≤ n ≤ 0
3. Générer et tracer la fonction définie ci-dessous.
π
x[n] = sin √ n , 0 ≤ n ≤ 50
23
Le signal x[n] est-il périodique ?
4. Un signal discrétisé en temps est souvent obtenu par échantillonnage d’un signal continu. Soit le
signal continu
s(t) = A cos (2πf0 t + φ) .
1
Si on l’échantillonne à la fréquence fe = T , on obtient
f0
s[n] = s(t)|t=nT = A cos (2πf0 nT + φ) = A cos 2π n + φ .
fe
a) Ecrire une fonction M ATLAB c qui génère les échantillons de s(t) pour créer une séquence
en temps discret de longueur finie. La fonction utilisera 6 arguments d’entrée : l’amplitude
A, la fréquence f0 , la phase à l’origine φ, l’instant de début, l’instant de fin, et la fréquence
d’échantillonnage fe .
b) Utiliser la fonction créée au point a) pour générer les échantillons définis de manière suivante.
Fréquence = 1200 Hz Fréquence d’échantillonnage = 8000 Hz
Phase initiale = 45 deg Instant initial = 0 s
Amplitude = 50 Instant final = 7 ms
c) Faire deux tracés du signal résultant : l’un en fonction du temps t (en ms), et l’autre en fonction
des indices d’échantillons n.
d) Répéter les points b) et c) avec fe = 1500 Hz.