École Normale Supérieure 6 avril 205 Traitement du signal Feuille d exercices n o 9 Corrigé Exercice Soit η,..., η n une suite de zéros et de uns. Notons k le nombre de uns qu elle contient. On a : La suite (η,..., η n ) est ɛ-typique si : Ç å p k P (X = η,..., X n = η n ) = p n k ( p) k = p n p H(X) ɛ log 2(P (X = η,..., X n = η n )) n H(X) + ɛ L entropie de X vaut H(X) = p log 2 (p) ( p) log 2 ( p). Puisque log 2 (P (X =η,...,x n=η n)) log 2 (p) + k log ) n 2, la suite (η,..., η n ) est ɛ-typique si et seulement si : ( p p Ç å p ( p) log 2 ɛ k Ç å Ç å p p p n log 2 ( p) log p 2 + ɛ p ( Ç å p ) ( n ( p) ɛ log Ç å p 2 k n ( p) + ɛ p log 2 p ( ) En effet, on a pu diviser par log p 2 p car, comme p /2, ce nombre est non-nul. Le nombre de uns dans une suite ɛ-typique est donc de l ordre de n( p). Exercice 2. H(X) = Ä donc H(X) = 2. 2. a) 6 log 2 n = ) Ä ä 6 + log Ä ä 6 2 6 + log Ä ä 6 2 6 + log Ä ä 4 2 4 + log Ä ä 2 2 2 + log Ä ää 6 2 6
Y : 0 U : 0 0 M : 00 P : 0 R : 0 Z : b) Toutes les lettres de probabilité /6 sont codées par 4 bits, celle de probabilité /4 par 2 bits et celle de probabilité /2 par bits. La longueur moyenne est donc : 6.4.4 + 4.2 +. = 2 = H(X) 2 3. On procède par récurrence sur n. Pour n = 0, c est vrai. Supposons qu on l a montré jusqu à n et montrons-le pour n +. - Si ɛ = 0 : par l hypothèse de récurrence, il existe un mot m dont le code commence par ɛ 2...ɛ n. Alors le code de Y m commence par ɛ...ɛ n. - Si ɛ =, ɛ 2 = 0 : soit m un mot dont le code commence par ɛ 3...ɛ n. Alors le code de Um commence par ɛ...ɛ n. - Si ɛ = ɛ 2 = : il existe une lettre l dont le code est ɛ ɛ 2 ɛ 3 ɛ 4. Soit m un mot dont le code commence par ɛ 5...ɛ n. Alors le code de lm commence par ɛ...ɛ n. 4. a) 0000 b) Si on change le premier bit, on obtient 000. Ceci est le code du mot P UY. Exercice 3. On ordonne les éléments de E par longueur de code croissante : π() est l élément de E tel que l(φ(π())) est minimale, π(2) est l élément de E tel que l(φ(π(2))) est la plus petite possible après l(φ(π())) etc. Pour tout k, l(φ(π(k))) [log 2 (k)]. En effet, sinon, l(φ(π(k))) [log 2 (k)] et, puisque s l(φ(π(s))) est croissante, on a, pour tout s {,..., k} : l(φ(π(s))) [log 2 (k)] Le nombre d éléments de B dont la longueur est inférieure ou égale à [log 2 (k)] est 2 [log 2 (k)]. Ce nombre est inférieur ou égal à 2 log 2 (k) = k. C est absurde car φ(π()),..., φ(π(k)) sont k éléments de B distincts dont la longueur est inférieure ou égale à [log 2 (k)]. 2
Ainsi : E(l(φ(X))) = P (X = π(k))l(φ(π(k))) P (X = π(k))[log 2 (k)] 2. D après la question précédente, il suffit de montrer : On a : P (X = π(k))[log 2 (k)] H(X) log 2 ( + ln(n)) = P (X = π(k)) log 2 (P (X = π(k))) log 2 ( + ln(n)) P (X = π(k))[log 2 (k)] P (X = π(k)) (log 2 (k) ) = P (X = π(k)) log 2 (k) P (X = π(k)) = P (X = π(k)) log 2 (k) Il suffit donc de démontrer : soit : P (X = π(k)) log 2 (k) P (X = π(k)) log 2 (P (X = π(k))) log 2 ( + ln(n)) Ç å log 2 ( + ln(n)) P (X = π(k)) log 2 kp (X = π(k)) Or, d après la concavité de la fonction log 2 et puisque n P (X = π(k)) = : Ç å ( n ) P (X = π(k)) log 2 log kp (X = π(k)) 2 P (X = π(k)) kp (X = π(k)) ( n ) = log 2 k log 2 ( + ln(n)) 3. Puisque les variables aléatoires X, X 2,... sont indépendantes les unes des autres et de même loi : k N, H((X,..., X k )) = kh(x ) 3
Si on note N = n k le nombre d éléments de E k, on a, d après la question précédente : E(l(φ k (X,..., X k ))) H((X,..., X k )) log 2 ( + ln(n)) donc : k E(l(φ k(x,..., X k ))) Ä H((X,..., X k )) log k 2 ( + ln(n)) ä = H(X ) k k log 2( + k ln(n)) Puisque k + k log 2( + k ln(n)) 0 quand k +, l égalité suivante est vraie pour tout k assez grand : k E(l(φ k(x,..., X k ))) H(X ) ɛ Exercice 4. Soit r le réel codant le mot de n lettres. On décode par récurrence : si n = 0, on renvoie le mot vide. Supposons qu on a déjà décodé les m premières lettres, avec m < n. Alors on peut calculer yk inf et y sup k pour tout k m. La m+-ème lettre est l unique x m+ tel que r [ym inf +a xm+ (ym sup + a xm+ (ym sup ym inf )]. 2. Pour toute suite de lettres x...x n, on note [yn inf ym inf ); ym inf (x...x n ), yn sup (x...x n )[ l intervalle correspondant. On vérifie par récurrence que sa largeur est exactement p x...p xn. Cet intervalle contient donc un réel de la forme M2 m où M est un entier et m = log 2 (p x...p xn ). Puisqu un réel compris entre 0 et de la forme M2 m se code en m bits, la longueur du code de x...x n est au plus : log 2 (p x...p xn ) log 2 (p xs ) s n On obtient : Ñ é l n p(x )...p(x n ) log 2 (p xs ) x,...,x n s n = p xs log 2 (p xs ) s n x s = + nh(x) donc l n /n H(X) + /n. 3. a) H(X) = ( ɛ) log 2 ( ɛ) ɛ log 2 ɛ b) 0 est codé par 0 et est codé par. c) Un mot de n lettres est toujours codé par un code de longueur n. On a donc l n /n =. Pourtant, si ɛ est proche de 0 ou de, H(X) (car la fonction x x log 2 (x) tend vers 0 en x = 0 et en x = ). 4
Exercice 5. H(X) = 2 k Ä log 2 2 k ä k = k2 k k = k s k 2 s = 2 k+ k = k 02 k = 2 2. On code le nombre k par le mot...0, qui contient (k ) zéros (c est-à-dire que est codé par 0, 2 par 0, 3 par 0 etc.). Le nombre moyen de bits pour un symbole est (puisque le symbole k est codé par k bits) : Donc le code est optimal. P (X = k).k = k2 k = H(X) k k 3. Dans ce cas, les symboles,..., N voient leur code entier envoyé. En revanche, les codes des symboles N +, N + 2,... sont tronqués : pour un tel symbole, on n envoie que x =... (N fois le bit ). On suppose que lorsque le N-uplet reçu est x, on le décode par N +. Dans ce cas, le nombre de bits moyen est : (X = k) min(k, N) = k P min(k, N)2 k k N = 2 s = = s k N 2 (k ) N 2 k k=0 = 2.( 2 N ) La distance entre le symbole k à transmettre et le symbole décodé est 0 si k N + et 5
k (N + ) si k > N +. L erreur quadratique moyenne est donc : k N+ P (X = k)(k (N + )) 2 = k N+ 2 k (k (N + )) 2 = 2 (N+) k 2 2 k k 0 = 2 (N+) ( + 3 + 5 +... + (2k ))2 k k 0 Ñ é = 2 (N+) ) 2 k (2k s s k = 2 (N+) (2k )2 (k ) k Ñ = 2 (N+) 2. k2 k + 2 k k 0 k 0 = 2 (N+) (2.2 + 2) = 3.2 N é 6