0% ont trouvé ce document utile (0 vote)
90 vues7 pages

Visualisation de signaux avec Matlab

Transféré par

Redwane Khajrou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
90 vues7 pages

Visualisation de signaux avec Matlab

Transféré par

Redwane Khajrou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Représentation des signaux 15

I- BUT DE LA MANIPULATION
On va essayer de définir et de visualiser certains signaux à l’aide des instructions Matlab.

II- REPRESENTATION TEMPORELLE DES SIGNAUX


II-1 Signaux continus dans le temps
Un signal continu est un signal défini quel que soit le temps t.

II-1-1 Rampe
0 pour t < 0
La fonction rampe est définie par : r(t) = {
t pour t ≥ 0
Tester le script suivant :
t = -3 : 0.01 : 3;
for k = 1 : length(t); % pour trouver les valeurs de r(t) à tous les instants.
if (t(k) < 0)
s(k) = 0;
else
r(k) = t(k);
end
end
plot(t,r)

II-1-2 Signe
−1 pour t < 0
La fonction signe est définie par : sgn(t) = {
+1 pour t > 0
Essayer les instructions suivantes :
t = -5 : 0.01 : 5 ;
s1 = sign(t) ;
subplot(2,2,1) ;
plot(t,s1) ;
s2 = sign(t + 1) ;
subplot(2,2,2) ;
plot(t,s2) ;
s3 = sign(t + 1) + 1 ;
subplot(2,2,3) ;
plot(t,s3) ;
t+3
s4 = sign( 3 ) ;
subplot(2,2,4) ;
plot(t,s4) ;

II-1-3 Echelon
0 pour t < 0
L’échelon ou signal de Heaviside est défini par : u(t) = {
1 pour t > 0
L’échelon u(t - t0) est généré par l’instruction stepfun(t,t0).
Essayer les instructions suivantes :
t = -5 : 0.01 : 5 ;
y = stepfun(t,0) ;

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


16 Représentation des signaux

plot(t,y) ;
z = stepfun(t,4);
plot(t,z);

Tester le script suivant:


t = -5 : 0.01 : 5 ;
x = 0.5 + 0.5*sign(t) ;
plot(t,x)

II-1-4 Signal rectangulaire


Le signal rectangulaire de largeur T, centré en t = 0, ou porte, est défini par :
T
0 pour |t| >
rect(t) = { 2
T
1 pour |t| <
2
On peut avoir une impulsion rectangulaire centrée autour de t = 0, à l’aide de l’instruction
‘’rectpuls’’. La syntaxe est : rectpuls(t,w) où w est la largeur du rectangle. Rectpuls(t) génère
un signal rectangulaire de largeur 1 par défaut.
Essayer les commandes suivantes :
t = -5 : 0.01 : 5 ;
y1 = rectpuls(t,1) ;
y2 = 2*rectpuls(t - 1,3) ;
subplot(2,1,1) ;
plot(t,y1) ;
subplot(2,1,2) ;
plot(t,y2) ;
On peut représenter un signal rectangulaire par une somme des échelons.
Tester le script suivant:
t = -5 : 0.01 : 5 ;
s2 = stepfun(t,-1) ;
subplot(3,1,1);
plot(t,s2);
s1 = stepfun(t,1) ;
subplot(3,1,2);
plot(t,s1,'r');
s=s2-s1;
subplot(3,1,3);
plot(t,s,'g');

II-1-5 Triangle
Le signal triangulaire de base 2T, centré en t = 0 est défini par :
t t
1 − | | pour | | ≤ 1
T T
tri(t) = { t
0 pour | | > 1
T
Un signal triangulaire est généré par l’instruction ‘’tripuls’’.

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


Représentation des signaux 17

Tripuls(t) génère un signal triangulaire de base 1 et centré en t = 0.


1

0.5

0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

tripuls(t,b,s) génère un signal triangulaire asymétrique de base ‘b’ et d’inclinaison s, avec -1 <
s < 1.
x = tripuls(t - 1,2) : triangle de sommet A, de centre 1 et de base 2.
y = tripuls(t - 1,2,0.63) : triangle de sommet A décalé vers la droite de s = 0.63.
z = tripuls(t - 1,2,-0.85) : triangle de sommet A décalé vers la gauche de s = -0.85.
1  s = - 0.85 A  s = 0.63

z(t)
0.5 x(t) y(t)

0
-1 -0.5 0 0,5 1 1.5 2 3

II-1-6 Signaux périodiques


1. Rectangulaire
Pour générer un signal rectangulaire périodique, on utilisera l’instruction ‘’square’’.
square(t) : génère un signal rectangulaire de période 2π variant de -1 à +1.
1
0
-1
-3pi -2pi -pi 0 pi 2pi 3pi

square(t,duty) : génère un signal rectangulaire de période 2π variant de -1 à +1 et de rapport


cyclique duty.
1 Signal rectangulaire de
0 rapport cyclique 25%.
-1
-3pi -2pi -pi 0 pi 2pi 3pi

t
Comparer les signaux suivants: square(2t), square(2πt), 3 + 2.square( ,10).
2

2. Triangulaire
Pour générer un signal triangulaire périodique, on utilisera l’instruction ‘’sawtooth’’.
1
sawtooth(t) : génère un signal en dents de scie, de période 2π, variant de -1 à +1 et de pente π.
1
0
-1
-3pi -2pi -pi 0 pi 2pi 3pi

sawtooth(t,s) : génère un signal en dents de scie, de période 2π, variant de -1 à +1 dont la


position du sommet est contrôlée par s. s est un scalaire appartenant à [0,1]. Si s = 0.5, on a un
signal triangulaire symétrique.

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


18 Représentation des signaux

1
0
-1
-3pi -2pi -pi 0 pi 2pi 3pi

Comparer les signaux suivants: sawtooth(pi*t,0.5); sawtooth(t-pi,0.5);


t
0.5 + 0.5*sawtooth(2,0.25)

II-2 Bruit
Le bruit est défini comme étant un signal indésirable.
La commande randn(1,N) permet de générer un vecteur bruit de taille N de moyenne nulle et
d’écart type 1.
On peut générer un bruit de taille N, de moyenne m et d’écart type σ à l’aide de la
commande : bruit = m + σ randn(1, N).

II-3 Signaux discrets

Les signaux discrets sont représentés dans Matlab à l’aide des vecteurs. On les trace avec
’stem’.
Pour représenter l’origine du signal, le point où n = 0, on utilise une flèche au-dessous du
chiffre correspondant à n = 0.
Le signal discret s[n] =[-2,3,4,1,2] se représente sur Matlab :

s = [-2,3,4,1,2] ; n=0
n = [-1 : 3] ;
stem(n,s)

II-3-1 Impulsion de Dirac


1 si n = 0
L’impulsion de Dirac est défini par : δ[n] = { .
0 si n ≠ 0
1 si n = k
L’impulsion décalée est définie par : δ[n − k] = {
0 si n ≠ k
1) Tester le script suivant:
% a et b sont les limites inférieure et supérieure respectivement, de l'intervalle où
% est définie l'impulsion.
a = input('a=');
b = input('b=');
c = input('c='); % c est l'instant où l'impulsion existe.
n = a:b;
a1 = abs(a);
y = [zeros(1,a1+c),1,zeros(1,b-c)];
stem(n,y)
2) Essayer le script suivant :
N = 15;
n = 0:( N-1);

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


Représentation des signaux 19

x = zeros(N,1);
x(1) = 1 ;
stem(n,x);

II-3-2 Peigne de Dirac


Le peigne de Dirac est une série d’impulsions de Dirac équidistantes, défini par :
+∞
1 si n = kn0
δ n0 [ n ] = { = ∑ δ[n − kn0 ] k∈Z
0 si n ≠ kn0
k=−∞

Pour n0 = 13 ;
train = [1,zeros(1,13)] ;
train = [ train, train, train] ;
stem (train)

II-3-3 Echelon
L’échelon est défini par :
+∞
1 si n ≥ 0
u [ n] = { = ∑ δ[n − k]
0si n < 0
k=0
1) Taper les instructions suivantes :
% a et b sont les limites inférieure et supérieure respectivement, de l'intervalle où
% est défini l'échelon.
a = input('a =');
b = input('b =');
c = input('c =');% c est l'instant où l’échelon vaut 1.
n = a:b;
a1 = abs(a);
u = [zeros(1,a1+c),ones(1,b-c+1)];
stem(n,u) ;
2) Tester le script suivant :
N = 31 ;
n = 0 : N-1 ;
u = [zeros(1,20),ones(1,11)];
stem(n,u);

II-3-4 Signal rectangulaire


1 si 0 ≤ n ≤ N − 1
Le signal rectangulaire discret est défini par : s[n] = {
0 ailleurs
Essayer les commandes suivantes :
L = 31;
N = 10; % durée du signal rectangulaire.
n = 0 : L-1;
s = zeros(1,L);
s(1:N) = ones(1,N); stem (n,s)

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


20 Représentation des signaux

II-3-5 Rampe
0 pour n < 0
La fonction rampe est définie par : r[n] = {
n pour n ≥ 0
Tester le script suivant :
% n1 et n2 sont les limites inférieure et supérieure respectivement, de l'intervalle où
% est définie la rampe.
n1 = input('n1 =');
n2 = input('n2 =');
n = [n1:n2];
m = n1;
for i = 1 : length(n) % pour trouver les valeurs de r[n] à tous les instants.
if (m < 0)
r(i) = 0;
else
r(i) = m;
end
m = m + 1;
end
stem(n,r)

III- TRAVAIL A EFFECTUER


III-1 Addition et multiplication
1) a) Tracer sur l’intervalle t = 0 : 0.001 : 1, deux sinusoïdes : x1(t) de fréquence 1 Hz,
d’amplitude 1V, x2(t) de fréquence 3 Hz et d’amplitude 1V.
b) Tracer le signal s(t) = x1(t) + x2(t).
c) En ajoutant du bruit, on obtient alors le signal suivant : z(t) = s(t) + 2 * randn(size(t)).
Tracer ces quatre signaux en utilisant la commande subplot.
d) Tracer le signal x1(t) × x2(t) et x12 (t).
2) On considère les signaux suivants :
x1[n] = [1 2 3 4 5] définit dans l’intervalle [0,4] et x2[n] = [2 2 1 2 2] dans l’intervalle [-2,2].
a) Compléter le script suivant pour tracer y[n] = x1[n] + x2[n]
n1 = 0:4;
x1 = [1 2 3 4 5];
n2 = -2:2;
x2 = [2 2 1 2 2];
n = min(…):max(…); % durée temporelle de y(n)
y1 = zeros(1,length(n)); y2 = y1; % initialization
y1(find…) = x1; % x1[n] avec la durée de y[n]
y2(find…) = x2; % x2[n] avec la durée de y[n]
y = y1+y2; % addition

III-2 Inversion temporelle
1.5 si − 1 < 𝑡 < 0
1
1) Tracer le signal suivant : y(t) = { − 3 t + 1 si 0 < 𝑡 < 3
0 ailleurs

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique


Représentation des signaux 21

2) Tracer y(-t).

y1 = fliplr…;
t1 = fliplr…;

III-3 Translation ou décalage temporel


1) On considère le signal suivant :

2 si − 4 < t < −2
−t si −2<t<0
s(t) = t si 0<t<2
2 si 2<t<4
{ 0 ailleurs

Tracer s(t), s(t-2) et s(t+3).


2) On considère le signal s[n] = [1 2 3 4 5 6 7 6 5 4 3 2 1]. Tracer les séquences suivantes :
s1[n] = 2s[n – 5] – 3s[n + 4]

Faculté des Sciences et Techniques de Tanger Département de Génie Electrique

Vous aimerez peut-être aussi