Energie d’un signal, énergie d’interaction, analogie avec l’électrocinétique 𝑃 𝑡 =𝑢 𝑡 ∗𝑖(𝑡) 𝑃 𝑡 =𝑅∗𝑖 𝑡 ∗𝑖(𝑡)∝ 𝑖 2 𝑃 𝑡 =𝑢 𝑡 ∗ 𝑢 𝑡 𝑅 ∝ 𝑢 2 𝑷 𝒕 = 𝒅 𝒅𝒕 𝑬 𝒕 i(𝑡) 𝑢(𝑡) 𝑅=1 Ω 𝐸= −∞ +∞ 𝑃 𝑡 𝑑𝑡 = −∞ +∞ 𝑢(𝑡) 2 𝑑𝑡 = −∞ +∞ 𝑖(𝑡) 2 𝑑𝑡 Par analogie si x(t) est un signal réel, on lui attribue l’énergie: si x(t) et y(t) sont 2 signaux réels, on leur attribue l’énergie d’interaction: 𝐸 𝑥𝑥 = −∞ +∞ 𝑥 𝑡 .𝑥 𝑡 𝑑𝑡 𝐸 𝑥𝑦 = −∞ +∞ 𝑥 𝑡 .𝑦 𝑡 𝑑𝑡
Energie d’interaction Les flèches noires indiquent 2 maximas successifs : les 2 signaux ont une forte ressemblance 𝐸 𝑠𝑦 = −∞ +∞ 𝑠 𝑡 .𝑦 𝑡 𝑑𝑡 =𝐴𝑖𝑟𝑒 𝑟𝑜𝑢𝑔𝑒
Energie d’interaction Les flèches noires indiquent 2 maximas successifs : les 2 signaux ont une faible ressemblance 𝐸 𝑠𝑦 = −∞ +∞ 𝑠 𝑡 .𝑦 𝑡 𝑑𝑡 =𝐴𝑖𝑟𝑒 𝑟𝑜𝑢𝑔𝑒 −𝐴𝑖𝑟𝑒 𝑣𝑒𝑟𝑡𝑒
Interaction « glissante » pour la reconnaissance, multiplication de 2 signaux Produit x.y à un instant particulier 𝑥 𝑡 = Forme à reconnaitre 𝑡 000111100000000000000000000000000000000000000000000000000000000000000000000000000 𝑦 𝑡 = Signal contenant la forme « x » à un instant supposé inconnu X 𝑡 000000000000000000000000000000000000000000000000000000000000000000004444000000000 = 𝑥 𝑡 .𝑦 𝑡 = produit x.y « élément à élément » 𝑡 000000000000000000000000000000000000000000000000000000000000000000000000000000000 𝐸 𝑥𝑦 = Aire sous la courbe x.y= −∞ +∞ 𝑥 𝑡 .𝑦 𝑡 𝑑𝑡 =0
Interaction « glissante » pour la reconnaissance 𝑥 𝑡− 𝜏 1 𝜏 1 𝑡 𝑦 𝑡 𝑡 𝑥 𝑡− 𝜏 1 .𝑦 𝑡 𝑡 On décale la « forme » d’une quantité 𝜏 1 et on calcule l’énergie d’interaction 𝐸 𝑥𝑦 = Aire sous la courbe = −∞ +∞ 𝑥 𝑡− 𝜏 1 .𝑦 𝑡 𝑑𝑡 =0
Interaction « glissante » pour la reconnaissance 𝑥 𝑡− 𝜏 2 𝜏 2 𝑡 x 𝑦 𝑡 𝑡 y 𝑥 𝑡− 𝜏 2 .𝑦 𝑡 𝑡 x.y Lorsque les 2 signaux se recouvrent, l’énergie d’interaction 𝐸 𝑥𝑦 augmente. Elle est maximum lorsque les 2 signaux se recouvrent exactement. Puis diminue lorsque la forme glissante s’éloigne de la forme « cachée » dans y. 𝐸 𝑥𝑦 = Aire sous la courbe = −∞ +∞ 𝑥 𝑡−𝜏 .𝑦 𝑡 𝑑𝑡 ≠0
Interaction « glissante » pour la reconnaissance L’énergie d’interaction dépend donc du décalage 𝜏 et on peut écrire : 𝐸 𝑥𝑦 = 𝐸 𝑥𝑦 (𝜏) 𝐸 𝑥𝑦 (𝜏) 𝜏 𝜏 0 L’énergie d’interaction possède un maximum pour un décalage 𝜏= 𝜏 0 . La forme a été localisée dans le signal à cette position. Avec Matlab, on utilisera la fonction de convolution « conv » pour réaliser une opération similaire à cette « interaction glissante ».
Créer un signal bruité en utilisant les fonctions linspace et randn Dans un script B4 utiliser la fonction linspace pour créer un vecteur temps t s’étendant de 0 à 1 secondes en 1000 valeurs. Créer un signal réel 𝑦= 𝐴 1 .𝑠𝑖𝑛 2𝜋 𝑓 1 𝑡 + 𝐴 2 .𝑠𝑖𝑛 2𝜋 𝑓 2 𝑡 avec : les amplitudes 𝐴 1 =4 et 𝐴 2 =1 les fréquences 𝑓 1 =7 𝐻𝑧 et 𝑓 2 =2 𝐻𝑧 Créer un vecteur nommé « bruit » et de même taille que y. Pour cela utiliser la fonction randn (voir la description donnée dans l’aide). Additionner le bruit au signal y simplement en écrivant : y = y + bruit; Le représenter et décorer le graphe.
Créer une série de sinusoïdes, utiliser num2str On veut générer 10 sinusoïdes de fréquence f=1 Hz jusqu’à f=10 Hz. Ecrire un programme B5 qui génère la figure ci-dessous. Le vecteur temps s’étendra de 0 à 1 seconde en 1000 valeurs. Une boucle for…end sera utilisée pour faire varier la fréquence des sinusoïdes s=sin(2*pi*f*t). La fonction num2str sera utilisée pour produire le titre des sous-graphes.
Energie d’interaction entre un signal bruité et des sinusoïdes de fréquence croissante L’objectif est décrit dans le titre. Après avoir lancé B4 pour récupérer le signal bruité y, écrire le script B6 qui donne l’NRJ d’interaction entre y et les sinusoïdes de fréquence f = 0, 0.5, 1, 1.5, 2, 2.5, …, 10. Si vous n’y parvenez pas, mettre les lignes ci-dessous dans le bon ordre: ylabel('énergie d''interaction') interaction(i)=trapz(t,multiplication); title('Ressemblance entre y et sin(2*pi*f*t) en fonction de f') multiplication=s.*y; t=linspace(0,1,1000); f=0:0.5:10; s=sin(2*pi*f(i)*t); end plot(f,interaction) for i=1:length(f) interaction=zeros(size(f)); xlabel('f (Hz)')
Exemple écho sonar Un signal appelé dans la suite, signal « aller », formé d’un front négatif suivi d’un 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. Dans la suite, ce signal reçu sera appelé signal « retour ». Il contient du bruit et il faut l’analyser pour en déduire la distance à laquelle se trouve l’obstacle.
Utiliser la fonction linspace, créer les vecteurs temps et signal « aller » d’un radar Dans un programme nommé B1, utiliser la fonction linspace pour créer le vecteur temps ta correspondant au signal aller. ta s’étendra de 0 à 1 seconde en 100 valeurs. Utiliser la fonction zeros pour créer le signal aller ya qui aura la même taille que ta. Affecter la valeur -1 aux 50 premiers éléments et +1 aux 50 derniers de ya. Représenter ce signal, mettre un titre et décorer le graphe comme ci-dessous.
Télécharger le signal « retour » du radar A l’instant même où le signal « aller » commence à être émis, le radar se met à « l’écoute » (l’origine des temps est donc commune aux 2 signaux). Télécharger le fichier « signal_retour » contenant les vecteurs temps tr et signal « retour » yr depuis le répertoire : http://www.u-picardie.fr/~dellis/tdsMASTER/master_files_TdS/ Le signal retour contient « l’écho », c’est-à-dire la répétition du signal aller. Est-il possible d’identifier le signal aller au sein du signal retour ? Le signal retour contient du bruit provenant du milieu de propagation
Utiliser la fonction « conv » pour la reconnaissance de l’impulsion dans le signal retour, utiliser la fonction length (longueur) On appelle « convolution » une opération de multiplication/integration « glissante » similaire à celle qui a été présentée plus haut. Dans un programme B3 : Nommer « convolution » le vecteur renvoyé par la convolution de ya et de yr : conv(ya, yr). Ce vecteur contient des valeurs négatives. Afin d’en faire un vecteur positif plus exploitable, utiliser l’instruction « convolution = abs(convolution) » ou « convolution = convolution.^2 ». Quelle est la longueur N du vecteur convolution? Quelle est, selon vous, la relation entre N et les longueurs des vecteurs ya e yr ? Créer un vecteur temps ti, s’ étendant de 0 à 60 secondes en N éléments. Représenter et décorer le graphique convolution = f(ti). La vitesse du son dans l’eau de mer étant de 1550 m/s, déduire du graphique obtenu la distance séparant le bateau de l’ obstacle détecté par son écho. Les algorithmes de reconnaissance de texte, de voix ou d’image fonctionnent en partie sur le même principe : recherche de ressemblance entre 2 signaux.