Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de...

28
Un signal expérimental est une grandeur physique (oscilloscope, ...) et doit donc être physiquement réalisable. Ces signaux physiques sont représentés par des fonctions x(t) à valeurs réelles d'une variable réelle t. Le signal possède les caractéristiques suivantes : - énergie bornée (tend vers 0 lorsque ) ; - amplitude bornée ; - continu temporellement ; - causal (x(t) = 0 pour t < 0) ; - spectre du signal borné (tend vers 0 lorsque ). Modélisation des signaux Mais sur le plan théorique , pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés par des fonctions : - à énergie théorique infinie (sin(t)); - avec des discontinuités (signal carré) ; - définies sur l'ensemble des réels (sin(t) est définie même pour t<0) ; - à valeurs complexes : x(t) = A e jt = A[cos(t) + j.sin(t)]. 1

Transcript of Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de...

Page 1: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

1

Un signal expérimental est une grandeur physique (oscilloscope, ...) et doit donc être physiquement réalisable. Ces signaux physiques sont représentés par des fonctions x(t) à valeurs réelles d'une variable réelle t. Le signal possède les caractéristiques suivantes :

- énergie bornée (tend vers 0 lorsque ) ;- amplitude bornée ;- continu temporellement ;- causal (x(t) = 0 pour t < 0) ;

- spectre du signal borné (tend vers 0 lorsque ).

Modélisation des signaux

Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés par des fonctions :

- à énergie théorique infinie (sin(t));- avec des discontinuités (signal carré) ;- définies sur l'ensemble des réels (sin(t) est définie même pour t<0) ;

- à valeurs complexes : x(t) = A e jt = A[cos(t) + j.sin(t)].

Page 2: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Modélisation des signaux, propriétés des signaux complexes

module de y :

Argument de y :

conjugué de y :

On associe le point M au nombre complexe

Page 3: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

3

Classification déterministe/aléatoire (phénoménologique)

- les signaux certains (ou déterministes) dont l'évolution en fonction du temps peut être parfaitement décrite par un modèle mathématique. Ces signaux proviennent de phénomènes pour lesquels on connaît les lois physiques correspondantes et les conditions initiales, permettant ainsi de prévoir le résultat ;

- les signaux aléatoires (ou probabilistes) dont le comportement temporel est imprévisible et pour la description desquels il faut se contenter d'observations statistiques.

Page 4: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

4

Classification continu/discret (morphologique)

Les 4 morphologies selon que l’axe des abscisses (temps) ou l’axe des ordonnées (amplitude) est discrétisé ou non.

Page 5: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

𝑢(𝑡 )

i

𝑅=1Ω

𝑃𝑢𝑖𝑠𝑠𝑎𝑛𝑐𝑒 𝑖𝑛𝑠𝑡𝑎𝑛𝑡𝑎𝑛é 𝑒𝑑𝑖𝑠𝑠𝑝𝑖𝑝é 𝑒𝑑𝑎𝑛𝑠 𝑅

𝑃 (𝑡 )=𝑑𝐸 (𝑡)𝑑𝑡

=𝑢 (𝑡 )∗𝑖 (𝑡 )  =  R 𝑖2=𝑢2

𝑅¿

Analogie avec l’électrocinétique pour définir l’Energie d’un signal

Voir un peu plus loin la diapositive« Intégration Numérique »

Page 6: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

6

Classification énergétique

On appelle énergie Eyy et puissance moyenne Pyy d'un signal y(t), les valeurs suivantes :

∗𝑠𝑖 𝑦 𝑒𝑠𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑥𝑒 ,𝑟𝑒𝑚𝑝𝑙𝑎𝑐𝑒𝑟 𝑦2𝑝𝑎𝑟 :

|𝑦|2=𝑦 (𝑡 ) . 𝑦∗ (𝑡 )¿¿

∗ 𝑠𝑖 𝑦 𝑒𝑠𝑡𝑇 −𝑝 é 𝑟𝑖𝑜𝑑𝑖𝑞𝑢𝑒:

𝑃 𝑦𝑦=1𝑇 ∫

0

𝑇

𝑦2𝑑𝑡

On en déduit 2 classes de signaux :

signaux d’énergie finie . On a : . (signaux transitoires, signaux physiques, à support borné: en l’infini positif et négatif, le signal tend vers zéro); Ces signaux sont aussi appelés « signaux de carré sommable ».signaux de puissance moyenne finie non-nulle : On a . (signaux périodiques, quasi-périodiques ou aléatoires permanents).

Page 7: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

signal à puissance nulle (énergie finie) signal à puissance finie (énergie infinie)

Page 8: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

8

Un signal peut être classé suivant la distribution de son énergie ou de sa puissance en fonction de la fréquence (spectre du signal).

Largeur de bande du signal : FFréquence moyenne Fmoy = (Fmax — Fmin)/2

2 classes de signaux :

• signaux à bande étroite : F/Fmoy petit (soit Fmax Fmin) ;

• signaux à large bande : F/Fmoy grand (soit Fmax >> Fmin).

Classification spectrale

Théorème de Parseval:l’énergie d’un signal se retrouve intégralement dans son spectre.X(f), la représentation du signal dans le domaine fréquentiel est obtenu par une transformation de Fourier

Page 9: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

9

Par définition, la distribution (ou « pic ») de Dirac (t) est une impulsion centrée sur t=0 de largeur infiniment étroite et de surface unité. Elle est donc partout nulle sauf en t=0.

La distribution de Dirac (t)

Page 10: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Propriété de localisation

Il est nécessaire de conserver dans l'expression le produit par la distribution de Dirac afin de ne pas perdre l'information temporelle qui lui est liée.

La distribution de Dirac (t)

Produit de 2 fonctionsProduit d’un scalaire et d’une fonction

Par rapport à (t), la courbe (t-t0) est décalée vers les t>0 si t0>0.

La distribution de Dirac permet de « prélever » la valeur d'une fonction pour un temps donné :

Page 11: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

11

La distribution de Dirac (t)

La propriété de localisation permet d’écrire:

soit:

On a aussi :

L’impulsion de Dirac peut aussi être définie par :

1𝑥 (𝑡 )=∫

−∞

+∞

𝑥 (𝜏 ) .𝛿 (𝜏−𝑡 )𝑑𝜏On verra que cette relation peut être comprise comme : « la valeur du signal x à un instant t est égale à l’énergie d’interaction du signal x et d’un pic de Dirac décalé en t »

Page 12: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

TF de fonctions sinusoïdalesDémontrer les relations:

et

en utilisant les formules d’Euler:  

 On rappelle la relation :

Page 13: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Lancer Matlab en double-cliquant l’icône ou sur :

Configurer le bureau « desktop » en défaut

Fermer la fenêtre « historique »

En cliquant sur l’icône naviguer par exemple jusqu’à votre clé usb et créer un nouveau dossier nommé par exemple « master_TdS ». C’est là où seront sauvés vos travaux.

L’icône ouvre un éditeur de texte permettant de créer des programmes (aussi appelés « scripts » ou « M-file ») et des fonctions.

Démarrer Matlab, configurer le « desktop », créer un dossier de travail, ouvrir l’éditeur

Page 14: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Créer un signal en écrivant un programme, utiliser les fonctions ones, size , xlim, ylim, xlabel, ylabel, grid, plotEtudier, réaliser et exécuter le script ci-dessous.Les lignes précédées du symbole « % » sont des commentaires qui ne seront pas exécutées.% Création du vecteur t.% t s'étale de -10 secondes à + 10 secondes par pas de 0.1 seconde. Le ";" évite l'affichage des 201 % éléments.t = -10 : 0.1 : 10;% Création du vecteur p qui sera nul partout sauf entre -0,5 s et +0,5 s.% Exemple 1 : a = ones(2, 4) renvoie une matrice 2 lignes 4 colonnes composée de 1.% Exemple 2 : size(t) renvoie [1, 201].p = ones(1, 201);tau=0.5;% Les éléments de p dont les indices répondent à certaines conditions sont mis à zéro.p(t<-tau)=0;p(t>tau)=0;% On représente le résultat avec "t" en abscisse et "p" en ordonnée. Les points seront symbolisés % par des "o" et reliés entre eux grâce au symbole « - ».plot(t, p, '-o')% On définit les limites du graphe et on fait afficher une grille. On place le titre des axes.xlim([-12, 12])ylim([-0.5, 1.5])grid onxlabel('t(s)')ylabel('fonction "porte"')

Page 15: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Sauver le script sous le nom « A1»

Dans la fenêtre de commandes, taper :>> clear % les variables en cours sont effacées>> clc % la fenêtre des commandes est effacée>> A1 % le script est lancé, les variables apparaissent % dans le « workspace »

Le fichier A1.m apparait dans le répertoire courant

Enregistrer un programme, utiliser les fonctions clear, clc, exécuter un programme en l’appelant

Page 16: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Dans l’éditeur on peut exécuter une partie seulement du programme afin de la mettre au point. Pour cela, sélectionner les lignes à tester, cliquer-droit et « évaluer »

En naviguant dans l’aide, on peut trouver les fonctions Matlab nous permettant d’atteindre nos objectifs. Ici pour calculer l’énergie, on a besoin d’une fonction d’intégration.

Mettre au point un programme, utiliser l’aide

Page 17: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Créer des vecteurs, utiliser l’indexation directe, utiliser l’indexation logiqueDans un programme A0 créer le vecteur a de la façon suivante :a=0:0.1:20;Par défaut Matlab le forme sur une ligne et 201 colonnes :

On peut extraire une partie de a, par exemple les éléments indexés de 1 à 5 : b=a(1:5)Ou de 11 à 20 par pas de 2 : c=a(11:2:20)

Pour rendre un vecteur vertical (201 lignes, 1 colonne), écrire la commande : a=a(:)

L’extraction peut se faire « logiquement » (Vrai/Faux) : d=a(a>0.4)

Page 18: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Etudier, deviner ce que réalisent, puis exécuter chacune des commandes suivantes dans le script A0 ou dans la fenêtre de commandes :

A =zeros(1, 10)

for i=1:2:10, A(i)=1, end

B=[zeros(1,4),ones(1,5)] % les crochets [ et ] sont appelés « opérateur de concaténation

C=[] % la variable C doit être initialisée avant d’être utilisée dans la boucle for…endfor i=1:4, C=[C,zeros(1,2),1], end

D=[1,2,8,0,-4,12]

D=[1,2,8,0,-4,12, -1000];

E=D(2:4)

F=D(D>4)

G=[E, F]

H=[E;F]

I=D(2:2:10)

La fonction « rand » renvoie des nombres aléatoires compris entre 0 et 1. Etudier les 2 commandes suivantes:

K=rand(5,4)K(3:5,3)=1

Page 19: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

19

Mettre une matrice à la puissance 2, utiliser la fonction trapz, calculer l’énergie et la puissance d’un signalAprès avoir lu et étudié les 4 diapositives suivantes concernant les opérations sur les matrices et l’intégration numérique, reprendre le programme A1 qui définit p(t) = 1 si t [-0.5, +0.5]; p(t) = 0 ailleurs.Calculer l’énergie de la « porte » p(t) en complétant le script avec les lignes suivantes :

% On calcule l'énergie.% On définit d'abord le carré de la porte p. Puis on calcule l'intégrale Ep2=p.^2; E=trapz(t,p2);

Mathématiquement on calcule (avec tau=0,5) :

𝐸𝑝=∫−∞

+∞

|𝑝 (𝑡)|2𝑑𝑡= ∫

−𝑡𝑎𝑢

+𝑡𝑎𝑢

|𝑝 (𝑡)|2𝑑𝑡= ∫−𝑡𝑎𝑢

+𝑡𝑎𝑢

1𝑑𝑡=𝑡𝑎𝑢− (− 𝑡𝑎𝑢)=1

Obtenez vous le même résultat avec le script Matlab ? D’où provient la différence théorie/numérique (faire un zoom sur la figure représentant le signal p2(t)) ? Calculer la puissance théoriquement et numériquement la puissance du signal porte.

Page 20: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Addition des matrices (+) Les matrices doivent être de même dimension (size)

Page 21: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Produit élément à élément (.*)Remarquer le point « . » précèdant l’opérateur multiplication.Les 2 matrices doivent être de même dimension (ici elles sont 3X2).La même chose s’applique pour l’opérateur puissance « .^ »

Page 22: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Produit matriciel (*)Le nombre de colonnes de la M1 doit être égal au nombre de lignes de la M2

Page 23: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Intégration numériqueDans ce exemple, il s’agit de calculer l’intégrale qui est égale à l’aire sous la courbe. Cette aire est découpée en rectangles représentés en rouge sur la figure. L’aire de chacun de ces rectangles est et on en fait la sommeCette méthode est améliorée si ce sont des trapèzes qui sont utilisés à la place des rectangles.Sous Matlab, l’opération est réalisée en utilisant la fonction trapz selon la syntaxe :

Avec t = vecteur des temps = et f le vecteur des valeurs de f à ces instants.

Page 24: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Créer un signal sinusoïdal complexe, calculer son énergie et sa puissance, utiliser l’indexation directe d’un vecteur (t(1), t(2), …, t(end))L’objectif est de calculer l’énergie et la puissance du signal sinusoïdal complexe : u(t) = a.exp(jt).Une étude théorique montre qu’on a :

et u(t) étant T-périodique, la définition de la puissance est :

On prendra et rad/s. L’énergie Eu sera calculée sur des domaines de plus en grands : , puis , puis , … La puissance sera calculée selon : , puis , puis , … Les résultats sont-ils conformes à ce que l’on attend ? Pour répondre, mettre les lignes suivantes dans le bon ordre, étudier et exécuter le script qui sera nommé A2 :

u2 = abs(u).^2; % voir l'aide sur « abs », « subplot », …a=2; w=0.5; % la valeur de oméga « w » permet de calculer celle de la période T=2*pi/w=4*pit = 0 : 0.1 : 2*T; u = a*exp(j*w*t);ru=real(u); iu=imag(u); E=trapz(t,u2), P=E/(t(end)-t(1))subplot(2,1,2); plot(t, iu, '-*'), ylim([-2.2, 2.2]), grid onsubplot(2,1,1), plot(t, ru, '-o'), ylim([-2.2, 2.2]), grid onxlabel('t(s)'), ylabel('partie réélle de u(t)')xlabel('t(s)'), ylabel('partie imaginaire de u(t)')T=4*pi;

Page 25: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Utiliser la fonction zeros, créer un delta de DiracOuvrir à nouveau le fichier A1 et le sauver sous le nouveau nom A3. Modifier A3 en changeant le nom du signal « p » en « delta ». Modifier A3 de façon à ce que toutes les valeurs du vecteur delta(t) soient nulles (utiliser la fonction «zeros») sauf en t=0. Affecter à ce point la valeur avec le pas utilisé pour créer le vecteur temps. On pourra utiliser l’indexation logique avec l’opérateur « == ». Vérifier qu’on a .

Créer un delta de Dirac décaléLe programme A5 suivant devrait générer un delta en t0=5.25 secondes. Cela ne marche pas. Modifier le programme pour obtenir le résultat voulu.

Te=0.1;t = -10 : Te : 10;delta = zeros(size(t));t0=5.25;delta(t==t0)=1/Te;plot(t, delta, '-o')grid onxlabel('t(s)')ylabel('delta de Dirac décalé')

Page 26: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Utiliser une boucle for..end, la fonction line, vérifier numériquement une relation du coursSoit le programme A7 suivant :

clearclose allclcpas=10;ticTe=0.01;T_peigne=0.5;t = -5 : Te : 5;delta=0;for f=-100:pas:100delta=delta + exp(2*pi*j*f*t);line(t, abs(delta));endtoc

Déterminer le rôle de chaque commande. Expérimentez les valeurs 10, 5, 2, 1 et 0.5 pour le pas de fréquence. Utilisez le zoom pour faire vos observations. Que deviendrait le signal si on pouvait faire varier la fréquence f continument, cad si on pouvait utiliser un pas infiniment petit (pas=0) ? Quelle relation du cours cette expérience cherche t’elle à illustrer ?

Page 27: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Utiliser la fonction round, créer un peigne de Dirac Dans un programme A6, créer un peigne de Dirac de période seconde et défini de t=-5s à t=5s avec une période d’échantillonnage . Il y aura une dent en t = 0s. Chacune des n « dents » aura une amplitude = 1. On pourra éventuellement utiliser l’indexation logique en remarquant que l’on a :

lorsque t est un multiple de. En langage Matlab, cette condition s’écrit :t==round(t/T_peigne)*T_peigne

Page 28: Modélisation des signaux Mais sur le plan théorique, pour la commodité du calcul et l'étude de certains phénomènes, les signaux peuvent être représentés.

Créer un signal sinusoïdal, utiliser les fonctions subplot et text, vérifier : Pour cela mettre les lignes du script A4 dans le bon ordre :subplot(3,1,2); plot(t, delta),grid ont = -10 : Te : 10;v = a*cos(2*pi*f*t);xlabel('t(s)'), ylabel('delta(t)')delta = zeros(size(t));delta(t==0)=1/Te;text(-8,15,'v(t)*delta(t) comparé avec v(0)*delta(t)', 'BackgroundColor', ‘w')subplot(3,1,3); plot(t, V_delta , ‘-',t, V0_delta , 'o'),grid onV_delta = v.*delta;V0_delta = v(t==0).*delta; subplot(3,1,1), plot(t, v), grid ona=2; f=0.1; Te=0.1;xlabel('t(s)'), ylabel('v(t)')xlabel('t(s)'), ylabel('v(t)*delta(t)')