sequence binaire pseudo aleatoire

Transcription

sequence binaire pseudo aleatoire
T. P. 3
ème
Année
janvier 08
TRAVAUX PRATIQUES
AUTOMATIQUE.
1. Propriétés des signaux d'excitations.
2. Moindres carrés récursifs.
3. Identification des systèmes perturbés.
4. Application aux traitements du signal
5. Utilisation d'un logiciel dédié.
6. Modélisation et synthèse de voyelle.
7. Identification en boucle fermée.
NOM :
GROUPE :
T. P. ENSICaen. . 3
ème
Année
T.P. N°1
Préliminaires :
I] Espace de travail
Avant de commencer à travailler, veuillez vous placer sous votre répertoire de travail. Celui-ci vous
sera indiqué par l'enseignant.
II] sauvegarde de l'espace de travail
Une fois ce T.P. terminé, sauvegarder les différentes variables que vous avez utilisées avec la
commande save workspace as dans le menu File. Ces différentes variables pourront peut être vous
resservir dans les T.P. suivants. N'oublier pas de noter le nom de votre sauvegarde dans ce
cahier pour ne pas l'oublier.
NOM DU REPERTOIRE DE TRAVAIL :
NOM DE LA SAUVEGARDE :
.mat
2
T. P. ENSICaen. . 3
ème
Année
T.P. N°1
Propriétés des signaux d'excitation
Nous avons vu dans le cours que l'étape d'identification d'un procédé nécessite l'utilisation d'un
signal d'excitation riche en fréquences. L'objectif de ce T.P. est de mettre en évidence les propriétés
d'un bon signal d'excitation pour l'identification des systèmes.
1. LES SIGNAUX ETUDIES
1.1. La séquence binaire pseudo-aléatoire (SBPA).
Le signal le plus utilisé comme signal d'excitation en identification est la SBPA. Cette séquence est
une succession d'impulsions rectangulaires modulées en largeur, qui approximent un bruit blanc
discret.
Ces séquences s'appellent pseudo-aléatoires car elles sont caractérisées par une longueur de
séquence à l'intérieur de laquelle des impulsions de largeur aléatoire. Ce signal est périodique de
période la longueur de la séquence. Nous ne détaillerons pas plus les caractéristiques de ce signal
qui a déjà été étudié en T.D.
Les SBPA sont engendrées à l'aide de registres à décalage bouclés. Le bouclage est déterminé par le
polynôme caractéristique de la séquence. En utilisant ces polynômes, on peut reproduire à l'aide de
multiplications de registres égaux à 1 ou -1 une séquence. Le programme suivant permet de générer
des séquences binaires pseudo-aléatoires de différentes longueurs :
3
T. P. ENSICaen. . 3
ème
Année
T.P. N°1
mrot=[[zeros(nreg-1,1);1],[eye(nreg,nreg-1)]] %matrice de rotation
reg=ones(1,nreg);
usbpa=zeros(npts,1);
%matrice des registres
%matrice contenant la séquence
usbpa(1)=reg(nreg);
for i=1:npts-1
%sortie initiale
%calcul de la SBPA
reg=reg*mrot;
if nreg==5
reg(1)=-reg(1)*reg(4);
elseif nreg==7 reg(1)=-reg(1)*reg(5);
elseif nreg==8 reg(1)=-reg(1)*reg(5)*reg(4)*reg(3);
elseif nreg==9 reg(1)=-reg(1)*reg(6);
elseif nreg== 10 reg(1)=-reg(1)*reg(8);
else reg(1)=-reg(1)*reg(nreg);
end
usbpa(i+1)=reg(nreg);
end
1.1.a. Etude
Pour des séquences de longueur 3, 7 et 127 :
• Calculer et tracer ces signaux, que remarque-t-on ?
• Calculer et tracer l'autocorrélation de ces signaux.
• Calculer et tracer la DSP de ces signaux (pourquoi DSP ?). Retrouvez vous les
valeurs attendues sur ce graphe ? Avec la séquence de longueur 3, combien de
points du spectre d'un système peut-on identifier ?
1.2. "le bruit blanc" et "le bruit blanc seuillé".
La génération de ces séquences passe par l'utilisation de la fonction rand de Matlab.
1.2.a. Etude
Pour une séquence de longueur 127 :
• Calculer et tracer ces signaux. Que remarque-t-on ? Quel est l'avantage du bruit
seuillé sur le bruit non seuillé pour l'identification ?
4
T. P. ENSICaen. . 3
ème
Année
T.P. N°1
• Calculer et tracer l'autocorrélation de ces signaux
• Calculer et tracer la DSP de ces signaux, comment doit-on la calculer.
2. METHODE D'IDENTIFICATION PAR CORRELATION.
2.1. Rappels
Un système linéaire discret invariant dans le temps peut s'exprimer sous les formes suivantes :
nb
y(k ) =
∑b x
n k −n
n= 0
∞
na
−
∑a
m=1
m yk − m
=
∑h x
n k −n
n= 0
avec les hn qui ne sont rien d'autre que les coefficients de la réponse impulsionnelle du système.
Lorsqu'un système de ce type est excité par un bruit blanc l'expression de l'intercorrélation est donné
par :
R yx ( k ) =
∑y
k +m xm
=
m
∑∑h x
j
= hk Rxx (0) =
=
j k + m− j x m
∑∑h R
j
m
j
xx ( k
− j)
m
hk σ x2
Cette intercorrélation permet de retrouver les coefficients de la réponse impulsionnelle du système.
Remarque :
Rxy ( k ) =
∑x
k + m ym
=
m
∑∑ x
m
k + m h j x m− j
=
∑∑h R
j
m
= h− k Rxx (0) = Rxy ( − k )
R yy ( k ) =
∑y
k +m ym
=
∑∑∑h x
m
=
i k + m−i h j x m− j
m
i
j
j
=
xx ( k
+ j)
j
∑∑h h R
i j
i
xx ( k
− i + j)
j
∑h h
i i − k Rxx ( 0)
i
2.2. Application à l'identification
En utilisant la fonction dlsim, calculer la réponse du système 2(1 + z −1 ) = 2
z +1
(filtre MA) à une
z
excitation de type SBPA. Pour cela synthétiser une SBPA de longueur 127, ensuite calculer et tracer
les différentes intercorrélations et autocorrélations avec la fonction xcorr.
5
T. P. ENSICaen. . 3
ème
Année
Refaire le même travail avec le système
T.P. N°1
0.7
1 − 0.7 z −1
puis
0.7 z −3
1 − 0.7 z −1
.
Ensuite refaire le même travail en ajoutant un bruit blanc à la sortie du système. Quelle est
l'influence du bruit et pourquoi ?
6
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
Les moindres carrés récursifs
L'objectif de ces deux T.P. est la programmation des différentes méthodes des moindres carrés et
leurs applications à l'identification des systèmes.
Il vous est fourni, dans votre répertoire de travail, une série de programmes permettant entre autre
de :
• mcr_e : programme principal réalisant l'identification, ce programme doit être complété
pour pouvoir être exécuté.
• aff_er : programme permettant l'affichage de l'erreur d'estimation.
• aff_para : programme permettant l'affichage des paramètres du modèle pendant
l'identification.
• aff_gain : programme permettant l'affichage du gain d'adaptation pendant l'identification.
• aff_var : programme permettant l'affichage de la variance des paramètres pendant
l'identification.
• Aff_lambda : programme permettant l’affichage des facteurs d’oubli pendant
l’identification.
RAPPEL SUR LA REPRESENTATION MATRICIELLE DANS MATLAB.
•
Création d’une matrice : « A=[3 2 ;-1 1] »; le séparateur ; note le changement de ligne, l’espace
ou la , le changement de colonne.L’instruction " xa=[-3:0.3:3];" crée un vecteur allant de –3 à 3
avec un pas de 0.3 (le pas peut être négatif).
•
Accés aux éléments d’une matrice : « a_12=A(1,2) » permet d’affecter la valeur A(1,2) à la
variable a_12, c’est à dire 2. Une affectation par bloc est possible « vect_colonne=A( :,1) ».
Dans le cas d’un vecteur il est possible d’affecter par bloc : « vecteur = xa(5:10) ; » .A noter
qu’il est possible d’utiliser un pas : « vecteur = xa(15:-1:10) ; ».
•
Opérateur : Transposition : « ‘ » . Inversion : « inv(A) ».
7
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
1. LES MOINDRES CARRES RECURSIFS "ORDINAIRES".
1.1. Production des données.
Les données utilisées pour cette partie ont été obtenues en effectuant une simulation sous simulink.
Ces données sont enregistrées dans le fichier data.dat . Le signal d’excitation (deuxième colonne)
est une S.B.P.A. centrée d’amplitude unitaire. La sortie c(première colonne) correspond à la sortie
du modèle G1 ( z) =
z −1 + 01
. z −2
1 − 0.92 z −1
. Les paramètres pour la simulation sont Tech=1s, stop time = longueur
de la SBPA. Comment doit-on traiter les données avant de les utiliser ?
1.2. L'algorithme.
Compléter mcr_orde, de manière à ce que ce programme réalise les moindres carrés récursifs
ordinaires. Ce programme étant prévu pour le cas général (MCE), le polynôme de bruit C(q-1) est
égal à 0 pour les MCR ordinaires.
Compléter le programme et tester l'algorithme avec les données recueillies à la question
précédente. Analyser l'évolution des différentes variables θ(t),
ε(t),
F(t) et le gain avec les
programmes fournis.
1.3. Initialisation de la matrice F(t).
Modifier la valeur F0 (prendre F0=1) correspondant à la valeur initiale de la matrice F(t). Quels
sont les effets sur la rapidité de la convergence de l'algorithme ? justifier.
En pratique, lorsque l'on a pas d'information a priori sur les paramètres, on choisit F(t) =1000 Inp.
Par contre, lorsque qu’une estimation initiale issue d'une identification antérieure est disponible, il
est préférable de choisir un gain plus faible, en général F(t) = Inp
1.4. Facteurs d'oubli.
A la question précédente, on a vu qu'il est possible de modifier la dynamique de F(t), par contre
avec cet algorithme, lim F (t ) = 0 quelle que soit la valeur initiale F0.
t →∞
Avec cette propriété, les moindres récursifs ordinaires ne peuvent être utilisés pour l'identification
de systèmes variant dans le temps. La variable mod_var contient un fichier d'entrée-sortie. Pendant
l'envoi du signal d'excitation, le système subit un incident qui modifie son comportement entrée-
8
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
sortie. Identifier ce système avec les moindres carrés ordinaires. Que remarquez vous au niveau de
l’efficacité de l’algorithme et de l’évolution des paramètres ? Expliquez.
La formule d'évolution de la matrice F(t) se généralise par
F ( t + 1) −1 = λ1 ( t ) F ( t ) −1 + λ2 ( t )φ ( t )φ ( t ) T avec 0 < λ 1 ( t ) ≤ 1, 0 ≤ λ 2 ≤ 2 , F(0) > 0
On peut noter que λ1(t) et λ2(t) ont un effet opposé. λ1(t)<1 tend à augmenter le gain d'adaptation
alors que λ2(t) tend à décroître le gain d'adaptation. Pour chaque choix des séquences λ1(t) et λ2(t)
correspond un profil de variation du gain d'adaptation et une interprétation en termes de critère
d'erreur minimisé par l'AAP. On rappelle que l'expression de l'AAP dans le cas des MCR pondéré
est donnée par
F (t )φ (t )
θ$(t + 1) = θ$(t ) + λ (t + 1)
y (t + 1) − φ (t ) T θ$(t ))
(
1
+ φ (t ) T F (t )φ (t )
λ2 (t + 1)




T
φ
φ
1
F
t
t
t
F
t
(
)
(
)
(
)
(
)


F (t + 1) =
F (t ) −
λ1 (t + 1)

λ1 (t + 1) 
+ φ (t ) T F (t )φ (t ) 

λ2 (t + 1)


Programmer
les
moindres
carrés
pondérés
dans
le
cas
du
facteur
d'oubli
fixe :
λ 1 ( t ) = λ 1 avec 0 ≤ λ 1 < 1 ; λ 2 ( t ) = 1 . Les valeurs typiques pour λ1 sont : λ1=0.95..0.99.
Tester cet AAP sur le fichier mod_var. Analyser le comportement de l'AAP résultant et en
particulier l'évolution du gain d'adaptation. Justifier.
9
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
2. PROGRAMME A ETUDIER
function [param ,variance,gain,erreur,ydat,udat,out_mod,imin,imax,dim]=mcr_ord(udat,ydat,dim)
%
----------------------------------------------------------------------------------------------------% modalités d'utilisation : instruction à ecrire pour l'excution
% il faut remplacer :
udat par le vecteur d'entrée
%
ydat par le vecteur de sortie
%
%------------------------------ moindres carrés récursifs -------------------------------------------------------------------% ydat
-> vecteur colonne de mesure de la sortie
% udat
-> vecteur colonne de mesure de l'entrée
% dim(1)
-> ordre du numérateur du modèle recherché
% dim(2)
-> ordre du dénominateur
% dim(3)
-> ordre du polynôme C du modèle de bruit
% dim(4)
-> dimension du retard en sus du bloqueur
% param
-> matrice dont les colonnes sont les estimations successives
% variance
-> matrice dont les colonnes sont les variances successives
% erreur
-> vecteur des erreurs d'estimation
%---------------------------------------------------------------------------------------------------------------------------------%Calcul des instants de départ et de fin de l'estimation
imin=max(dim)+dim(4)+1;
%indice de départ lié à la dimension du modèle
imax=max(size(ydat))-dim(4)-1;
%indice de fin lié au nombre de datas
%---------------------------------------------------------------------------------------------------------------------------------%création des vecteurs de sauvegarde
nbr_para=dim(1)+dim(2)+dim(3);
%nbre de paramètres à estimer
tetan=zeros(dim(1)+dim(2)+dim(3),1);
%vecteur de paramètres à l'instant t : [bi ai ci]
param=zeros(nbr_para,imax);
%matrices de sauvegarde des paramètres
variance=zeros(nbr_para,imax);
%matrice F
gain=zeros(nbr_para,imax);
%matrice du gain de l'AAP
erreur=ydat;
%vecteur d'erreur à posteriori
out_mod=zeros(imax,1);
%vecteur sortie du modèle
%---------------------------------------------------------------------------------------------------------------------------------% création et initialisation de la matrice F
F0=1000;
%valeur
initiale de F(t)
Fn=F0*eye(nbr_para);
%création de la matrice F(t) diagonale
%---------------------------------------------------------------------------------------------------------------------------------%choix des paramètres pour les facteurs d'oubli
%lambda0=;
lambda1=;
lambda2=;
%---------------------------------------------------------------------------------------------------------------------------------%boucle principale
for i=imin:imax
% création de la matrice matrice d'observation a faire
phi=[];
%évolution des différents paramètres pour le facteur d'oubli a faire
%calcul du dénominateur du gain a faire
% gain de l'AAP à t+1 a faire
% F à t+1 a faire
% paramètres à t+1 a faire
10
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
%---------------------------------------------------------------------------------------------------------------------------------%sauvegarde de toutes les variables
param(:,i)=tetan;
variance(:,i)=diag(Fn);
gain(:,i)=kn;
erreur(i)=ydat(i)-phi*tetan;
%calcul de l'erreur d'estimation a posteriori
out_mod(i)=phi*tetan;
%calcul de la sortie du modèle
end;
11
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
Identification des systèmes perturbés
L'objectif de ce T.P. est de passer en revue plusieurs algorithmes d'adaptation paramétrique
permettant l'identification des systèmes en présence de perturbations.
I. LIMITATIONS DES MOINDRES CARRES RECURSIFS
Utiliser le fichier pordreb.dat qui contient les données d'une identification sur le procédé G1(z) en
présence de perturbations. Expliquer le résultat obtenu à partir de l'observation des datas.
II. MOINDRES CARRES ETENDUS MCE
La méthode des MCE se classe dans la catégorie des méthodes cherchant à blanchir l'erreur de
prédiction afin d'éviter le biais d'estimation. Le test d'acceptabilité du modèle consiste à calculer
l'autocorrélation de l'erreur de prédiction. Pourquoi ?
On utilise un test statistique pour vérifier la blancheur de l'erreur de prédiction. Si l'on considère que
Ree(k) (avec k≠0) obéit à une distribution gaussienne de moyenne nulle et de variance 1/ N ,(N
longueur de la séquence), la probabilité pour Ree(k) > 2.17 / N est de 1.5%. Par conséquent, si une
valeur de Ree(k) est à l'extérieur de cet intervalle de confiance, l'hypothèse de blancheur de la
séquence
{ε ( t )}
peut être rejetée. L'intervalle de confiance peut varier en fonction du logiciel
utilisé, généralement, les niveaux de signification sont de 3%, 5% ou 7%. Le tableau ci-dessous
donne les valeurs maximum de Ree(k) en fonction de N.
Niveau de
N
128
256
512
2.17
0.192
0.136
0.096
0.173
0.122
0.087
0.16
0.113
0.08
signification
3%
N
5%
1.96
N
7%
1 .8
N
12
T. P. . ENSICaen. 3
ème
Année
T.P. N°2&3
A partir de l'algorithme des MCR, programmer les moindres carrés étendus (MCE). Vérifier son
bon fonctionnement sur le fichier pordreb.dat.
Utiliser le fichier mystere.dat qui contient le résultat d'une identification sur un système inconnu.
Déterminer la structure du modèle et ses paramètres. Déterminer le type de perturbation qui affecte
le procédé à partir du polynôme de bruit C(q-1).
III. DEUXIEME METHODE
Proposer une méthode alternative adaptée à la classe de système précédente. Quel est l’avantage
de cette méthode par rapport à la précédente ?
13
T. P. . ENSICaen. 3
ème
Année
T.P. N°4
Applications aux traitements du signal
Nous avons utilisé l’algorithme des moindres carrés uniquement au domaine de l’identification,
mais il existe d’autres domaines ou il est possible d’appliquer ces techniques. On recense 4 grands
domaines d’application qui utilise l’A.A.P dans des schémas différents.
u(t)
y(t)
Système
ε(t)
Filtre
adaptatif
y(t)
u(t)
Identification
^
y(t)
^
u(t)
Filtre
Système
adaptatif
Inversion de
modèle
ε(t)
Retard
Signal
aléatoire
Retard
Prédiction
Filtre
adaptatif
^
y(t)
ε(t)
Signal de
référence
Filtre
adaptatif
ε(t)
Signal mesuré
^
yp(t)
-
y(t)
Réjection de
bruit
+
y(t)+yp(t)
14
T. P. . ENSICaen. 3
ème
Année
T.P. N°4
Dans ces 4 domaines, on conserve le même algorithme, seules les entrées/sorties changent. On
conserve donc les mêmes propriétés et précautions d’emploi.
I.
REJECTION DE BRUIT
On cherche à éliminer l’influence d’une conversation sur une autre. Le signal parasite est mesuré à
la source ce qui permet de l’utiliser pour l’éliminer du signal désiré.
Perturbation
yp(t)
mesurable
Filtre
adaptatif
ε(t)
Filtre
ypf(t)
Signal
désiré
y(t)
+
+
^
ypf(t)
-
y(t)
+
y(t)+ypf(t)
Signal mesuré
Ce traitement est préférable au simple filtrage du signal mesuré car on filtre le signal désiré et la
perturbation. Ce filtrage est d’autant moins efficace que la bande passante du signal perturbation se
superpose à la bande passante du signal désiré (Windrow 1975). En règle générale, on utilise des
filtres F.I.R. pour ces applications.
Travail à effectuer :
Charger les fichier handel.mat, rieur.mat et son_bruit.mat contenant l’ensemble des
signaux . On cherche à éliminer les éclats de rire superposés au chant. Le programme rejet_moq.m
contient un synoptique permettant d’utiliser le fichier mcr_ord.m dévellopé pendant les séances
précédentes.
Donner les variables entrant dans la matrice d’observation. Préciser quel est le signal désiré
obtenu avec l’A.A.P.
Ennoncer les hypothèses sur les signaux pour que l’A.A.P. s’effectue sans biais.
Vérifier que la rejection est effective.
Une fois que ce travail est effectué, enregistrer dans des fichiers le son de vos voix. Après les avoir
superposés sous matlab, essayé de les séparer.
15
T. P. . ENSICaen. 3
II.
ème
Année
INTERFERENCE
T.P. N°4
DU
RESEAU
E.D.F.
SUR
LE
TRACE
D’UN
ELECTROCARDIOGRAMME
On cherche à éliminer l’influence du 50 Hz sur le fonctionnement d’appareils électriques. Dans le
cas présent, il s’agit de faire ressortir du bruit les signaux cardiaques issus d’électrodes posées sur le
corps d’un patient. La principale source de bruit est le 50 Hz du réseau. Cette source étant
mesurable, il est possible d’utiliser cette mesure afin de rejeter cette perturbation à l’aide d’un
schéma de réjection de bruit. Le modèle de la perturbation est y pf (t ) = A ⋅ sin (wt + ϕ ) .w est connu
mais A et ϕ sont inconnus.
Travail demandé :
Proposer un schéma de réjection de bruit adapté à l’A.A.P.
Utiliser le fichier rejet_50hz.m pour tester votre schéma de réjection de bruit. Le signal à
faire ressortir est une sinusoïde de fréquence 10 Hz.
Comparer la convergence des paramètres du modèles avec celle des paramètres du modèle
du I.
16
T. P. . ENSICaen. 3
ème
Année
T.P. N°5
Utilisation de logiciels dédiés
Pendant ce T.P., on se propose de modéliser des phénomènes ayant lieu sur deux procédés.
Les comptes-rendus de ce T.P. devront expliqués la méthodologie que vous avez employé pour
résoudre ces différents problèmes.
I. LA TOUR DE FIBRAGE
Le procédé de fabrication est une tour dite de
fibrage dont le schéma de principe est donné cicontre. La fibre optique est obtenue à partir d'une
préforme (tube de silice ayant subi de nombreux
traitement
thermiques
et
chimiques).
Cette
préforme est introduite à l'intérieur d'un four à
induction et descend lentement à vitesse constante,
entraînée par un moteur à courant continu. Sous
l'action de la chaleur, la préforme se ramollie, se
déforme pour donner naissance à une goutte à son
extrémité. Par gravité, celle-ci tombe en bas de la
tour de fibrage, est récupérée et orientée vers le
cabestan, le pantin puis le bobinoir. La vitesse de
fibrage est amenée ensuite à la vitesse désirée.
Lors du fibrage, un certain nombre de traitements
optiques, chimiques et thermiques sont réalisés.
On distingue alors la fibre nue avant traitement et
la fibre gainée après traitement.
17
T. P. . ENSICaen. 3
ème
Année
T.P. N°5
La tour mesurant une trentaine de mètres de hauteur, la fibre a tendance à se mettre à vibrer ce qui pose des
problèmes d'instrumentation pour la mesure du diamètre de celle-ci. De plus, une étude du procédé a montré
la nécessité d'asservir le diamètre de la fibre nue par la vitesse de fibrage en agissant sur le cabestan.
I.1. Modélisation de l'évolution du diamètre de la fibre en fonction de la vitesse de fibrage.
Les fichiers vitesse.dat et diametre.dat contiennent le résultat de l'envoie d'une SBPA sur le moteur
du bobinoir de la tour de fibrage. Déterminer le transfert reliant le diamètre de la fibre à la vitesse de
fibrage à l'aide du logiciel SIMART.
II.2. Modélisation des modes de vibration de la fibre optique.
Le fichier deviation.m permet de visualiser la position de la fibre et ses modes de vibrations
pendant le fibrage. La représentation fréquentielle est calculée à l'aide d'un algorithme DFT qui
donne un résultat assez "bruité". On cherche donc à modéliser ce comportement à l'aide d'un modèle
paramétrique, on utilisera pour ce faire le logiciel IDENT de MATLAB.
II. PROCEDE THERMIQUE.
Il s'agit de modéliser l'évolution de la température d'un porte-échantillon à l'intérieur d'un cryostat
en fonction de la puissance envoyée sur une résistance chauffante.
Le procédé est perturbé par l'évolution de la pression atmosphérique car celle-ci modifie la
température du bain d'azote servant de source de froid au cryostat.
18
T. P. . ENSICaen. 3
ème
Année
T.P. N°6
Modélisation et synthèse d'une voyelle
Le traitement numérique du signal permet la modélisation d'un signal par un filtre formeur (ou
générateur). Le signal, caractérisé par sa DSP, est considéré comme un processus aléatoire résultant
du filtrage d'un bruit blanc par ce filtre formeur. Dans le cas simple d'une modélisation par un
processus AR(N), les coefficients du filtre peuvent se déduire directement des coefficients
d'autocorrélation du signal: méthode de Yule -Walker.
Nous nous proposons de vérifier ceci sur les signaux élémentaires que sont les voyelles émises par
une personne. La manipulation comportera les étapes suivantes:
• enregistrer avec un microphone et une carte son les cinq voyelles "a e i o u".
• isoler avec Matlab chacune d'entre elles.
• rechercher ses caractéristiques fréquentielles: périodogramme.
• rechercher pour chaque voyelle le filtre générateur et en étudier la réponse
impulsionnelle.
• effectuer par logiciel la synthèse des voyelles.
• vérifier, avec la carte son, le résultat obtenu.
I. FILTRE FORMEUR SUR LES FILTRES FORMEURS
I.1. Processus ARMA et AR
Un signal quelconque est un processus ARMA(N,M) si sa densité spectrale est la même que elle du
signal de sortie d'un filtre ARMA(N,M) excité par un bruit blanc. Pour un signal déterministe, la
réponse impulsionnelle du filtre sera identique au signal.
Processus ARMA(M,N) : x (t ) →
B( q −1 ) 1 + b 1 q −1 + b 2 q −2 + ...+ b M q − M
=
→ y(t )
A ( q −1 ) 1 + a 1 q −1 + a 2 q −2 +...+ a N q − N
Pour modéliser un signal, on peut ainsi le considérer comme étant la réalisation d'un processus
aléatoire de type ARMA(M,N).
Le cas particulier du filtre AR(N) correspondant à M=0. La modélisation par un processus AR(N)
est particulièrement simple car dans ce cas, les coefficients ai du filtre linéaire sont reliés par les
équations de Yule -Walker.
19
T. P. . ENSICaen. 3
ème
Année
T.P. N°6
I.2. : EQUATIONS DE YULE-WALKER
H(z) =
1
1 + a1z + a 2 z− 2 +...+ a N z − N
−1
C yy [1]
 C yy [1]   C yy [0]
 C [2]   C [1]
C yy [0]
yy
 yy  
=
−

 
 

C yy [ N ] C yy [ N − 1] C yy [ N − 2]

 
C yy [ N − 1]   a1 
C yy [ N − 2]  a 2 
 
 =Μ
 
 
C yy [0]  a N 
 a1 
a 
 2
 
 
 
a N 
La matrice M est une matrice de Toeplitz et la connaissance des coefficients de corrélation du signal
y(t) permet, en théorie, d'obtenir les coefficients ai du filtre par résolution du système linéaire
précédent. Le succès de la modélisation AR est dû à la linéarité du système d'équations obtenu alors
que la modélisation ARMA qui aboutit à un système équivalent mais non-linéaire nécessite des
algorithmes de résolution plus complexes.
Pour modéliser le signal, on peut rechercher un filtre AR(N) grâce à l'évaluation expérimentale des
coefficients de corrélation intervenant dans les équations de Yule-Walker. Expérimentalement deux
problèmes se posent:
* Choisir l'ordre N du filtre: pour la parole des filtres d'ordre 16 à 20 sont suffisants.
* Déterminer les coefficients de corrélation et résoudre le système d'équations. Le
filtre réalisé possède souvent des pôles au voisinage du cercle unité et un estimateur de
corrélation de variance trop grande par l'incertitude qu'il introduit peut faire aboutir à un
filtre instable. Il en est de même pour l'algorithme de résolution numérique qui doit être
robuste vis à vis des erreurs d'arrondis machine.
20
T. P. . ENSICaen. 3
ème
Année
T.P. N°6
II. ETUDE D'UNE VOYELLE
Un exemple simple de signal permettant une modélisation AR est fourni par le traitement de la
parole et plus particulièrement l'étude des voyelles.
Les voyelles sont des sons émis par
vibration des cordes vocales. Le signal associé, représenté ci-dessous dans le cas du "a" a les
caractéristiques suivantes:
• il est périodique: répétition d'un motif. La période T est de l'ordre de 10ms pour un
homme et de 5ms pour une femme.
• sa durée est limitée dans le temps et son amplitude est fixée par une fonction
enveloppe. On notera K le nombre de motifs constituant le son.
III. TRAVAIL EXPERIMENTAL
Nous disposons de micro-ordinateurs équipés d'une carte son, du microphone et des enceintes
acoustiques nécessaires. D'autre part tout le traitement de signal peut être effectué grâce au logiciel
MATLAB.
III.1. acquisition du signal:
Avec l'utilitaire de la carte son (wave studio) enregistrer chaque voyelle a e i o u dans un fichier
(.wav) en prenant garde à ne pas saturer le signal.
Les paramètres de l'acquisition sont:
• codage sur 8 bits.
21
T. P. . ENSICaen. 3
ème
Année
T.P. N°6
• fréquence d'échantillonnage de 22050 Hz ce qui constitue une bande de fréquence de
Shannon d'environ 11 kHZ suffisante pour le signal vocal.
III.2. Modélisation:
Pour chaque voyelle:
• Avec MATLAB , récupérer le fichier de données (wavread) puis placer dans une
variable les données correspondantes.
• Centrer le fichier de données.
• Visualiser le signal correspondant et déterminer le nombre K de motifs présents dans
le signal
• Avec la FFT, représenter la DSP du signal (périodogramme).
• Visualiser et sauvegarder dans une variable 5 à 6 motifs choisis vers le centre du
signal étudié. Déterminer la durée T d'un motif. Mesurer Ne le nombre d'échantillons
présents dans ce motif.
• A partir de cette variable, rechercher un filtre AR(20) (AR) par la méthode de YuleWalker.
• Etablir la fonction de transfert du filtre (th2tf), sa réponse en fréquence (freqz), la
répartition de ses pôles (zpplot,zp) et sa réponse impulsionnelle (dimpulse).
• Comparer les Ne premiers échantillons de la réponse impulsionnelle avec le motif du
signal acquis.
22
T. P. . ENSICaen. 3
ème
Année
T.P. N°6
III.3. Validation:
Pour valider notre étude, on peut reconstituer le signal et l'appliquer au périphérique son pour
l'écouter et le comparer au signal d'origine. Cela demande les opérations suivantes:
• Extraire les Ne premiers échantillons de la réponse impulsionnelle et créer une
variable contenant K fois ce motif.
• L'enveloppe n'ayant pas été identifiée, on placera une enveloppe de synthèse
arbitraire qui, en raison de sa forme sympathique, peut être par exemple constituée
par une fenêtre de Hanning (Hanning).
• Conditionnement pour un convertisseur 8 bits: le codage possible va de 0 à 511,
prendre la variable précédente, lui ajouter une composante continue de 126 et lui
assurer une variation maximale d'amplitude d'environ 100.
• A partir de cette dernière variable, constituer le fichier son pour le périphérique
(wavwrite).
• Procéder à l'audition du résultat obtenu.
23