Teoria da Informação
Transcrição
Teoria da Informação
Departamento de Engenharia Electrotécnica e de Computadores Apontamentos de Teoria da Informação Sílvio A. Abrantes 2003 1. Shannon e a Teoria da Informação 1.1. Introdução e perspectiva histórica 1.2. Medidas de informação: incerteza, entropia, informação mútua média e capacidade de canal 1.3. Teorema da codificação de canal: ritmo de informação, teorema da codificação de canal, codificação de fonte, redundância 1.4. Teorema da codificação de fonte: códigos unicamente descodificáveis, códigos de prefixação, desigualdade de Kraft-McMillan, teorema da codificação de fonte, extensões 1.5. Códigos de fonte para compressão de dados: técnicas de compressão sem perdas, códigos baseados em modelos estatísticos e em dicionários: código de Shannon-Fano, código de Huffman, código aritmético, código de Lempel-Ziv (L-Z) 1.6. Fontes e canais contínuos: entropia diferencial, teorema da capacidade de canal (lei de Shannon-Hartley), limite de Shannon, plano da probabilidade de erro e plano da eficiência em largura de banda 2. Codificação para correcção de erros 2.1. Introdução 2.2. Técnicas ARQ 2.3. Códigos de blocos 2.4. Códigos cíclicos 2.5. Códigos convolucionais 2.6. Códigos entrelaçados e concatenados ! !"!"! "#$%&'()*&!+!,+%-,+.$/01!2/-$3%/.1! !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' 7' 421##&#!+!1!5+&%/1!'1!"#6&%71)*&! ! !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' 8' "#$%&'()*&! !"#$!"#$%&'("$&)'*&'+#,-.%+&/0#$%$&'('))*+,#$-#+#$#./0,+,+"1)$0"#$1%20#' ,&%2' &,3)&2$ 0"#$ 3"$23"+!%1&' ,&%2' 1&2!&2$ /0'$ (1&.03#$ #1)$ -+,&(4-,1)$ 5*),(1)$.1$-+16'(71$'$(1"-#+#891$.'$),)7'"#)$.'$(1"0&,(#8:');$ <$ 5+&%/1! '1! "#6&%71)*&$ %$ 0"#$ .,)(,-=,&#$ ('&7+#.#$ >$ ?1=7#$ .'$ 0"#$ #51+.#@'"$ "#7'"*7,(#$ (1"0"$ #1$ ')70.1$ .1$ &$,&4".&,".!#$ '$ ,&.%3-)&/0#$ .#$ %.5#$,&/0#;$ A1"1$ 7#=2$ B1+&'('$ 0"#$ 6&2"' !"7$%+&$ -#+#$ #(7,?,.#.')$(1"1C$ • 15)'+?#8912$"'.,.#2$(1"-+'))91$'$#+"#3'&#"'&71$.'$.#.1)$ • 7'='(1"0&,(#8:')$ • ')7,"#891$ • 71"#.#$.'$.'(,):')$ • +'(1&D'(,"'&71$.'$-#.+:');$ E'=#7,?#"'&7'$>)$7'='(1"0&,(#8:')2$#$F'1+,#$.#$G&B1+"#891$ • B1+&'('H&1)$3%2!&2$-#+#$"'=D1+#+$#$"5%+%8.+%&$.#$(1"0&,(#8912$(1"$5#)'$ &1$')70.1$.#)$-1)),5,=,.#.')$'$=,",7#8:')$,&'+'&7')$>)$=',)$B4),(#);$ <$8&'/6/.1)*&$I.'$B1&7'$'$.'$(#&#=J$%$0"#$B1+"#$.'$"'=D1+#+$#$'B,(,K&(,#$.#$(1"0&,(#891;$ • "2!&6")"+"')%,%!"2$-#+#$'))#$'B,(,K&(,#2$'"$+'=#891$#1)$/0#,)$-1.'+'"1)$ (1"-#+#+$.,?'+)1)$),)7'"#);$ !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' 9' "#$%&'()*&! <$ F'1+,#$ .#$ G&B1+"#891$ %$ 0"#$ 7'1+,#$ ,&!",9!%+&$ /0'$ 7+#7#$ .'$ 7+K)$ (1&(',71)$5*),(1)C$ • <$,"*%*&'*&'%.5#$,&/0#:$ • <$+&3&+%*&*"$.'$0"$(#&#=$.'$(1"0&,(#8:')$7+#&)B'+,+$,&B1+"#891;$ • <$ +#*%5%+&/0#2$ (1"1$ "',1$ .'$ 07,=,3#+$ 1)$ (#&#,)$ (1"$ 71.#$ #$ )0#$ (#-#(,.#.';$ L)7')$7+K)$(1&(',71)$')791$=,@#.1)$-'=1$/0'$)'$-1.'$(D#"#+$1$$ ! "#$%#&'!()*+'&#*,'-!+'!"#$%.'!+'!/*0$%&'12$!3+#!45'**$*67! 91'1!(71!6&#$+!'+!/#6&%71)*&!+!(7!.1#1:!'+!.&7(#/.1)*&;!+</-$+!(71! $=.#/.1!'+!.&'/6/.1)*&!$1:!>(+!1!/#6&%71)*&!,&'+!-+%!$%1#-7/$/'1!1$%10=-! '&! .1#1:! 1! >(1:>(+%! %/$7&! /#6+%/&%! ?! .1,1./'1'+! '&! .1#1:! +! .&7! (71! 6%+>(@#./1! '+! +%%&-! 1%A/$%1%/17+#$+! ,+>(+#1! 1,+-1%! '1! ,%+-+#)1! '&! %(B'&C! ! • M$ #)-'(71$ 2-$3$"".*".!"$ $ .')7'$ 7'1+'"#$ %$ #$ 7+#&)",))91$ 2",' "$$#2$ #7+#?%)$ .'$ 0"$ (#&#=$ +0,.1)12$ 0"#$ (1&.,891$ /0'$ %$ 157,.#$ #7+#?%)$ .'$ (1.,B,(#891$#.'/0#.#;$ • <$ +#*%5%+&/0#$ %$ 0)#.#$ -#+#$ &*&3!&$$ #$ B1&7'$ '$ 1$ (#&#=$ -#+#$ #$ "*N,"#$ 7+#&)B'+K&(,#$B,*?'=$.'$,&B1+"#891;$ !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' :' "#$%&'()*&! $ <$F'1+,#$.#$G&B1+"#891$7'&7#$+')-1&.'+$#$-'+@0&7#)$.1$@%&'+1C$ $ • ;'<-"'='&'%.5#$,&/0#>'?#,#'&',"*%,#2>' • @-&%2'20#'#2')%,%!"2'5-.*&,".!&%2'A'!$&.2,%220#'*"'%.5#$,&/0#>' • @-&%2' 20#' #2' )%,%!"2' 5-.*&,".!&%2' A' "B!$&+/0#' *"' %.5#$,&/0#' *#' ,"%#' &,6%".!">' • ?#,#' =' <-"' 2"' *"1",' 3$#C"+!&$' *%23#2%!%1#2' #-' "<-%3&,".!#2' <-"' 2"' &3$#B%,",'*"22"2')%,%!"2>' • ;2' *%23#2%!%1#2' "' "<-%3&,".!#2' &+!-&%2' &3$#B%,&,D2"E' #-' .0#E' *"22"2' )%,%!"2>' !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' ;' D+%-,+.$/01!2/-$3%/.1! • O+'&P&(,1)$ +'"171)$ .#$ F'1+,#$ .#$ G&B1+"#891C$ .3'/E&! F&%-+! IQ#"0'=$ R1+)'2$STUVHSTUTJ;$ • <)$ -+,"',+#)$ 7'&7#7,?#)$ -#+#$ .'B,&,+$ 0"#$ "'.,.#$ .'$ ,&B1+"#891$ B1+#"$ B',7#)$-'=1)$7'W+,(1)$.#$(1"0&,(#891$GC!HI>(/-$$I7'='@+#B,#$'$(+,7%+,1)$.'$ XY/0,)7$ Z$ S[V\HS[VTJ$ '$ G1%$:+I$ IS[VTJ$ '$ -'=1$ ')7#74)7,(1$ JC! K/-2+%$ IS[V]J;$ • G1%$:+I$ .'B,&,0$ -'=#$ -+,"',+#$ ?'3$ #$ <-&.!%*&*"' *"' %.5#$,&/0#$ (1"1$ )#(&$%!,#$.1$&P"'+1$.'$)4"51=1)$10$"'&)#@'&);$ • M$ #))0&71$ )W$ 71"10$ #$ )0#$ B1+"#$ #(70#=$ #-W)$ 1)$ 7+#5#=D1)$ .'$ 8:1('+! 421##&#$ IS[\TJ2$ L/+#+%$ IS[\TJ$ '$ M&$+:#/N&0$ IS[\^J;$ _1)$ 7+K)$ B1,$ 421##&#$ /0'"$ ')7#5'='('0$ 1)$ B0&.#"'&71)$ "#,)$ ,"-1+7#&7')$ '$ @'&%+,(1)$ .#$ 7'1+,#2$ &1$ )'0$ #+7,@1$ FGH"' I&!H",&!%+&)' GH"#$J' #5' ?#,,-.%+&!%#.F'I`'==$QY)7'"$F'(D&,(#=$a10+&#=2$a0=D1$b\T$'$M0705+1$b\TJ2$ (1&),.'+#.1$#$6&2"'.#$"1.'+&#$7'1+,#$.#$(1"0&,(#891;$ • _0+#&7'$#$Vc$d0'++#$R0&.,#=C$ e$HC!L/+#+%!I!;Q;<;J$'$OC!M&:7&E&%&66$I!;E;Q;Q;J$ <-+')'&7#+#"$,&.'-'&.'&7'"'&7'$#$)1=0891$-#+#$#=@0&)$-+15='"#)$+'=#(,1&#.1)$ (1"$#$,&B=0K&(,#$.1$+04.1$)15+'$1)$),&#,)$.'$+#.#+2$.'$"1.1$/0'$')7')$B1))'"$ (1&?'&,'&7'"'&7'$.'7'(7#.1)$(1"$?,)7#$>$'N#(7#$=1(#=,3#891$.1)$#?,:')$,&,",@1);$ e$8:1('+!421##&#$I!;Q;<;J$Z$(+,-71@+#B,#$ F'&.1$(1"'8#.1$-1+$(1&),.'+#+$#)$?#&7#@'&)$+'=#7,?#)$.'$"0,71)$),)7'"#)$.'$ (1"0&,(#8:')$&1?1)$&#$%-1(#$IOARfJ2$-+1(0+10$0"$"%71.1$@'+#=$.'$(1"-#+#891$ .1)$)'0)$"%+,71);$E'?'=#&.1$0"#$-'+('-891$&17*?'=$5#)'#.#$=#+@#"'&7'$'"$ (1&),.'+#8:')$D'0+4)7,(#)2$QD#&&1&$-+1(0+10$0"#$7'1+,#$5*),(#$-#+#$#$ (1"0&,(#891$#7+#?%)$.'$(#&#,)$+0,.1)1);$ • M07+#)$ (1&7+,50,8:')C$ G177/#E! IS[]gJ2$ K+/#-$+/#$ IS[]\J2$ K1#&$ IS[]V2$ S[hSJ2$ P:/1-$ IS[]\2$ S[hUJ2$ Q+%:+N17,$ IS[h\J2$ R1::1E+%$ IS[h]J2$ S/$+%A/$ IS[h^J2$ F1--+I$ IS[h[J2$ 8&0+%$ IS[^VJ2$ 4:+,/1#$ i$ L&:6$ IS[^UJ2$ Q:12($$ IS[^^J;$ !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' <' D+%-,+.$/01!2/-$3%/.1! H&%A+%$! L/+#+%$ IjAY5'+&'7,()C$ A1&7+1=$ #&.$ A1""0&,(#7,1&$ ,&$ 7D'$ <&,"#=$ #&.$7D'$R#(D,&'j2$S[\TJ$(1=1(10$#$)'@0,&7'$/0')791C$ K&*#' -,' +#.C-.!#' *"' 2%.&%2' 3#22L1"%2' <-"' .0#' 20#' *&' .#22&' "2+#)H&E' ,&%2' #' $-L*#' M%."1%!91")NE'+#,#'='<-"'5&$",#2'&',")H#$'"2!%,&!%1&'*#2'1&)#$"2'3$"2".!"2'"'5-!-$#2' *#'2%.&)'$"+"6%*#>' L)7#"1)$&1$k"5,71$.#$G"#$%&'*&'K"!"+/0#2$1&.'$#)$)1=08:')$W-7,"#)$-#+#$')7'$ -+15='"#$'$107+1)$)'"'=D#&7')$)91$-+1(0+#.#);$ $ M$ 7+#5#=D1$ .'$ 421##&#$ ')7*$ "#,)$ +'=#(,1&#.1$ (1"$ 1$ /0'$ D#5,70#="'&7'$ #(D#"1)$ /0'$ %$ #$ +#,-.%+&/0#2$ 1&.'$ 1$ 3$#+"22&,".!#' *#' 2%.&)$ )'$ -1.'$ B#3'+$!&.!#'.#'",%22#$'+#,#'.#'$"+"3!#$;$ 421##&#$(1=1(10$')7#$/0')791C$ K&*#'#'+#.C-.!#'*"',".2&(".2'3#22L1"%2'<-"'-,&'5#.!"'3#*"'3$#*-4%$'"'<-"'.0#'20#' *&' .#22&' "2+#)H&E' +#,#' =' <-"' &2' ,".2&(".2' *"1"$0#' 2"$' $"3$"2".!&*&2' 3&$&' <-"' ,")H#$' !$&.2,%!&,' &' %.5#$,&/0#' .-,' *&*#' 2%2!",&' +#,' &2' 2-&2' )%,%!&/O"2' 5L2%+&2' %."$".!"2>' O#+#$7+#7#+$.')7'$-+15='"#$'"$7'+"1)$@'&%+,(1)$%$&'('))*+,1$ (1&('&7+#+"1H&1)$"#,)$&#$,&B1+"#891$/0'$&1)$),&#,)$ !"#$%&'(&')*+#$,&-.#' )*/$#(0-.#'"'1"$21"3/%4&'5%2/6$%3&' =' ! !"#"! "#$%$&'!$#!%()*+,&-.*! ! •! ! "#$%&'%()! •! ! *#'&+,-)! •! ! "#.+&/)01+!/2'3)!/45-)! •! ! 6),)$-5)5%!5%!$)#)7! "#$%$&!$&!%()*+,&-.*! ! /()*+,&-.*! 8! '35+! )93-7+! 93%! 4! ,&+53(-5+! ,+&! 3/)! .+#'%! ,)&)! :%&! '&)#:.%&-5+!,)&)!+!3'-7-()5+&;! <+! 93%! &%:,%-')! =! /%5-5)! 5)! -#.+&/)01+! ,+5%/+:! $+#:-5%&)&! $*%'! 0*(1*'! $#!2%'1&>! •! ?@"A"BCDEF! 8! )! /%5-5)! 5)! -#.+&/)01+! %:'G! &%7)$-+#)5)! $+/! $%&'()'*+! H%/!&%7)01+!=!/%#:)I%/!)!:%&!'&)#:/-'-5)J;! •! KE<@*! 8! )! /%5-5)! 5)! -#.+&/)01+! 4! 3/)! -#5-$)01+! 5)! ,$-'(.+.'/ .'/ '0&1,2+!%L%&$-5)!,%7)!.+#'%!)+!!:%7%$$-+#)&!3/)!/%#:)I%/;! ! •! M%! )! .+#'%! ,35%&! %:$+7N%&! 7-O&%/%#'%! %#'&%! /3-'):! /%#:)I%#:! 5-.%&%#'%:! !! +! 3'-7-()5+&! '%&G! /3-'):! 52O-5):! %/! &%7)01+! =! /%#:)I%/!93%!O)-!:%&!%:$+7N-5);! •! M%! #1+! N+3O%&! #%#N3/)! ,+::-P-7-5)5%! 5%! %:$+7N)! H! !! :Q! 3/)! /%#:)I%/!,+::RO%7J!!!#1+!NG!-#$%&'%()!!!#1+!NG!-#.+&/)01+;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 1' "#$%$&!$&!%()*+,&-.*! !"#$%&%'"%'"&()*+#',-*"$(.*/.$"0+*1'1&/&%'%$2" !"#$%&'()$*+$,*',-$./"#$%&'()$01* ! = ! $%&" %! ! HS!!!23!!!!TJ! %! ! # ! = $ " %! # = $%&" ! ! ! ! ! ! ! M%! 4!U!V! !! P-'! ! ! ! ! ! ! ! ! 4!U!%! !! #)'! ! ! ! ! ! ! ! ! 4!U!TS! !! N)&'7%W! ?/! 5RI-'+! P-#G&-+! HS! %! TJ! ,+5%! '&)#:,+&')&! 3/)! -#.+&/)01+! :3,%&-+&! +3! -#.%&-+&!)!T!P-'X!$+#:+)#'%!):!,&+P)P-7-5)5%:!5%!+$+&&Y#$-)!5%!$)5)!5RI-'+;! *:')! /%5-5)! 7+I)&R'/-$)! 5%! -#.+&/)01+! 4! )! 2#-$)! .3#01+! 93%! :)'-:.)(! ):! :%I3-#'%:!,&+,&-%5)5%:>! TJ! !/**!**5! ! ,)&)!5*"*2/**"*6! H)!)3'+Z-#.+&/)01+!4!#1+Z#%I)'-O)J! VJ! !/*"*5! ! ,)&)!2/*"*6! ! H)!-#$%&'%()!)3/%#')!)!-#.+&/)01+J! [J! !/*7*!8! ! ,)&)!2/**9**28! \J! $+/!/%#:)I%#:!-#5%,%#5%#'%:!:/!%!;8!! H!!2+:/;80*<*2/28J! ! # &' = $%& ' ! ! ! = $%& ' + $%& ' = #& + # ' ! %& %' %& %' ! H)!-#.+&/)01+!'+')7!4!)!:+/)!5):!-#.+&/)0]%:!-#5-O-53)-:J! *^*_`AE>!!%( = ! a! ) %! = * ! ) ! "#.+&/)01+!'&)#:,+&')5)!,%7+!5RI-'+!S>! # ( = ! $%& ' ! = ' !P-':! ) ! "#.+&/)01+!'&)#:,+&')5)!,%7+!5RI-'+!T>! #! = ! $%& ' * = (+ )! !P-':! ) !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 2' 3(1+*0%&!4*5!%()*+,&-.*!,6$%&7! •! C3'+Z-#.+&/)01+! 8! 4! 5%.-#-5)! %/! '%&/+:! 5):! /%#:)I%#:! +3! :R/P+7+:! -#5-O-53)-:;! •! "#.+&/)01+! /45-)! H#(1+*0%&J! 8! 4! 5%.-#-5)! %/! '%&/+:! 5+! $+#b3#'+! 5):! /%#:)I%#:!93%!)!.+#'%!,+5%!,&+53(-&;! M%b)! 3/)! #$"-=* >/?@%=-'! A! $+/! B! :R/P+7+:! 5-.%&%#'%:! %! %:')'-:'-$)/%#'%! -#5%,%#5%#'%:;! •! c3)#5+!+!:R/P+7+!5%!+&5%/!8!4!'&)#:/-'-5+!)!-#.+&/)01+!'&)#:,+&')5)!4! # ' = ! $%& ' %' !P-':;! •! C! -#.+&/)01+! /45-)! )::+$-)5)! )+:! B! :R/P+7+:! 5)! .+#'%! A! 4! )! ,6$%&! 0*($#+&$&! 5):! )3'+Z-#.+&/)0]%:! 5%! $)5)! :R/P+7+;! C! %::)! -#.+&/)01+! /45-)!,+&!:R/P+7+!5)!.+#'%!$N)/)Z:%!#(1+*0%&!%!5%:-I#)Z:%!,+&!CHAJ>! ! ! ( ( ' =! ' =! ) " * # = " %' # ' = ! " %' $%& ' %' ! P-':d:R/P+7+! E!93%!4!93%!:-I#-.-$)!)!#(1+*0%&!5%!3/)!.+#'%Te!M-I#-.-$)!93%>! D&4$%'* ")$* E$??'&$?* E%=F=%* G,'H* $* ?I&4$H$* G,=* '* #$"-=* /%J* E%$>,K/%*'*?=L,/%M*=&*&N>/'*=?E=%'&$?*$4-=%*C*4/-?*>=*/"#$%&'()$* E$%*?I&4$H$M*$,*OC*4/-?*",&'*&="?'L=&*>=*O*?I&4$H$?M*?=*O*#$%* =H=F'>$P* ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, !-.,+,-&./01-2/2,-2&./,/,0123%45/,60,7.,85820./,,9:85;%,<,6095156/,4%3,3,=,4,$1,#+,0.,>70,4,<,/,;%182/120,60,?%$2@./11, 0, #, %, 1A.03%, 60, 082/6%8, /;088:B058, /%, 85820./C, -82/, 971DE%+, >70, 9%310;0, 7./, .0656/, >7/1252/25B/, 6%, &3/7, 60, ./-5/6&7/78,6%,85820./+,<,80.0$F/120,1/,9%3./,G,0123%45/,6/,H0%35/,6/,I19%3./DE%C, !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 3' 3(1+*0%&! •! f)/+:!&%%:$&%O%&!)!.Q&/37)!5)!%#'&+,-)!$+/+! ( ! ! ) " %!+ %' +…+ %( # = ! ! " %' $%& ' %' ! HP-':d:R/P+7+J! ' =! •! <+!$):+!5%!3/)!.+#'%!+3!/%#:)I%/!P-#G&-)!$+/!V!:)R5):!,+::RO%-:X!$+/! ,&+P)P-7-5)5%:!E!%!6.EX!)!%#'&+,-)!4!5%:-I#)5)!,+&!#HEJ!%!O)7%! ! ! #" 9 # = ) " 9+! ! 9 # = ! 9 $%& ' 9 ! "! ! 9 #$%& ' "! ! 9 # ! ! #"4# ! (CK (CJ (C) (C' (C' (C) (CJ (CK ! , 1:2;<9&/07805=/0$<:280"&:>;&/0 •! D%!/+5+!I%&)7X!$+/!3/!)7.)P%'+!5%!"!:R/P+7+:!'%/Z:%! , , , , ? $ ) " * # $ $%& ' ( , , , , , %, , %, C!.+#'%!#1+!.+&#%$%!-#.+&/)01+X!%/! , _GL-/)!-#$%&'%()!+3!/GL-/)!7-P%&5)5%!5%! /45-)!!!#1+!NG!-#$%&'%()!93)#'+!=! %:$+7N)! !! '+5+:! +:! :R/P+7+:! :1+! /%#:)I%/;! %93-,&+OGO%-:!H#%#N3/!4!.)O+&%$-5+J;! *L;>!)!.+#'%!,&+53(!$+#'-#3)/%#'%!+! , *L;>, /%:/+! %' = :R/P+7+! H'+5):! ):! ,&+P)P-7-5)5%:! 5+:! :R/P+7+:! :1+! #37):!%L$%,'+!3/)X!3#-'G&-)J! !"#$%&'(&')*+#$,&-.#' ! ! ) = )./L = ( , = %! #! + %' #' +…= (% ' # ' = $%& ' ( /"(%(&0'("'%*+#$,&-.#' 4' 3(1+*0%&!8!39#,0:*'! , 3;3"<=>!?! c3)7! 4! )! -#.+&/)01+! /45-)X! %/! P-':d$)&G$'%&X! 5)! 7R#I3)! ,+&'3I3%:)! HV[! 7%'&):J!:3,+#5+!$)5)!7%'&)!%93-,&+OGO%7e! "#$! ) = ! $%& ! = )+M' !%&'(!)*+,-*'.,! & !"#"$%&'()%*"+*! '* , , 3;3"<=>!@! <)!&%)7-5)5%!):!7%'&):!#1+!:1+!%93-,&+OGO%-:;!C5/-'-#5+!HCD_"@"<DE;;;J!93%! ):!7%'&):!+$+&&%/!$+/!):!,&+P)P-7-5)5%:!-#5-$)5):X!93)#'+!O)7%!)!%#'&+,-)e! ! CX!*X!EX!@>!! ! E!U!SXTS! ! ! gX!"X!<X!FX!M>!! E!U!SXSh! ! ! 6X!DX!KX!AX!_X!`X!?>! E!U!SXSV! ! iX!jX!kX!cX!fX!^X!B>! E!U!SXST! F;>! ,, ) = !") ' (+!( $%& ' (+! + M ' (+ (N $%& ' (+ (N + N ' (+ (' $%& ' (+ (' + N ' (+ (!$%& ' (+ (!# = = *+O',P528Q;/3R;203 !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' , 5' 3(1+*0%&!,A9%,&! B#*+#,&! 3*="-%$E/'* ) " * # *>=*,&'*#$"-=*%=?E=/-'*?=&E%=* ( $ ) " * # $ $%& ' ( P*Q*F'H$%* &J:/&$* '-/"L=.?=* 'E="'?* G,'">$* -$>'?* '?* ?'I>'?* >'* #$"-=* ?)$* =G,/E%$FJF=/?P* C#,*('1+&-.*! C!5%/+#:'&)01+!P):%-)Z:%!#)!5%:-I3)75)5%!! $1 @ $ @ ! ! ;!M%b)! ( = A& X!%/!93%! %& R/!%!2/!:1+!,&+P)P-7-5)5%:!5-:$&%'):!OG7-5):X!-:'+!4X! ( ( & =! & =! ! ! %& + A& ) (,,,0,,, " %& = " A& = ! ! ! M%#5+!%#'1+! $1 @ $ @ ! ! X!'%&%/+:>! ! ! $1 A& A& $ ! ! X!+3! ! %& $1 %& $ A& ! %& ! %& $1 A& ! %& %& M+/)#5+!,)&)!'+5+:!+:!//>! ! ! ( ( ( ( & =! & =! & =! & =! !" %& $1 %& $ " A& ! " %& ! " %& $1 A& ! ( ( & =! & =! _):! " A& ! " %& = ! ! ! = ( !%! $1 B = $1 ' $%& ' B ;!`+&')#'+X! ( ( & =! & =! ! $1 ' " %& $%& ' %& $ ! $1 ' " %& $%& ' A& !! ! !! ( ) " * # $ !" %& $%& ' A& ! & =! ":'+!4!OG7-5+!,)&)!'+5+:!+:!O)7+&%:!5%!R/X!-#$73-#5+! A& = ! !! ( ) " * # $ !" %& $%& ' & =! !"#$%&'(&')*+#$,&-.#' ! = $%& ' ( ( ( " %& = $%& ' ( ;! ! ! !H,+&93%!#1+eJ;! ( @PGP>P! & =! /"(%(&0'("'%*+#$,&-.#' 6' 39#,0:*D! %()*+,&-.*!E*(1%$&!(5,&!%,&F#,! $#!1#:#2%'.*!#!#,!1#91*! B#:#2%'.*!H$+/!"#5%,%#5Y#$-)!%#'&%!MR/P+7+:J! •! A-#N):!)$'-O):>! lhl! •! `+#'+:!5%!%$&1>![lS!SSS!!!mSn!,+#'+:d7-#N)!!!!mSn!'!lhl!U![\o!mSS!,+#'+:! •! "#.+&/)01+!/45-)!H%#'&+,-)J!/GL-/)>! ! H`&%'+!%!i&)#$+X!&!U!n!#RO%-:!5%!73/-#p#$-)!,+&!q:,+'q!H#RO%-:!%93-,&+OGO%-:JJ! , ,, ! , ! $%& ' ! K = * ,P528, HC!6+&%:!H!O%&/%7N+X!O%&5%X!)(37JJ! , !,.,=,K,',*,=,'),!,0123%45/,.RL5./S, ! $%& ' ! ') = )+MK ,P528, , •! */!$)5)!-/)I%/>!! ! !! ! ! `&%'+!r!i&)#$+>! C!$+&%:>! ['[\o!mSS!U!T!S\n!nSS!P-':d-/)I%/! \Xln!'![\o!mSS!U!T!mST!oh[!P-':d-/)I%/! •! `&+b%$01+!5)!-/)I%/!!HlS!93)5&+:d:!!!Vl!-/)I%#:d:J! ! !`&%'+!%!i&)#$+>! ! !C!$+&%:>! Vl!'!T!S\n!nSS!U!Vm!VVS!SSS!P-'d:! Vl!'!T!mST!oh[!U!\S!S\o![TV!P-':d:! ! B#91*!H7%'&):!%93-,&+OGO%-:J! `+&'3I3Y:>! V[!7%'&):!s!%:,)0+!"!)3'+Z-#.+&/)01+!/GL-/)!>! ! $%& ! = )+MK !P-':! ') t! $+/,&-/%#'+!/45-+!5%!$)5)!,)7)O&)!U!V[! t! 6+#'%25+!5%!-#.+&/)01+!,+&!,)7)O&)!H%#'&+,-)J>!V[!'!\Xln!U!TSlX\!P-':d,)7)O&)! S$&E'%'">$* @$&* ,&'* /&'L=&* '* 2%=-$* =* T%'"@$M* ,&'* >=?@%/()$* /&E%=??'* !()KK(( * OOM! *E'H'F%'?P* "=@=??/-'%/'*>=* !(M+ ) F3::+>![[!7%'&):!s!%:,)0+!"![[!7+I![\!U![[!' lXT!U!TmnX[!P-':d,)7)O&)!!*UVWV*E'H'F%'?! "#I7Y:>!Vm!7%'&):!s!%:,)0+!"!Vm!7+I!Vh!U!Vm!' \Xn!U!TV\Xn!P-':d,)7)O&)!!*XY5Y*E'H'F%'?! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 7' G&+&E1#+%H&-.*!$#!E&(&%'! 6+#:-5%&%/+:!3/!$)#)7!$+/!B!%#'&)5):!:%7%$$-+#)5):!5%!3/!)7.)P%'+!^!%!O! :)R5):! :%7%$$-+#)5):! 5%! 3/! )7.)P%'+! u;! `+5%/+:! %#$)&)&! )! :)R5)! 5+! $)#)7! $+/+!)!O%&:1+!&3-5+:)!5)!%#'&)5);! v!$+:'3/%!$)&)$'%&-()&!+!$)#)7!5%!53):!/)#%-&):>! •! )'&)O4:!5+!>/'L%'&'*>=*-%'"?/()$!! •! )'&)O4:!5)!&'-%/K*>=*E%$4'4/H/>'>=?*>=*-%'"?/()$!H+3!&'-%/K*>$*@'"'HJ! ! 01 06 09 08 23415067 / / / 23485087 / / / 0: " 41 46 49 48 4; ! "#$%&$'$!()!*&$+,#-./!(/!0$+$1! # 9 " D! T @! # % 9" D T @ # ! ' U %"E T * #V = % % … % ' 9 " D! T @( # 9" D C T @! # $ 9" D' T @' # … 9 " D C T @' # & &! & … … … & 9 " D' T @( # … 9" D C T @( # ( 9 " D' T @! # … 2$*!()!4&/5$5#1#($(),!()!*&$+,#-./!(/!0$+$1! •! <%:')! /)'&-(! $)5)! 7-#N)! %:'G! )::+$-)5)! )+! $+&&%:,+#5%#'%! :R/P+7+! 5%! %#'&)5)! %! $)5)! $+73#)! %:'G! )::+$-)5)! )+! $+&&%:,+#5%#'%! :R/P+7+! 5%! :)R5);! •! C!:+/)!5+:!%7%/%#'+:!5%!$)5)!7-#N)!4!T>! " 9" D ' T @& # = ! ! ' !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 8' I%,0:%)%E&-.*!$#!E&(&%'!$%'E+#1*'! E*,0*'1*'! , wS ,HwSxLSJ! L S! WS! wT L T! WT! ,HwVxLSJ wV ! !! !"0'+3&+"%'2"#'3+&4$2"%$"3+'(2&,-*5" ! C! /)'&-(! 5%! '&)#:-01+! I7+P)7! 4! -I3)7! )+! ,&+53'+! 5):! /)'&-(%:! 5%! '&)#:-01+!-#5-O-53)-:;! 67)'41/8! ! #(+' (+* (+M$ [ %"F T * #] = % &! (+) (+M (+! ' ( ! !!! # (+J (+) $ [ %"E T F #] = %% (+M (+M && ! %'(+N (+* &( #(+J' (+*K $ &! ' (+MJ (+)) ( [ %"E T * #] = [ %"F T * #] ' [ %"E T F #] = % !! !"0'+3&+"%$"6#"%&'7+'#'"%$"0+*1'1&/&%'%$2"%$"3+'(2&,-*5# ! C:! ,&+P)P-7-5)5%:! $+#5-$-+#)-:! 9 " D ' @& # ! H:/! y! %#'&)5)a! ;8! y! :)R5)J! :1+! -I3)-:!=!:+/)!5):!,&+P)P-7-5)5%:!)::+$-)5):!)+:!5-O%&:+:!z'&)b%$'+:{!5%! :/!,)&)!;8;! ! , !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 9:' I%,0:%)%E&-.*!$#!E&(&%'!$%'E+#1*'! E*,0*'1*'D!#9#,0:*! 89$#0/*":*#"*"%&'7+'#'"%$"0+*1'1&/&%'%$2"%$"3+'(2&,-*5":*#*" 2�/&)&:'+"*":'('/":*#0*23*"2$76&(3$;" , wS ,HwSxLSJ! L S! WS! wT L T! WT! ,HwVxLSJ wV ! !! gG!5+-:!,%&$3&:+:!5%!:5!,)&)!;5>!LS!!"!wS!"!WS!!%!LS!!"!wT!"!WS! ! !! %" D( T @( # = %" G( T @( # %" D( T G( # + %" G! T @( # %" D( T G! # ! !"""#"""$ !"""#""" $ @( " G( " D( @( " G! " D( !! gG!5+-:!,%&$3&:+:!5%!:6!,)&)!;5>!:6!!"!Z5!"!;5!!%!:6!!"!Z6!"!;5* ! !!! ! % " D( T @! # = %" G( T @! # %" D( T G( # + %" G! T @! # %" D( T G! # ! !! gG!'&Y:!,%&$3&:+:!5%!:5!,)&)!;6>! ! LS!!"!wS!"!WTX!LS!!"!w6!"!W6!%!!L5!!"!wV!"!W6! %" D! T @( # !4!)!:+/)!5):!,&+P)P-7-5)5%:!)::+$-)5):!)+:!'&Y:!,%&$3&:+:X! %'$;! 9!&),:1*$(/!;#+$1!,)&#$!/!0$+$1!5#+<&#/!,)%:#+*)8! ,HWSxLSJ LS WS ,HWTxLSJ ,HWSxLTJ LT WT ,HWTxLTJ ! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 99' 3(1+*0%&!G*($%E%*(&:! C5/-')/+:!93%!NG!5+-:!)$+#'%$-/%#'+:X!A!%![X!$+/!B!,+::-P-7-5)5%:!,)&)!A! %! O! ,)&)! [;! M%b)! %" @& + D ' # ! )! ,&+P)P-7-5)5%! $+#b3#')! 5)! +$+&&Y#$-)! " @& + D ' # ! %! %" D ' T @& # !)!,&+P)P-7-5)5%!$+#5-$-+#)7!5%! D ' !+$+&&%&!5)5+! @& !'%&!+$+&&-5+;! ! 01 06 09 08 23415067 23485087 / / / / / / 0: " 41 46 49 48 4; , •! C!%#'&+,-)!$+#5-$-+#)7!5%![!5)5)!)!+$+&&Y#$-)! @& !4!5%.-#-5)!$+/+! ! C ! ' =! % " D ' T @& # ) "E T @& # = " %" D ' T @& # $%& ' C = !" %" D ' T @& # $%& ' %" D ' T @& # = ' =! ! = ) #' %" D! T @& #+ %" D' T @& #+% + %" D C T @& # $( C:!,&+P)P-7-5)5%:!$+#5-$-+#)-:!%#O+7O-5):!:1+!):!5+:!&)/+:!93%!:)%/!5%! @& ;! •! C!%#'&+,-)!$+#5-$-+#)7!5%![!5)5+!A!4!5%.-#-5)!$+/+!)!/45-)!,+#5%&)5)! 5%! ) "E T @& # !,)&)!'+5+:!+:!O)7+&%:!5%! @& >! ( ) "E T * # = " %" @& # ) "E T @& # = ! & =! ( C !! ="-%$E/'**@$">/@/$"'H! = !"" %" @& # %" D ' T @& # $%& %" D ' T @& # & =! ' =! •! C!%#'&+,-)!$+#b3#')!5%!A!%![!4!5)5)!,+&! ! ( C ) " * + E # = "" %" @& + D ' # $%& ' & =! ' =! ! !! %" @& + D ' # ="-%$E/'**@$"8,"-'! •! `&+O)Z:%!93%! ) " * + E # $ ) " * # + ) "E # ;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 91' 3(1+*0%&!G*($%E%*(&:! 3"4*R,'H* N* '* %=H'()$* ="-%=* '* ="-%$E/'* @$"8,"-'* ) " * + E # * =* '* ="-%$E/'* @$">/@/$"'H* ) "E T * # \* JKD! 6+/+! %" @& + D ' # = %" @& # %" D ' T @& # !H&%I&)!5%!i)W%:J!%#'1+! ( C ) " * + E # = "" %" @& # %" D ' T @& # $%& ' & =! ' =! ! = %" @& # %" D ' T @& # ( C ( C & =! ' =! & =! ' =! ! = !"" % " @& # % " D ' T @& # $%& ' %" @& # ! "" %" @& # %" D ' T @& # $%& ' %" D ' T @& # ! _):! •! ! C C " %" @& # %" D ' T @& # $%& ' %" @& # = %" @& # $%& ' %" @& # " %" D ' T @& # = %" @& # $%& ' %" @& # ! ' =! ' =! !" "#"" $ ! •! ! ( C ( & =! ' =! & =! !"" %" @& # %" D ' T @& # $%& ' %" D ' T @& # = " %" @& # ) "E T @& # = ) "E T * # ! ( !!! ! ) " * + E # = !" %" @& # $%& ' %" @& # + ) "E T * # = & =! ! = ) " * # + ) "E T * # •! !M%!+:!:R/P+7+:!.+&%/!-#5%,%#5%#'%:!!! ) " * + E # = ) " * # + ) "E # ! •! D+!/%:/+!/+5+!:%!,&+O)&-)!93%! ) " * + E # = ) "E # + ) " * T E # ;! •! 6+/+! ) " * + E # $ ) " * # + ) "E # ! ) " * T E # $ ) " * # !%! ) "E T * # $ ) "E # ! •! 6+/+!:%!OYX!)!%#'&+,-)!5%!:R/P+7+:!5%,%#5%#'%:!4!/%#+&!93%!)!%#'&+,-)! 5%!:R/P+7+:!-#5%,%#5%#'%:;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 92' 3(1+*0%&!E*($%E%*(&:D!5,!#9#,0:*! ?/)!.+#'%!,&+53(!'&Y:!:R/P+7+:X!CX!i!%!6X!$+/!):!:%I3-#'%:!,&+P)P-7-5)5%:>! ! {%" * = !#+ %" * = H#+ %" * = I #} = )+ O !J ' * + + ,! - 'N 'N 'N . !0 D'0 H0 I0 !0 (, )QM, !QM, @&0 H0 !Q', !Q', (, , I0 !Q', 'QM, !Q!(, , 0 0 %JD'K@&L0 , 3"4*]=-=%&/"=*'*="-%$E/'*>'*#$"-=M* ) " * # M*=*'?*="-%$E/'?* ) "E T * # *=* ) " * + E # P* JKD!C:!,&+P)P-7-5)5%:!$+#b3#'):! %" @& + D ' # = %" @& # %" D ' T @& # !O)7%/>! , D'0 0 0 %J@&MD'L0 !0 H0 I0 , !0 (, )Q!M, !Q!M, @&0 H0 KQ'N, KQ'N, (, , I0 !Q'N, )Q!*M, !Q!*M, 6+/+! %" D ' # = " %" @& + D ' # !! & {%"E = !#+ %"E = H#+ %"E = I #} = )+ ! !J ' * + + , - * 'N 'N . C::-/X! ) "E # = ) "! *+!J 'N + ' 'N# = !+ 'O !P-':d:R/P+7+! HU ) " * # J! C!%#'&+,-)!$+#5-$-+#)7! ) "E T * # :%&G!/%#+&;!D%!.)$'+>! ! ! ) "E T * = !# = ) "(+ ) M+! M# = (+ N' ! ! ! ) "E T * = H# = ) "! '+! '+ (# = ! ! ! ! ) "E T * = I # = ) "! '+ ' M+! !(# = !+*J ! ! ! ) "E T * # = O !J ' ' (+ N' + '! + '!+*J = (+O* !P-':d:R/P+7+! 'N 'N 'N `+&')#'+X!)!="-%$E/'*@$"8,"-'!O)7%! ) " * + E # = !+ 'O + (+O* = '+ '' !P-':d:R/P+7+;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 93' 3L5%2*E&-.*!#,! E&(&%'!$%'E+#1*'!E*,!+5M$*!! 6+#:-5%&%/+:!+!$)#)7!5-:$&%'+!5+!5-)I&)/)!:%I3-#'%>! ! 01 06 09 08 23415067 / / / 23485087 0: / / / " 41 46 49 48 4; , •! C!="-%$E/'*>'*#$"-=!5%!/%#:)I%#:X!C+A0X!5%,%#5%!),%#):!5)!.+#'%!^;!^*'*/"@=%-=K'* =&*%=H'()$*'*:/X!-:'+!4X!%/!&%7)01+!)!93%!:R/P+7+!:%&G!'&)#:/-'-5+;! •! C!="-%$E/'*>'*?'I>'!5+!$)#)7X!C+[0!8!93%!4!%93-O)7%#'%!)!3/)!#+O)!.+#'%!8!5%,%#5%! 5)!.+#'%!^!%!5+:!%&&+:!5%!'&)#:/-::1+;!^*'*/"@=%-=K'*=&*%=H'()$*'$*?I&4$H$*G,=*?=%J* %=@=4/>$X! #+! $):+! 5%! 3/)! 5)5)! .+#'%! 5%! /%#:)I%#:! %! 5%! 3/! 5)5+! $)#)7! 5%! $+/3#-$)01+;! •! 6+#N%$%#5+! ):! %:')'R:'-$):! 5)! .+#'%! 5%! /%#:)I%#:!%!5+!$)#)7!&3-5+:+!$+#N%$%Z:%!)! ="-%$E/'*@$"8,"-'X!C+AM[0;!^*'*/"@=%-=K'*?$4%=*'*-%'"?&/??)$*>=*:/*=*'*%=@=E()$*>=* ;8P! •! M3,+#N)/+:!93%!$+#N%$%/+:!:/*!H-:'+!4X!:)P%/+:!93%!:R/P+7+!.+-!%#O-)5+J>! ( ( ! ) "E T * # = !"" 9 " @& # 9 " D ' T @& #$%& ' 9" D ' T @& # * D"-%$E/'*@$">/@/$"'H!! & =! ' =! ^* '* /"@=%-=K'* >=* %=@=4=%* ;8* G,'">$* :/* * N* ="F/'>$M* /?-$* NM* N* '* /"@=%-=K'* &N>/'* >$* =&/??$%*=&*%=H'()$*'$*G,=*?=%J*%=@=4/>$P* •! M3,+#N)/+:!93%!$+#N%$%/+:!;8!H-:'+!4X!:)P%/+:!93%!:R/P+7+!.+-!&%$%P-5+J>! ( ( ! ) " * T E # = ! "" 9 " D ' # 9 " @& T D ' #$%& ' 9 " @& T D ' # * D"-%$E/'*@$">/@/$"'H;! ' =! & =! ^*'*/"@=%-=K'*?$4%=*:/*-=%*?/>$*="F/'>$*G,'">$*?=*%=@=4=*;8M*$,*'*/"@=%-=K'*&N>/'* >$* %=@=E-$%* >'* &="?'L=&* =&* %=H'()$* '$* G,=* #$/* %='H&="-=* ="F/'>$P* 2$%* $,-%'?* E'H'F%'?M* N* '* /"@=%-=K'* ?$4%=* '* ="-%'>'* G,=* %=?-'* >=E$/?* >'* ?'I>'* -=%* ?/>$* $4?=%F'>'P* C! ) " * T E # ! $N)/)Z:%! =G,/F$@'()$* >$* @'"'H>! 4! )! /%5-5)! 5)! -#.+&/)01+! E=%>/>'!5%O-5+!)+!$)#)7;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 94' /()*+,&-.*!,N15&!,6$%&! •! C!%#'&+,-)! ) " * # !&%,&%:%#')!)!-#$%&'%()!z)!,&-+&-{!:+P&%!)!%#'&)5)!5+!$)#)7!&(1#'! 5%!+P:%&O)&/+:!)!:)R5);! •! C! %#'&+,-)! $+#5-$-+#)7! ) " * T E # ! &%,&%:%#')! )! -#$%&'%()! z)! ,+:'%&-+&-{! :+P&%! )! %#'&)5)!5+!$)#)7!$#0*%'!5%!+P:%&O)&/+:!)!:)R5);!v!)!-#$%&'%()!&%/)#%:$%#'%!:+P&%!+! )$+#'%$-/%#'+!^!),Q:!:%!$+#N%$%&!+!)$+#'%$-/%#'+!u;! •! C! 5-.%&%#0)! ) " * # ! ) " * T E # ! 5%O%! %#'1+! :%&! )! -#$%&'%()! :+P&%! )! %#'&)5)! 93%! %7-/-#)/+:!+P:%&O)#5+!)!:)R5);! !! c3%&!5-(%&!93%! ) " * # ! ) " * T E # !'&)53(!)!%=>,()$*>=*/"@=%-=K'!:+P&%!^!93%! I)#N)/+:!,%7)!+P:%&O)01+!5%!u;! 2$%* =:=&EH$M* ?=* >=E$/?* >'* $4?=%F'()$* >=* [* @$"-/",'%&$?* =:'@-'&="-=* @$&* '?* &=?&'?* >_F/>'?* G,=* -I"`'&$?* ?$4%=* '* ="-%'>'* AM* ="-)$* ")$* %=>,K/&$?* /"@=%-=K'* "="`,&'1* ) " * # ! ) " * T E # = ( P* •! |!5-.%&%#0)! ) " * # ! ) " * T E # !$N)/)Z:%!/"#$%&'()$*&_-,'*&N>/'!%#'&%!)!%#'&)5)!^! %!)!:)R5)!u;!`+5%!:%&!-#'%&,&%')5)!$+/+!3/!I)#N+!5%!-#.+&/)01+!:+P&%!^X!93%!#1+! '%&R)/+:!:%!#1+!$+#N%$Y::%/+:!u;! ! ! ! ! # " * WE # = ) " * # ! ) " * T E # ! •! c3)#'+!/)-+&!.+&! ) " * T E # !/%#+&!4! # " * WE # ;!D)R!:%!7N%!$N)/)&!=G,/F$@'()$;! •! ?/)!5%'%&/-#)5)!+$+&&Y#$-)! D ' !,+5%!'+&#)&!)!5%$-:1+!:+P&%!)!+$+&&Y#$-)! @& !)-#5)! /)-:!-#$%&')!H # " @& W D ' # < ( Ja!+!$+#N%$-/%#'+!5)!5-:'&-P3-01+!5%!,&+P)P-7-5)5%:!5%!u! )b35)!)!&%53(-&!%::)!-#$%&'%()!H # " * WE # ) ( J;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 95' /()*+,&-.*!,N15&!,6$%&! t! !"#$%&'()$*&_-,'*&N>/'!%#'&%!)!%#'&)5)!^!%!)!:)R5)!u!5+!$)#)7>! # " * WE # = ) " * # ! ) " * T E # = ! ! ( ( C ! ! ! = " 9 " @& # ! "" 9 " D ' # 9 " @& T D ' #$%& ' 9 " @& T D ' # $%& ' 9 " @& # & =! ' =! & =! ! C _):! %" @& # = " %" @& + D ' # X!7+I+! ' =! ( C # " * WE # = "" 9 " @& + D ' # #%$%& ' ' & =! ' =! ! ! 9 " @& + D ' # $ ! + $%& ' 9 " @& # 9" D ' # & ( ( C 9 " @& + D ' # = "" 9 " @& + D ' #$%& ' = 9 " @ # 9 " D # & ' & =! ' =! !""#"" $ = ! # " @& + D ' # ( C = "" 9 " @& + D ' # # " @& + D ' # & =! ' =! t! # " @& + D ' # !4!!)!-#.+&/)01+!/2'3)!%#'&%!)!%#'&)5)! @& !%!)!:)R5)! D ' X! ! ! ! # " @& + D ' # = $%& ' 9 " @& + D ' # 9 " @& # 9 " D ' # = $%& ' 9 " D ' T @& # 9" D ' # = $%& ' 9 " @& T D ' # 9 " @& # ;! C! /"#$%&'()$* &_-,'* &N>/'! # " * WE # 4! )! /45-)! 5):! -#.+&/)0]%:! /2'3):! %#'&%!):!5-O%&:):!%#'&)5):!%!:)R5):;! t! `&+O)Z:%!')/P4/!93%! # " * WE # = ) "E # ! ) "E T * # ;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 96' /()*+,&-.*!,N15&!,6$%&D!5,!#9#,0:*! ?/)! .+#'%! ^! ,&+53(! :R/P+7+:! $+/! ,&+P)P-7-5)5%:! {! '+! *+! J} X! +:! 93)-:! )'&)O%::)/!3/!$)#)7!$+/!)!/)'&-(!5%!,&+P)P-7-5)5%:!5%!'&)#:-01+! ! ! ! ! ! ! #' * ( ! * $ %! * ' * ( & ;! % & %' ( ! * ' *&( C! -#$%&'%()! 93%! '%/+:! :+P&%! +:! :R/P+7+:! ,&+53(-5+:! ,%7)! .+#'%! ^! 4! /%#:3&GO%7>! ) " * # = ) (! '+! *+! J ) = !+)J !P-':d:R/P+7+;! 2P1* '0*]=*G,'"-$*%=>,K/&$?*'*/"@=%-=K'*?$4%=*A*$4?=%F'">$*'*?'I>'*[\* * 40*S'H@,H=*'*=G,/F$@'()$*>$*@'"'H*=*'*/"#$%&'()$*&_-,'* # " @' + D! # P* $%&! +7!<.=>?! % " D ' # = " %" @& # %" D ' T @& # ! & ! ! )) M M * !! { %" D! #+ % " D' #+ % " D* #} = + + + , ! - O !K !K . ) "E # = ) ( ) O+M !K+M !K ) = !+MM !%&'()(@A%?B?! ) "E T * # = " %" @& # ) "E T @& # = ! ! & ! / ' !0 ! /! ' 0 ! / ! '0 = ) 1 +(+ 2 + ) 1 + +( 2 + ) 1 (+ + 2 = (+O' ' 3 * *4 * 3* * 4 J 3 * *4 ! C!-#.+&/)01+!/2'3)!/45-)!O)7%X!,+&')#'+X! # " * W E # = !+MM ! (+O' = (+ J* !P-':d:R/P+7+;! ":'+!:-I#-.-$)!93%!)!+P:%&O)01+!5)!:)R5)!5+!$)#)7!P)-L+3!)!-#$%&'%()!5%! ) " * # = !+ )J ! ,)&)!TX\m!Z!SXm[!U!SXn[!P-':d:R/P+7+;! PJ! 6+/+! # " * W E # = ) "E # ! ) "E T * # = ) " * # ! ) " * T E # X! $+#$73R/+:! 93%! )! %93-O+$)01+! 5%O-5)!)+!$)#)7!4! ) " * E # = ) " * # ! # " * W E # = (+K* !!P-':d:R/P+7+;! M%&G!93%!)!+P:%&O)01+!5+!:R/P+7+! D! !)b35)!)!5%$-5-&!:%!+!:R/P+7+! @' !.+-!%/-'-5+! ,%7)!.+#'%e!f)/+:!O%&>! ! ! # " @' + D! # = $%& ' % " D! T @' # * = $%& ' = !(+ )' !%&'()(@A%?B?! %" D! # ) 6+#$73-Z:%!93%!%:')!+P:%&O)01+!%:,%$R.-$)!)3/%#')!)!-#5%.-#-01+!:+P&%! @' ;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 97' /()*+,&-.*!#!#(1+*0%&D! $#)%(%-O#'!#!+#:&-O#'!%,0*+1&(1#'!! , *+,E,X,B/35RB058,/$0/2Y35/8,;%.,%;%33Z1;5/8,@&,0,D'M, & = !+'+CCC+ ( ,,0,, ' = !+'+CCC+ C , , , 5=/0<.<;;P:.&/,", %,N/;&>O860*, %,N/;&>O8&-0*080E, !63*<&()*+#',-*" =()*+#',-*"#>36'! , O>;&/-0<.<;;P:.&/-,", #"@ & # = ! $%& ' %"@& #, 8(3+*0&', #"@ & WD ' # = $%& ' %"@& +D ' # %"@ & #%"D ' # , =()*+#',-*"#>36'"#?%&'! "519%3./DE%,.<65/#, , ( )"* # = " %"@& ##"@& # = , ( ( C #"*WE # = " " %"@& +D ' ##"@& WD ' # = , &=! ' =! &= ! = ! " %"@ & #$%& ' %"@& # , & =! ( C = " " %"@& + D ' #$%&' & =! '=! %"@& + D ' # %"@ & #%"D ' # , , •! ) " * + E # = ) " * # + ) "E T * # = ) "E # + ) " * T E # ! •! ) " * + E # $ ) " * # + ) "E # ! •! ) " * T E # $ ) " * # ! •! ) "E T * # $ ) "E # ! •! # " * WE # = ) " * # ! ) " * T E # = ) "E # ! ) "E T * # ! •! # " * WE # = ) " * # + ) "E # ! ) " * + E # ! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 98' /()*+,&-.*!,N15&!,6$%&P!#(1+*0%&'! E*($%E%*(&%'!#!$%&F+&,&!$#!Q#((! v! /3-'+! .G$-7! 5%! %:')P%7%$%&! ):! &%7)0]%:! %#'&%! ):! 5-.%&%#'%:! %#'&+,-):! $+#5-$-+#)-:! %! %#'&%! %:'):! %! )! -#.+&/)01+! /2'3)! /45-)! :%! 3:)&/+:! +! :%I3-#'%!5-)I&)/)!5%!f%##>! ["\# ["\T]# ["]# I"\+]# ["]T\# ["\+]# ! F%,%'%/Z:%! )93-! ):! &%7)0]%:! bG! $+#N%$-5):;! E&)! $+#.-&/%Z):! $+/! +! 5-)I&)/)}! •! ) " * + E # = ) " * # + ) "E T * # = ) "E # + ) " * T E # ! •! ) " * + E # $ ) " * # + ) "E # ! •! ) " * T E # $ ) " * # ! •! ) "E T * # $ ) "E # ! •! # " * WE # = ) " * # ! ) " * T E # = ) "E # ! ) "E T * # ! •! # " * WE # = ) " * # + ) "E # ! ) " * + E # ! , !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 1:' /()*+,&-.*!,N15&!,6$%&! C!-#.+&/)01+!/2'3)!/45-)!4!:%/,&%!#1+!#%I)'-O)>! B#*+#,&! a=8'* A[* $* @$"8,"-$* >/?@%=-$* >$?* E'%=?* +:/M;80P* 3* /"#$%&'()$* &_-,'* &N>/'* ="-%=* A* =* [* ?'-/?#'K* !+Ab[0* !* 5M* =&* G,=* '* /L,'H>'>=* ?c* N* ?'-/?#=/-'*00'*:*=*;*#$%=&*=?-'-/?-/@'&="-=*/">=E=">="-=?P* C#,*('1+&-.*! !`&+O%/+:!93%!.!+Ab[0*"*5;!M)P%/+:!93%! $%& ' / = $1 / $%& ' 8 >! ! # " * WE # = ! $%& 8"" %" @& + D ' #$1 & ' % " @& T D ' # % " @& # = $%& 8"" %" @& + D ' #$1 & ' % " @& # ! %" @& T D ' # !6+/+! $1( $ ( ! ! >! # %" @& # $ ! # " * + E # $ $%& 8"" %" @& + D ' # % ! !& = $%& 8"" #' %" @& # % " D ' # ! %" @& + D ' # $( = %' %" @& T D ' # &( & ' & ' ! ! # $ % & % ! = $%& 8 " % " @& # " % " D ' # ! "" % " @& + D ' # & = ( ! % & & ' & ' ! " #" $ ! " #" $ !" " #"" $ % & ! ' ( ! ! ! ! # " * WE # $ ( ! <+'%Z:%!93%! # " * + E # = ( !??=! $1( $ ( ! ! ! !! ( = ! ! !!??=! %" @# = % " @ T D # ! !!:%!:!%!;!.+&%/!%:')'-:'-$)/%#'%!-#5%,%#5%#'%:X! @PGP>P* C#,*('1+&-.*!&:1#+(&1%2&D! M%#5+! # " * + E # = ) " * # + ) "E # ! ) " * + E # ! %! ) " * + E # $ ) " * # + ) "E # X! %#'1+! #%$%::)&-)/%#'%! # " * + E # ) ( ;! M%! A! %! [! .+&%/! %:')'-:'-$)/%#'%! -#5%,%#5%#'%:X!%#'1+! ) " * + E # = ) " * # + ) "E # !! # " * + E # = ( ;!! @PGP>P* !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 19' /()*+,&-.*!,N15&!,6$%&! 6+/+!!HAa[J!"!S!%!!HAa[J!U!CHAJ!Z!CHAx[J!!! 5467!!!546R77! H%X!')7!$+/+!)#'%:X!gH^J!U!gH^xuJ!''#!^!%!u!.+&%/!%:')'-:'-$)/%#'%!-#5%,%#5%#'%:J! *:')! 5%:-I3)75)5%! /+:'&)! 93%! :%! $+7+$)&/+:! &%:'&-0]%:! )! 3/! $+#b3#'+! ^! H.)(%#5+Z+!5%,%#5%&!5%!+3'&):!+$+&&Y#$-):J!>/&/",/&$?*'*?,'*="-%$E/';! v!+!93%!)$+#'%$%!$+/!):!7R#I3):!H,+&'3I3Y:X!.&)#$Y:X!%'$;J;! `+&!%L%/,7+!%/!-#I7Y:!HVm!7%'&):!/)-:!%:,)0+J>! •! G*$%)%E&-.*!7%'&)!)!7%'&)X!$+#:-5%&)#5+!$)5)!7%'&)!%93-,&+OGO%7>! M1+!,&%$-:+:! ! $%& ' 'N = )+NJ !5RI-'+:!P-#G&-+:d$)&G$'%&;! H%#'&+,-)!/GL-/)J! •! G*$%)%E&-.*!7%'&)!)!7%'&)!'%#5+!%/!$+#')!):!,&+P)P-7-5)5%:!&%7)'-O):!5%! +$+&&Y#$-)>! M1+!,&%$-:+:!\XS[!5RI-'+:!P-#G&-+:d$)&G$'%&;! ! ! H%#'&+,-)!$+#5-$-+#)7J! •! G*$%)%E&-.*!,)7)O&)!)!,)7)O&)!'%#5+!%/!$+#')!)!.&%93Y#$-)!&%7)'-O)!5):! ,)7)O&):>! MQ!:1+!,&%$-:+:!TXmm!5RI-'+:!P-#G&-+:d$)&G$'%&;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' ! H%#'&+,-)!$+#5-$-+#)7J! 11' /()*+,&-.*!,N15&!,6$%&!#!E&0&E%$&$#!$#! E&(&:! ! ! ! ! ! ! ! # " * WE # = ) " * # ! ) " * T E # ! ! +! ! ! 6=>?9@AB!"B!C9=>6! 0 0 0 0 Q0/0&:.8;28B/0=R7&/0-<";80 /0$<:280780&:$<;=/ST<0*0 +! 6DEAF9GBHI9! Q0/0&:.8;28B/0=R7&/0-<";80/0$<:280 789<&-0780-80<"-8;O/;0/0-/,7/07<0./:/6M0E0 C!5-.%&%#0)!%#'&%!%:'):!53):!93)#'-5)5%:!4!)!/"#$%&'()$*&_-,'*&N>/'*8!4! 3/)!/%5-5)!5)!-#.+&/)01+!93%!,)::+3!)'&)O4:!5+!$)#)7;! !* R,'"-$*&'/$%*#$%*'*=G,/F$@'()$*&="$%*N*'* G,'"-/>'>=*>=*/"#$%&'()$*G,=*E'??'*'-%'FN?*>$*@'"'HP* ]=#/"/()$1* ! C!@'E'@/>'>=*>$*@'"'H!4!+!O)7+&!&J:/&$!5)!-#.+&/)01+!/2'3)!/45-);! I- = ./L # " * WE # !HP-':d:R/P+7+J! 9* " @# f-:'+! +! $)#)7! :%&! .-L+! )! /)L-/-()01+! 5%O%! .)(%&Z:%! &%7)'-O)/%#'%! =:! ,&+P)P-7-5)5%:!!5)!.+#'%;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 12' 39#,0:*!$#!E&0&E%$&$#!$#!E&(&:! '()*+,-#.$!C+=+B!%&=-,&?!(&AD',&*?!3EF&=+,4!(4AA.',&*!*G+==.BHI!F<C7! %"( T !# = %"! T (# = 9 !%! %"( T (# = %"! T !# = ! ! 9 ;! ( !^4 / / ( 4 \ ] 4 ! / !^4 / ! , 6+/+! # " * WE # = ) "E # ! ) "E T * # !O)/+:!$)7$37)&!%:'):!%#'&+,-):>! C! %#'&+,-)! CH[J! 4! /GL-/)! 93)#5+! ):! :)R5):! :1+! %93-,&+OGO%-:! !! %#'&)5):! %93-,&+OGO%-:;!<%::%!$):+!CH[J!U!T!P-'d:R/P+7+;! ( ) "E * # = " % " @& # ) "E @& # = %" * = (# ) "E * = (# + %" * = !# ) "E * = !# = & =! = %" * = (# ) "! ! 9+ 9 # + % " * = !# ) " 9+! ! 9 # = #" 9# !"#"$ !"#"$ #" 9 # ! #" 9 # ! C!$),)$-5)5%!O)7%X!,+&')#'+X! I- = ! ! #" 9# X!-:'+!4>! S'E'@/>'>=*>$*@'"'H*4/"J%/$*?/&N-%/@$!" I- = ! + 9 $%& ' 9 + "! ! 9#$%& ' "! ! 9# ! ! , I-, !, , _0, %"( T !# = % "! T (# = (+M +, 582%, <+, 6/6/, 7./, (CK, 60203.51/6/, 8/:6/, "!, %7, (#, 20.%8, M(`, 60, 43%P/P5$56/608, 60, /;032/3.%8, 1/, 0123/6/, 30/$.0120,01B5/6/, !,/,;/4/;56/60,6%,;/1/$,<, 17$/, !, 10880, ;/8%, %, ;/1/$, 1E%, 803B0, 4/3/, 1/6/S, P/82/, a6052/3, 7./, .%06/, /%, /3a, 1%, 608251%C, (CJ, (C), (C', (, (C', (C) (CJ, (CK, !, 9 , , !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 13' 39#,0:*!$#!E&0&E%$&$#!$#!E&(&:! '()*+,-#/$!C?AJ=&*+KL?!M&+!(+'DB&'.! , %8,=,( %8,=,(+(!, %80=,(+!, " gG! [! $)#)-:! %#O+7O-5+:>! $)#)7! ):$%#5%#'%X! $)#)7! )! P+&5+! %! $)#)7! 5%:$%#5%#'%;! `)&)! 5%'%&/-#)&! )! $),)$-5)5%! 5+! :-:'%/)! I7+P)7! '%/+:! 5%! ,&-/%-&+! $)7$37)&! )! /)'&-(! 5%! ,&+P)P-7-5)5%:! 5%! '&)#:-01+! I7+P)7! /37'-,7-$)#5+!):!/)'&-(%:!5%!,&+P)P-7-5)5%!5%!'&)#:-01+!-#5-O-53)-:>! ! #(+OO (+(!$ #!+( ( $ #(+O (+! $ # (+KO' (+!(K$ U %"E T * #V = % &% &% &=% &! ' (+(! (+OO ( ' ( !+( ( ' (+! (+O ( ' (+!(K (+KO'( E!5-)I&)/)!5%!'&)#:-01+!I7+P)7!5%:'%!$)#)7!iM6!4>! (+KO' (/ \ (+!(K !/ / ( ] (+!(K (+KO' / ! ! C!$),)$-5)5%!5+!:-:'%/)!I7+P)7!4X!,+&')#'+>! ! I- = ! + (+KO'$%& ' (+KO' + (+!(K$%& ' (+!(K = (+M! !P-'d:R/P+7+! HC:!,&+P)P-7-5)5%:!N-,Q'%:%!:1+!/3-'+!/)-:!%7%O)5):!93%!#3/!$):+!&%)7;! @+/)&)/Z:%!,)&)!:-/,7-.-$)&!+:!$G7$37+:J;! !"#$%&'(&')*+#$,&-.#' /"(%(&0'("'%*+#$,&-.#' 14, 1.3. Teorema da codificação de canal • Ritmo de informação • Teorema da codificação de canal Teoria da Informação Teorema da codificação de canal 1 Ritmo (ou taxa) de informação • Se a fonte de entropia H(X) emitir uma sequência de n 1 símbolos a informação total a ser transferida é de nH ( X ) bits. • Se a fonte produzir r símbolos/s a duração da sequência de n símbolos é n/r segundos. • Portanto, a informação deve ser transferida à razão média de: R= informação total nH ( X ) = = rH ( X ) bits/s duração total nr Esta é a taxa de informação da fonte. Se a fonte produzir símbolos com diferentes durações τ i (segundos) o ritmo, ou taxa, de informação pode ser calculado alternativamente como R= H (X ) τ bits/s em que τ é a duração média de cada símbolo, M τ = P1τ1 + P2τ 2 + ... + PM τ M = ∑ Piτ i . i =1 Teoria da Informação Teorema da codificação de canal 2 O teorema da codificação de canal (aplicado a canais discretos sem memória) A entropia representa a informação esperada por cada símbolo de fonte. • Se tivermos duas fontes com iguais entropias, aquela que produzir mais símbolos por unidade de tempo vai colocar mais exigências no sistema de comunicações. (imagine duas pessoas a ler o mesmo texto escrito numa língua que domina mal. Uma delas lê depressa. Qual é a que entende melhor?) • O ritmo de informação mede a quantidade de informação produzida num certo intervalo de tempo. • Existem limitações físicas fundamentais à transferência de informação (ruído, largura de banda, …), que se reflectem na capacidade do canal: • A capacidade do canal (em bits/s) mede a quantidade de informação que um canal pode transferir por unidade de tempo. Shannon relacionou estes dois conceitos através do teorema da codificação de canal, também chamado Teorema Fundamental da Teoria da Informação: Dado um canal de capacidade C e uma fonte com ritmo de informação R, então se R ≤ C existe uma técnica de codificação tal que a saída da fonte pode ser transmitida através do canal com uma frequência arbitrariamente pequena de erros, apesar da presença de ruído. Se R > C, não é possível a transmissão sem erros. Teoria da Informação Teorema da codificação de canal 3 O teorema da codificação de canal aplicado a canais discretos sem memória (formulação alternativa) Teorema: “Uma fonte X de entropia H(X) produz símbolos à razão de um símbolo por cada Ts segundos. Consideremos um canal discreto sem memória de capacidade Cs (bits/símbolo!) e que seja usado uma vez em cada Tc segundos. Então, se H ( X ) Cs ≤ , Ts Tc existe uma técnica de codificação dos símbolos da fonte que permite que os símbolos transmitidos através do canal possam ser recuperados com uma probabilidade de erro arbitrariamente pequena. Se, pelo contrário, H ( X ) Cs , então não é possível transmitir os símbolos e > Ts Tc recuperá-los com uma probabilidade de erro arbitrariamente pequena.” Conversão de Cs (bits/símbolo) em C (bits/s): C= Teoria da Informação Cs Tc Teorema da codificação de canal 4 Aplicação do “Teorema da Codificação do Canal” a um canal binário simétrico Considere-se uma fonte binária a gerar símbolos equiprováveis de duração Ts segundos, ou seja, a produzi-los à taxa de r = 1 Ts símbolos por segundo. Sendo os símbolos binários equiprováveis, a entropia da fonte vale H ( X ) = 1 bit/símbolo e a taxa de informação da fonte é R = rH ( X ) = 1 Ts bits/s. 1 símbolo em Ts segundos 1 dígito binário em Tc segundos capacidade por unidade de tempo = Cs/Tc bits/s (r=1/Ts) Fonte binária Codificador de canal binário rH(X) bits/s Canal binário simétrico Rc=k/n O codificador (de canal!) produz um símbolo binário em cada Tc segundos, o qual é transmitido através de um canal binário simétrico (BSC) – que, portanto, é usado uma vez em cada Tc segundos. Assim, a capacidade do canal por unidade de tempo é C = Cs Tc bits/s. De acordo com o teorema da codificação do canal, terá de ser H ( X ) Cs ⇒ ≤ Ts Tc Mas 1 Cs ≤ Ts Tc ⇒ Tc ≤ Cs Ts Tc = Rc (taxa do código, ver a seguir), pelo que Ts Rc ≤ Cs Como a capacidade do canal BSC é Cs = 1 − Ω( p) : Rc ≤ 1 − Ω( p) Teoria da Informação (canal BSC) Teorema da codificação de canal 5 Aplicação do “Teorema da Codificação do Canal” a um canal binário simétrico (contin.) Porque é que Tc = Rc ? Ts Antes da codificação Ts k=4 Duração do bloco: 4Ts Tc n=7 Duração do bloco: 7Tc Depois da codificação À razão k = Rc chama-se taxa do código. n Como a duração dos blocos é a mesma: kTs = nTc ou, neste caso, 4Ts = 7Tc ⇒ Tc Ts = 4 7 = Rc Em resumo, temos duas maneiras de exprimir o teorema da codificação de canal: • Com a capacidade expressa em bits/símbolo, Cs: Rc ≤ Cs • Com a capacidade expressa em bits/s, C: R = rH ( X ) ≤ C bits/s Teoria da Informação bits/símbolo C = Cs Tc Teorema da codificação de canal 6 1.#. Teorema da codificação de fonte ! Teorema da codificação de fonte ! Redundância ! códigos unicamente descodificáveis ! códigos sem prefixos ! desigualdade de <raft-McMillan ! extensões Codificação de fonte @ueremos transformar as mensagens de uma fonte num conjunto de símbolos de modo que seja Eocupado menos espaçoF ou que a informação da fonte Edemore menos tempo a ser transmitidaF. @ueremos fazê-lo sem perdas: a operação inversa de descodificação ou descompressão deve dar origem exactamente às mesmas mensagens originais. Ora, ! A caracterização de uma fonte discreta é fácil se os símbolos forem independentes e equiprováveis (a entropia é máxima). ! Essa caracterização já é mais difícil se os símbolos não forem independentes (a probabilidade de um símbolo depende dos símbolos passados e a entropia é menor). ! Shannon provou que, se dividirmos a mensagem em blocos de letras ou palavras (no caso de texto), podemos calcular a entropia de cada bloco (U símbolo) pela mesma fórmula usada com símbolos independentes e assim aproximar-nos da entropia da fonte, considerando os blocos muito compridos. Existe alguma relação entre a entropia e o n*mero médio de dígitos bin2rios por símbolo necessário para codificar uma mensagemV Sim, existeW ! A questão está em descobrir como codificar eficientemente os símbolos da fonte, tendo cada um uma certa probabilidade de ocorrer. No caso dos símbolos da fonte não serem equiprov2veis o código óptimo tem em conta as diferentes probabilidades de ocorrência usando palavras com comprimentos vari2veis. ! Convém agrupar os símbolos da fonte antes de codificar ou comprimir. Teoria da Informação Teorema da /odifi/ação de fonte 1 .epresentação de símbolos por dígitos binários8 dois exemplos: !" "#$%&'( )* *+,-*.*- ,/0 12 3*,4(+ 5 67 5 89 : ;< +=0>/4/+ ! Precisaríamos de log9 50 U 5,62 dígitos binários_símbolo. A codificação faz-se atribuindo um número binário com 6 dígitos a cada símbolo (desperdiçando 26 - 50 U 14 números binários). ! Mas em 50 caracteres existem 503 U 125 000 grupos diferentes possíveis de 3 caracteres. Por outro lado 17 dígitos binários podem ser combinados de 131 072 maneiras diferentes (217). ! Se dividirmos o texto em blocos de 3 caracteres sucessivos poderemos atribuir a cada bloco um número binário de 17 dígitos. Se tivessemos representado cada carácter por 6 dígitos binários precisávamos de 18 dígitos binários por cada grupo de 3 caracteres, em vez de 17. Conclusão: agrupando os símbolos a compressão ou codificação é mais eficiente. #" ?'@4A+ BCD 4*3-(+ 5 *+E(F/G ! Codificação letra a letra, consideradas equiprováveis: São precisos 4,76 dígitos binários_carácter ! Codificação letra a letra tendo em conta as probabilidades relativas de ocorrência: São precisos 4,03 dígitos binários_carácter ! Codificação palavra a palavra tendo em conta a frequência relativa das palavras: São precisos 1,66 dígitos binários_carácter Shannon calculou a entropia do inglês entre 0,6 e 0,13 bits_carácter. 1 In J. R. Pierce, EAn Introduction to Information TheoryF, 2ª edição, Dover, 1980. Teoria da Informação Teorema da /odifi/ação de fonte 2 .edund<ncia ! A influência entre símbolos reduz a entropia. Exemplo: linguagem, textos escritos: cada letra depende da(s) precedente(s) ou até das palavras anteriores, devido a regras impostas pela linguagem. A seguir à letra H vem sempre I. ! A influência mútua reduz a incerteza, logo, reduz a quantidade de informação. Trata-se de uma fonte redundante: significa qe há símbolos produzidos pla font qe não são absolutament essenciais para a transmssão da informação. ! A redundância de uma sequência de símbolos mede-se em função da redução de entropia ocorrida: %&'()'*)+,-: E = 1 − H (Al B) H (B) HCADBE — supondo símbolos dependentes HCBE — supondo símbolos independentes Num exemplo anterior em que H(A l B) = 0,9328 bits_símbolo e H(B ) = 1,287 bits_símbolo existe uma redundância na informação da fonte de E U 27,5n. ! Numa comunicação eficiente a redundância é indesejável (a mesma informação poderá ser transmitida usando menos símbolos). MAS ... ajuda a resolver ambiguidades se a mensagem for recebiga com errus. ! A codificação para transmissão óptima pretende: ! reduzir a redundância EineficienteF → códigos de fonte (compressão) ! acrescentar redundância EeficienteF → códigos de canal Teoria da Informação Teorema da /odifi/ação de fonte 3 Codificação de fonte Consideremos uma fonte discreta de entropia HCBE a gerar símbolos à cadência de r símbolos_s. O ritmo de informação é, como se sabe, R = rH ( B ) bits_s. . /& 0(,/&123/ +3',4,+-1 &/5&/ /627383/ -51-9:/ '& '6;,53/ 7,)<1,3/= ."mbolos discretos 4 0onte discreta !"gitos bin+rios 2odificador de fonte R G rHCBE bits-s 2ana3 sem ru5do rb binits-s .5annon mostrou 8ue a informação proveniente de 8ual8uer fonte discreta sem memória pode ser codificada como d"gitos bin+rios e transmitida através de um canal sem ru"do ? taxa bin+ria de r b ≥ R d"gitos bin+rios-sA Bão é poss"vel fazD-lo a uma taxa inferior F rb < R GA Esta é uma manifestação do famoso Eteorema da codificação de fonteF, de Shannon, demonstrado mais adiante. OBS: Aos dígitos binários vamos passar a chamar binits, para evitar confusões com a unidade de informação EbitF. Só lhes deveremos chamar bits se não houver ambiguidades de interpretação. Teoria da Informação Teorema da /odifi/ação de fonte 4 Teorema da codificação de fonte ! ponte de M símbolos equiprováveis produzidos ao ritmo r → R = r log M Todos os símbolos transportam a mesma quantidade de informação. ! ponte de símbolos com diferentes probabilidades Pi → R = rH ( B ) < r log M ! A transmissão eficiente requer um processo de +3',4,+->?3 que tenha em conta a quantidade variável de informação por símbolo. R G r HCBE Honte discreta sem memIria rbΩ( p ) ≤ rb Jodificador de fonte bin+rio r q s"mbolos-s rb q binits-s Jonverte os s"mbolos da fonte em palavras de cIdigo constitu"das por ni d"gitos bin+rios produzidos a uma taxa rb • O codificador comporta-se como uma fonte binária com entropia Ω(p) e taxa de informação rb Ω( p ) ≤ rb log 2 = rb binits_s. • O comprimento médio das palavras de código é igual a N = " Pi ni . M i =1 A codificação não gera informação adicional nem destrói a informação @. o código for decifrável de uma única maneira, sem ambiguidades Ccódigos unicamente decifr2veis ou descodific2veisE. Nesse caso as taxas de informação à entrada e saída do codificador são iguais: rH ( B ) = rb Ω( p ) ≤ rb ! rb ≥ rH ( B ) e H (B ) ≤ rb =N r CTeorema da codificação de fonteE Teoria da Informação Teorema da /odifi/ação de fonte 5 Codificação de fonte e ritmo de informação8 um exemplo Uma fonte emite r U 2000 símbolos_s seleccionados de um alfabeto de M U 4 elementos, com as probabilidades de ocorrência indicadas. Se quisermos codificar estes símbolos através de dígitos binários qual é o número mínimo de binits que podemos transmitir por unidade de tempoV xi Pi Ii A 1_2 1 B 1_4 2 C 1_8 3 D 1_8 3 R.: A entropia desta fonte vale H( B ) = 1 2 ×1 + 1 4 × 2 + 18 × 3 + 18 × 3 = 1, 75 bits_símbolo (o máximo seria log M G 9) A respectiva taxa de informação vale R U 2000 × 1,75 U 3500 bits_s Uma codificação de fonte apropriada permitirá transmitir a informação da fonte a uma taxa binária rb ! 3500 binits_s. Não é possível transmitir com menos dígitos binários por unidade de tempo. Repare-se nas dimensões que nos aparecem neste exemplo: srt — símbolos_s Teoria da Informação sRt — bits_s Teorema da /odifi/ação de fonte srbt — binits_s 6 Teorema da codificação da fonte e desigualdade de >raft " Num código binário unicamente descodificável é condição necessária que os comprimentos ni das palavras respeitem a desigualdade (ver Anexo 1) M K = " 2− ni ≤ 1 CDesigualdade de KraftE i =1 ! Se o alfabeto do código tiver tamanho D a desigualdade de <raft é M K = " D − ni ≤ 1 i =1 " . O teorema da codificação da fonte, de Shannon, estabelece que, com códigos binários unicamente descodificáveis, o comprimento médio N é limitado por H(B ) ≤ N < H( B) + ε ε > 0, arbitrariamente pequeno ! Com codificação óptima: N = H (B ) . Na prática: N > H( B ) . ! A eficiência da codificação mede-se calculando a razão entropia da fonte comprimento médio das palavras de código ! A eficiência é igual a R r/H ( B ) H ( B ) = = ≤ 1. rb N r/ N ! Codificação mais simples: código de comprimento fixo (exemplo: ASCII). Neste caso a desigualdade de <raft toma a forma K = M.2 ! N ≥ log 2 M ! eficiência = −N ≤1 H(B ) H(B ) ≤ N log M ! Para aumentar a eficiência é preciso diminuir o comprimento médio N , o que se consegue com os códigos de comprimento vari2vel: Aos símbolos que ocorrem com mais frequência devem corresponder palavras de código mais curtas que as que correspondem aos símbolos mais raros. Teoria da Informação Teorema da /odifi/ação de fonte 7 Codificação binária de uma fonte discreta sem memória @A@MCDO8 fonte discreta sem memória produzindo 4 símbolos A, B, C e D com probabilidades 1_2, 1_4, 1_8 e 1_8, respectivamente. Temos muitas possibilidades de codificação. Eis quatro possíveis: J& K& AB',;3 C AB',;3 CC AB',;3 CCC AB',;3 CD A 1_2 00 0 0 0 B 1_4 01 1 01 10 C 1_8 10 10 011 110 D 1_8 11 11 0111 111 N 2,0 1,25 1,875 1,75 K 1,0 1,5 0,9375 1,0 (comprimento fixo) ("comma code") ("tree code") ! v(w) U 1,75 bits_símbolo (exemplo anterior) ! Código I: Eficiência U ! Código II: N U 1,25 x H(B), K U 2-1 y 2-1 y 2-2 y 2-2 U 1,5 z 1 ! não é unicamente H(B ) = 88n N (ex.:10011 pode ser BAABB ou CABB ou CAD, etc.) ! Código III: { unicamente decifrável (cada palavra começa por 0). Eficiência U ! Código I|: decifrável. H(B ) = 93n N Nenhuma palavra de código aparece como o prefixo de outra palavra de código. { um código óptimo para esta fonte porque N U H(B) e K U 1. Eficiência U H (B ) = 100n N (Exemplo: 110010111 ↔ CABD) Teoria da Informação Teorema da /odifi/ação de fonte 8 Códigos unicamente descodificáveis código unicamente para cada sequência de fonte de comprimento finito a descodific2vel sequência de letras de código que lhe corresponde é diferente da sequência de letras de código correspondente a qualquer outra sequência de fonte. Existe uma classe especial de códigos unicamente descodificáveis que satisfaz uma restrição chamada condição de prefixação. Chamar-lhes-emos códigos sem prefixos: código sem prefixos { um código no qual nenhuma palavra de código é o (código instantâneo) prefixo de qualquer outra palavra de código. Seja xi G Cxi,T, ... , xi,niE a palavra de código de ordem i. @ualquer sequência constituída por uma parte inicial de xi (isto é, (xi,T, ... , xi,k), k ! ni) chama-se um prefixo de xi. Para descodificar uma sequência de palavras de código gerada por um código sem prefixos começa-se no princípio de cada palavra e descodifica-se uma a uma. Sabemos que chegámos ao fim de cada palavra porque essa palavra de código não é prefixo de qualquer outra (veja-se o anterior código I|, por exemplo). Teoria da Informação Teorema da /odifi/ação de fonte 9: Códigos sem prefixos "epresentação gráfica através de "árvores" A 0 B 10 C 110 D 111 Nós de 3ª ordem Nós terminais Nós de 2ª ordem Nós de 1ª ordem 10 0 0 0 Raíz 110 0 111 1 1 1 Nós intermédios ! Num código sem prefixos as palavras de código terminam sempre nos nós terminais. ! Para descodificar, o receptor "sobe pela árvore", desde a raiz. ! Para que N — número médio de dígitos binários por símbolo de fonte — seja minimizado convém escolher as palavras de código de tal maneira que cada ramo que sai de um nó seja equiprovável (idealmente). Exemplo: Código de Shannon-pano. ! Se cada ramo for equiprovável e o código tiver um alfabeto de D elementos, então − P(ai ) = D ni ai q símbolo da fonte ni q comprimento da palavra de código correspondente Exemplos de códigos de fonte sem prefixos: Teoria da Informação E @F-))3)GH-)3 E I(442-)" Teorema da /odifi/ação de fonte 99 Teorema da codificação de fonte, de Hhannon8 demonstração Teorema8 Dada uma fonte B com entropia HCBE e dado um alfabeto de código com D símbolos, é possível atribuir palavras de código às letras da fonte de tal maneira que a ,/')&FL/ )* E-*M&J(FL/ N +(3&+M*&3( e o comprimento médio das palavras de código, N , satisfaV N< H( B ) +1 log D Para qualquer conWunto %'&,(0*'3* )*+,/)&M&,#.*4 de palavras de código temXse também N≥ H( B ) log D Demonstração8 H( B ) , ou H(B ) − N log D ≤ 0 . log D Sejam P(a1), P(a2) ... P(aM) as probabilidades das letras da fonte e sejam n1, ..., nM os comprimentos das palavras de código respectivas: Mostremos que N ≥ M M 1 H ( B ) − N log D = " P (ai )log − " P(ai )ni log D = P a ( ) i i =1 i =1 − D ni = " P (ai )log P (ai ) i =1 M Como log V ≤ ( V − 1) log e para z z 0, então ≤1 $ 1 $$ #! "#" ! "#" − D ni − H ( B ) − N log D ≤ log e" P (ai )s − 1t = log e % " D ni − " P(ai ) & % & P (ai ) i i i %' &( ! H ( B ) − N log D ≤ 0 A igualdade verifica-se para − P(ai ) = D ni Teoria da Informação 1#i#M Teorema da /odifi/ação de fonte (Continua) 91 Teorema da codificação de fonte (Contin.) Provemos agora que N < H( B ) +1 : log D −n Como ni tem de ser inteiro poderemos aproximar P(ai ) = D i escolhendo ni como o inteiro que satisfaz D − ni ≤ P(ai ) < D − ni +1 1#i#M (*) Somando em i: "D −ni i ! ≤ " P (ai ) = 1 (<raft...) i existe um código sem prefixos com estes comprimentos. @uanto ao 2~ membro de (*), tomemos logaritmos: log P(ai ) < (− ni + 1)log D Multiplicando por P(ai) e somando em i: # $ " P(ai )log P(ai ) < " P(ai )log D −n +1 = %" P(ai )(−ni + 1) & log D = i i %"" "&""" ' ' i ( i −H ( B ) # $ % & = % −" P (ai )ni + " P (ai ) & log D % i & i &" %"&"' % " ' % & 1 −N ' ( ! − H ( B ) < (− N + 1) log D ou Teoria da Informação N< H(B ) +1 log D ! − H (B ) < −N + 1 log D c.q.d. Teorema da /odifi/ação de fonte 92 Kgrupamentos de símbolos de fontes (MextensõesO) Seja HCBE a entropia de uma fonte discreta B que gera símbolos independentes retirados de um alfabeto com M símbolos. Agrupando os símbolos de B em grupos de Y símbolos obtemos um conjunto aumentado, BY, de MY símbolos chamado Eextensão de ordem YF de B. A entropia da nova fonte BY está relacionada com a entropia de B através de H ( B Y ) = YH ( B ) • Exemplo Z.9 de Haykin, \] edição Cp2g. ^_`Ea As probabilidades dos símbolos de uma fonte ternária (MG`) são P0 = 1 4 P1 = 1 4 P2 = 1 2 A entropia desta fonte vale H (1 4,1 4,1 2) = 1,5 bits_símbolo. Uma extensão de segunda ordem produz nove (M9) símbolos com as seguintes probabilidades: Símbolos de B9 σ0 σ1 σ2 σ3 σ4 σ5 σ6 σ7 σ8 Sequências correspondentes de símbolos de B p(σ i ), xbxb xbxT sbs9 xTxb xTxT xTx9 x9xb x9xT x9x9 1 16 1 16 18 1 16 1 16 18 18 18 14 i = 0,1,(8 A entropia da fonte aumentada vale, portanto, 8 H ( B ) = −" p (σ i )log p (σ i ) = 3 , 2 i =0 que é precisamente igual ao dobro de HCBE, como se esperava. Teoria da Informação Teorema da /odifi/ação de fonte 93 Teorema da codificação de fonte !p#i%&'(o & +,o-te0 &ume-t&3&04 &tr&670 3e e8te-09e0 ou &:rup&me-to0 3e 0;m<o#o0 Admitamos que os símbolos de BY são codificados usando um código unicamente descodificável. Se N Y for o comprimento médio, por símbolo de BY, das respectivas palavras de código, N = N Y Y representa o comprimento médio por símbolo de B. O Teorema da Codificação de Fonte indica que H (B Y) H (B Y) ≤ NY < +1 log 2 D log 2 D Como H ( B Y ) = YH ( B ) , poderemos escrever YH ( B ) YH ( B ) H (B ) H (B ) ≤ NY < +1 ! ≤ NY Y < +1 Y log 2 D log 2 D log 2 D log 2 D isto é, H (B ) H (B ) ≤N< +1 Y log 2 D log 2 D Se não se tivesse feito um agrupamento antes da codificação (ou seja, se Y = 1 ), teríamos H (B ) H (B ) ≤N< + 1, log 2 D log 2 D que representa um intervalo maior para o comprimento médio das palavras de código. Caso de fontes bin2riasa Passamos a ter expressões simplificadas: H ( B Y ) ≤ N Y < H ( B Y ) +1 H (B ) ≤ N < H (B ) +1 Y Teoria da Informação Teorema da /odifi/ação de fonte 94 Codificação de fonte8 considerações diversas ! Embora não possamos controlar a estatística da fonte de informação, a codificação de fonte deve obedecer ao seguinte (como nos códigos de Morse, vuffman, etc.): Aos símbolos mais frequentes devem corresponder palavras de código curtasd aos símbolos menos frequentes devem corresponder palavras compridas. ! Entropia de fonte binária U 1 bit_símbolo se os símbolos forem equiprováveis. ! Se os símbolos não forem equiprov2veis a informação média por símbolo é inferior a um e a fonte apresenta redundencia. ! A codificação da fonte reduz essa redundância por forma a aumentar a eficiência da comunicação. ! A codificação faz-se agrupando a sequência de dígitos binários da fonte em blocos de n símbolos, passando a formar um novo conjunto de 2 n símbolos. ! A probabilidade de cada um dos 2 n novos símbolos é calculada e atribui-se a palavra de código mais curta ao novo símbolo mais provável, e assim por diante: palavras mais compridas correspondem a símbolos menos frequentes. Ao conjunto de 2 n novos símbolos chama-se extensão de ordem n da fonte binária. Teoria da Informação Teorema da /odifi/ação de fonte 95 @xemplo de codificação de fonte binária com extensões de QR e SR ordem i 1 2 i 1 2 3 4 i 1 2 3 4 5 6 7 8 (1) Si P # S i(1) $ Palavras de ' ( A B (2) Si 0,9 0,1 (3) N= código 0,81 0,09 0,09 0,01 0 10 110 111 de P # S i(3) $ Palavras código ' ( AAA AAB ABA BAA ABB BAB BBA BBB H(B ) = 0,469 bits_símbolo 0 1 P # S i(2) $ Palavras de ' ( AA AB BA BB Si ponte original: código 0,729 0,081 0,081 0,081 0,009 0,009 0,009 0,001 0 100 101 110 11100 11101 11110 11111 N1 = 1,0 binit 1 Extensão de 2ª ordem N2 N= = 0,645 binits 2 Extensão de 3ª ordem N3 = 0,5333 binits N= 3 2n n N n = " Ni P #% Si( ) $& — ' ( i =1 comprimento médio das palavras de código para a extensão de ordem n. N= Nn n — número médio de símbolos de código por símbolo de fonte. n ↑ ! N = Nn ↓ n ! menor taxa de símbolos (Continua) Teoria da Informação Teorema da /odifi/ação de fonte 96 @xemplo de codificação de fonte binária com extensões de QR e SR ordem @xemplo com modulação CH> binária8 −5 ! Potência recebida U 10 W −8 Energia de bit: E b = 10 h ! Taxa da fonte U 1000 símbolos_s ! ! N 0 = 10 −9 W HV (densidade espectral de potência do ruído branco) Se a potência de emissão for fixa a energia de símbolo pode ser aumentada usando uma extensão porque a taxa de símbolos passa a ser menor. Em PS< binário a probabilidade de erro sem codificação é . 2Eb PB = i,, - N0 + ). ) * Substituindo valores e consultando uma tabela da função @, teremos: . 2 × 10 −8 PB = i, , 10 −9 - + ) = i 20 = 3,9.10 −6 ) * ( ) Usemos agora extensões: −8 −8 ! Extensão de 2ª ordem ! 645 símbolos_s ! Eb = 1, 55.10 h ! P B = 1,3.10 −10 ! Extensão de 3ª ordem ! 533,3 símbolos_s ! PB = 4,5.10 A323 /& 9JK Teoria da Informação Teorema da /odifi/ação de fonte 97 1.#. "ódi&os de fonte para compressão de dados ! técnicas de compressão sem perdas ! códigos baseados em modelos estatísticos e em dicionários ! código de Shannon-:ano ! código de ;uffman ! código aritmético ! códigos de >empel-?iv (>?77 e >?78) Compressão de dados Técnicas de compressão sem perdas !odelos estat*sticos -écnicas baseadas em dicion2rios Exemplos de cJdigos 4 56annon-8ano 4 ?empel-Aiv C?A DDE 4 9uffman 4 ?empel-Aiv C?A DFE 4 <odificação aritmética 4 ?empel-Aiv-Gelc6 C?AGE !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 4 Compressão de dados <ompressão L !odelização N <odificação 5e o modelo não fornecer probabilidades correctas o codificador comprime poucoO por muito eficiente Pue seQaR !odelo estat*stico 5*mbolos Sados de entrada Trobabilidades !odelo 5*mbolos codificados <odificador <ompressão adaptativa genérica 5*mbolos ?U s*mbolo de entrada <odifica s*mbolo 5*mbolos Actualiza modelo codificados !odelo Sescompressão adaptativa genérica 5*mbolos codificados ?U s*mbolo codificado Sescodifica s*mbolo Actualiza modelo 5*mbolos descodificados !odelo !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 5 1orquê métodos de compressão adaptativos? 4 9uffman Cest2ticoE: as estat*sticas da fonte tUm de ser passadas ao programa de expansão CdescodificaçãoER ! Essa informação é um Xover6eadYO Pue tanto pode ser pePueno como muit*ssimo grande Cdepende do rigor do modeloER 4 Zum modelo adaptativo não se passa informação estat*stica ao descodificador ! não 62 Xover6eadYR !as[ de in*cio o codificador est2 X\s escurasYO isto éO não con6ece as estat*sticas da fonte porPue ainda não começou a determin2-lasR ! Isto Puer dizer Pue: de in&'io 'om*rime ma- os dados mas /0ai me-1orando 'om o 2em*o34 !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 6 Compressão de dados !arcos 6istJricos 1952: SR AR 9uffmanO XA met6od for t6e construction of minimum redundanc^ codesYO Troceedings of t6e I_EO 5etembro de `abcR 1977: dR Aiv e AR ?empelO XA universal algorit6m for sePuential data compressionYO IEEE -ransactions on Information -6eor^O !aio de `aDDR 1978: dR Aiv e AR ?empelO X<ompression of individual sePuences via variable rate codingYO IEEE -ransactions on Information -6eor^O 5etembro de `aDFR 1984: -R Gelc6O XA tec6niPue for 6ig6-performance data compressionYO IEEE <omputerO dun6o de `aFeR !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 7 O artigo (comprimido) de David =uffman !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 8 ?m exemplo simples de compressão Um texto é codificado em ASCII (8 bitsJletra, de acordo com a tabela seguinte). Suponhamos que a frequência relativa com que os caracteres ocorrem é representada pelo seguinte histograma. Os caracteres mais frequentes são as minúsculas, o espaço e o retorno ao início de linha (Rcarriage returnS, CR). Uerificou-se que 96X do texto é constituído por 31 caracteres (letras minúsculas, espaços, vírgulas, etc.). " Cada um desses 31 caracteres pode ser representado por 5 bits. A 32ª palavra de 5 bits (11111) pode ser uma RflagS indicando que a seguir vem um carácter que não é um dos 31 anteriores. " Cada um desses outros caracteres é representado por 5 ^ 8 _ 13 bits. " Comprimento médio das palavras do código: N = 0,96 × 5 + 0, 04 ×13 = 5,32 bits (em vez dos 8 originais). !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 9 Código de Channon-Fano No Código de Shannon-:ano as palavras a codificar devem ser ordenadas por ordem decrescente de probabilidades. Suponhamos, por exemplo, que temos as palavras x!, x", x#, x$, x% e x&, que ocorrem com as seguintes probabilidades: P(x1) _ 0,1 P(x2) _ 0,2 P(x3) _ 0,2 P(x4) _ 0,03 P(x5) _ 0,07 P(x6) _ 0,4 Ordenando os símbolos e dividindo-os sucessivamente em dois grupos de probabilidades aproximadas, obteremos o seguinte: Símbolo Probabilidade de ocorrência Construção das palavras de código Palavras de código P(x6) 0,4 0 0 00 P(x2) 0,2 0 1 01 P(x3) 0,2 1 0 10 P(x1) 0,1 1 1 0 P(x5) 0,07 1 1 1 0 1110 P(x4) 0,03 1 1 1 1 1111 110 Gntropia da fonteH 6 H ( ' ) = −# Pi log Pi = i =1 = −(0, 4 log 2 0, 4 + 0, 2 log 2 0, 2 + +0, 2 log 2 0, 2 + 0,1log 2 0,1 + 0, 07 log 2 0, 07 + 0, 03log 2 0, 03) = = 2, 21 bitsJsímbolo Comprimento médio das palavras de códigoH N = 2 × 0,4 + 2 × 0,2 + 2 × 0,2 + 3 × 0,1 + 4 × 0,07 + 4 × 0,03 = = 2,3 dígitos binários J símbolo Gficiência do código _ !"#$%& (& )*+#$,&-.# Entropia da fonte H(' ) 2,21 = = = 96X 2,3 comprimento médio das palavras de código N /0(%1#2 (" +#*3" : Código de =uffman binário Este código de fonte é óptimo no sentido de que o número médio de dígitos binários necessário para representar o símbolo da fonte é mínimo. Uamos usar o código de ;uffman com uma fonte que produz oito símbolos: P(x1) _ 0,50 P(x2) _ 0,02 P(x3) _ 0,03 P(x4) _ 0,04 P(x5) _ 0,10 P(x6) _ 0,04 P(x7) _ 0,12 P(x8) _ 0,15 1assos a tomar para construir a árvore do código Cver exemploEH !' Ordenar as mensagens por ordem decrescente de probabilidades. x( x) x* x+ x, x- x. x/ "' Agrupar as duas mensagens com as probabilidades mais baixas e somar estas probabilidades. Agrupamos x/ e x. no nó a, cu>a soma de probabilidades dB C,C+. De um con>unto de oito probabilidades passBmos a ter um con>unto de -G(H* probabilidades. #' Repetir o passo anterior para o novo conjunto de probabilidades, até chegar à raiz da árvore. ..( Agrupamos x, e x- no nó b, cu>a soma de probabilidades dB C,C). De um con>unto de sete probabilidades passBmos a ter um con>unto de seis probabilidadesI C,+C, C,(+, C,(/, C,(C, C,C) Jnó bK e C,C+ Jnó aK. ../ Agora agrupamos os nós a e b, produLindo o nó c. Depois agrupamos x+ e x*, produLindo o nó d, e assim por diante, gerando os nós e e f e chegando finalmente à raiL. $' Da copa para a raiz arbitrar o bit 1 (ou 0) para os ramos que partem do nó de menor probabilidade e o bit 0 (ou 1) para os que partem do outro nó. Por exemplo, ao ramo que vai do nó a para o nó c atribuamosRlhe o bit (. %' Determinar as palavras de código percorrendo a árvore da raiz para a copa. Por exemplo, ao símbolo x* corresponde a palavra de código binBria ((C. A entropia da fonte vale H(') _ 2,21 bitsJsímbolo e N = 2,26 . Se tomássemos palavras de código de igual comprimento necessitaríamos de 3 binitsJsímbolo. Assim 2,21 bastou tomar 2,26 binitsJsímbolo " Eficiência = _ 97,3X. 2,26 !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" ; K árvore do exemplo de código de =uffman binário x1 Probabilidade 0,50 x8 0,15 x7 Arvore ) ) ) 0,12 ! x5 0,10 Palavras de código ) e 0,28 ! d ) f ! 1,00 !)) !!) 0,50 0,22 !!! ! x4 0,04 ) ! x6 0,04 x3 0,03 x2 0,02 !)!)) b ) 0,08 ) ! c ! 0,13 !)!)! a !)!!) 0,05 !)!!! Repare-se que no código de ;uffman a codificação se faz em direcção à raiz da árvore, ao contrário do código de Shannon-:ano j mas a formação das palavras de código faz-se no sentido contrário. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <= Código de =uffman não binário Se o código não for binário (D k 2) é preciso proceder a um agrupamento inicial de mensagens de acordo com o seguinte procedimento1: Sendo M o tamanho do alfabeto da fonte e D o tamanho do alfabeto do código, agrupam-se primeiro as 2 + ( M − 2) mod( D − 1) mensagens menos prováveis. ( ( M − 2) mod( D − 1) é o resto da divisão de MR/ por DR() GLGM1NOH ! O P, " O R Probabilidade a1 Palavras de código Arvore 0,4 ) ) a2 0,3 a3 0,2 a4 0,05 a5 0,03 a6 0,02 ! ! " ) 1,0 ! "! " ) ! ") 0,3 "") 0,05 ""! Agrupamento prévio das 2 ^ 4 mod 2 _ 2 mensagens menos prováveis O agrupamento prévio diminui o valor de N pois assim há menos palavras compridas (duas de 3 dígitos ternários em vez de três (D_3)). 1 A justificação pode encontrar-se em R. G. Gallager, Information Theory and Reliable Communication (miley, 1968), Sec. 3.4. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" << Klgo mais sobre o código de =uffman Sedução da variUncia ! Se ao formar um novo conjunto de probabilidades decrescentes houver probabilidades iguais as que resultam de agrupamentos devem ser colocadas o mais alto possível. Desse modo reduz-se a variância V dos comprimentos ni das palavras de código. No entanto o comprimento médio N mantém-se. M Uariância _ V = E $ ni2 % − N 2 , com E $ ni2 % = # Pi ni2 & ' & ' i =1 A variância mínima tem vantagens: ! o ritmo de produção de bits é mais uniforme (o que é conveniente para o preenchimento de RbuffersS)p ! há uma maior imunidade (resistência) a erros do canal, na descodificação. Kumento da eficiência da codificação não binária com agrupamento prévio ! O agrupamento prévio de símbolos na codificação de ;uffman não-binária aumenta a sua eficiência pois baixa o comprimento médio N , dado que assim as palavras mais compridas são em menor número. Kplicações ! O código de ;uffman é usado em equipamento comercial de compressão de dados para reduzir o número de bits transmitidos permitindo, portanto, reduzir o tempo de transmissão. Um exemplo concreto é o equipamento de fax. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <4 Codificação aritmética ! Dizemos que um codificador é óptimo quando permite comprimir os dados gerados por uma determinada fonte com o número mínimo possível de bits. ! Apesar de os códigos de ;uffman serem muito eficientes na maioria das aplicações, só são óptimos num reduzido número de casos (quando a probabilidade de ocorrência de cada símbolo for uma potência inteira de 1J2). ! A codificação aritmética surgiu em 1976 com Rissanen. Esta técnica de codificação permite gerar códigos óptimos se as diversas probabilidades de ocorrência forem conhecidas rigorosamente. ! r necessária uma correcta modelização da fonte (como já acontecia na codificação de ;uffman). ! O código gerado por um codificador aritmético representa um número real: o codificador faz corresponder a uma qualquer sequência de símbolos (cada um com a sua probabilidade) um número real superior ou igual a 0 e inferior a 1. ! O intervalo de 0 a 1 é inicialmente dividido em tantos intervalos quantos os símbolos diferentes produzidos pela fonte, de tamanhos proporcionais às probabilidades de ocorrência respectivas. ! Consoante o símbolo que for sendo gerado assim o respectivo intervalo vai sendo subdividido proporcionalmente. ! O resultado final será um número real incluído no intervalo final (fechado à esquerda e aberto à direita). O número escolhido deverá ser um de entre os que podem ser representados pelo menor número de bits (se a codificação for binária). ! r necessário acrescentar um símbolo especial ao conjunto de símbolos da fonte para assinalar o fim da sequência. O melhor é vermos um exemplo… !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <5 Codificação aritméticaH introdução fma fonte produz os s*mbolos A e g com as probabilidades hOi e hOeO respectivamenteR W Ao s*mbolo A vamos associar o intervalo semifec6ado de h a hOi CexclusivéE e a g vamos associar o intervalo semifec6ado de hOi a `: A h g ` hOi W 5e cada um dos intervalos for dividido noutros dois com a mesma proporção Cihj e ehjE obtemos Puatro intervalos mais pePuenosO [0p0,36[ O [0,36p 0,6[ O [0,6p0,84[ e [0,84p1[ : AA Ag gA gg ` h hOixhOiLhOki hOi hOiNhOixhOeLhOFe W Trosseguindo a subdivisão obter*amos oito intervalos ainda mais pePuenos: h AAA AAg hOc`ih AgA hOki Agg gAA hObhe hOi gAg hODee ggA hOFe ggg ` hOaki W l mensagem AAA corresponde o intervalo de h a hOc`i Ccom largura igual a p( A)3 = 0,216 EO a gAg corresponde o intervalo de hODee até hOFe Ccom largura 0, 84 − 0,744 = p(B)p(A)p(B) = 0,096 EO e por a* adianteR 4 Tara codificar a mensagem AAA sJ temos Pue escol6er um número dentro do intervalo correspondenteO e de preferUncia um Pue seQa representado pelo menor número de bits: h AAg AAA hOc`ih AgA hOki Agg hObhe gAA hOi gAg hODee ggA hOFe ggg ` hOaki `nF cnF enF an`i bnF inF DnF `bn`i hOhh` hOh`h hO`hh hO`hh` hO`h` hO``h hO``` hO```` hh` h`h `hh `hh` `h` ``h ``` ```` !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <6 Codificação aritmética X exemplo Y <CaE L hOe <C=E L hOkb <C'E L hOcb 5ePuUncia a codificar: a c b a a b h a hOe b hODb c ` XaY hO`i h hOk hOe XcY hOk hOke hOkDb hOe XbY hOkbe hOkiicb hOkDb hOke XaY hOkebi hOkbhb hOke hOkbe XaY hOke hOkecce hOkeec hOkebi XbY hOkeec hOkecce o cJdigo deve ser um número real inclu*do no intervalo phOkecceq hOkeecpR !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <7 Codificação aritmética X exemplo Z Carácter 1robabilidade [ama de valores Espaço A B C E ; > R U 0,1 0,1 0,1 0,1 0,1 0,1 0,2 0,1 0,1 t0,0 p 0,1t t0,1 p 0,2t t0,2 p 0,3t t0,3 p 0,4t t0,4 p 0,5t t0,5 p 0,6t t0,6 p 0,8t t0,8 p 0,9t t0,9 p 1,0t <odificação de XgA_<A rE?9AY: Carácter \alor inferior \alor superior Nargura do intervalo 0,0 1,0 1,0 B 0,2 0,3 10-1 A 0,21 0,22 10-2 R 0,218 219 10-3 C 0,2183 0,2184 10-4 A 0,21831 0,21832 10-5 Espaço 0,21831 0,218311 10-6 U 0,2183109 0,218311 10-7 E 0,21831094 0,21831095 10-8 > 0,218310946 0,218310948 2x10-9 ; 0,218310947 0,2183109472 2x10-10 A 0,21831094702 0,21831094704 2x10-11 RBARCA UE>;AS _ 0,21831094702 (por exemplo). !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <8 1rocedimento de descodificação 1) Subtrair o valor inferior do intervalo da letrap 2) Dividir pela largura desse intervalop 3) O resultado indica a nova letrap 4) Repetir Exemplo abaixo: 0, 21831094702 " B → 0, 21831094702 − 0,2 = 0,1831094702 " A 0,1 Sescodificação de hOc`Fk`haeDhc: ]^mero codificado Carácter \alor inferior \alor superior Nargura do intervalo 0,21831094702 B 0,2 0,3 0,1 0,1831094702 A 0,1 0,2 0,1 0,831094702 R 0,8 0,9 0,1 0,31094702 C 0,3 0,4 0,1 0,1094702 A 0,1 0,2 0,1 0,094702 Espaço 0,0 0,1 0,1 0,94702 U 0,9 1,0 0,1 0,4702 E 0,4 0,5 0,1 0,702 > 0,6 0,8 0,2 0,510 ; 0,5 0,6 0,1 0,10 A 0,1 0,2 0,1 0,0 0,21831094702 _ RBARCA UE>;AS !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <9 Codificação aritmética X exemplo P "odificação CihjE sh L h hOi hOa CkhjE ak CihjE hOa hOai C`hjE CkhjE a` hOaki hOa hOac`i hOakce hOaki ac hOa hOacFh hOac`i hOakce a` ac hOac`i ` hOai a` hOa ` hOacDek hOacbeF hOacFh 4escodificação Ai L hOacDekh h h Ab h Ae h h h hOi hOa ` hOi hOa ` hOi hOa ` hOa ` hOi hOa ` hOi hOa ` hOi Ac Ak A` !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" >&?(& (# ("2@#(%+%@&(#$ ak a` a` ac a` ac <: _nconvenientes dos códigos estatísticos ! r preciso conhecer a estatística da fonte. Para texto vulgar as frequências de ocorrência conhecidas bastariamp para texto mais especializado (reservas de avião, cotações da Bolsa, etc.) essas estatísticas não permitiriam uma codificação muito eficiente. Usando técnicas adaptativas consegue-se uma compressão de cerca de 43X em inglês vulgar* com código de ;uffman. ! Em mensagens de texto a codificação não tem em conta a dependência entre letras (por exemplo, entre q e u) pois apenas são codificadas letras individuais. ! O facto das palavras de código terem comprimento variável põe problemas na transmissão pois a fonte está a gerar símbolos a uma taxa constante e o codificador produz símbolos a uma taxa variável. O emissor terá, pois, de possuir um buffer para obviar a este problema. O código de ;uffman é uma abordagem de codificação estatística. Uma alternativa que remedeia algumas das suas deficiências é a abordagem com dicionBrios, de que os algoritmos de ]empelR^iv (>-?) são exemplos. Nesses casos constrói-se gradualmente um dicionário, ou livro de código, isto é, usa-se um algoritmo adaptativo. * R. Gitlin, J. ;ayes e S. meinstein, "Data Communications Principles", Plenum Press, 1992. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" <; Codificação Nabb Usa-se uma janela de observação de comprimento fixo que desliza ao longo da mensagem a comprimir. r composta por duas partes: ! corpo (da janela) Contém vários milhares de caracteres (8192, por exemplo) ! /look1a2ead buffer6 Bastante mais pequeno (10 a 20 caracteres, ou até mais) Xo Pue acabou de acontecerY Xo Pue est2 a acontecerY Z-8 caracteres 8 Cor*o da Dane-a />oo?@a1ead =Affer4 danela deslizante Passos a dar na codificação< Y. compara-se o conteúdo do corpo da janela com o conteúdo do buffer e verifica-se se existe algum padrão ou sequência de símbolos igual. Esse padrão é substituído na saída do codificador por um apontador constituído por um trio de elementos < i, >, a > que na maior parte dos casos ocupa menos espaço que o padrão repetido: i : disttncia Cou offse2E do in*cio do XbufferY ao in*cio do padrão igualq especifica uma de N − F posiçues na Qanela e pode ser hR D : comprimento do padrãoq tem um valor entre h e F − 1 R a : primeiro car2cter Pue Q2 não faz parte do padrão repetidoR v o prJximo s*mbolo a codificarR Z. Desloca-se a janela para a frente de > + 1 caracteres. A inclusão do próprio carácter a no apontador é para que a codificação prossiga mesmo que não haja padrão repetido. Nesse caso o apontador é (0, 0, a) . !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 4= NabbH n^mero de bits do apontador O número de bits necessários para representar cada apontador é sempre o mesmo: ! O primeiro elemento (dist`ncia) requer $log2 (N − F )% bitsp ! o segundo elemento (comprimento) requer $log2 F % bitsp ! o terceiro (símbolo da fonte) requer $log2 M % bits, em que M é o tamanho do alfabeto da fonte. Para representar cada apontador são precisos, no total, $log2 (N − F )% + $log2 F% + $log2 M % bits ! Exemplo com uma janela deslizante com N = 24 e F = 8 comprimento L D R R R A 5 - I x o w < o ! E w - f S o O w - f S o O w - R R R disttncia L i (o símbolo y representa um espaço) Ao olhar para o lookRahead buffer verifica-se que o padrão R y TUDO,y S, de sete caracteres, já apareceu antes, concretamente seis caracteres atrás. Como a seguir vem o carácter T, R y TUDO,y S será codificado como (6, 7, T). Número de bits de cada apontador (vamos supor que M _ 50): $log2 (N − F )% + $log2 F% + $log2 M % = $log2 16 % + $log2 8 % + $log2 50 % = 13 !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 4< Descodificação Nabb A janela deslizante tem o mesmo tamanho N que foi usado na codificação mas, em vez de se procurar uma correspondência entre corpo de janela e lookRahead buffer copia-se da própria janela para a saída do descodificador o padrão indicado pelo apontador. Suponhamos que o apontador é (3, 5, EK quando, num determinado momento da codificação, a janela deslizante estiver preenchida como na figura: [ [ E g A < g < A ? ? ? [ CkO bO EE *+,+ -./0+-121034 + 35+673-+4 8#9 %9 E): A sequência …EBACBCA já está na saída do descodificador. Ora (3, 5, EK está a apontar para a terceira letra (a partir do fim) e corresponde a uma sequência de cinco letras seguida da letra E. Então na saída vão surgindo sucessivamente as seguintes letras: 1. …EBACBCA ; 2. …EBACBCA B* 3. …EBACBCA BC< Neste momento já temos três caracteres a partir do B inicial. Ainda faltam dois: 4. …EBACBCA BCA; 5. …EBACBCA BCAB* Só falta o carácter seguinte, E: 6. …EBACBCA !"#$%& (& )*+#$,&-.# BCABC= /0(%1#2 (" +#*3" 44 Nimitações de Nabb Y. Se no lookRahead buffer não houver nenhuma sequência que RcaseS com o conteúdo da janela o carácter a codificar é, mesmo assim, representado por um apontador constituído pelo trio de elementos habitual (distância, comprimento e carácter seguinte)p nesse caso a codificação de um carácter necessitará de mais bits que o próprio carácter não codificado. Exemplo: se a Qanela tiver ez b^tes Cde F bitsE com um =Affer de `i b^tes e se cada car2cter não codificado for representado por ` b^te serão necess2rios `c bits Cdis2En'iaE mais e bits C'om*rimen2oE mais F bits C'arF'2erEO isto éO ce bits para representar um car2cter Pue inicialmente sJ ocupava F bits: o codificador em vez de comprimir expandiu{{ Z. A janela só observa o que é recente (porque o seu tamanho é finito): >?77 é mais eficiente a comprimir padrões iguais próximos uns dos outros (isto é, que estejam na janela e no buffer) do que padrões iguais que estejam longe. P. O tamanho limitado do buffer restringe o tamanho dos padrões que se comparam, que não podem ser maiores que o buffer. Mas às vezes as equivalências são mais compridas pelo que se perde eficiência. Uma solução possível: aumentar os tamanhos da janela e do buffer, mas nesse caso serão precisos mais bits para representar a distância e o comprimento, além de que a codificação será mais lenta (mais comparações terão de ser feitas entre as sequências da janela e do buffer). ;á que estabelecer um compromisso entre, por um lado, os valores de N e : e, por outro, a eficiência e a velocidade de compressão. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 45 Codificação Nabd Existem imensas variantes do código >?* e já conhecemos a >?77. A variante que a seguir se apresenta, seguindo Gitlin et al., é devida aos próprios "inventores", Jacob ?iv e Abraham >empel (1978). Na sequência de saída da fonte vamos procurar uma sequência de símbolos que ainda não tenha sido encontrada antes. Esta sequência é codificada usando sequências que já foram encontradas antes e que, por isso, já foram guardadas num livro de código, ou dicionBrio. O algoritmo compreende-se melhor com um exemplo: Suponhamos que a sequência original (na fonte) era !!))!!)))!)!)!!))!))!!!!))! Percorrendo a sequência da esquerda para a direita e admitindo que no nosso livro de código já estão guardados os símbolos C e (, obteríamos a seguinte segmentação: !!J))J!!)J))!J)!J)!!J))!)J)!!!J!)J)! O livro de código, inicializado com os símbolos 0 e 1, vai conter os seguintes símbolos, com a numeração indicada: 0 1 11 00 110 001 01 011 0010 0111 10 1 2 3 4 5 6 7 8 9 10 11 A sequência a transmitir será a seguinte: "! !) #) $! !! >! &) ?! ") !!' Cada inteiro é representado por um bloco de dígitos binários cujo tamanho depende do tamanho do livro de código. Na prática são normalmente usados blocos de 12 bits (isto é, 4096 entradas no livro de código). Uma sequência nova termina sempre em 0 ou em 1. Consequentemente, apenas 1 bit é necessário para representar os fins de cada palavra de código, isto é, as palavras de código são representadas por 12^1_13 bits. No algoritmo >?78 palavras de código de comprimento fixo representam um número variável de símbolos de saída da fonte. Isto é o inverso do algoritmo de codificação de ;uffman e é muito adequado para transmissão síncrona. * Uer, por exemplo, T. Bell, J. Cleary e I. mitten, "Text Compression", Prentice-;all, 1990. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 46 Código Nabd Gxemplo Consideremos a seguinte passagem literária: ":oi ele que rapou avaramente a sopeira. E já espreitava a porta, esperando a portadora dos pitéus, a rija moça de peitos trementes, que enfim surgiu, mais esbraseada, abalando o sobrado—e pousou sobre a mesa uma travessa a transbordar de arroz com favas. }ue desconsolo~ Jacinto, em Paris, sempre abominara favas~…Tentou todavia uma garfada tímida—e de novo aqueles seus olhos, que o pessimismo enevoara, luziram, procurando os meus. Outra larga garfada, concentrada, com uma lentidão de frade que se regala. Depois um brado: —•ptimo~…Ah, destas favas, sim~ Oh que favas~ }ue delícia~" Suponhamos que o livro de código já contém todas as letras, maiúsculas e minúsculas, espaço e todos os sinais de pontuação. A segmentação do texto seria assim: ":oJi JelJe JquJe rJapJouJ aJvaJraJmeJntJe aJ sJopJeiJra.J EJ jJá JesJprJeitJavJa Ja pJorJtaJ, JespJerJanJdoJ a JpoJrtJadJoraJ dJosJ pJitJéuJs,J a rJijJa mJoçJa dJe pJeitoJs JtrJemJenJteJs, JqueJ eJnfJimJ suJrgJiuJ, mJaiJs eJsbJrasJeaJdaJ, aJbaJlaJndJo Jo sJobJradJo—Je poJusJou JsobJreJ a mJesaJ uJmaJ tJravJessJa aJ trJansJboJrdJarJ deJ arJroJz JcoJm JfaJvasJ. J}uJe dJescJonJsolJo~J JJacJinJtoJ, eJm PJariJs, sJempJre JabJomJinaJra JfavJasJ~…JTeJntoJu JtodJaviJa uJma JgaJrfJadaJ tíJmiJda—Je dJe nJovJo aJquelJes JseJus JolJhoJs, qJueJ oJ peJssJimiJsmJo eJneJvoJaraJ, lJuzJirJamJ, pJrocJurJandJo oJs mJeuJs.J OJutJra lJargJa gJarfJada,J cJoncJentJradaJ, cJom JumJa lJentiJdãJo dJe fJradeJ qJue Jse JregJalJa.J DJepJoiJs uJm bJradoJ: J—•JptJimoJ~…AJh,J desJtasJ fJavaJs, siJm~J OhJ quJe faJvas~J }Jue dJelíJciJa~J" Cada nova sequência será codificada em duas palavras que já existem no livro de código, a última das quais faz parte do livro inicial. Repare-se, por curiosidade, como é codificada a palavra favas, que aparece quatro vezes. Com o código >?78 consegue-se uma compressão de aproximadamente 55X em inglês vulgar (em português não se conhecem dados). Em texto mais estruturado — linguagens de programação, por exemplo — pode-se atingir maiores compressões. Como já se disse antes, com o código de ;uffman consegue-se chegar a 43X. !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 47 Codificação Nabd X um exemplo 5ensa&em a codificar6 Entrada |ndice A ` hA g c hg < k h< AA e `A AAg b eg Ag i `g << D k< AAgA F bA <<A a DA AAA `h eA g< `` c< 7a8da do codificador6 !"#$%& (& )*+#$,&-.# AAAABAB//AABA//AAAAB/ Talavra de cJdigo <A 6B <B 5/ 7A 9A 6A 4/ /0(%1#2 (" +#*3" 48 Compressão de dados Trogramas ou formatos de compressão Zome Ambiente <o!TA<- fnix 5} Algoritmo <oment2rio 9uffman adaptativo ?entoO patenteado <Tn! e !5-So5 9uffman est2ticoO ordem h In*cio anos Fhq compressão compar2vel a <o!TA<- A_< T< ?ADFncompress <omprime e arPuiva ?9arc T<n!ac ?ADD Xfree~areY A_d T<n!ac ?ADD !el6or Pue ?9arc <T- !ac ?A SE8?A-E ?ADD N 9uffman Tara substituir ?AGR !uito popularR Autor: T6il zatzR TzAITO zip SE8?A-E Autor: T6il zatz ?ADD Tara substituir 'om*ress Autores: dean-?oup •aill^ e !ar€ Adler bzip <odificação aritmética Autor: dulian 5e~ard bzipc 9uffman N transformada de gurro~s-G6eeler 5ucessor de bzip Autor: dulian 5e~ard C`aaiE gzip Gindo~sO !acO ?inuxO[ C<ontinuaE !"#$%& (& )*+#$,&-.# /0(%1#2 (" +#*3" 49 Compressão de dados Trogramas ou formatos de compressão C<ontRE Zome <ompan6ia Algoritmo <oment2rio !ZT-b !icrocom variante dintmica de 9uffman !odems recRbis <<I--nI-f ?AG !odemsq mel6or Pue !ZT-b •RDc` <<I--nI-f AST<! <ompressão de voz ?T< <ompressão de voz 5tuffIt GinO !acO ?inux ?A ftilit2rio de compressão GinAip GinO !acO ?inux zip ftilit2rio de compressão <ompuserve ?AG Tara imagens Xbit-mappedY dTE• I5on<<I-- S<-n9uffman Tara imagens fixas !TE• I5on<<I-- Adobe Acrobat Adobe •I8 !"#$%& (& )*+#$,&-.# Tara imagens mJveis ?AG /0(%1#2 (" +#*3" 8ic6eiros Rpdf 4: 1.#. "ontes e canais cont+nuos ! entropia diferencial ! teorema da capacidade Shannon-4artley) ! limite de Shannon ! plano da probabilidade de erro ! plano da eficiência espectral de canal (lei de !ontes contínuas ! Uma fonte de informação contínua produz sinais vari-veis no tempo, x(t). ! O conjunto de sinais possíveis é considerado como um con1unto de formas de onda geradas por um determinado processo aleatório (suposto ergódico). Suponhamos que o processo aleatório tem uma largura de banda finita. Então x(t) pode ser completamente caracterizado em termos de valores amostra periódicos. Em qualquer instante a colecção de valores amostra possíveis constitui uma vari-vel aleatória 6 descrita pela sua função densidade de probabilidade, p(x). No caso das fontes contínuas a quantidade média de informação por amostra de x(t) mede-se através da função entropia diferencial: ∞ h(6 ) = ! p( x)log 2 −∞ 1 dx p(x) (Entropia de fonte contínua) " #$%&'()* +),#&#$-)*. !"#$ *%)$/# ' 0#1 2*.'& 345)3' 0# %"&$ ,'& 13* ,1$67' +#$0)+*+# +# (&'8*8).)+*+# /*100)*$* (ver Anexo 2)9 1 max h( 6 ) = log 2 2 πeS 2 p6 ( 6 ) Teoria da Informação em que S = E?6@A (variância) /on0es e 2anais 2on03n4os 2 !ontes e canais contínuos A transferência de informação num canal contínuo toma a forma de transmissão de sinal: a fonte emite um sinal x(t) que, após corrupção por ruído de transmissão, aparece no destino como um outro sinal, y(t). A informação mútua média é definida como I(6 RD ) = ! ∞ ! p 6D (x, y)log 2 −∞ p 6 (xS y) dx dy p 6 ( x) I(6RD) mede a transferência de informação por amostra de y(t) no destino. Tal como no caso discreto também aqui se verifica que I(6 RD ) ≥ 0 (e I(6 RD ) = 0 se o ruído for tão elevado que y(t) não está relacionado com x(t). A informação mútua média está relacionada com a entropia diferencial através de I(6 RD ) = h(D ) − h(DS 6 ) = h(6 ) − h(6SD ) em que h?6A representa a entropia diferencial da fonte, h?DA representa a entropia diferencial do destino, h(6SD) é a equivocação e h(DS6) representa a entropia diferencial do "ruído", como se verá. h(6SD ) = ! ∞ ! −∞ h(DS 6 ) = ! ∞ ! −∞ 1 p 6D (x, y)log2 dx dy = ! p6 (xS y) 1 p 6D (x, y)log2 dx dy = ! pD (yS x) Teoria da Informação ∞ ! pD (y) p 6 (xS y)log 2 1 dx dy p 6 (xS y) p 6 (x )pD (ySx )log 2 1 dx dy pD (yS x) −∞ ∞ ! −∞ /on0es e 2anais 2on03n4os 3 Capacidade de canais contínuos Sabe-se, da teoria das probabilidades, que se D X aFYb, em que F e D são 1 " D −b# 1 ' = p F (G ). Assim, se o canal variáveis aleatórias, então pD (y) = pF % a $ a & a introduzir ruído gaussiano aditivo independente, tal que y(t) X x(t) Y n(t), então pD ( y S x) = pD ( x + n) = pN ( y − x) = pN (n) e portanto ∞ ∞ 1 1 h(D S 6 ) = ! ! p 6 ( x) pD ( y S x)log 2 dx dy = ! p N (n)log 2 dn = h( N ) p y x p n ( S ) ( ) D N −∞ −∞ Isto é, a entropia diferencial condicional de D, dado 6, não depende de p6(x) e é igual à entropia diferencial de N. Podemos, então escrever: I(6 RD ) = h(D ) − h( N) A transferência m-xima de informação por amostra de y(t) obtém-se maximizando I(6RD). Esta maximização é equivalente à maximização de h(D), logo D deve ser uma variável aleatória gaussiana. Como N também é gaussiana, 6 deve também ser gaussiana. Se o canal tiver uma largura de banda fixa B então a sua saída, y(t), é um sinal de banda limitada que pode ser completamente definido por amostras Dk, k X 1,2,…, obtidas à taxa de Nyquist, fs X 2B amostras_s. Definindo 2 [ Cs = max I(6 RD) = max I(6RD) : a gaussiana E(6 ) = S p 6 (x ) ] bits _ amostra a taxa m-xima de transferência de informação, em bits_s, é então C = 2 BCs bits_s Teoria da Informação (capacidade de um canal contínuo de banda limitada) /on0es e 2anais 2on03n4os 4 Capacidade do canal 1234 Consideremos um canal contínuo de banda limitada afectado de ruído gaussiano branco aditivo (canal AbGN). 5ropriedades7 — o sinal de entrada, x(t), tem banda limitada e uma potência média fixa, S = E?6@A. — a transmissão não sofre distorção na largura de banda B do canal (a menos de atenuação…) — o ruído aditivo que contamina a saída do canal tem função densidade de probabilidade gaussiana com média nula e potência média N = NoB — o sinal e o ruído são independentes: [ 2 ]= σ 2y = S + N y(t) = x(t) + n(t) ( E D ! A entropia diferencial condicional h(DS6) X h(N) pode calcular-se a partir de 2 pN(n), sendo σ n = N : p n ( n) = 1 2πσ n2 − n2 2 e 2σ n ∞ ( h(D S 6) = h(N) = ! −∞ log 2 ( pn (n)log 2 1 n2 = log 2 2 πN + log 2 e pn (n) 2N 1 1 1 dn = log 2 2π N + log 2 e = log 2 (2 πeN ) 2 2 pn (n) ! O valor máximo de h(D) é igual a 1 1 log 2 2πeσ y2 = log 2 2πe( S + N ) 2 2 (Continua) Teoria da Informação /on0es e 2anais 2on03n4os 5 Capacidade do canal 1234 (Contin.) Podemos então calcular a capacidade de um canal AWGN: 1 ! h(DS 6 ) = log 2 (2 πeN ) 2 ! max h(D ) = p 6 ( x) 1 log2 2 πe(S + N ) 2 Cs = max I( 6RD ) = max[h(D)] − h(DS 6 ) = p 6 ( x) ! = p6 (x ) 1 1 S# 1 " log2 2 πe(S + N ) − log 2 2 πeN = log 2 % 1+ ' bits _ amostra $ 2 2 N& 2 ! Capacidade do canal em bits_s: S# " C = B log 2 % 1 + ' $ N& Esta expressão traduz o Teorema da capacidade de canal ou lei de ShannonRHartley, que é um dos mais famosos e importantes resultados da Teoria da Informação: S# " Não é possível transmitir sem erros a um ritmo superior a C = B log 2 % 1 + ' bitsUs $ N& através de um canal com largura de banda B e relação sinalRruído SUN. Teoria da Informação /on0es e 2anais 2on03n4os 6 8mplicações do teorema da capacidade de canal ! Um sistema ideal com largura de banda infinita tem uma capacidade de canal finita: " S# S # " C = B log 2 %1 + ' = B log 2 %1 + '= N& N B $ 0 & $ B " S # = ln %1 + ' N0 B & ln 2 $ Se B → ∞, S N 0 B → 0 . Mas C∞ = lim C ≈ B →∞ . Portanto, B S 1 S S = = 1,44 ln 2 N 0 B ln 2 N 0 N0 ! Existe um valor limite de Eb_NW ?limite de ShannonA abaixo do qual não pode haver comunicação sem erros, qualquer que seja o ritmo de transmissão. Sendo T a duração de cada bit, Eb a sua energia e R X 1_T bits_s, então S Eb T Eb R = = N N0 B N0 B Mas R ! C Se B → ∞ ( ( ( " E R# S# " C = B log 2 %1 + ' = B log 2 %1 + b ' N& N0 B & $ $ " E R# R C ≤ = log 2 %1 + b ' B B N0 B & $ " E R # Eb R ln %1 + b ' N0 B & N0 B " E R# R ≤ log 2 %1 + b ' = $ ≈ ln 2 ln 2 B N B 0 $ & Portanto, Eb ≥ ln 2 = 0, 693 → −1, 59dB N0 Teoria da Informação /on0es e 2anais 2on03n4os ?limite de ShannonA 7 Capacidade de canais contínuos Capacidade do canal em função da largura de banda C (bits_s) 1,44 S_No S_No S_No B (4z) O limite de Shannon C_B (bits_s_4z) RXC 30 20 Região com R m C 10 Região com R n C 1 -10 0 10 20 30 40 Eb_N0 (dB) :;<=> 0,1 Teoria da Informação /on0es e 2anais 2on03n4os 8 Capacidade de canal 1234 com largura de banda finita Temos " E R# R C S# " ≤ = log 2 %1 + ' = log 2 %1 + b ' , donde se tira B B N& N0 B & $ $ Eb 2 R B − 1 ≥ N0 R B (R_B é a eficiência espectral) Consideremos agora a seguinte situação com codificação de canal: R bits_s 1UT X R_Rc oonte Codificador de canal Canal Rc X k_n B ≥ YU@T Para que não haja interferência intersimbólica é preciso que B ≥ 1_2T, ou seja, B≥ 1 R = 2T 2 Rc ou R ≤ 2 Rc B Se queremos aumentar a eficiência espectral teremos de aumentar a taxa do código. Eb 22 Rc − 1 ≥ 2 Rc N0 Assim: -.emp1os2 Rc = YU@ ( Eb ≥ 0 dB N0 Rc = YUZ ( Eb ≥ −0,55 dB N0 Rc = YU[ ( Eb ≥ −0,82 dB N0 q medida que a taxa de código diminui mais nos podemos aproximar do limite de Shannon (-1,59 dB). Teoria da Informação /on0es e 2anais 2on03n4os 9 Capacidade de um canal afectado de ruído gaussiano colorido ! #enchimento de água1 ramos tratar do caso mais geral de ruído colorido. H(f) x(t) ;(t) 6uído colorido n(t) • Admitamos que o sinal de entrada x(t ) tem uma potência média P fixa e que S 6 ( f ) é a sua densidade espectral de potência: ∞ P= !S 6 ( f )df −∞ • O ruído gaussiano estacionário colorido tem média nula e S N ( f ) é a sua densidade espectral de potência. • H ( f ) é a função de transferência do canal. ]ual é a capacidade deste canal^ E qual é a densidade espectral de potência do sinal de entrada, S 6 ( f ) , que maximiGa a informação m`tua média^ Os resultados, obtidos com o método dos multiplicadores de aagrange, são os seguintes, sendo K uma constante: SN ( f ) , )K − 2 S6 ( f ) = + H( f ) )0 * f ∈F outros ∞ " H( f ) 2 # 1 ' df C = ! log 2 % K % SN ( f ) ' 2 −∞ $ & Teoria da Informação /on0es e 2anais 2on03n4os 10 Capacidade de um canal afectado de ruído gaussiano colorido ! #enchimento de água1 (cont.) Para valores especificados de P, S N ( f ) e H ( f ) a constante K é a solução da equação seguinte: P= ! S 6 ( f )df = f ∈F # " % K − S N ( f ) 'df ! % H( f ) 2 ' f ∈F $ & O conjunto F = { f : f1 ≤ f ≤ f 2 } representa a gama de valores de frequência S (f) para os quais a constante K é superior a N 2 . H( f ) Estas considerações conduzem à chamada dinterpretação do enchimento de -guae: SB(f)/|H(f)|2 = = áreas sombreadas < SX(f) invertido -f2 -f1 f1 f2 f t como se estivéssemos a uencherv de água (ou melhor, de potência de x(t)) o 2 gráfico de S N ( f ) H ( f ) : onde houver umenosv ruído (nos vales) coloca-se mais potência de sinal de entrada, onde houver mais ruído coloca-se menos potência. Teoria da Informação /on0es e 2anais 2on03n4os 11 Capacidade de um canal afectado de ruído gaussiano colorido Exemplo )* Canal com ruído AW5N (o ruído é branco) SN ( f ) = N0 2 ,1 0 ≤ f c − B 2 ≤ f ≤ f c + B 2 H( f ) = + *0 outros (canal ideal) fc + B 2 Da expressão da potência, P = 2 ! (K − N 0 2)df , tiramos o valor de K: fc − B 2 K= P + N0B 2B A capacidade deste canal obtém-se imediatamente: 1 C = 2× 2 fc + B 2 ! fc −B 2 2 H( f ) 2K log 2 K df = B log 2 SN ( f ) N0 Substituindo o valor de K obtido atrás chegamos à expressão já conhecida do teorema de Shannon-4artley: 2 C = B log 2 Teoria da Informação P + N0B " P # 2B '' = B log 2 %%1 + N B N0 0 & $ /on0es e 2anais 2on03n4os 12 Capacidade de um canal afectado de ruído gaussiano colorido Exemplo ;* <S> com interferência NEXD (EnearFend crosstalkI) SX(t) H(f) Jinha KSJ SB(t) HBEXT(f) SX(t) • Normalmente H NE6T ( f ) = β f 3 2 , em que β é uma característica dos cabos telefónicos. 2 • S N ( f ) = H NE6T ( f ) S 6 ( f ) A única restrição a impor é que a densidade espectral de potência de x(t ) seja não-negativa. Substituindo valores chega-se à constante K, 2 " H NE6T ( f ) #' % K = 1+ S ( f ), 2 ' 6 % H ( f ) & $ e daí à capacidade do lacete de assinante (DSw) afectado de ucrosstalxv do tipo NEaT: 1 C= 2 2 " # H( f ) % 'df ! log 2 %1 + H 2' NE6T ( f ) & f ∈F $ (F é o conjunto das frequências positivas e negativas para as quais S 6 ( f ) > 0 ) Teoria da Informação /on0es e 2anais 2on03n4os 13 5lano da probabilidade de erro ! t o lugar geométrico dos pontos de funcionamento disponíveis para um determinado tipo de modulação ou codificação. ! Cada curva está associada à largura de banda mínima exigida. O funcionamento do sistema é caracterizado por um ponto no plano da probabilidade de erro, para um determinado tipo de modulação escolhido e para a razão Eb_No disponível. ?'3(&'3)00'09 ! Em funcionamento: 1 y Entre PB e Eb_No (com B fixo) ! Só na fase de projecto 2 y Entre PB e B 3 y Entre B e Eb_No (com Eb_No fixo) (com PB fixo) O compromisso 1 só envolve variação de potência. Os restantes envolvem mudanças nos tipos de modulação e codificação. Teoria da Informação /on0es e 2anais 2on03n4os 14 Capacidade de canal gaussiano e eficiência espectral de modulações Teoria da Informação /on0es e 2anais 2on03n4os 15 Anexo 1 Desigualdade de Kraft (ou de Kraft-McMillan) Teorema: Se os inteiros n1, n2, ..., nM satisfazem a desigualdade M ∑ D−n i ≤1 i =1 então existe um código sem prefixos com um tamanho de alfabeto D cujos comprimentos de palavras são esses inteiros. Inversamente: os comprimentos de qualquer código sem prefixos satisfazem a desigualdade. O teorema não diz que qualquer código cujos comprimentos satisfazem a desigualdade é um código sem prefixos. O que o teorema diz é que existe um certo código sem prefixos e que tem esses comprimentos. Arvore cheia (com D=2) 4ª ordem D4 nós 3ª ordem D3 nós 2ª ordem D-3 D-2 Nós de 1ª ordem D2 nós D nós D-1 • Existem Dn nós de ordem n • De cada nó de ordem i saem D ramos ligados a D nós de ordem i+1. • De cada um dos D nós de ordem 1 sai uma fracção D-1 dos nós de ordem i ≥ 1. • De cada um dos D2 nós de ordem 2 sai uma fracção D-2 dos nós de ordem i ≥ 2. Genericamente: De cada um dos Di nós de ordem i sai uma fracção D-i dos nós de ordem maior ou igual a i. Teoria da Informação Anexos 1 Desigualdade de Kraft Fracção D-n2 x3 x4 Sejam n1≤ n2 ≤ ... ≤ nM um conjunto de M x2 Fracção D-n1 inteiros que satisfazem a desigualdade de Kraft. x1 Suponhamos que a árvore ao lado tem ordem n igual ao maior inteiro nM. Nó de ordem n1 Demonstração do teorema: 1 — Tomemos um nó qualquer de ordem n1 (x1, por exemplo) como o primeiro nó terminal da árvore de código. Todos os nós de cada ordem ≥ n1 estão ainda disponíveis para nós terminais, excepto uma fracção D − n1 (nós que saem de x1) 2 — A seguir tomemos outro qualquer nó de ordem n2 (x2, por exemplo). Todos os nós de cada ordem ≥ n2 estão ainda disponíveis para nós terminais, excepto a fracção D − n1 + D − n2 (nós que saem de x1 e x2) 3 — Continuando dessa maneira, depois da atribuição do nó terminal de ordem k na árvore de código, todos os nós da árvore cheia, de cada ordem ≥ nk, estão ainda disponíveis excepto a fracção D − n1 +D − n2 +…+ D − nk k = ∑ D − ni i =1 k 4 — Por hipótese ∑ D−n i < 1 , para i < M ⇒ há sempre um nó disponível para servir como nó i =1 terminal ⇒ existe um código sem prefixos. Inversamente: A árvore de código de um código sem prefixos está contida numa árvore cheia ⇒ um nó terminal de ordem ni dá origem a uma fracção D − ni dos nós terminais da árvore cheia. Como os conjuntos dos nós terminais da árvore cheia que derivam dos nós terminais da árvore de código são disjuntos, conclui-se que essas fracções somadas são ≤ 1, c.q.d. Teoria da Informação Anexos 2 Anexo 2 Valor máximo da entropia diferencial Teorema ∞ O valor máximo da entropia diferencial h (Y) = − ∫ p(y)log 2 p(y) dy para todas as escolhas de −∞ funções densidade de probabilidade satisfazendo ∞ ∫y 2 p(y)dy = σ 2 (a) −∞ é unicamente atingido pela função densidade de probabilidade gaussiana 1 ϕ (y) = e tem o valor h(Y) = 2 πσ 2 e − y2 2σ 2 (b) 1 log 2 (2 πe σ 2 ). 2 Demonstração (de acordo com R. G. Gallager, Information Theory and Reliable Communication (Wiley, 1968)) Seja p(y) uma fdp arbitrária satisfazendo (a) e seja ϕ(y) a fdp gaussiana de (b). Então ∞ ∞ 2 1 y 2 p(y)log dy = p( y) log 2 πσ + log e 2 2 dy = ∫ 2 ∫ 2 ϕ (y) 2 σ −∞ −∞ = log 2 2 πσ 2 + σ2 1 log 2 e = log 2 (2 πeσ 2 ) 2 2σ 2 Portanto, 1 h(Y) − log 2 (2 πe σ 2 ) = 2 ∞ ∫ p(y)log −∞ ϕ ( y) 2 p(y) dy Como log 2 z ≤ ( z − 1)log 2 e , então ∞ ϕ (y) 1 h(Y) − log 2 (2 πe σ 2 ) ≤ log 2 e ∫ p(y) − 1 dy = 0 2 p( y) −∞ A igualdade obtém-se apenas sse Teoria da Informação ϕ (y) p( y) = 1 para todos os y, Anexos c.q.d. 3 Resumo do Capítulo 1 Neste capítulo foram estabelecidos três limites fundamentais em diferentes aspectos de um sistema de comunicações digitais através do teorema da codificação da fonte, do teorema da codificação de canal e do teorema da capacidade do canal, todos devidos a Claude Shannon. O teorema da codificação da fonte fornece-nos um padrão pelo qual podemos medir a informação proveniente de uma fonte discreta sem memória. Diz-nos o teorema que podemos tornar o número médio de elementos binários (binits) por símbolo da fonte tão pequeno como, mas não menor que, a entropia da fonte medida em bits. A entropia de uma fonte é uma função das probabilidades dos símbolos que a fonte produz. Visto a entropia ser uma medida de incerteza, é máxima quando a distribuição de probabilidades associadas gera a máxima incerteza, ou seja, quando os símbolos são equiprováveis. Os objectivos do teorema da codificação da fonte são perseguidos e aproximados se, antes da codificação, os símbolos produzidos pela fonte forem agrupados em blocos de N símbolos – teremos então uma extensão de ordem N – e se os códigos forem de comprimento variável. Destes só nos interessam códigos unicamente descodificáveis, em especial um seu subconjunto, o dos códigos sem prefixos, definidos através de árvores. Ambos obedecem à desigualdade de Kraft-McMillan, que relaciona entre si os comprimentos de cada palavra de código. Os códigos de Shannon-Fano e Huffman são dois exemplos de códigos sem prefixos cujo comprimento médio das palavras de código se aproxima da entropia da fonte. Uma outra abordagem foi feita através da codificação aritmética, embora também baseada em modelos probabilísticos da fonte, tal como os dois códigos precedentes; completamente diferente são as codificações de Lempel-Ziv (LZ77 e LZ78). Nesta última, por exemplo, vai-se construindo um dicionário à medida que a codificação se realiza. O teorema da codificação de canal é o resultado mais surpreendente e talvez o mais importante da Teoria da Informação. Por exemplo, para um canal binário simétrico (BSC), o teorema da codificação de canal diz-nos que para qualquer taxa de informação menor ou igual à capacidade do canal existem códigos tais que a probabilidade de erro média é tão pequena quanto quisermos. Um canal binário simétrico é a forma mais simples de um canal discreto sem memória; é simétrico se a probabilidade de se receber um 1 se se tiver enviado um 0 for igual à probabilidade de se receber um 0 se se tiver enviado um 1. Esta probabilidade, chamada probabilidade de transição, define univocamente a capacidade do canal. O terceiro teorema de Shannon, provavelmente o mais famoso, é o teorema da capacidade do canal, ou lei de Shannon-Hartley, e aplica-se a canais contínuos. Diz-nos o teorema que em qualquer canal de comunicação limitado em potência existe uma velocidade máxima de transmissão de informação sem erros, dependente da largura de banda do canal e da relação sinal-ruído. Esta velocidade, ou taxa, máxima chama-se capacidade do canal e mede-se em bits/s. Se o sistema funcionar a uma taxa superior à capacidade do canal está condenado a uma probabilidade de erro elevada, independentemente do receptor ou da técnica de transmissão usada. A codificação de canal (ou codificação com controlo de erros), referida no teorema da codificação de canal, vai ser objecto do nosso estudo em seguida. Teoria da Informação Resumo 2