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

TP2 Signal

Le document présente une manipulation sur la représentation des signaux à l'aide de Matlab, en définissant et visualisant divers types de signaux tels que les signaux continus, discrets, périodiques, et le bruit. Il inclut des instructions de code Matlab pour générer et tracer des signaux comme la rampe, le signe, l'échelon, le signal rectangulaire, et le signal triangulaire, ainsi que des exercices pratiques sur l'addition, la multiplication, l'inversion temporelle, et la translation des signaux. Enfin, il aborde des concepts comme la parité, la décimation et l'interpolation des signaux.

Transféré par

mralwa7
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)
0 vues8 pages

TP2 Signal

Le document présente une manipulation sur la représentation des signaux à l'aide de Matlab, en définissant et visualisant divers types de signaux tels que les signaux continus, discrets, périodiques, et le bruit. Il inclut des instructions de code Matlab pour générer et tracer des signaux comme la rampe, le signe, l'échelon, le signal rectangulaire, et le signal triangulaire, ainsi que des exercices pratiques sur l'addition, la multiplication, l'inversion temporelle, et la translation des signaux. Enfin, il aborde des concepts comme la parité, la décimation et l'interpolation des signaux.

Transféré par

mralwa7
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)

si la fonction stepfun introuvable. Utiliser la fonction echelon en utilisant le fichier


‘’function’’ :

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');

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


Représentation des signaux 17

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

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
Faculté des Sciences et Techniques de Tanger0
-3pi -2pi -pi pi 2pi
Département
3pi
de Génie Electrique
18 Représentation des signaux

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.

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 :
n=0
s = [-2,3,4,1,2] ;
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=');

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


Représentation des signaux 19

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);
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);

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


20 Représentation des signaux

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)
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)

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


Représentation des signaux 21

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

b) Tracer z[n] = x1[n] * x2[n].

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
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 < 𝑡 < −2
−t si −2 <𝑡 < 0
s(t) = t si 0<𝑡<2
2 si 2<𝑡<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] et s2[n] = s[3 – n] + s[n].s[n – 2].
III-4 Parité
Chercher la partie paire et impaire du signal suivant : s[n] = [0 1 2 3 0 0 0 0 0 0 1 0 0].

III-5 Décimation et interpolation


1) Compléter le script suivant pour tracer s(3n):
s[n] = [0 0 0 0 0 0 0.2 0.4 0.6 0.8 1 0.8 0.6 0.4 0.2 0 0 0 0 0 0].
N = …;
n = …;
s = [0 0 0 0 0 0 0.2 0.4 0.6 0.8 1 0.8 0.6 0.4 0.2 0 0 0 0 0 0];
M = 3; % facteur de décimation
y = s([…:…:…])
stem(n(…),y);
n
2) Trouver s(2).

M = 2; % facteur d'interpolation

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


22 Représentation des signaux

y = zeros(1,M*length(s));
y([…:…:…]) = s
m = …;
stem(m,y) ;

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

Vous aimerez peut-être aussi