Fascicule TP Signal Janvier 2019
Fascicule TP Signal Janvier 2019
Fascicule TP Signal Janvier 2019
INDP1
Elaboré par :
Ce manuel rassemble une série de travaux pratiques en traitement du signal permettant aux
élève-ingénieurs de pratiquer les principes de base, les méthodes et les concepts du traitement
du signal. Plus spécifiquement et à l’issu de ces travaux pratiques, l’élève-ingénieur doit être
à l’aise en manipulant des signaux: dans le domaine temporel, dans le domaine fréquentiel, les
propriétés statistiques (corrélation,…), le filtrage, la génération de signaux synthétiques,… et
montrer une aisance de programmation sous MATLAB.
Le manuel est enrichi par une série d’examens de travaux pratiques proposés lors des
dernières années.
I. Objectif
(b)
(a)
Figure 1 : Anatomie du cœur (a) et allure temporelle d’un battement cardiaque (b).
La figure 2 illustre le comportement du cœur en termes de polarisation/dépolarisation. La
vidéo 1 est une animation illustrant les mouvements du cœur et l’évolution du signal ECG. La
vidéo 2 illustre le phénomène physio-chimique de contraction/décontraction du cœur.
Le rythme cardiaque normal commence comme une impulsion électrique générée dans le
noeud sino-auriculaire de l'oreillette droite (figure 2.a). Elle se propage dans les oreillettes
entraînant leurs contractions (figure 2.b). L’impulsion arrive alors au nœud auriculo-
ventriculaire (AV), seul point de passage électrique entre les oreillettes et les ventricules. Une
courte pause est alors introduite (figure 2.c) juste avant la propagation dans les fibres
constituant le faisceau de His. Au passage de l’impulsion électrique (figure 2.d), les
ventricules se contractent à leur tour (figure 2.e). Après la diastole (décontraction du muscle)
les cellules se re-polarisent (figure 2.f). Le cycle du battement cardiaque est alors terminé et le
cœur est prêt pour un nouveau battement.
https://www.youtube.com/watch?v=RYZ4daFwMa8
https://www.youtube.com/watch?v=zUbeHTzC4J0
III. Analyse du signal ECG avec MATLAB
Partie facultative
I. Objectif du TP
Le but du TP est de comprendre le concept de numérisation des signaux en se basant sur la
pratique avant d’étudier la théorie en classe. En effet, avec cette approche anticipative, l’élève
ingénieur sera sensibilisé au théorème d’échantillonnage de manière expérimentale sur des
signaux réels. Le cours, à travers les développements analytiques dans le domaine de Fourier,
confirmera les résultats de l’expérience.
Durant ce TP, le principe de l’échantillonnage sera illustré avec un signal de parole généré par
l’élève ingénieur et acquis avec la carte son du PC ainsi que sur un signal de simulation.
Ainsi, en manipulant plusieurs fréquences d’échantillonnage, l’élève ingénieur aura une
meilleure appréciation des conditions d’échantillonnage d’un signal.
Pour atteindre ces objectifs, les manipulations suivantes seront effectuées sous MATLAB.
Une chaîne d’acquisition et de traitement numérique d’un signal de parole est illustrée sur la
figure 1. Ses étapes sont les suivantes.
Dans ce qui suit, nous allons nous intéresser à la numérisation du signal de parole. Un signal
analogique est un signal continu qui peut prendre une infinité de valeurs possibles alors qu’un
signal numérique est un signal discret (discontinu), qui se résume en une succession de « 0 »
et de « 1 ». L’objectif de la numérisation est de transformer le signal analogique qui contient
une quantité infinie d'amplitudes en un signal numérique contenant une quantité finie de
valeurs. Le passage de l'analogique au numérique se fait en 2 étapes successives:
l'échantillonnage et la conversion analogique-numérique (CAN).
Avec une résolution de 8 bits par exemple, on dispose de 28, soit 256 valeurs possibles pour
traduire l'amplitude du son. Ainsi, plus la résolution est élevée, meilleure sera la dynamique
(l'écart entre le signal le plus faible et le plus fort qu'il est possible de reproduire).
Figure 2 : illustration des étapes de la numérisation.
Les signaux de parole manipulés durant ce TP auront le format WAV (Waveform). C’est un
dérivé de la spécification RIFF (Resource Interchange File Format) de Microsoft dédiée au
stockage de données multimédias. Ce format est libre d'utilisation et est parmi les plus
répandus de formats de fichiers sons. Le format WAV considère les paramètres de
numérisation suivants : fréquence d'échantillonnage, résolution de l'échantillon et le nombre
de canaux d’enregistrement: 1 (mono), 2 (stéréo).
N_duration=Duration*fs;
%Signal normalization
MySpeech=MySpeech/max(abs(MySpeech));
% Arguments
% fs : sampling frequency ;
% nBits : resolution : 8,16,24 bits;
% nChannels : 1: mono, 2: stereo ;
% Duration : duration in seconds ;
% Fonctions
% display : display message on the sreen ;
% audiorecorder : construction of audiorecorder class;
% recordblocking : maintaining recording during 'Duration'
% Code
r = audiorecorder(fs, nBits, nChannels);
display('Begin recording')
% speak into microphone...
recordblocking(r,Duration);
disp('End recording');
MySpeech = getaudiodata(r, Type_data); % get data as Type_data format
end
Note 5 4 3 2 1
Pour analyser les différentes représentations fréquentielles pour des valeurs différentes
de la fréquence d’échantillonnage, on se propose d’utiliser un signal test et de tracer
son spectre d’amplitude pour différentes fréquences d’échantillonnage.
Le signal test à utiliser s’écrit :
x(t) = [ Fmax .sin c(Fmaxt)] ,
2
(1)
,
avec sin c(a) = sin (π a ) / (π a ) .
Son spectre
d’amplitude ⎧⎪ − f + F max si f < F max
s’écrit : X( f ) = ⎨ (2)
⎩⎪ 0 sinon,
I. Objectifs
L’objectif de ce TP est de pratiquer le concept de la quantification scalaire sur un signal
numérique bidimensionnel (l’image). Pour cela, le travail à réaliser est divisé en trois parties:
la première partie concerne l’acquisition et la représentation sous format numérique d’une
image, la deuxième partie s’intéresse à la quantification scalaire d’une image et à l’étude de
son effet visuel et quantitatif sur la qualité de l’image obtenue. La dernière partie est réservée
à l’application du concept de la quantification pour réaliser une application spécifique. Dans
ce TP, il s’agit du comptage de nombre de pièces de monnaies dans une image.
Les images vraies couleurs sont, quant à elles, des signaux vectoriels où chaque pixel est
décrit par au moins 3 intensités (amplitudes). Il s’agit d’un vecteur de 3 composantes
traduisant la composition de n’importe quelle couleur selon les trois couleurs de base qui sont
le Rouge, le Vert et le Bleu. Chaque pixel de chaque couleur est codé sur 8 bits.
Dans ce qui suit, vous allez manipuler ces différents formats des images.
Prenons par exemple le cas où le nombre de niveaux de quantification est N=8. Ceci
correspond à une représentation binaire sur 3 bits. Le pas de quantification est
Delta=256/8. L’intervalle [0 255] est partitionné en 8 intervalles dont les bornes sont
successivement 0, 32, 64, 96, 128,160, 192, 224, 255. Les extrêmes 0 et 255 ne sont pas
retenus dans le vecteur PARTITION=[32, 64, 96, 128,160, 192, 224]. Chaque pixel d’un
intervalle (les intervalles sont [0, 31], [32 63], [64 95], [96 127], [128 159], [160 191],
[192 223], [224 255]) est remplacé par une seule valeur qui est le milieu de l’intervalle.
On crée alors, ce qu’on appelle le dictionnaire ou CODEBOOK=[16,
48,80,112,144,176,208,240]. Cette partition et ce dictionnaire sont illustrés dans la figure
2.
Pour quantifier une image avec MATLAB, on utilise la fonction imquantize suivante :
function [q,qindex]=imquantize(x,L)
% image quantization
xmax=max(x(:));
xmin=min(x(:));
range=xmax-xmin;
scale=double(L-1)/double(range);
qindex=round(x*scale);
q=qindex*round(range/L)+round(range/(2*L));
return
Remarque : les calculs se font sur le format « double ». L’affichage des images se fait à partir
du format « uint8 »
σ2
RSB(dB) = 10 log10 ,
EQM
Où σ 2 est la variance sur l’image que vous pouvez calculer avec la commande
MATLAB var.
Nombre de bits de 7 6 5 4 3 2 1
quantification par pixel
RSB
5. Essayer de faire votre propre acquisition avec des pièces de monnaies. Faites
le avec des pièces de monnaies sur un fond uni (la table par exemple). Choisir
le seuil adéquat dans le cas de votre image afin de pouvoir comptabiliser le
nombre des pièces des monnaies.
TP 4
Analyse de Fourier sur un signal DTMF
I. Objectif
L’objectif du TP est de consolider les connaissances acquises sur la Transformée de Fourier à
travers une application. Celle-ci concerne l’identification des touches d’un clavier numérique
par analyse du son généré. En effet, les appareils de téléphonie fixe ou mobile sont munis
d’un clavier. Lorsqu’une touche est appuyée, un son est émis. Par analyse dans le domaine de
Fourier, il est possible de reconnaitre la touche appuyée par simple analyse du son généré.
Le réseau téléphonique est conçu pour transporter des signaux vocaux. Néanmoins, il est
souvent demandé de transporter d'autres types de signaux. Un exemple simple et omniprésent
est le numéro téléphonique appelé. En effet, la ligne téléphonique utilisée doit communiquer
avec le bureau central de la compagnie de téléphone pour que le numéro de téléphone appelé
soit transmis. L’appareil téléphonique doit être capable de convertir les séquences de chiffres
appuyées en signaux qui peuvent facilement traverser les circuits conçus pour transmettre la
voix.
Ainsi, les dix chiffres décimaux enrichis des symboles ‘*’ et ‘#’ doivent être convertis en
sons qui ont les mêmes caractéristiques que la voix.
Lorsqu’une touche du clavier téléphonique est appuyée, un signal de signalisation est transmis
et est aussi jouée. Ce signal est une superposition de deux sinusoïdes dont les fréquences sont
associées à la touche appuyée.
La figure 1 illustre un clavier téléphonique et les fréquences associées. Ainsi, un clavier peut
être vu comme une matrice de fréquences. Chaque touche est décrite par sa position en ligne
et sa position en colonne. Le couple de fréquence obtenu est le représentant unique de la
touche.
Figure 1 : touches d’un clavier téléphonique et fréquences associées.
Vérifier le signal obtenu par visualisation des allures temporelle et spectrale et par tests
d’écoute.
I. Objectifs
L’objectif principal de ce TP est la pratique d’un signal bidimensionnel pour comprendre et
utiliser certaines de ses caractéristiques telles que l’analyse de Fourier discrète, la notion de
fréquence spatiale, la densité inter-spectrale, l’inter-corrélation entre deux images,… A cet
effet, l’application de construction d’une vue panoramique d’une scène à partir de plusieurs
images est traitée.
Pour atteindre l’objectif, principal de ce TP, 3 objectifs spécifiques devront être atteints. Il
s’agit de:
1. Comprendre la notion de fréquences spatiales associées à une image.
2. Etre capable de calculer le décalage entre deux images décrivant la même scène. Il
sera obtenu par calcul de l’inter-corrélation entre les deux images.
3. Réaliser l’assemblage de deux images ou plus en tenant compte du décalage calculé.
création de vue panoramique est une option indiquée par le logo qu’on trouve sur les
appareils photos numériques.
L’idée de la méthode est la suivante: à partir d’un certains nombre de prises de vues de la
scène effectuées avec des zones de recouvrements inter-images, un certain type d’assemblage
sera réalisé pour reconstituer une photographie au format panoramique. Les zones de
recouvrement entre chaque photo sont d’autant plus importantes, qu’elles permettront un
meilleur assemblage, et par conséquent une meilleure qualité de l’image panoramique.
Dans la cas, d’un signal 2D, on utilise ce même concept. Toutefois, afin de réduire la
complexité de calcul, la fonction d’inter-corrélation est calculée comme étant la transformée
de Fourier inverse de la densité Inter-spectrale.
La démarche est la suivante :
Deux images I1 et I2 identiques décalées l’une de l’autre par (u,v) pixels sont reliées entre elles
par l’expression suivante :
I1(m,n) = I2(m+u,n+v),
Ainsi l’inversion de cette équation, permettra de déduire les coordonnées des décalages u et
v:
𝑅 𝑚, 𝑛 = 𝑇𝐹𝐷2!! 𝑆 𝑘, 𝑙 = δ 𝑚 − 𝑢, 𝑛 − 𝑣 .
Afin de mettre en évidence la notion de fréquence spatiale spécifique à une image, un signal
2D numérique (image) est crée.
1. Ecrire une fonction sous MATLAB qui permet de générer une image sous forme de
matrice de taille NxN=128x128, dont l’intensité de chaque pixel de coordonnées
spatiales (m,n) évoluent selon un modèle sinusoïdal à valeurs entières donné par
l’équation suivante:
2. Exécuter et tester la fonction pour ϑx= 0.2 et ϑy = 0.2. Pour afficher la forme
sinusoïdale en format 3D, utiliser la commande mesh. Pour afficher l’image en 2D,
utiliser la commande imagesc.
3. En utilisant la commande subplot, afficher sur une même figure le résultat de
simulation pour différentes valeurs de fréquences normalisées comme c’est indiqué
sur la figure suivante 3. Interpréter le résultat affiché.
ϑ x= 0 ϑ x= 0 ϑ x= 0
ϑ y= ϑ y= 0.2 ϑ y= 0.4
00.10.1
Figure 3 : format d’affichage des images de test. ϑ x= 0.1 ϑ x= 0.2 ϑ x= 0.4
ϑ y= 0 ϑ y= 0 ϑ y=0
Sous MATLAB, une façon de localiser le maximum d’intensité sur une image est d’utiliser la
commande [DeltaX DeltaY]=find(I==max(max(I))).
I. Objectifs
De nombreuses applications exploitent les caractéristiques temporelles et fréquentielles des
signaux pour extraire, traiter ou transmettre de l’information. La fonction de corrélation,
étudiée dans le cours de « Traitement de signal » pour les signaux déterministes et dans le
cours de « Processus stochastiques » pour les signaux aléatoires, est l’une des fonctions les
plus utilisées pour la caractérisation temporelle des signaux.
Il s’agit dans ce TP de s’appuyer sur la fonction d’autocorrélation d’un signal vDSL (very
high data rate Digital Subscriber Line) qui occupe une large bande de fréquence dans
l’objectif de détecter la présence d’interférences de type signal radio amateur (connu aussi
sous le nom radio HAM) de bande étroite, incluse dans la bande de fréquence du signal vDSL
et qui risquent, par conséquent, de le perturber.
II. Problématique
En télécommunications, un certain nombre de techniques de transmission filaires et radio
utilisent les mêmes bandes de fréquence ce qui crée des interférences mutuelles. Lorsqu’une
technique de transmission utilise une large bande de fréquence, elle est plus sujette à subir
l’effet d’interférences causées par des systèmes à bande étroite exploitant une partie de la
bande en question.
Nous citons comme exemple le système vDSL qui exploite les fils à paires torsadées du
réseau téléphonique. Les signaux vDSL, occupant des bandes de fréquence allant jusqu’à 30
MHz, subissent une perturbation de type « Radio Frequency Interference » (RFI) causée par
les signaux générés par les stations de radio dont les signaux de radio HAM. Les signaux
HAMs sont très gênants pour les systèmes vDSL puisqu’ils occupent des bandes importantes.
Le tableau 1 donne des exemples numériques de bandes fréquentielles occupées par des
signaux HAM telles que définies par l'Union internationale des télécommunications (UIT).
Fréquence début 1,810 3,500 7 10,100 14 18,068 21 24,890 28
Fréquence fin 1,850 3,800 7,100 10,150 14,350 18,168 21,450 24,990 29,700
Tableau 1 : Bandes de radio amateur données en MHz, définies par l’UIT pour la Région 1
(Europe, Moyen-Orient, Afrique et Asie du Nord).
La Figure 1 représente une illustration de la densité spectrale de puissance d’un signal qui
résulte de la superposition d’un signal bande étroite (type HAM) centrée sur la fréquence f 0
(par exemple 1,830 MHz pour la 1ère colonne du Tableau 1) et d’un signal large bande (type
vDSL) occupant une bande de fréquence de largeur B (pouvant atteindre 30 MHz).
Figure 1 : Représentation, dans le domaine des
fréquences, de la superposition d’un signal large bande et d’un signal bande étroite
III.1 Modélisation
En s’appuyant sur les hypothèses qui suivent :
• le spectre de l’interférence HAM est très réduit par rapport à celui du signal vDSL,
• la densité spectrale de puissance (DSP) du signal vDSL est plate et faible par rapport à
celle du signal AM,
il est possible de ramener le problème de détection de l’interférence à celui de l’estimation
d’une fréquence pure noyée dans un bruit blanc (de DSP constante) où le signal HAM est
modélisé par la fréquence pure f 0 (sinusoïde) et le signal vDSL est modélisé par le bruit
blanc.
Nous considérons ainsi un signal sinusoïdal de fréquence f 0 , échantillonné à la fréquence fe ,
dont les échantillons s’écrivent comme suit :
()
x n = A0 cos(ω 0n + φ0 ) (1)
Ce signal subit l’effet d’un canal à bruit blanc additif Gaussien de moyenne nulle et de
2
variance σ dont les échantillons sont notés b (n ) . Le signal reçu s’écrit :
()
y n = x (n )+ b (n ) (2)
Pour caractériser l’équation (2), nous utilisons le rapport de puissance entre l’interférence
(signal sinusoïdal) et le signal utile (bruit blanc), noté ISR (Interference to Signal Ratio). Il
correspond dans ce cas à l’expression : ISR = 𝐴!! 2𝜎 ! .
3. Appliquez cet estimateur dans le cas du signal sinusoïdal avec « bruit blanc ».
4. Refaites la même estimation pour le cas du signal sinusoïdal avec « signal vDSL ».
5. Dressez un tableau donnant les estimées (valeurs moyennes) de ω 0 pour les valeurs de
rapport signal à bruit ISR !" = 0 dB, 10 dB et 20 dB ainsi que l’erreur relative (en %)
pour les questions 3 et 4. Interprétez les résultats obtenus.
Sinusoïde bruitée
ISR !" 0 dB 10 dB 20 dB
ω̂0
ωˆ 0 − ω0
ω0
vDSL
ISR !" 0 dB 10 dB 20 dB
ω̂0
ωˆ 0 − ω0
ω0
IV.4 Elimination de l’interférence par filtrage dans le cas d’un signal vDSL (Utilisation
d’un filtre à encoche)
Un filtre à encoche est un filtre qui est utilisé pour éliminer une fréquence bien précise dans
un signal. Il s’agit d’un filtre très sélectif, c’est-à-dire, il présente une bande passante très
réduite. Un filtre à encoche d’ordre 2 peut être écrit sous la forme suivante :
1 − 2 cos 𝜔! 𝑒 !!" + 𝑒 !!!"
𝐻 𝜔 =
1 − 2 rcos 𝜔! 𝑒 !!" + 𝑟 ! 𝑒 !!!"