Você está na página 1de 7

MTS204

Micro Projet

Compte-Rendu du Micro Projet MTS


Botu SUN, Tengfei ZHAI

Table des matires


1.

Introduction ....................................................................................................................... 2

2.

Problmatique ................................................................................................................... 2
2.1

Afficher ce signal de parole en mettant en abscisse le temps en secondes et en

ordonnes lamplitude du signal, comprise entre +1 et -1. .............................................. 2


2.2

Donner le nombre de trames tudies. ................................................................. 3

2.3

Afficher le signal derreur de prdiction du signal entier (temps en seconde et

amplitudes entre -1 et +1 ). Pour cela, il faut effectuer pour chaque trame, les
oprations suivantes : ....................................................................................................... 3
2.4

Reprsenter lcart-type de lerreur de prdiction au moyen dune fonction en

escalier par pas de 20 ms,(temps en seconde et amplitude entre 0:0 et 0:06). ............... 5
2.5

Gnrer un bruit blanc gaussien centr rduit (signal dexcitation pour la

synthse de la parole). ...................................................................................................... 6


2.6

Synthtiser le signal de parole uniquement partir du bruit blanc ainsi gnr,

de lcart-type de lerreur de prdiction ainsi que les coefficients de prdiction linaire


(non quantifis) calculs chaque trame. Afficher le signal de synthse. ....................... 6
2.7

Calculer le rapport signal bruit de reconstruction en dB (rapport entre la

variance du signal originel et la variance du signal derreur de reconstruction). ............. 7


2.8

Joindre le programme Matlab, de ltude de lanalyse-synthse, au compte

rendu du micro projet. ...................................................................................................... 7


3

Conclusion.......................................................................................................................... 7

MTS204

Micro Projet

1. Introduction
Ce micro projet est but danalyse-synthse du signal de parole entier, La note de ce micro
projet servira dvaluation pour la partie parole du module MTS204.
Dans ce projet, on dcoupe le signal de parole en trame de dure 20 ms et on fixe lordre de
prdiction p = 10. Pour chaque trame, on calcule les coefficients de prdiction linaire et le
signal derreur correspondant. tant donn que la dure du signal de parole tudi nest pas
un multiple de 20 ms, on ne tiendra pas compte de la dernire trame qui fait moins de 20
ms.

2. Problmatique
2.1

Afficher ce signal de parole en mettant en abscisse le temps en


secondes et en ordonnes lamplitude du signal, comprise entre
+1 et -1.

clear;
% load the file
[wav,Fe] = wavread('FF_8KHZ.WAV');
% number of points
N = length(wav);
% time in second
t = (0:N-1)/Fe;
% plot the original file
plot(t,wav),title('signal de parole'),axis([0,N/Fe,-1,1]);
xlabel('temps en secondes'),ylabel('amplitude');

MTS204

2.2

Micro Projet

Donner le nombre de trames tudies.

% echantillon number and trame number


numEch = 20/1000*Fe;
numTrame = floor(N/numEch);

2.3

Afficher le signal derreur de prdiction du signal entier (temps


en seconde et amplitudes entre -1 et +1 ). Pour cela, il faut
effectuer pour chaque trame, les oprations suivantes :

2.3.1 Estimer la fonction dautocorrlation ( ( )

) de la trame tudie, en

utilisant lestimateur suivant :


( )

() (

O nb dsigne le nombre dchantillons dune trame.


ga = zeros(1+p,1);
% for each trame
for i = 0:numTrame-1
% get the trame
3

MTS204

Micro Projet

trame = wav(numEch*i+1:(i+1)*numEch);
% calculate the autocorrelation
for j=0:p
ga(j+1) = gam(j,trame);
end

2.3.2

former la matrice de Toeplitz { partir de la fonction dautocorrlation,

% construct the Toeplitz matrix


matrix = toeplitz(ga(1:p));

2.3.3 calculer les coefficients de prdiction linaire { lordre p = 10, par simple
inversion matricielle de la matrice de Toeplitz,
coeff = inv(matrix);

2.3.4 Filtrer la trame courante (au moyen dun filtre transverse (de fonction de
( )

transfert
pour trouver le signal derreur de
prdiction.
% calculate the coefficients Ap[i]
a = -coeff * ga(2:p+1);
A = [1;a];
% effecuate the filter
signal_erreur(numEch*i+1:(i+1)*numEch) = filter(A,1,trame);
end
% construct the x values for time in second
t1 = (1:numEch*numTrame)/Fe;
% plot the errors
figure(2);
plot(t1,signal_erreur),axis([0,N/Fe,-1,1]);
title('signal d''erreur de prediction');
xlabel('temps en secondes'),ylabel('amplitude');

MTS204

2.4

Micro Projet

Reprsenter lcart-type de lerreur de prdiction au moyen


dune fonction en escalier par pas de 20 ms,(temps en seconde
et amplitude entre 0:0 et 0:06).

% calculate the standard deviation for each trame


for i = 1:numTrame
ecart(i) = std(signal_erreur(numEch*(i-1)+1:i*numEch))
end
% calculate the x axis and plot the figure in stairs
t2 = (1:numTrame)*0.02;
figure(3);
stairs(t2,ecart),axis([0,N/Fe,0,0.06]);
title('Ecart-type de l''erreur de prediction');
xlabel('temps en secondes'),ylabel('amplitude');

MTS204

2.5

Micro Projet

Gnrer un bruit blanc gaussien centr rduit (signal


dexcitation pour la synthse de la parole).

for i = 1:numTrame
% generate the white gaussien noise for simulation
bruit = randn(numEch,1)*ecart(i);

2.6

Synthtiser le signal de parole uniquement partir du bruit


blanc ainsi gnr, de lcart-type de lerreur de prdiction
ainsi que les coefficients de prdiction linaire (non quantifis)
calculs chaque trame. Afficher le signal de synthse.
% filter the output with the white noise
signal_recu((i-1)*numEch+1:i*numEch) = filter(1,A,bruit);

end
% plot the achieved result.
figure(4);
plot(t1,signal_recu),axis([0,N/Fe,-1,1]);
title('Synthese du signal');
xlabel('temps en secondes'),ylabel('amplitude');

MTS204

2.7

Micro Projet

Calculer le rapport signal bruit de reconstruction en dB


(rapport entre la variance du signal originel et la variance du
signal derreur de reconstruction).

% calculate the ratio signal/noise


x = wav(1:numEch*numTrame);
SNR = 10*log10(var(x)/var(x'-signal_recu))

2.8

Joindre le programme Matlab, de ltude de lanalyse-synthse,


au compte rendu du micro projet.

3 Conclusion
Pendant ce micro projet, nous avons pu utiliser les techniques de traitement du signal parole
que nous avons tudi pendant le cours. Nous avons dabord constitu des trames de 20ms,
et les coder avec la mthode de prdiction linaire. Nous avons ensuite ajout un bruit blanc
gaussien pour simuler les bruits apports dans la propagation.
Nous sommes aussi plus familiers avec le programmation sous Matlab.

Você também pode gostar