Académique Documents
Professionnel Documents
Culture Documents
Echantillonnage &
I) Introduction
1 1 1 ⎛ν ⎞
Ainsi lorsque xˆ A ( f ) = 0 pour f > , on obtient pour ν < : xˆ N (ν ) = xˆ A ⎜ ⎟ ; une
2T 2 T ⎝T ⎠
restitution du signal numérique par un dispositif approprié redonnerait exactement le signal
d'entrée x A ( t ) .
Exemple :
La condition précédente est respectée avec des signaux audio x A ( t ) pour lesquels
xˆ A ( f ) = 0 pour f > 16 kHz (spectre des fréquences audibles) lorsque la fréquence
1
d'échantillonnage vaut = 32 kHz .
T
Exemple :
x
x q
2
TPs TSI /SICOM/FST FES F.ABDI
Wavread.m (fichier Matlab : génération d'un vecteur à partir d'un fichier WAVE)
katchatu.wav (fichier WaveStudio : extrait Concerto pour Violon (Aram Katchaturian) )
parole.wav (fichier WaveStudio : extrait son de test European Broadcasting Union)
phrase.wav (fichier WaveStudio : enregistrement avec micro)
schubert.wav (fichier WaveStudio : extrait Mélodie Hongroise (Franz Schubert))
stsaens1.wav (fichier WaveStudio : extrait n°1 Havanaise (Camille Saint-Saëns))
stsaens2.wav (fichier WaveStudio : extrait n°2 Havanaise (Camille Saint-Saëns))
Remarque
• Le signal échantillonné : affichage des points discrets (à l’aide de la fonction plot
avec un symbole passé en argument : ‘+’, ‘∗’, ‘o’, etc).
• Le blocage d’ordre 0 : affichage “continu” par interpolation par des rectangles (à
l’aide de la fonction stairs).
• Le blocage d’ordre 1 : affichage “continu” par interpolation par des triangles (à
l’aide de la fonction plot sans argument de style de ligne : en effet le style de ligne
par défaut est une ligne continue donc cet affichage consiste à relier les points
discrets par des segments).
• Le diagramme en bâtons : affichage des points discrets par bâtons(à l’aide de la
fonction stem).
I. Reconstitution du signal
3
TPs TSI /SICOM/FST FES F.ABDI
Cela signifie qu’on remplace chaque valeur numérique par un sinus cardinal
et le signal peut être reconstruit avec la somme de ces sinus cardinaux temporels
centrés sur les instants d'échantillonnage t = nTe et d'amplitudes égales aux valeurs
échantillonnées x(n) :
4
TPs TSI /SICOM/FST FES F.ABDI
1. En utilisant une fréquence d’échantillonnage de 8000 Hz, représenter sur une durée
de 0.002s :
a. le signal échantillonné du signal x(t).
b. le signal analogique x(t) (utiliser un très grand nombre de points sur la durée
de représentation)
2. Tracer la fonction sinus cardinal à l’aide de la fonction sinc de Matlab.
3. Ecrire un script Matlab (fichier toutes.m) traçant toutes les fonctions Sinc
représentant les échantillons (utiliser la boucle for).
4. Ecrire un scriptMatlab (fichier uneaune.m) traçant les fonctions Sinc représentant
chaque échantillon une à une (après la commande ENTER).
5. Ecrire un scriptMatlab (fichier interpo.m) traçant le signal reconstruit en utilisant la
sommation des fonctions Sinc de la question précédente.
6. Réaliser un Menu qui permet d’effectuer toutes les opérations précédentes d’une
manière interactive.
C) Quantification
Interpréter les informations affichées et vérifier que le signal a une amplitude égale au
plus à 1 en utilisant par exemple les fonctions min et max.
Dans la suite, on considérera que tous les signaux ont une amplitude normalisée de 1
et que le codage sur 16 bits permet de négliger les effets de celui-ci.
B) Effets de la quantification
5
TPs TSI /SICOM/FST FES F.ABDI
B = {4,8,12}. Choisir pour N une valeur de l’ordre de 10000 (extraire une tranche du signal
complet). La fonction aura comme paramètre le vecteur contenant le signal et retournera un
tableau contenant les erreurs pour les valeurs de B proposées.
4) Ecrire une fonction Matlab (fichier linlog.m) traçant les caractéristiques de codage
linéaire et logarithmique pour B = 6 . Pour cela, appliquer le codage sur le signal suivant :
x=(-1:0.001:1) et utiliser la fonction plot. Interprétation.
B) Effets de l'échantillonnage
Les signaux numériques sur lesquels ont été effectuées les opérations de codage
étaient d'amplitude unité et résultaient d'une opération d'échantillonnage à une fréquence
1
telle ( = 32 kHz ) que l'on pouvaient considérer que leur restitution redonnait exactement le
T
signal analogique d'entrée.
Pour simuler une opération d'échantillonnage à une fréquence plus faible sans
traitement préalable du signal analogique, on peut sous-échantillonner le signal numérique
d'un facteur K : xK (n) = x(Kn)
1 32
et restituer le signal ainsi obtenu à la fréquence = kHz .
KT K
6
TPs TSI /SICOM/FST FES F.ABDI
Travail à effectuer
7
TPs TSI /SICOM/FST FES F.ABDI
a. Initialisation:
• Créer un objet (entrée) analogique ai pour la carte son :
AI = analoginput('winsound');
b. Configuration:
• Ajouter un canal à l'objet (Nombre de canaux audio : 1 pour mono ou 2 pour
stéréo)
addchannel(AI, 1);%%1 canal
addchannel(AI, 1:1);%% 2 canaux
c. Exécution
• Démarrer l'acquisition,
start(AI)
d. Résultats
• Placer les données en mémoire et les représenter :
data = getdata(AI);
plot(data) ;
e. Fin
• Effacer l'objet de la mémoire
delete(AI)
8
TPs TSI /SICOM/FST FES F.ABDI
8. Comparer le résultat :
a. d’une part à l’écoute (restitution),
b. d’autre part sur le spectre (vous pouvez utiliser la fonction spectrogram de
Matlab).
E) Remarques finales
Enregistrer tous vos fichier Matlab (fichiers dont l'extension est .M) dans le répertoire
d’accès C:\USER\TP\XX où XX est votre nom de binôme (Exemple B1). Ces fichiers
seront vérifiés corrigés et par la suite effacés par l’enseignant responsable.
Vous commenterez les résultats obtenus ainsi que les modes d'emploi de vos
fonctions.