4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Energie dun signal, analogie avec lélectrocinétique Par analogie si x(t) est un signal, on lui attribue lénergie: si x(t) et y(t) sont 2 signaux, on leur attribue lénergie dinteraction:
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Interaction « glissante » pour la reconnaissance x = Forme à reconnaitre y = Signal à traiter x.y = produit x.y « élément à élément » X =
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Interaction « glissante » pour la reconnaissance x y x.y
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Interaction « glissante » pour la reconnaissance x y x.y
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Interaction « glissante » pour la reconnaissance
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Exemple écho sonar Un signal court formé dun front négatif suivi dun front positif est généré par une source ultra sonore. Un récepteur le recueille après qu'il se soit réfléchi sur un obstacle sous-marin. Le signal recueilli en retour contient du bruit et il faut évaluer le temps daller- retour afin den déduire la distance à laquelle se trouve lobstacle.
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Exemple écho sonar A) synthèse des signaux de lexemple ta=linspace(0, 1, 101); ya=zeros(size(ta)); ya(1:50) = -1; ya(51:101) = 1; plot(ta, ya, 'o') grid title('Le signal "aller"') xlabel('temps(s)'), ylabel('Amplitude') 10 éléments 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1, éléments Avec Te=0,01=1/100, il faut 101 éléments … size(ta) = [1, 101] Les éléments dindices 51 à 101 prennent la valeur « 1 » Afficher la grille Décorations
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Exemple écho sonar A) synthèse des signaux de lexemple tr=linspace(0, 60, 6001); yr=zeros(size(tr)); yr(4201: ) = 0.6*ya; yr = yr + randn(size(tr)); figure plot(tr, yr) title('Le signal "retour"') xlabel('temps(s)'), ylabel('Amplitude') Perte de 40% de lamplitude du signal (absorption dans le milieu) Le retour seffectue après 42 secondes Le signal retour contient du bruit provenant du milieu de propagation
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Exemple écho sonar B) Reconnaissance de limpulsion dans le signal retour N=6001; n=101; for i = 1 : N-n xy = ya.* yr(i : i+n-1); E(i) = sum(xy); end figure plot(tr(1:N-n), abs(E)) On peut représenter le module car l'interaction x-y est plus visible
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Exemple écho sonar C) Détermination du temps aller-retour
Reconnaissance dune lettre dans un mot Cette activité simule la reconnaissance de caractères. Les caractères seront représentés par des signaux ayant une forme particulière. Télécharger les données « lettre_dans_mot.mat « sur picardie.fr/~dellis/tdsMASTER/MASTER_TdS_2012/. Elles consistent en 2 vecteurs: a) un signal « lettre » symbolisant une lettre, quon appellera « alpha »; b) un signal « mot » contenant différentes lettres dont « alpha ». Lobjectif est décrire un programme qui permette de situer la place de « alpha » dans le mot. picardie.fr/~dellis/tdsMASTER/MASTER_TdS_2012/ 0/ Représenter alpha et mot dans 2 figures différentes (on utilisera une syntaxe du type « plot(y) » car il ny a pas de temps dans cette activité). 1/ Quelle est la longueur de alpha ? 2/ Toutes les lettres de mot ont la même longueur que alpha. Quelle est la place de alpha dans mot ? 3/ Ecrire un programme qui implémente lalgorithme de linteraction « glissante ». Linteraction est maximale lorsque la lettre du mot correspond à alpha. Retrouve ton le résultat de 2/. Expliquer.
Télécharger les données DSEI_donnees.mat sur picardie.fr/~dellis/tdsMASTER/MASTER_TdS_2012/. picardie.fr/~dellis/tdsMASTER/MASTER_TdS_2012/ Elles consistent en 3 vecteurs: a) le temps t; b) un signal de référence x(t) et c) un signal mesuré y(t). x(t) est un signal purement sinusoïdal qui a servi à exciter un système physique dont la réponse y(t) mesurée est faible et par conséquent contaminée par du bruit. Lors de la mesure, le manipulateur a cherché à régler un paramètre expérimental PE afin dobtenir la réponse y la plus grande possible (optimisation du rapport signal sur bruit). 1/ Représenter dans un même graphe x et y. Est-il possible en observant la figure, de déterminer la fenêtre de temps pour laquelle le paramètre expérimental PE est optimal (donne la réponse y la plus grande) ? 2/ Soit N le nombre déléments du vecteur t. Quelle est sa valeur ? Soit t 1 la période en secondes de x ? Quelle est sa valeur ? A combien déléments correspond une durée t 1 ? Appelons longueur ce nombre déléments. 3/ Créer un programme traitant les données de façon à ce que lon puisse déterminer la fenêtre de temps pour laquelle le paramètre expérimental PE est optimal (donne la réponse y la plus grande). Corrélation entre un signal de référence et un signal mesuré
4. Analyse spectrale 4.1. Densité Spectrale dEnergie (DSE) 13
4. Analyse spectrale 4.2. Fonction d autocorrélation 14 TF TFi
4. Analyse spectrale 4.3. DSE croisée - Fonction d intercorrélation 15
4/ On complète la boucle précèdente: for i=1:N-longueur [fX, X]=simul_TF(t(i:i+longueur), x(i:i+longueur), []); [fY, Y]=simul_TF(t(i:i+longueur), y(i:i+longueur), []); Sxy=X.*conj(Y); end Remarquer le. devant lopérateur *. Pour comprendre sa signification, expérimenter dans la fenêtre de commandes: >> a=[1, 2; 3, 4] >> b=[5, 6; 7, 8] >> calcul_avec_point= a.*b >> calcul_sans_point= a*b Quelle est la différence entre ces 2 calculs ? Dans laide de Matlab, chercher ce que fait la fonction conj. Finalement que représente Sxy à chaque itération ? 5/ On complète la boucle précèdente: for i=1:N-longueur [fX, X]=simul_TF(t(i:i+longueur), x(i:i+longueur), []); [fY, Y]=simul_TF(t(i:i+longueur), y(i:i+longueur), []); Sxy=X.*conj(Y); [ttemp, Cxy]=simul_TFI(fX, Sxy,[]); Cxy_mean(i)=mean(abs(Cxy)); end Dans laide de Matlab, chercher ce que fait la fonction mean. Que représente Cxy ? Cxy_mean ? ( comparer, pour une itération donnée, leur taille ).
6/ On complète le calcul t_Cxy=linspace(0, t(end), length(Cxy_mean)); plot(t_Cxy, Cxy_mean) Expliquer ce qui est fait ci-dessus. A quels moments le paramètre expérimental PE est-il optimum ? Pour information, les données ont été simulées et générées par le programme suivant: N=4000;tf=50; t=linspace(0, tf, N); % crée un vecteur t régulièrement espacé f1=0.5; t1=1/f1; x=cos(2*pi*f1*t); % crée un signal de référence n=randn(size(t)); % crée un signal aléatoire (n==noise) de même taille que le vecteur t y=x+n; % ajoute ce bruit au signal x pour simuler le signal 'reçu' deb=round(N*0.35); fin=round(N*0.75); % précise les indices où le signal reçu se décorrèle de 50% y(deb:fin)=0.5*y(deb:fin)+ 0.5*n(deb:fin); % diminue l'amplitude pour ces indices et complète avec le bruit plot(t, y, t, x, 'r') % représente le signal référence et reçu