Texte

publicité
1
TP RLS
Dans ce TP, on se propose d’écrire en langage Matlab des algorithmes de moindres carrés récursifs
avec fenêtre de pondération. Nous utiliserons ces algorithmes pour estimer le résidu de prédiction
d’un signal de parole.
1
Algorithme RLS
On considère le modèle linéaire
xj = yjT h + ej pour j ∈ {1, . . . , n}
où xj , ej ∈ R, yj ∈ Rp (avec p < n).
Soit λj des nombres positifs. L’estimateur des moindres carrés pondérés est défini par
ĥ = arg minp
h∈R
n
X
(xj − yjT h)2 λj
j=1
T
T
T
T
xn , Yn = Yn−1
yn et Λn = diag(λ1 , . . . , λn ). On donne:
On pose Xn = Xn−1
Lemme 1 (d’inversion matricielle)
(A + BCD)−1 = A−1 − A−1 B C −1 + DA−1 B
1.1
−1
DA−1
(1)
Fenêtre exponentielle
On considère la suite de pondération suivante :
λj = λn−j
1. En utilisant le principe d’orthogonalité, déterminer, en fonction de Xn , de Yn et de Λn ,
l’expression de ĥ.
2. Dans la suite on posera Rn = (YnT Λn Yn ) et Qn = Rn−1 . Déterminer l’équation récurrente que
vérifie Rn , ainsi que les conditions initiales. En utilisant le lemme 1, déterminer l’équation
récurrente que vérifie Qn , ainsi que les conditions initiales.
3. Algorithme récursif: montrer que pour n = 1 . . . :
Kn =
λ−1 Qn−1 yn
1 + λ−1 ynT Qn−1 yn
hn = hn−1 + Kn (xn − ynT hn−1 )
Qn = λ
−1
(Ip −
Kn ynT ) Qn−1
avec comme conditions initiales1 Q0 = IP /δ with δ ≪ 1 et h0 = 0.
1
On ne peut pas prendre R0 = 0 car cela conduirait à Q0 = ∞.
(2)
2
1.2
Fenêtre rectangulaire glissante
On considère la suite de pondération
λj =
1 si j = n − N + 1 . . . n
0 si j = 1 . . . n − N
1. En utilisant le principe d’orthogonalité, déterminer, en fonction de Xn , de Yn et de Λn ,
l’expression de ĥ.
2. En utilisant les formules suivantes :
T
YnT Λn xn = Yn−1
Λn−1 Xn−1 − yn−N xn−N + yn xn
et
T
T
YnT Λn Yn = Yn−1
Λn−1 Yn−1 − yn−N yn−N
+ yn ynT
T −yn−N
T
= Yn−1 Λn−1 Yn−1 + yn−N yn
ynT
déterminer un algorithme récursif.
2
Expérimentation
1. On veut réaliser l’estimation de l’erreur de prédiction sur un passé de longueur P d’un signal.
Comment ce problème peut-il être résolu par un algorithme RLS ? Ecrire sous Matlab les
fonctions correspondantes.
2. En utilisant les fonctions précédentes, effectuer l’estimation du résidu de prédiction pour un
signal de parole (fichier desgens.wav). Décrire les résultats obtenus (on distinguera les plages
dites de son voisé et les plages dites de son non voisé).
3. Evaluer la fréquence de pitch et reporter vos résultats sur le spectrogramme du signal (récupérer
la fonction spectro.m).
Téléchargement