Vous êtes sur la page 1sur 3

 

Année
TP 4 universitaire :
  2015/2016
Analyse de Fourier sur un signal
DTMF
 
INDP1 : A,B,C,D,E,F

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é.

II. Principe de la signalisation DTMF

a. Importance de la signalisation téléphonique vocale

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.

b. Définition de la DTMF

Dual-Tone Multi-Frequency signaling (DTMF) est un système de signalisation téléphonique


qui utilise les fréquences vocales sur les lignes téléphoniques afin de signaler la numérotation
entre l’équipement téléphonique utilisé et les équipements de communication et les centres de
commutations. Il a été inventé dans les laboratoires Bell aux états unis et a été standardisé
sous la recommandation ITU-T Q.23.

c. Décodage des touches du clavier

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.

III. Analyses temporelle et fréquentielle d’un signal DTMF.

Le fichier ‘signal.mat’ est un exemple de signaux de signalisation enregistré lorsqu’une


touche d’un clavier téléphonique est appuyée.
Il a été échantillonné à la fréquence fs=8192 Hz.

1. Tracer le signal dans le domaine temporel selon le vrai axe de temps.


2. Délimiter la partie active visuellement. On appelle partie active la portion du signal où
les composantes harmoniques existent, c’est à dire lorsque les intervalles de silence
contenant du bruit ont été écartés.

3. Tracer la représentation spectrale du signal utile. Pour cela


a. Utiliser la fonction fft.m et appliquer une TF sur Nfft=1024 points.
b. Définir un vrai axe de fréquence en Hz :
F=(0:Nfft/2-1)*(fs/Nfft);
c. Centrer le spectre grâce à la fonction fftshift afin qu’il ressemble au spectre d’un
signal réel.
4. Mesurer visuellement les fréquences des harmoniques. En déduire la touche du clavier
appuyée.

IV. Notion de spectrogramme

Le spectrogramme est une représentation temps-fréquence de type information à 2


dimensions ou l’axe des abscisses est le temps, l’axe des ordonnées est la fréquence et
le contenu de l’image est la valeur du spectre traduite en couleur. En fait, un signal est
décomposé en plusieurs intervalles temporels. Pour chaque intervalle, le spectre est
calculé et est tracé.

Pour tracer un spectrogramme, on utilise le bout de programme matlab suivant :


[S,F,T,P] = spectrogram(phone,Nfft,0,Nfft,fs,'yaxis');
surf(T,F,10*log10(abs(P)),'EdgeColor','none');
axis xy; axis tight; colormap(jet); view(0,90);
xlabel('Time');
ylabel('Frequency (Hz)');
On utilise le signal phone.mat dans cette partie du TP.
1. Télécharger le signal phone, visualiser et écouter.
2. Visualiser ce spectrogramme et identifier visuellement les touches appuyées.

V. Synthèse du son d’une touche


Une fois les fréquences des touches définis dans le paragraphe II.c, il est possible de
synthétiser sous matlab les sons vocaux des touches du clavier de manière très simple.
Ecrire un code matlab qui génère un signal composé de deux sinusoides caractérisés comme
suit :
a. fs=8192 Hz ;
b. durée= 1 seconde.
c. fréquences 1 et 2 identifiées dans la question III.4
d. amplitudes des sinusoides égales à 1 et à 2 respectivement.

Vérifier le signal obtenu par visualisation des allures temporelle et spectrale et par tests
d’écoute.

VI. Identification automatique d’une touche appuyée

On se propose d’écrire un code matlab qui permet d’identifier de manière automatique


la touche appuyée. Pour cela, on adoptera l’approche suivante :
-on détermine de manière automatique la partie active du signal qui contient
l’information de signalisation. Pour cela, utiliser la fonction fournie onset_offset.
- on calcule le spectre de la partie active, qu’on lisse. On utilise pour cela la fonction
smooth.m deux fois consécutives.
- on détermine les pics du spectre. On utilise la fonction findpeaks en spécifiant le
nombre de pics égal à 2.
- on détermine les vraies fréquences associées aux 2 pics utiles.
- on identifie la touche appuyée.

VII. Identification d’un numéro de téléphone

Le fichier phone.mat contient le signal DTMF d’un numéro de téléphone composé.


Proposer une solution algorithmique que vous programmerez sous matlab pour identifier
le numéro composé.

VIII. Idées à développer

- Imaginer une application qui pourra être réalisée en utilisant le décodage DTMF.
- Développer son principe de réalisation.
- Effectuer des développements informatiques nécessaires.

Vous aimerez peut-être aussi