ECOLE SUPERIEURE DES TECHNIQUES AVANCEES (ESTA) Filière : Réseaux Informatiques et Télécommunications Classe: 2A-RIT
TP de Télécommunications: Conception et analyse de systèmes de Télécommunications avec MATLAB/SIMULINK TP N°2: Acquisition et analyse de la voix en qualité CD
D. BONKOUNGOU
© 2015 D. Bonkoungou
[email protected]
TP de Télécommunications
Acquisition et analyse de la voix en qualité CD Concevoir un modèle SIMULINK correspondant à la fi gure suivante:
Figure 1: Acquisition de la voix et son transfert vers MATLAB
•
Connecter le microphone au port micro de votre ordinateur.
•
Utiliser le bloc From Audio Device dans DSP System Toolbox/Signal Processing Sources pour lire le son numérique stéréo en qualité CD et le bloc Signal To Workspace dans DSP System Toolbox/Signal Processing Sinks pour transferer les trames de données de la voix dans la variable mavoix dans MATLAB. Pour la lecture du son numérique stéréo en qualité CD, fixer dans le bloc From Audio Device le nombre de canaux à 2 (Stéréo), la fréquence d’échantillonnage à 44,1 kHz, le nombre de bits par échantillon à 16. Fixer la durée du signal qui sera enregistré pendant la simulation (durée queue) à 5 secondes. Fixer la taille des trames de données à livrer (Output Frame Size) à 1024 échantillons avec une double précision des valeurs des échantillons.
•
Paramétrer la simulation pour une durée de 0 à 5s (durée du son acquis). Choisir un pas variable et la méthode d’intégration discrète.
•
Démarrer la simulation et prononcer la phrase suivante dans le microphone pour l’acquisition du son: « J’adore énormément les télécommunications ».
© 2015 D. Bonkoungou
[email protected]
1
TP de Télécommunications
Ecrire un programme MATLAB (analyse_son.m) qui permet d’analyser la voix (son) enregistrée dans la variable mavoix après la simulation avec les fonctionnalités suivantes: 1) Utiliser les fonctions audioplayer() et get() pour afficher les propriétés du son enregistré. Vérifier le nombre de canaux (Mono ou stéréo), la fréquence d’échantillonnage, le nombre de bits par échantillons. Combien d’échantillons et combien de trames on été enregistrés ? Indication: la fonction get() s’applique à un objet pour la voix enregistrée qui est d’abord créé à l’aide de la fonction audioplayer . 2) Ecouter la voix enregistrée à l’aide de la fonction player appliqué à l’objet créé dans 1). 3) Copier le signal d’un canal de la voix Stéréo enregistrée dans la variable xc1 et afficher les valeurs des échantillons contenus dans xc1. 4) Représenter graphiquement dans figure 1 avec la fonction plot le signal d’un canal de la voix Stéréo c.à.d. le signal xc1 avec le titre « Représentation temporelle du signal d’un canal de la voix Stéréo ». 5) Afficher le spectre (représentation fréquentielle) du signal d’un canal de la voix Stéréo c.à.d. le signal xc1 en utilisant les deux méthodes suivantes: a) Détermination du spectre de puissance (ou spectre de moyenne quadratique) à l’aide de l’algorithme d’estimation spectrale de Welch (fonction matlab: msspectrum). Afficher le spectre dans figure 2. b) Détermination de la densité spectrale de puissance ( power spectral density ou psd ) à l’aide de l’algorithme d’estimation spectrale de periodogram (fonction matlab: psd ). Afficher le spectre dans figure 3. Indication: Inspirer vous de cet exemple de programme Matlab qui utilise les deux méthodes ci-dessus citées pour représenter le spectre d’un signal sinusoïdal:
© 2015 D. Bonkoungou
[email protected]
2
TP de Télécommunications % % % % % % % %
Analyse spectrale: Determination du spectre de puissance moyenne (moyenne quadratique) et de la densité spectrale de puissance d'un signal Auteur: D.Bonkoungou Exemple: Determination du spectre d'un signal sinusoidal d'amplitude 3V et de frequence 200 Hz. Puissance en Watt: Ueff^2 = (3/(2^1/2))^2 = 3^2/2 V^2(W)= 4,5V^2 = 4,5W Puissance en dB: 10logP= 10log4,5= 6,5321dB(ou dBW).
Fs = 1000; % Frequence d'echantillonnage (1kHz). t = 0:1/Fs:.2; % instants d'echantilllonnage x = 3*cos(2*pi*t*200); % Signal echantillonné h = spectrum.welch; % creation d'un estimateur spectral de Welch % Representation du spectre unilateral de puissance en dB à l'aide de % l'algorithme d'estimation spectrale de Welch. figure(1); msspectrum(h,x,'Fs',Fs,'NFFT',2^10); % Representation du spectre % Representation de la densité spectrale de puissance à l'aide % de l'algorithme periodogram figure(2); Hs=spectrum.periodogram; % creation d'un estimateur spectral de periodogram psd(Hs,x,'Fs',Fs); % Representation du spectre
© 2015 D. Bonkoungou
[email protected]
3