• Aucun résultat trouvé

3.4 Des algorithmes plus efficaces d’optimisation ℓ 0

3.4.2 Sélection dans une fenêtre

La sélection dans une fenêtre a été proposée par Kaaresen dans les algorithmes Iterative Win-dow Maximization (IWM) [Kaaresen 1997; 1998]. Le principe est de proposer des ajouts, retraits et remplacements multiples dans une fenêtre centrée autour d’un pic donné.

Kaa-resen[1997] se limite néanmoins à des mouvements doubles dans une fenêtre de quelques

éléments. Nous proposons d’étendre ce principe à des mouvements plus généraux pour des fenêtres plus larges, jusqu’à par exemple deux fois la taille de la forme d’onde de référence. Nous notons Nw la taille de la fenêtre de calcul des mouvements multiples.

Nous proposons un premier algorithme, basé sur SBR, mais avec des mouvements simples et doubles. Nous l’appelons Single or Double Best Replacement (SDBR). Il inclut à chaque itération le test

1. des ajouts simples : ∆J n

Qi✁1 pour n❘ Qi✁1, 2. des ajouts doubles : ∆J n1 n2

Qi✁1 pour n1, n2 ❘ Qi✁1 et n1 ↕ n2 ↕ n1 Nw, 3. des remplacements : ∆J n✁m

Qi✁1 pour n❘ Qi✁1 et mP Qi✁1, 4. des retraits simples : ∆J✁m

Qi✁1 pour mP Qi✁1, 5. des retraits doubles : ∆J✁m1✁m2

Qi✁1 pour m1 P Qi✁1et m2 P Qi✁1③m1.

Cet algorithme a un coût de calcul bien plus important que SBR car il teste tous les doubles ajouts dans une fenêtre de taille Nw, les remplacements et les doubles retraits.

Kaaresen[1997] à proposé deux algorithmes : IWM1 et IWM2. IWM1 réalise les

mouve-ments 1, 3 et 4 dans une fenêtre de cinq élémouve-ments, tandis que IWM2 effectue les mouvemouve-ments 2, 3 et 5 dans une fenêtre de dix éléments. IWM2 permet également de séparer un pic en deux et de fusionner deux pics, qui sont en fait des mouvements d’ordre trois. Nous proposons ici un algorithme plus général avec des mouvements d’ordre deux.

10 20 30 40 50 −1 −0.5 0 0.5 1

(a) Forme d’onde

50 100 150 200 250 −2 −1 0 1 2 (b) Donn´ees et v´erit´e 50 100 150 200 −2 −1 0 1 2 (c) SBR J (bx, µ) = 0.28921 50 100 150 200 −2 −1 0 1 2 (d) SDBR (Nw= 5) J (bx, µ) = 0.27601 50 100 150 200 −2 −1 0 1 2 (e) SDBR (Nw= 25) J (bx, µ) = 0.26451 50 100 150 200 −2 −1 0 1 2 (f) SDBR (Nw= 50) J (bx, µ) = 0.26451

FIGURE3.8 – Déconvolution par régularisation ℓ0. (a) : Réponse impulsionnelle instrumen-tale avec f0 ✏ 5 MHz, BWR✁3 ✏ 0.3, φ ✏ ✁π④4, (b) : données avec RSB ✏ 25 dB (–) et vérité (+), (c) : vérité (+) et estimation par SBR (✆), (d) vérité (+) et estimation par SDBR (✆), (e) : vérité (+) et estimation par SDBR (✆), (f) : vérité (+) et estimation par SDBR (✆). Résultats à partir d’un exemple simulé

Nous reprenons l’exemple de la figure3.6où la taille de la réponse impulsionnelle h est Nh ✏ 51. La valeur de µ est déterminée de la même façon que dans la partie3.3.4, par respect de la norme du bruit avec SBR. Les algorithmes SBR et SDBR avec plusieurs tailles de fenêtre Nw ✏ 5, 25, 50 sont utilisés et les résultats sont présentés sur la figure3.8. Les résultats numériques – pour les algorithmes gloutons, SBR et SDBR – sont récapitulés dans le ta-bleau3.6. Comme attendu, le critère et la norme du résidu baissent quand la complexité de

JQ (0.276) ⑥y ✁ G♣x⑥2

(0.196) card♣Qq (9) N. comb. temps (ms) MP 0.589 0.421 19 3810 4.5 OMP 0.446 0.295 17 3447 6.1 OLS 0.319 0.203 13 2709 7.7 SBR 0.289 0.183 12 3734 11.3 SDBR (Nw ✏ 5) 0.276 0.187 10 80217 496.5 SDBR (Nw ✏ 25) 0.265 0.185 9 65815 221.5 SDBR (Nw ✏ 50) 0.265 0.185 9 87202 188.2 TABLE 3.6 – Résultats issus des figures 3.6 et 3.8. JQ : valeur finale du critère, ⑥y ✁ G♣x⑥2

: norme du résidu, card♣Qq : nombre de composantes non nulles de la solu-tion estimée, N. comb. : nombre de combinaisons testées par l’algorithme, temps : temps de calcul. Les valeurs en la véritéqx, lorsqu’elles sont connues, sont affichées entre parenthèses.

l’algorithme augmente tandis que le nombre de combinaisons testées et le temps de calcul croissent. La cardinalité décroît quand la complexité augmente, signe de meilleures détec-tions. Contrairement à SBR, SDBR parvient à détecter les deux pics autour de l’indice 100 et donc à faire baisser la valeur du critère. Pour Nw ✏ 5, les deux derniers pics sont mal dé-tectés. Sur cette portion de signal, ce résultat est moins bon que pour SBR car le chemin pris par l’algorithme a été légèrement modifié et mène à une moins bonne estimation des deux derniers pics. Pour Nw ✏ 25 et Nw ✏ 50, la solution a le bon support et est très proche de la séquence attendue. La norme du résidu est même inférieure à la norme du bruit⑥y ✁ Gqx⑥2

. Cette différence s’explique par le fait que le résidu ⑥y ✁ G♣x⑥2

est par définition, pour un même support, le résidu de norme minimale. La différence entre les deux approches SDBR (Nw ✏ 25 et Nw ✏ 50), qui renvoient la bonne solution, est le temps de calcul. Ces bonnes solutions sont obtenues grâce à un plus grand nombre de combinaisons testées, qui corres-pond forcément à un plus grand temps de calcul.

Résultats issus de simulations de Monte-Carlo

Nous réalisons ici 1000 simulations de Monte-Carlo avec une configuration voisine de la précédente : 8 pics uniformément positionnés dansr1, . . . , Nxs et d’amplitudes de distribu-tion uniforme entre✁1 et 1, Nx ✏ 200, RSB ✏ 20 dB. Nous testons cette fois trois tailles de fenêtres Nw ✏ 2, 11, 51. Les résultats numériques sont récapitulés dans le tableau 3.7. Comme observé dans l’exemple précédent, la valeur moyenne du critère, la norme du résidu

JQ ⑥y ✁ G♣x⑥2

card♣Qq N. comb. temps (ms) MP 0.656 0.130 15.9 3227 10.0 OMP 0.551 0.115 13.9 2863 9.9 OLS 0.464 0.098 13.6 2825 14.3 SBR 0.439 0.098 11.9 3399 17.2 SDBR (Nw ✏ 2) 0.429 0.099 11.0 33782 289.9 SDBR (Nw ✏ 11) 0.427 0.099 10.5 49991 279.1 SDBR (Nw ✏ 51) 0.411 0.098 9.5 90010 207.5

TABLE3.7 – Résultats issus de 1000 simulations de Monte-Carlo pour des données aléatoires du type de celles illustrées sur la figure3.6 (8 pics). JQ : valeur finale moyenne du critère, ⑥y ✁ G♣x⑥2

: norme moyenne du résidu, card♣Qq : nombre de composantes non nulles de la solution estimée, N. comb. : nombre moyen de combinaisons testées par l’algorithme, temps : temps de calcul moyen.

et la cardinalité baissent quand la complexité de l’algorithme augmente. Le nombre de com-binaisons testées, et par conséquent le temps de calcul, ont tendance à augmenter avec la complexité. On remarque néanmoins que SDBR, avec Nw ✏ 2, a un temps de calcul moyen plus important, dû à un plus grand nombre d’itérations : une fenêtre trop petite a pour effet de favoriser les ajouts et retraits multiples successifs, ne permettant pas de détections doubles importantes. L’algorithme SDBR est plus efficace mais requiert un temps de calcul plus de dix fois supérieur à SBR. Plutôt que d’orienter nos développements vers des approches avec des mouvements plus complexes, qui accroissent les temps de calcul, nous choisissons de restreindre le nombre de possibilités de la sélection grâce à des calculs préalables. C’est ce que nous détaillons dans la prochaine partie.

3.4.3 Sélection basée sur un calcul d’auto-corrélation