Вы находитесь на странице: 1из 56

FAAP - FACULDADE DE ENGENHARIA

Parte 1 - Processamento Digital de Sinais


1. Introduo ao Processamento Digital de Sinais

1.1Breve Histrico. Por que utilizar processamento digital de sinais?

1.2Alguns Exemplos
Modems operando em linhas telefnicas - filtragem at 1960 e depois de 1960. Filtragem digital adaptativa Filtragem do Sinal de ECG e outras aplicaes biomdicas Compensao de Canais de Comunicao sem fio. Como funciona na Telefonia Celular, entre assinantes e ERBs Tratamento de Imagens e de Sinais emitidos por Sondas Espaciais - Filtragem Autodidata ou Cega Aplicaes para levantamentos geolgicos

1.3 Caractersticas desejveis na abordagem "Digital" de Sistemas

1.4 Um Exemplo de Sistema Analgico e o Discreto e Digital equivalente: um Circuito RC

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 1

FAAP - FACULDADE DE ENGENHARIA - Sistema Analgico - Discretizao das Equaes do Sistema - Duas abordagens de Implementao: utilizando somente componentes de hardware (somadores, subtratores, multiplicadores, divisores e elementos de atraso) ou hardware e software

2. Caracterizao de Sinais
Em aplicaes em PDS uma sequncia discreta { x [ n ]} no tempo gerada pela amostragem peridica de um sinal contnuo no tempo x( t ) , em intervalos de tempo uniformes: x [ n ] = x( t ) t = nT n = ....,2 ,1,0 ,1,2 ,... (2.1)

Frequncia de amostragem componente limite do sinal x( t ) .

f = 1 / T , respeitando Nyquist

f 2 f x , frequncia

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 2

FAAP - FACULDADE DE ENGENHARIA

2.1Tipos de Sequncia

2.1.1 Quanto a durao


Sequncia Finita N 1 n N 2 em que N 1> e N 2 < N = N 2 N 1 + 1 , durao da sequncia Sequncia Infinita N 1 n N 2 em que N 1 e, ou N 2 Sequncia limitada a direita N 1 n N 2 em que N 1 e N 2 < Sequncia limitada a esquerda N 1 n N 2 em que N 1> e N 2 (2.5) (2.4) (2.3) (2.2)

2.1.2 Quanto a Simetria


Sequncia Par x [ n ] = x* [ n ] , sendo que * denota o conjugado de . Ex.: x [ n ] = cos( n / 100 ) Sequncia Impar x [ n ] = x* [ n ] Ex.: x [ n ] = sen( n / 100 ) (2.7) (2.6)

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 3

FAAP - FACULDADE DE ENGENHARIA Exerccio x[ n ] = n2 x[ n ] = n3

2.1.3 Quanto a Peridiocidade


Uma sequncia dita peridica quando x [ n ] = x [ n + KN ] , em N o perodo (inteiro positivo) e K qualquer inteiro. (2.8)

Exerccio x [ n ] = cos( n / 10 ) x[ n ] = n 2 Exerccio/Laboratrio - Apresentao da Ferramenta/Software de Simulao a ser usado no Curso de PDS e suas funcionalidades - Gerao de grficos contnuos e amostrados a partir de sequncias estabelecidas Se peridica, qual o perodo?

Se peridica, qual o perodo?

2.1.4 Outros Tipos de Classificao


Uma sequncia dita limitada quando x[ n ] x < Uma sequncia dita absolutamente somvel quando (2.9)

n =

x[ n ] <

(2.10)

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 4

FAAP - FACULDADE DE ENGENHARIA Uma sequncia dita quadraticamente somvel quando

n =

x[ n ] <

(2.11)

A energia de uma sequncia discreta definida como

= x[ n ]
n =

(2.12)

Exerccio x [ n ] = 1 /( 2 )n Exerccio/Laboratrio Verificao da construo de arquivos de Som no padro .WAV em computadores. Ferramentas para manipulao de arquivos de Som Reviso do teorema de Nyquist e aplicao em audio Verificao dos efeitos de alterao da frequncia de amostragem e deslocamento em frequncia das amostras Sistema de Superposio de Amostras Construo de um Sistema para transformar uma amostra de Som Estreo em Amostra de Som Mono. para n 0 (0, para os demais casos)

2.1.5 Normalizao da Potncia de Sinais


Considere duas sequncias a [ n ] e b [ n ] , de comprimento finito M e quadraticamente somveis no intervalo em que esto definidas. Desta forma pode-se definir como Potncia Mdia, , das amostras ou energia Mdia por amostra:

a = a / M = a [ n ] / M
n =

(2.13)

b = b / M = b[ n ] / M
n =

(2.14)

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 5

FAAP - FACULDADE DE ENGENHARIA Definem-se como as sequncias de potncia normalizadas das sequncias a [ n ] e b [ n ] respectivamente, a' [ n ] = a [ n ] / Pa e b [ n ] = b[ n ] / Pb
'

(2.15) (2.16)

Observe que as duas novas sequncias assim definidas possuem Energia,

a/ = a [ n]
' n =

= a[ n ]
n =

/ Pa = a / Pa

(2.17)

b/ = b [ n]
' n =

= b[ n ]
n =

/ Pb = b / Pb ,

(2.18)

e potncia mdia por amostra, Pa / = a / / M = a /( MPa ) = Pa / Pa = 1 e Pb / = b / / M = b /( MPb ) = Pb / Pb = 1 (2.20) (2.19)

Desta forma, as novas sequ6encias assim definidas possuem potncia mdia por amostra unitria. Uma maneira de criar uma sequncia b" [ n ] de mesma potncia mdia que a sequncia a [ n ] ento definir a mesma como, b" [ n ] = b [ n ] Pa (2.21)

Pb

Este ultimo processo utilizado para a construo de sistemas de equalizao ou normalizao de potncia e ainda sistemas de controle automtico de ganho (GAC) digitais, definindo um tamanho de bloco representativo dos sinais (M).

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 6

FAAP - FACULDADE DE ENGENHARIA

2.2Algumas Sequncias Bsicas


Impulso Unitrio 1, n = 0 [n] = 0 , n 0 Degrau Unitrio 1, n 0 [ n ] = 0 , n < 0 Exerccio (2.23) (2.22)

[ n ] = [ k ]
k =

[ n ] = [ n ] [ n 1]

Exerccio Esboar o grfico da sequncia x [ n ] = [ n ] + [ n 2 ] + [ n 4 ] 3 [ n 6 ] Representar como Soma de Impulsos - vide prximo conceito! Qual a Energia da Sequncia? Qual o comprimento, se limitada? Ela absolutamente e quadraticamente somvel?

Representao de uma Sequncia Arbitrria x [ n ] = [ n + 2 ] + 2 [ n ] 3 [ n 1 ]

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 7

FAAP - FACULDADE DE ENGENHARIA

Exerccio Considerando as sequncias a[ n ] = [ n ] + [ n 2 ] + 2 [ n 4 ] 4 [ n 6 ] e b[ n ] = [ n ] + 2 [ n 1 ] + 2 [ n 3 ] 5 [ n 6 ] Representar como Soma de Impulsos Qual a Energia das Sequncias? Qual o comprimento, se limitadas? Qual a Potncia Mdia/ Encontre as sequncias normalizadas (em potncia mdia) respectivamente. Calcule a Energia e Potncia Mdia das sequncias normalizadas.

Exerccio/Laboratrio Construo e testes de um sistema Equalizador de Potncia de Som, baseado em arquivos .WAV Construo e testes de um Sistema de GAC Verificao do funcionamento do sistema de GAC, quando o sinal a ser recuperado est adicionado de rudo branco gaussino ou rudo rosa, de potncia constante.

3. Sistemas de Tempo Discreto

Mdia Mvel y[ n ] = x[ n k ] M
k =0 M 1

(3.1)

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 8

FAAP - FACULDADE DE ENGENHARIA Exerccio Dada a sequncia x [ n ] = [ n ] + [ n 2 ] + [ n 4 ] 3 [ n 6 ] Esboar o grfico da mdia mvel y [ n ] = x [ n k ] 3 Representar como Soma de Impulsos Qual a Energia da Sequncia? Qual o comprimento, se limitada? Ela absolutamente e quadraticamente somvel? Desenhar o Grfico x [ n ] x n e y [ n ] x n Verificar o efeito Passa baixa provocado pelo Filtro
k =0 2

Exerccio/Laboratrio Projetar com o apoio do Software de Simulao um sistema de Dolby Digital. Testar com amostras de som digitalizadas em arquivos .WAV e rudo rosa na faixa [0, 22 K] hz. Verificar a eficincia quando se aumenta e diminui a relao S/R, bem como o nmero de amostras da mdia mvel.

Acumulador y [ n ] = x[ k ]
k = n

(3.2)

3.1Classificao
Linearidade Considere as respostas y1 [ n ] resposta do sistema a sequncia de entrada x1 [ n ] e y 2 [ n ] resposta do sistema a sequncia de entrada x2 [ n ] . O sistema dito linear, se para uma entrada x [ n ] = x1 [ n ] + x2 [ n ] , em que e so constantes a resposta do mesmo ser y [ n ] = y1 [ n ] + y 2 [ n ]

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 9

FAAP - FACULDADE DE ENGENHARIA Exerccio Verifique se a mdia mvel do exerccio anterior repreenta um Sistema Linear Idem para y [ n ] = ( x [ n ])2 Idem para o sistema de ECO y [ n ] = x [ n ] + 0.1x [ n 2 ] Exerccio/Laboratrio Implemente um programa de simulao que seja capaz de introduzir o efeito de ECO em arquivos de som, com tempo de retardo e intensidade a especificar.

Invarincia no Tempo Considere as respostas y1 [ n ] resposta do sistema a sequncia de entrada x1 [ n ] e y [ n ] resposta do sistema a sequncia de entrada x [ n ] . O sistema dito invariante no tempo, se para uma entrada x [ n ] = x1 [ n n0 ] , a resposta do mesmo ser y [ n ] = y1 [ n n0 ] Exerccio Verifique a invari6ancia no tempo para o sistema y [ n ] = x [ n / L ], n = ...,2 L , L ,0 , L ,2 L ,... e y [ n ] = 0 para os demais valores de n.

Causalidade Um sistema dito causal se simplesmente as alteraes ou reflexos em sua sequncia sida no precedem nunca uma alterao em sua sequncia de entrada.

Estabilidade "BIBO" (bounded input, bounded output) Um sistema dito estvel (do tipo "BIBO") se | x [ n ] |< Bx para todos os valores de n implica em | y [ n ] |< B y , em que Bx e B y so constantes finitas.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 10

FAAP - FACULDADE DE ENGENHARIA

Passividade Um sistema dito passivo se,

y = y [ n ] x = x[ n ] <
n = n =

(3.3)

Resposta Impulsiva e Relacionamento Entrada-Sada A resposta impulsiva de um sistema resulta em uma sequncia h [ n ] . Para o caso de um sistema acumulador tem-se,

h[ n ] = ( l ) Para sistemas LTI (Linear Time Invariant) - lineares e invariantes no tempo, possvel escrever, y [ n ] = x [ k ] h[ n k ] = x [ n k ] h [ k ]
k = k = l =

(3.4)

A resposta impulsiva de um sistema resulta em uma sequncia h [ n ] . Para o caso de um sistema acumulador tem-se,

Exerccio Orientado em Sala de Aula

Sistemas LTI em cascasta e em Paralelo Condio de Estabailidade do Sistema LTI Condio de Causalidade Sistemas FIR e IIR

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 11

FAAP - FACULDADE DE ENGENHARIA

4. Estudo de Sinais e Sistemas Discretos no Domnio da Frequncia 4.1 Transformada Discreta de Fourier 4.1.1 Definio
A Transformada Discreta de Fourier, X ( e jw ) , de uma sequncia x [ n ] definida como, X ( e jw ) = x [ n ] e jwn
n =

(4.1)

Em geral X ( e jw ) uma funo complexa da varivel real w e pode ser escrita como, X ( e jw ) = X re ( e jw ) + jX im ( e jw ) , em que X re ( e jw ) e X im ( e jw ) a parte real e imaginria de X ( e jw ) respectivamente. bastante usual representar X ( e jw ) na forma polar, a partir do mdulo e do argumento da mesma, X ( e jw ) =| X ( e jw ) | e j ( w ) em que ( w ) ,

(4.2)

(4.3)

(4.4)

Exerccio Calcular a transformada da sequncia x [ n ] definida como, x [ n ] = ( 0 ,4 )n [ n ]

4.1.2 Definio da Transformada Inversa


x [ n ] = X ( e jw )e jwn dw 2

(4.5)

4.1.3 Condio de Convergncia | x [ n ] |<

(4.5)

n =

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 12

FAAP - FACULDADE DE ENGENHARIA

4.1.4 Transformaes de Funes Bsicas e Propriedades


Sequncia [n] [ n ] e jw0 n Transformada de Fourier 1 + ( w + 2k ) 1 e jw k =
k =

( w w0 + 2k )
1

n [ n ] , ( | |< 1 )

1 e jw Tabela 4.1 - Transformaes de Funes bsicas

Propriedade

Sequncia g[ n ] h[ n ]

Transformada G( e jw ) H ( e jw )

Linearidade Deslocamento no Tempo Deslocamento em Frequncia Diferenciao em Frequncia Convoluo Modulao Relao de Perseval

g [ n ] + h[ n ]
g [ n n0 ] e jw0 n g [ n ] n g[ n ] g [ n ] h[ n ] g [ n ] h[ n ]

G( e jw ) + H ( e jw )
e jwn0 G( e jw ) G( e j( w w0 ) ) dG( e jw ) / dw G( e jw )H ( e jw )

j j( w ) )d G( e )H ( e 2

n =

g [ n ] h* [ n ] =

= G( e jw )H * ( e jw )dw 2

Tabela 4.2 - Propriedades bsicas

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 13

FAAP - FACULDADE DE ENGENHARIA

4.2 Transformada Z 4.2.1 Definio


A Transformada Discreta de Fourier, X ( z ) , de uma sequncia x [ n ] definida como, X ( z ) = Z { x [ n ]} = x [ n ] z n
n =

(4.6)

Se considerarmos z = re jw na forma polar, X ( re jw ) = Z { x [ n ]} = x [ n ] r ne jwn = DTFT ( x [ n ] r n ) ,


n =

(4.7)

que pode ser interpretada como a transformada de Fourier da sequncia modificada x [ n ] r n . em que X re ( e jw ) e X im ( e jw ) a parte real e imaginria de X ( e jw ) respectivamente. Exerccio Calcular a transformada Z da sequncia x [ n ] definida como, x [ n ] = ( 0 ,4 )n [ n ]

4.2.2 Definio da Transformada Inversa


x [ n ] = X ( z )z n 1dz 2j
C

(4.8)

em que C' o contorno no sentido horrio definido por | z |= r . Usando o teorema dos resduos de Cauchy, x [ n ] = [ residuos de X ( z )z n1 dos polos dentro C ] Outra maneira de calcular a transformada inversa a expanso em fraes parciais, da mesma forma que foi estudado no 3.o ano em Circuitos Eltricos.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 14

FAAP - FACULDADE DE ENGENHARIA

4.2.3 Condio de Convergncia | x [ n ] r n |<

(4.9)

n =

4.2.4 Transformaes de Funes Bsicas e Propriedades


Transformada de Fourier 1 1 , | z |> 1 1 z 1 1 n [ n ] , ( | |< 1 ) , | z |>| | 1 z 1 Tabela 4.3 - Transformaes de Funes bsicas Sequncia [n] [ n ]

Propriedade

Linearidade Deslocamento no Tempo Multiplicao por uma sequncia exponencial Diferenciao em z Convoluo Modulao Relao de Perseval

Sequncia g[ n ] h[ n ] g [ n ] + h[ n ] g [ n n0 ]

Transformada G( z ) H( z ) G( z ) + H ( z ) z n0 G( z ) G( z / ) zdG( z ) / dz G( z )H ( z )
C 1 G( v )H ( z / v )v dv 2j

ng[ n ]
n g[ n ] g [ n ] h[ n ] g [ n ] h[ n ]

n =

g [ n ] h* [ n ] =

= G( v )H * ( 1 / v* )v 1dv 2j
C

Tabela 4.4 - Propriedades bsicas Exerccio Orientado em Sala de Aula Anlise de exemplos de Filtros digitais Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 15

FAAP - FACULDADE DE ENGENHARIA

5. Teoria da Informao 5.1 Introduo


A evoluo atual dos Sistemas Digitais exige a disponibilizao de enlaces de comunicao com Capacidade de transmisso cada vez maiores, capacidade esta usualmente medida em bits por segundo (bps), atravs de meios cada vez mais confiveis (com baixas taxas de erro de bit). Para isto, to importante como o desenvolvimento de tcnicas que viabilizem o melhor aproveitamento de meios de Comunicao existentes o estudo da forma eficiente de codificar digitalmente fontes de informao. Durante a Segunda Guerra mundial observado o desenvolvimento de uma srie de novas tcnicas e dispositivos de Telecomunicaes, como o radar por exemplo. Todavia, no haviam ferramentas que indicassem de forma clara como medir a capacidade de sistemas de comunicao e at que limite se pode otimizar um certo sistema do ponto de vista de quantidade informaes que e mesmo pode transmitir e receber. Este tema foi endereado pelo primeira vez por Claude Shannon e Warren Weaver em 1949 com o publicao de dois artigos condensados no livro "The Mathematical Theory of Communication", que deu origem a "Teoria da Informao". A Teoria da Informao estuda, como enfoque central, a maneira que mensagens produzidas por uma fonte de informao devem ser representadas para que as mesmas possam ser transmitidas de forma realizvel sobre um canal com suas inerentes limitaes fsicas. Por limitaes fsicas entenda como a figura de rudo do canal, sua realizabilidade, sua potncia de transmisso e largura de faixa caractersticas (vide Figura 5.1).

Fonte Emissora

Codificador da Fonte

Canal (Digital) Equivalente

Decodificador da Fonte Receptor

MENSAGENS OU SMBOLOS

BINITS (SMBOLOS BINRIOS)

BINITS

MENSAGENS OU SMBOLOS

Limitaes Fsicas do Canal: Realizabilidade Largura de Faixa Caracterstica Potncia de Transmisso Figura de Rudo Nota: dizemos Canal Equivalente - Canal com Cod/Decod de Canal acoplado com a misso de reduzir/eliminar os efeitos provocados pelo rudo na Comunicao

Figura 5.1 - Sistema de Comunicao e a Codificao da Fonte para Transmisso Digital A maneira atravs da qual codificamos mensagens emitidas por uma fonte influncia ento a realizabilidade e eficincia com que se envia informaes em um canal de Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 16

FAAP - FACULDADE DE ENGENHARIA comunicaes. A Teoria da Informao oferece o conjunto de ferramentas matemticas necessrio que permite melhor caracterizar este processo e o estudar. Na seqncia so apresentados e desenvolvidos os conceitos desta Teoria que so trabalhados para entender e medir os processos de Codificao Digital de Fontes de Informao.

5.2. Conceitos Preparatrios 5.2.1 Como Medir Informao de uma Mensagem


Considere uma fonte que emite um conjunto de mensagens possveis. Para que seja vivel maximizar a taxa de emisso de informaes por esta fonte necessrio inicialmente medir a quantidade de informao contida em cada das mensagens da fonte. Para tal, considere o exemplo do conjunto de mensagens a seguir, emitida por uma fonte relevante a um Curso de uma Escola: mensagem 1:"O Professor d aula" mensagem 2:"O Professor vir amanh" mensagem 3:"O Professor no vir amanh"

Observa-se, de forma intuitiva, que a primeira mensagem praticamente no possui ou transmite pouca quantidade de informao, visto que todos esperam em um Curso, que professores lecionem suas aulas. J a Segunda mensagem possui uma quantidade de informao associada maior que a primeira, tendo em vista que j se saber com antecipao que o professor ir lecionar amanh, fato que no to comum quanto ao aspecto de saber-se que professores lecionam, de forma que um estudante, ao tomar conhecimento desta mensagem, saber programar melhor o seu prximo dia. A Terceira mensagem j possui ou transmite uma quantidade de informao ainda maior que a Segunda, visto que comumente esperado que o professor venha as suas aulas e falte pouco. Observe que para esta fonte que emite estes trs tipos de mensagens de um Curso em uma Escola, a freqncia de ocorrncia da mensagem 1 (um) ou evento 1 (um) maior que a da mensagem 2 (dois), sendo que a freqncia de emisso da mensagem 3 (trs) deve ser ainda menor que a do evento 2 (dois). Desta maneira, pode-se observar que a quantidade de informao que uma mensagem possui inversamente proporcional a freqncia de ocorrncia desta, emitida por uma fonte de informao. Considerando ento duas mensagens, seja P(1) a freqncia ou probabilidade da primeira ocorrer e seja P(2) a probabilidade da segunda ocorrer. Seja I a quantidade de informao associada a uma certa mensagem. Ento podemos dizer que: I inversamente proporcional a P; P(1) > P(2) ! I(2) > I(1); P E [0,1] ! I >= 0; Se as duas mensagens so estatisticamente independentes, ento a quantidade de informao associada a ocorrncia ou emisso da mensagem 1 e da mensagem 2 I(12) ser: I(12)= I(1)+I(2). Observe que neste caso P(12)=P(1).P(2).

possvel demonstrar que a nica funo matemtica que satisfaz as condies acima simultaneamente a funo logaritmo. Ento, a quantidade de informao transmitida por uma mensagem ser: Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 17

FAAP - FACULDADE DE ENGENHARIA I=logb(1/P) (5.1)

Na Eq. (5.1) observamos b depende da escolha da unidade que desejamos medir a quantidade de informaes. Por ex.: para b=2 (*), a unidade ser bits, contrao usual de "binary digits"; para b=10, a unidade ser dgitos decimais. (*) Obs.: Considerando o caso mais trivial de fonte binria que emite mensagens de forma equiprovvel (P(1)=P(2)=0,5), I(1) = I(2) = log2(1/0,5) = 1 bit. Isto , a quantidade de informaes transmitida por uma mensagem de uma fonte binria equiprovvel de um bit. Embora seja necessrio caracterizar individualmente a quantidade de informaes associada a mensagem de uma fonte, este conceito no to relevante quando se pensa em caracterizar uma fonte, que normalmente emite um conjunto de mensagens ou smbolos. Para tanto, desenvolveu-se o Conceito de Entropia de Fontes de Informao que apresentado a seguir.

5.2.2 Entropia de Fontes de Comunicao


Considere uma fonte capaz de emitir um conjunto M smbolos ou mensagens distintos, {X1, X2, X3, .... Xm} e seja P(1), P(2), ... P(M) a freqncia de emisso associada a cada um dos smbolos, supondo inicialmente que a fonte tenha uma caracterstica estacionria. Se so tomadas N amostras de emisso de mensagens, observa-se que a quantidade total de informao transmitida pela fonte ser: Q.Total = N(1).I(1) + N(2).I(2) + ... + N(M).I(M) [bits] (5.2)

Na Eq. (5.2), N(i) igual ao nmero de ocorrncias ou emisses da mensagem "i " em N amostras. O quantidade mdia de informao por smbolo emitido (medido em [bits/simb.]) nesta amostra de N emisses obtida dividindo a Eq. (5.2) por N: Q.Mdio = N(1).I(1)/N + N(2).I(2)/N + ... + N(M).I(M)/N [bits/simb.] (5.3) Se na Eq. (5.3) o nmero de amostras grande, pela "Teoria dos Grandes Nmeros" observase que N(i)/N ! P(i), probabilidade de ocorrncia da emisso da mensagem "i". Neste caso passa-se a chamar a quantidade mdia de informaes medida de "Entropia da Fonte de Informao" ou simplesmente H(X). H(X) = P(1).I(1) + P(2).I(2) + ... + P(M).I(M) [bits/simb.] H(X) = P(i).I(i) [bits/simb.]
i =1 M

(5.4) (5.5)

Na Eq. (5.5), lembrando a relao (5.1) tem-se que,

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 18

FAAP - FACULDADE DE ENGENHARIA H(X) = P(i).Log 2 (1/P(i)) [bits/simb.]


i =1 M

(5.6)

O nome "Entropia da Fonte" foi dado em funo de uma srie de analogias, exploradas por diversos autores sobre o tema, entre esta funo e a funo de mesmo nome da Termodinmica. Caso de particular interesse para este estudo, que descreve na sequncia do texto a Codificao digital, a Entropia associada a uma fonte binria de comunicao. Para evitar confuso neste texto, cada um dos smbolos fsicos emitidos por uma fonte binria chamado de "binit" (ao invs de "bit", que a unidade de medida de informao). Para uma fonte binria, seja P(1)=p (probabilidade de emisso do binit "Zero") e P(2)= 1-p (probabilidade de emisso do binit "Um"), teremos ento a partir da Eq. (5.6), H.Bin = H(X) = p.Log2(1/p) + (1-p).Log2(1/(1-p)) [bits/binit] (5.7)

A Figura 5.2. a seguir traz o grfico de H.Bin versus p. Observe que quanto mais p se aproxima de 0 (zero) ou 1 (um), significando que a fonte binria emite quase que na totalidade dos eventos o binit "Um" ou o binit "Zero", a quantidade mdia de informao emitida H.Bin tende a zero. Este resultado esperado, visto que se temos certeza de que a fonte sempre emitir um certo binit, no h informao transmitida na emisso de smbolos. Da mesma forma, observa-se que quanto mais equiprovvel for a emisso do binit "Zero" e do binit "Um" (p=0,5), a Entropia tender a seu valor mximo (1 bit/binit). De outra maneira pode-se dizer que quando aumenta o grau de "baguna" de emisso de smbolos (passam a ser equiprovveis) a Entropia da Fonte atinge o seu mximo. Esta ltima acertiva serve para justificar o nome "Entropia" a H(X), se considerado que em um sistema termodinmico, quanto maior a Entropia, maior ser o "grau de baguna deste".

Figura 5.2 - Evoluo da Entropia de uma Fonte Binria Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 19

FAAP - FACULDADE DE ENGENHARIA possvel demonstrar, generalizando o estudo de fontes binrias, que a funo entropia, 0 H(X) Log 2 (M) A relao (5.8) vlida para uma fonte M-ria qualquer. (5.8)

5.3. Codificao de Fontes Discretas sem Memria


Neste item so apresentadas as relaes que regem a codificao digital de fontes de informao. O nome "fontes discretas" foi dado ao ttulo pelo fato de que so trabalhadas fontes capazes de emitir um nmero finito de smbolos. As fontes que so trabalhadas tambm so supostas "sem memria". Isto significa que a emisso de um prximo smbolo pela mesma no depende da emisso de smbolos que j ocorreram (independncia estatstica). As fontes so consideradas "sem memria" pelo fato de que para as que o efeito de memorizao muito relevante, normalmente a utilizao de preditores associados a codificadores de corrida geram uma melhor otimizao da taxa de transferncia de informaes, atravs da compresso de informaes por eliminao de redundncias na transmisso simblica, do que a codificao eficiente abordada neste material. A utilizao de codificadores eficientes ainda reduzem a performance dos preditores, se estes ltimos so usados em cascata aos primeiros, em sistemas que apresentam fontes com memria. As fontes de informao geradas ou associadas diretamente a seres humanos (como a transmisso de arquivos de textos codificados por exemplo) costumam apresentar um efeito de memorizao ou dependncia de emisso simblica acentuada. Todavia, como a construo de circuitos e algoritmos preditores bem mais custosa que a de circuitos e algoritmos codificadores eficientes, normalmente estes ltimos so utilizados em casos prticos de Eng. de Telecomunicaes ou de Eng. de Computao para tais fontes. A Figura 5.3 ilustra o esquema geral do codificador que estudado. A sada de uma fonte M-ria, que emite smbolos do alfabeto {X1, X2, X3, .... Xm}, acoplada a um codificador binrio, para que seus smbolos possam ser corretamente codificados e enviados ao canal/sistema digital de transmisso. A sada do canal de comunicao deve estar ligada ao decodificador binrio que ir reconstituir os smbolos M-rios para o Receptor.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 20

FAAP - FACULDADE DE ENGENHARIA

Fonte Discreta M-ria Codificador Binrio Canal (Digital) Decodificador Binrio Receptor

MENSAGENS {X1, X2, ..., XM} R = r.H(X) [bits/s]

BINITS (SMBOLOS BINRIOS: 0, 1) rb.H.bin <= rb [bits/s]

BINITS

MENSAGENS OU SMBOLOS

Canal - possui certa Capacidade de envio de Binits por intervalo de tempo [binits/s] Devemos maximizar o possibilidade de envio de informaes [bits/s] atravs do Canal com uma Codificao Eficiente Cod/Decod - no podem nem criar, nem destruir informaes R = r.H(x) = rb.H.bin <= rb [bits/s] Nmed ( = rb/r) >= H(X)

Figura 5.3 - Diagrama de Blocos da Codificao Digital de Fontes Discretas

Considerando que a fonte emita smbolos a uma taxa de r [simb./s], ento a taxa R de emisso de informaes ser, R = r. H(X) [bits/s] (5.9)

Considerando que o codificador binrio emita binits a uma taxa rb [binits/s], ento a taxa Rb de emisso de informaes pelo codificador ser, Rb = rb. H.Bin [bits/s] (5.10)

Como o codificador deve trabalhar sem criar ou destruir informaes, pode-se dizer que a quantidade de informaes que entram no codificar em um certo intervalo de tempo "T" tem que ser igual a quantidade de informaes que saem neste mesmo intervalo, r. H(X).T = rb.H.Bin.T [bits] (/T) r. H(X) = rb. H.Bin [bits/s] (5.11)

Da Figura 5.2 observamos que H.Bin sempre menor ou igual a 1 (um), o que permite rescrever a Eq. (5.11) como, r.H(X) = rb.H.Bin rb [bits/s] (5.12)

Dividindo a Eq. (5.12) por r, o observando que rb/r [binits/simb.] eqivale a quantidade mdia de binits codificados pelo codificador para cada smbolo emitido pela fonte, ou simplesmente Nmed, podemos escrever, H(X) Nmed (5.13)

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 21

FAAP - FACULDADE DE ENGENHARIA

A Eq. (5.13) diz que a entropia da fonte emissora do alfabeto simblico "X" sempre o limite inferior para o tamanho mdio em binits (Nmed) dos smbolos gerados pelo bloco codificador para cada smbolo emitido. Por outro lado, observe que, dado um canal digital que possui uma certa capacidade de transmisso medida em binits/s, o quanto menor for o Nmed do codificador, mais este otimizar a emisso de informao ou a emisso de smbolos da fonte atravs deste canal. Diz-se nestas condies que o codificador "eficiente". Dividindo a Eq. (5.13) por Nmed, podemos definir ento a eficincia de uma certa codificao, Ef.cod = H(X)/Nmed = R/rb 1 (5.14)

Observe na Eq. (5.14), que quanto mais Nmed ! H(X), maior ser a eficincia de codificao (Ef.cod ! 1) e mais R ! rb, maximizando a taxa de envio de informaes como explicado anteriormente. O Nmed pode ainda ser calculado atravs da quantidade de binits que o codificador utiliza para cada smbolo emitido pelo fonte (N(1) para X1, N(2) para X2, etc.). Ento, Nmed = N(1).P(1) + N(2).P(2) + ... + N(m).P(m) =

N(i).P(i) [binits/simb.] (5.15)


i =1

A busca de cdigos eficientes trabalhada pelo "Teorema da Codificao das Fontes de Shannon", que afirma que dado um certo sempre possvel encontrar um cdigo unicamente dicifrvel, isto , que no crie e nem destrua informaes geradas pela fonte, que satisfaa a relao, H(X) Nmed H(X) + (5.16)

Para que seja possvel adquirir algum sentimento sobre a Eq. (5.16), basta rescrever a mesma observando as Eq.s (5.15) e (5.6),

I(i).P(i)
i =1

N(i).P(i) I(i).P(i) +
i =1 i =1

(5.17)

Observe que se considerarmos =1, admitindo que possvel escolher para cada smbolo Xi um cdigo N(i) (com um nmero inteiro de binits) entre I(i) e I(i)+1 (observe que a quantidade de informao em bits de um certo smbolo no necessariamente um nmero inteiro) e tomando a somatria para os M smbolos, chegaremos a inequao (5.16). Simplificadamente eqivale a dizer que smbolos que ocorrem com freqncia elevada (ou I baixo) em uma fonte devem ser codificados com um nmero de binits menor (N menor) do que aqueles smbolos que ocorrem com uma freqncia mais baixa, se quisermos otimizar a capacidade de transmisso de informao do canal de comunicao. Este conceito foi utilizado por Samuel Morse para gerar a codificao que levou o seu nome (cdigo Morse) e foi obtida pelo mesmo atravs da contagem de ocorrncia (freqncia) de Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 22

FAAP - FACULDADE DE ENGENHARIA letras em uma folha escrita em ingls, escolhida aleatoriamente numa pilha de papel. Os exemplos de casos que so desenvolvidos na seqncia deste material ajudam a solidificar os conceitos apresentados nesta seo. Outro aspecto de igual importncia garantir que os cdigos construdos pelo codificador sejam unicamente decifrveis, para que a informao possa ser recuperada corretamente pelo decodificador. Um dos testes utilizados para tal a desigualdade de Kraft, que condio necessria a ser obedecida pelos codificadores para que exista a decifrabilidade nica.
M

K = 2 N (i ) 1
i =1

(5.18)

A Tabela 5.1 abaixo oferece um exemplo de teste da desigualdade de Kraft. Smbolo Cdigo 1 Cdigo 2 A 1 000 B 0 001 C 10 010 D 11 011 E 100 100 Kcdigo 1,625 0,625 Tabela 5.1 - Exemplo de aplicao de desigualdade de Kraft Neste exemplo observa-se que o cdigo 1, embora possua cdigos de tamanho menor do que o cdigo 2 para smbolos respectivos, no respeita a desigualdade de Kraft, no sendo unicamente dicifrvel portanto. Basta tambm observar que a codificao de um D, poder ser interpretada pelo decodificador como AA ou D, no existindo unicidade no processo de codificao e decodificao. A seguir so apresentados os processos construtivos dos Cdigos eficientes de ShannonFano e de Huffman, bastante usados na prtica.

5.4 Codificao eficiente de Shannon-Fano e de Huffman

5.4.1 Cdigos Fonte com comprimento varivel


A motivao para cdigos fontes de comprimento varivel baseia-se na intuio de que compresso de dados pode ser alcanada pelo mapeamento de letras de probabilidades maiores com seqncias de bits menores, mesmo que letras com menores probabilidades devam ser mapeadas com seqncias de bits mais longas. No h necessidade de um modelo probabilstico da fonte muito preciso para haver tanta motivao; por exemplo, o velho cdigo Morse da telegrafia foi elaborado com esta motivao, tendo-se apenas uma certa idia das freqncias das letras na Lngua Inglesa. Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 23

FAAP - FACULDADE DE ENGENHARIA Um cdigo fonte de comprimento varivel C mapeia cada letra fonte x de um alfabeto fonte X em uma string C(x), chamada de palavra cdigo, de comprimento l(x). Por exemplo, um cdigo para o alfabeto X = {a, b, c} pode ser dado por, C (a) = 0 C (b) = 10 C (c) = 11 Assume-se que as palavras cdigo de um cdigo fonte de comprimento varivel so transmitidas como uma seqncia continua de bits sem nenhuma demarcao de incio e fim de cada uma (i.e. sem vrgulas). O decodificador da fonte deve determinar onde esto os limites ou fronteiras; isto denominado "parsing" (do Ingls).

5.4.2 Unicidade de Decodificao


Para um cdigo fonte C de comprimento varivel sem rudo requer-se que C seja unicamente decifrvel, significando que a seqncia de letras da fonte de entrada pode sempre ser reconstruda sem ambigidade a partir da seqncia de bits codificada da fonte. Nota: sincronizao inicial assumida: o decodificador da fonte sabe qual o primeiro bit da seqncia codificada. Claramente, um cdigo fonte C unicamente decodificvel, se e somente, o mapa de codificao da fonte de 'um para um'. Exemplo: o cdigo C para o alfabeto X = {a, b, c} dado acima dito "prefix-free" (livre de prefixo) e assim unicamente decodificvel, como veremos a seguir. No entanto, o cdigo C' definido por, C' (a) = 0 C' (b) = 1 C' (c) = 01 no unicamente decifrvel. Por exemplo, se o decodificador fonte observa "01", ele no pode determinar se a fonte emitiu (a, b) ou (c). O problema observado aqui fundamental e est relacionado com os comprimento das palavras cdigos, 1 (um), 1 (um) e 2 (dois), e nenhum cdigo unicamente decodificvel pode ter este conjunto de palavras cdigo com estes comprimentos.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 24

FAAP - FACULDADE DE ENGENHARIA

5.4.3 Cdigos "prefix-free"


Verificar se um cdigo unicamente decodificvel pode ser bem complicado. No entanto, existe um boa classe de cdigos unicamente decodificveis chamados de cdigos "prefixfree", que possuem inmeras vantagens. muito simples checar se um cdigo "prefixfree" e assim unicamente decodificvel. Cdigos "prefix-free" tem a vantagem adicional que o decodificador da fonte pode ser implementado com delay mnimo. Pode ser demonstrado que se existe um cdigo unicamente decifrvel com um certo conjunto de comprimentos de palavras, ento existe tambm um cdigo "prefix-free" com o mesmo conjunto de comprimentos. Definio: Um cdigo "prefix-free" se nenhuma palavra cdigo for um prefixo de outra palavra cdigo. Por exemplo, o cdigo C "prefix-free", mas o C' no . Qualquer cdigo de comprimento fixo "prefix-free". examinado a seguir que todo cdigo "prefix-free" unicamente decodificvel. A prova construtiva, e mostra como o decodificador da fonte consegue unicamente determinar os limites da palavra cdigo. Dado um cdigo C "prefix-free", construda uma rvore de cdigo binrio correspondente, que cresce de uma raiz da esquerda para folhas na direita representando as palavras cdigo. Por exemplo, a rvore abaixo ilustra a rvore binria para o cdigo mostrado. A rvore binria estendida suficientemente para a representao das palavras cdigo.
b 1 0 1 0 a 1 0 c a!0 b ! 11 c ! 101

Figura 5.4: rvore de cdigos binrios para um cdigo "prefix-free".

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 25

FAAP - FACULDADE DE ENGENHARIA

A condio "livre de prefixo" garante que cada palavra cdigo corresponda a um ramo, porque um ramo intermedirio representa um "prefix" para qualquer ramo saindo dele. Note que a rvore da Figura 5.4 tem um ramo, correspondente string "100" que no representa uma palavra cdigo. A rvore nos mostra que a palavra cdigo para "c" pode ser diminuda para "10" sem destruir a propriedade de "prefix-free", como mostrado na Figura 5.5.
b 1 0 1 0 a c a!0 b ! 11 c ! 10

Figura 5.5: rvore de cdigos binrios para um cdigo "prefix-free" mais eficiente. A rvore do cdigo de "prefix-free" ser denominada "full", ou cheia, se todos os ramos correspondem a palavras de cdigo. Assim, a rvore da Figura 5.4 no cheia, mas a da Figura 5.5 . Como visto neste exemplo, uma rvore que no cheia pode sempre ser encurtada para uma rvore cheia mais eficiente.

bb b c a aa
Figura 5.6: rvore de cdigos binrios para duas palavras cdigo. Para ver intuitivamente porque a condio de "prefix-free" garante decifrabilidade nica, considere a rvore para a concatenao de duas palavras cdigo. Utilizando a rvore da Figura 5.5, obtm-se a esquematizada na Figura 5.6. A nova rvore foi formada simplesmente pelo transplante de uma cpia da rvore original para cada ramo desta original. Algum poderia imaginar que transplantes subsequentes para os ramos da Figura 5.6 para se obter uma rvore representando ainda mais palavras cdigo juntamente concatenadas. Est claro desta construo que cada seqncia de palavras cdigo encontrase em um n diferente na rvore e assim ser codificada em uma seqncia binria diferente, no importando quo longo o processo continue. Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 26

ba ab ac

bc cb cc ca

FAAP - FACULDADE DE ENGENHARIA Assim, todos os cdigos "prefix-free" so unicamente decifrveis.

5.4.4 Codificao de Shannon-Fano


A codificao de Shannon-Fano gera uma codificao eficiente na qual o comprimento das palavras aumenta conforme as probabilidades dos smbolos diminuem, mas no necessariamente em estrito acordo com a equao, log 1 1 N i < log + 1 Pi Pi (5.19)

O algoritmo prov uma estrutura de rvore de codificao para assegurar decifrabilidade nica. aplicado o algoritmo para a fonte com M = 8 e H(X) = 2,15, cujas estatsticas esto listadas na Tabela 5.2.
Passos da Codificao

xi Pi A 0,50 B 0,15 C 0,15 D 0,08 E 0,08 F 0,02 G 0,01 H 0,01 H(X) = 2,15

1 0 1 1 1 1 1 1 1

2 0 0 1 1 1 1 1

3 0 1 0 1 1 1 1

0 1 1 1

0 1 1

0 1

Codificao 0 100 101 110 1110 11110 111110 111111 N = 2,18

Tabela 5.2: Codificao de Shannon-Fano O algoritmo de Shannon-Fano envolve uma sucesso de passos de "dividir" e "conquistar". Para o primeiro passo, desenha-se uma linha que divide os smbolos em grupos de dois, tais que as probabilidades dentro dos grupos sejam as mais aproximadas possveis; ento designa-se o dgito "0" para cada smbolo do grupo acima da linha e o dgito "1" para cada smbolo do grupo abaixo da linha. Para todos os passos subseqentes, deve-se subdividir cada grupo em subgrupos e novamente designar dgitos seguindo a regra anterior. Sempre que um grupo tiver somente um smbolo, como acontece nos passos primeiro e terceiro na Tabela, no d para seguir adiante com subdivises e a codificao para aquele smbolo estar completa. Quando todos os grupos tiverem sido reduzidos a um smbolo, as codificaes sero dadas pelos dgitos designados lendo da esquerda para a direita. Um exame cuidadoso da Tabela 5.2 deve clarificar este algoritmo. A codificao de Shannon-Fano resultante neste caso tem N = 2,18 , ento a eficincia de 2,15/2,18 99%. Assim, se a taxa de smbolo r = 1000, ento rb = N r = 2180 binits/seg um pouco maior que R = rH(X) = 2150 bits/seg. Como comparao, um cdigo de comprimento fixo necessitaria de N = log 8 = 3 e rb = 3000 binits/seg. Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 27

FAAP - FACULDADE DE ENGENHARIA

5.4.5 Codificao de Huffman

interessante saber a codificao tima da fonte que minimiza L mdio (L o nmero de bits codificados) para uma dada fonte. A resposta a codificao de Huffman. Por convenincia todos os smbolos so listados verticalmente em ordem decrescente de probabilidade. Supe-se que os smbolos so as oito palavras Inglesas "the", "man", "to", "runs", "house", "likes", "horse", "sells", que ocorrem independentemente com probabilidades de terem sido escolhidas, ou de aparecer, como listado na Tabela 5.3.

Palavra / Mensagem The Man To Runs House Likes Horse Sells

Probabilidade 0,50 0,15 0,12 0,10 0,04 0,04 0,03 0,02

Tabela 5.3: Palavras escolhidas e suas Probabilidades

A Figura 5.7 mostra como se pode construir a codificao eficiente palavra por palavra. As palavras so listadas esquerda, e as probabilidades esto entre parnteses. Ao construir o cdigo, primeiro encontram-se as duas menores probabilidades, 0,02 (sells) e 0,03 (horse), e desenham-se linhas ao ponto marcado 0,05, a probabilidade de se ter ou "horse" ou "sells". Ento passa-se a desconsiderar as probabilidades individuais conectadas pelas linhas e procuram-se pelas duas menores probabilidades, que so 0,04 (like) e 0,04 (house). Desenham-se linhas para a direita ao ponto marcado com 0,08, que a soma de 0,04 e 0,04. As duas menores probabilidades restantes so agora 0,05 e 0,08, ento uma linha para a direita desenhada conectando a elas, para dar um ponto marcado 0,13. Procede-se assim at que as linhas formem caminhos de saindo de cada palavra at um ponto em comum direita, o ponto marcado 1,00. Agora cada trilha da parte de cima indo para a esquerda de um ponto rotulada de "1" e cada uma da parte de baixo, de "0". O cdigo para uma dada palavra ento a seqncia de dgitos encontrados caminhando para a esquerda do ponto em comum 1,00 at a palavra em questo. Os cdigos esto listados na Tabela 5.4.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 28

FAAP - FACULDADE DE ENGENHARIA

Palavra / Mensagem The Man To Runs House Likes Horse Sells

Probabilidade p 0,50 0,15 0,12 0,10 0,04 0,04 0,03 0,02

Cdigo 1 001 011 010 00011 00010 00001 00000 Tabela 5.4

No. de dgitos no Cdigo, N 1 3 3 3 5 5 5 5

Np 0,50 0,45 0,36 0,30 0,20 0,20 0,15 0,10 2,26

Na Tabela 5.4 mostrado no somente cada palavra e seu cdigo mas tambm a probabilidade de cada cdigo e o nmero de dgitos em cada cdigo. A probabilidade de uma palavra vezes o nmero de dgitos no cdigo d o no. mdio de dgitos por palavra em uma longa mensagem devido ao uso daquela palavra em particular. Se os produtos das probabilidades e os nmeros de dgitos para todas as palavras so adicionados, o nmero mdio de dgitos por palavra obtido, que resulta em 2,26. Isto um pouco maior que a entropia por palavra, que encontramos ser 2,21 bits por palavra, mas um nmero menor de dgitos do que os 3 dgitos por palavra que se teria utilizado meramente fosse designado um cdigo de 3 dgitos qualquer para cada palavra. No somente pode ser provado que esta codificao de Huffman a mais eficiente para codificar um conjunto de smbolos tendo diferentes probabilidades, tambm pode ser provado que ela requisita menos que um dgito binrio por smbolo que a entropia (no exemplo acima, a codificao pede por apenas 0,05 dgitos binrios extras por smbolo.)

5.5 Estudo de Casos 5.5.1 Codificaes possveis de uma Fonte de Informao


Para este primeiro estudo de Caso considera-se como fonte emissora um Computador Digital que emite para um Canal um alfabeto de 8 smbolos (codificados internamente em ASCII). Deseja-se saber, dada a freqncia caracterstica de emisso destes smbolos, qual as possibilidades de codificao das mensagens para melhor aproveitar a banda de 512 Kbps do Canal de Comunicaes. A Figura 5.7 a seguir mostra um resumo da situao e da anlise que feita neste caso. Uma primeira tentativa de transmisso de smbolos, j que estes so codificados e trabalhados internamente no Computador (fonte emissora) em ASCII, emitir para o canal digital os smbolos com esta codificao pura e simplesmente. Sob a Luz da Teoria da Informao esta situao pode parecer pouco eficaz, porm vlido alertar que freqente de ser encontrada em situaes prticas de implementaes de Sistemas de Telecomunicaes, em que em geral o "custo versus benefcio" de implementao

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 29

FAAP - FACULDADE DE ENGENHARIA de codificadores eficientes no justificvel. Esta situao bem pouco eficiente do ponto de vista de codificao, uma vez que a emisso simblica utiliza um alfabeto de somente 8 smbolos e os mesmos no possuem freqncias de ocorrncia iguais (gerando H(X)=2,18 bits/Simb). Este padro de codificao, com Nmed de 8 binits/simb, possui uma baixa eficincia (aprox. 27%, segundo a Eq. (5.14)) e no otimiza a velocidade de envio de informaes pelo canal, de aprox. 139 Kbits/s, calculada usando as Eq.s (5.9), (5.11) e (5.12). Uma segunda abordagem para a transmisso de smbolos, emitir para o canal digital os oito smbolos possveis com uma codificao binria simples, mais compacta que o ASCII (Nmed = 3 binits/simb.). Esta situao mais eficiente eficiente que o primeiro caso analisado do ponto de vista de codificao, com uma eficincia de aprox. 73%, melhorando a velocidade de envio de informaes pelo canal, para aprox. 372 Kbits/s, calculada usando as Eq.s (5.9), (5.11) e (5.12). J para as opes trs e quatro, utilizam-se tcnicas de codificao eficiente dos smbolos (Huffman e Shannon-Fano), que levam em considerao o aspecto de que smbolos que ocorrem muito freqentemente (como o A, e que transmite baixa quantidade de informao) devem ser codificados com um nmero baixo de Binits, se se quer aproximar as relaes descritas na Eq. (5.17). Observe que a eficincia destas codificaes de 98% (quase uma codificao tima, onde a relao H(X)/Nmed = 1), o que eleva bastante a taxa de emisso de informao ao canal (aprox. 504 Kbits/s), tornando o processo de comunicao bem mais eficiente. Pelo aspecto curioso de se estar trabalhando com um Computador, em que os smbolos so codificados tipicamente com ASCII, existe a sensao de que os mesmos so emitidos ao canal numa taxa (em binits ASCII/ s) muito maior (1853 Kbps) que a Capacidade do Canal (512 Kbps). Pode-se ainda calcular o que comercialmente se chama de "Compresso de Dados", relacionando as duas velocidades enxergadas (3,6:1). Vale alertar que, embora este termo seja muito usado comercialmente para softwares e hardwares de codificao eficiente de arquivos e dados respectivamente, ditos "Software ou Hardwares de Compresso", sob a Luz da Teoria da Informao, s estariam habilitados a serem chamados de "Compressores" aqueles dispositivos que se utilizam de algoritmos preditores capazes de reduzir a redundncia das informaes, devido ao efeito de memorizao de fontes.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 30

FAAP - FACULDADE DE ENGENHARIA

Codificao Digital de Fontes Discretas - Estudo de Caso


Fonte Emite 8 Smbolos / Mensagens distintas Velocidade do Canal - rb [Kbinits/s] 512,0

Smbolo

Frequncia

Quantidade de Informao [Bits]

Codificao ASCII

Codificao Binria Simples

Codificao Eficiente de Shannon-Fano

Codificao Eficiente de Huffman

A B C D E F G H

0,5 0,15 0,15 0,07 0,07 0,04 0,01 0,01

1,000 2,737 2,737 3,837 3,837 4,644 6,644 6,644

01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000

000 001 010 011 100 101 110 111

0 100 101 110 1110 11110 111110 111111

0 100 101 111 1100 11010 110110 110111

Anlise:
H(X) [bits/simb] Nmed [binits/simb] Eficincia Cdigo (%) Tx. Envio Simbolos - r [KSimb.s/s] Tx. Envio de Informao - R [Kbits/s] Vel. Equivalente "ASCII" [Kbinits/s] Taxa de "Compresso" do Canal vista pela Fonte 2,177 8,00 27,21 64,00 139,32 512,00 1,00 3,00 72,56 170,67 371,51 1365,33 2,67 2,21 98,50 231,67 504,32 1853,39 3,62 2,21 98,50 231,67 504,32 1853,39 3,62

Figura 5.7 - Resumo da Anlise de Codificaes Possveis de uma Fonte de Informao

5.5.2 Codificador Adaptativo Eficiente de Shannon-Fano


Neste caso, executa-se e se analisa a implementao em simulador (Matlab1) do algoritmo de Shannon-Fano no codificador de uma fonte discreta capaz de emitir 6 smbolos. A fonte suposta como sendo estacionria. Todavia, como ocorre em codificadores eficientes prticos, o sistema de codificao no conhece inicialmente a freqncia de emisso de smbolos pela fonte. No algoritmo listado na Figura 5.8, o codificador monta internamente uma tabela de freqncias acumulativas de ocorrncias dos smbolos.

O Matlab uma marca registrada. Software de Simulao com direitos reservados a MathWorks Inc..

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 31

FAAP - FACULDADE DE ENGENHARIA

Figura 5.8 - Programa de Simulao do Codificador Adaptativo usando o Algoritmo Eficiente de Shannon-Fano para uma Fonte Discreta capaz de emitir 6 smbolos Os smbolos emitidos pela fonte (total de 6) so gerados pseudo-aleatoriamente (matriz "O" do algoritmo) com a frequncia (probabilidade) especificada no vetor "PS" de inicializao do algoritmo. Esta tabela de frequncias acumulativas (matriz "P" no algoritmo), neste exemplo didtico para anlise, atualizada a cada emisso de novo smbolo pela fonte (na prtica isto no ocorre, mas sim a cada bloco de N emisses, pois demandaria a alocao de uma parte da banda de comunicao no canal entre o codificador e decodificador excessivamente grande, para que os mesmos pudessem controlar a atualizao e a sincronizao de suas tabelas de codificao/decodificao eficientes). A cada atualizao da tabela, o codificador executa o algoritmo de Shannon-Fano para determinar qual a melhor codificao eficiente que maximizar e emisso de informao entre a fonte emissora e receptor, adaptando sua codificao iterativamente (representada no algoritmo pela multiplicao da matriz "BI" com a matriz "P" e a determinao da codificao que gera o Menor Nmed). As figuras 5.9 a 5.12, mostram o resultado da simulao para as Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 32

FAAP - FACULDADE DE ENGENHARIA freqncias de emisso de smbolos especificadas. Em duas figuras so executadas vrias repeties do algoritmo (40) para que se obtenha a tendncia estatstica de funcionamento do Codificador e do Decodificador (calculadas no algoritmo atravs dos vetores "HEM" e "NE" e controladas pela varivel "simula").

Figura 5.9 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,9; 0,02; 0,02; 0,02; 0,02; 0,02}. A Execuo da Adaptao do Codificador repetida 40 vezes e os valores mdios estatsticos so apresentados.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 33

FAAP - FACULDADE DE ENGENHARIA

Figura 5.10 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,9; 0,02; 0,02; 0,02; 0,02; 0,02}. A Execuo da Adaptao do Codificador repetida somente 1 vez.

Figura 5.11 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,3; 0,3; 0,1; 0,1; 0,1; 0,1}. A Execuo da Adaptao do Codificador repetida 40 vezes e os valores mdios estatsticos so apresentados.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 34

FAAP - FACULDADE DE ENGENHARIA

Figura 5.12 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,3; 0,3; 0,1; 0,1; 0,1; 0,1}. A Execuo da Adaptao do Codificador repetida 1 vez Observando os 4 grficos apresentados, podem ser efetuadas as seguintes anlises: Os mesmos sempre iniciam (para nmero de emisses de smbolo igual a 1) com Nmed=1 e H(X)=0, visto que quando somente 1 smbolo emitido, o codificador assume que a probabilidade de emisso do mesmo 1 (gerando H(X)=0) e codifica o mesmo com 1 binit. Existe sempre uma diferena entre o Nmed obtido pelo codificador e H(X), em obedincia a Eq. (5.13) calculada. Caso o codificador conseguisse o caso particular Nmed=H(X), diz-se que o mesmo obteve uma codificao tima (sua Eficincia, em acordncia com a Eq. (5.14) seria de 100% e R = rb, com a mxima transferncia de informao possvel igual a taxa de emisso de binits no Canal). Como o processo de codificao de Shannon-Fano subdivide o conjunto simblico em duas parties sucessiva e recursivamente, s existe a possibilidade deste cdigo gerar uma codificao tima quando o nmero de smbolos for uma potncia de 2 e quando as freqncias de ocorrncia so representadas por inversas de potncia de dois (nestas condies). Mesmo no obtendo uma codificao tima, o Nmed deste codificador bem melhor que o de uma codificao binria simples, que geraria Nmed=3 binits, possuindo uma eficincia de codificao maior que esta Segunda (H(X)/Nmed). Pelos grficos 5.9 e 5.11, observa-se que quanto menor a Entropia da fonte (maior a tendncia de emisso de certos smbolos), mais iteraes/emisses de smbolos so necessrias para que o algoritmo tenha convergncia e estabilize em um Nmed

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 35

FAAP - FACULDADE DE ENGENHARIA eficiente (50 iteraes na figura 5.11 e 100 iteraes na figura 5.9 aproximadamente). De uma forma genrica, quanto maior o nmero de smbolos e menor for a entropia da fonte, mais iteraes sero necessrias para depurar os valores de freqncia de emisso de smbolos individualmente e fazer com que Nmed ! Nmed eficiente. Observe que embora a tendncia estatstica observada nos grficos das figuras 5.9 e 5.11 indiquem nestes exemplos que existe convergncia em 100 e 50 emisses de smbolos em mdia respectivamente, se forem tomados os grficos de simulao individual das figuras 5.10 e 5.12, verifica-se que pode ser necessrio um nmero de iteraes (emisses) bem mais elevado para convergncia (aproximadamente 500 e 350 respectivamente).

5.6 Como Ensaiar a Eficincia de Codificadores Digitais Comerciais


Muitas vezes em situaes prticas da Eng. de Telecomunicaes ou da Eng. de Computao ocorrem situaes em que so usados equipamentos com codificadores comerciais prontos. Existe uma forma indireta de se verificar o desempenho dos mesmos que relativamente simples. Observando as equaes (5.14) e (5.12), verifica-se que na situao de codificao eficiente, isto , quando Nmed ! H(x), ou na situao de codificao tima, quando Nmed = H(X), a entropia da sada do codificador H.bin deve se aproximar de 1 [bit/binit]. Isto significa que o codificador esta emitindo binits "Zeros" e binits "Uns" de forma equiprovvel. Basta ento medir ou amostrar, com o apoio de um analisador de dados, a freqncia de emisso de binits "Zeros" e binits "Uns" nas diversas situaes de operao da fonte emissora e do sistema, para se ter uma medida indireta da eficincia de codificao do equipamento e de sua capacidade de adaptao. O mesmo procedimento pode ser usado medir a eficincia de algoritmos computacionais de codificao eficiente (muitas vezes chamados erroneamente de "Compressores de dados").

5.7 Consideraes Finais


Como foi verificado, a Codificao Digital eficiente de Fontes de transmisso fundamental para otimizar o aproveitamento da Capacidade dos Canais de Comunicao, no que se refere a taxa de envio de informao. Costuma-se evidenciar esta importncia chamando o processo de codificao eficiente de fontes ou codificao tima de "Casamento de Codificao para maximizar a transferncia de Informaes em um Canal de Comunicao", em analogia ao Teorema da Eng. Eltrica de "Casamento de Impedncias para Mxima transferncia de potncia de sinais".

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 36

FAAP - FACULDADE DE ENGENHARIA

Parte 2 - Engenharia de Software


O Software e seus Processos Sumrio
s

s s s

Software Definio, Caractersticas, Aplicaes Evoluo Problemas Atuais do Software Mitos do Software Engenharia de Software e Verdades

Software
Aspectos Histricos:
Dcada 50 a 70: Hardware era o foco principal do desenvolvimento computacional

Desafio: aumentar a velocidade de processamento a custos menores e a capacidade de armazenamento de dados

Atualmente:

Hardware visto como Commodity Desafio: reduzir os custos de implementao do Software e a qualidade Melhorar a Funcionalidade Tornar o Software mais Amigvel

Definio - Dicionrio
No dicionrio possvel encontrar: Aquilo que pode ser executado por um equipamento (o hardware) Um produto comercializado que constitudo por um sistema de rotinas e funes

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 37

FAAP - FACULDADE DE ENGENHARIA Programa

Do que constitudo?
1- INSTRUES (programas de computador) capazes de produzir a funo e o desempenho desejados

2 - ESTRUTURAS DE DADOS quando bem trabalhadas viabilizam adequadamente a informao que os programas manipulem

3 - DOCUMENTOS descrevem como operar e utilizar os programas

Ento, o que Software?


Para Viabilizar uma definio mais precisa: Devemos analisar as caractersticas que o tornam diferente de outros produtos! Neste sentido: Hardware: produto na forma fsica Software: elemento de sistema lgico Portanto - conceituaes diferentes!

Caractersticas
1- desenvolvido e/ou projetado usando tcnicas de engenharia, no sendo manufaturado no sentido clssico

sucesso medido pela qualidade e no quantidade

2- No se desgasta, mas se deteriora devido as mudanas!

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 38

FAAP - FACULDADE DE ENGENHARIA 3- a maioria feita sob medida em vez de ser montada a partir de catlogos de componentes existentes (viso hardware em engenharia) reusabilidade de cdigo ... software

Hardware: Conceito de Falhas

% Falhas

Defeitos de Projeto e/ou Manufatura

Problemas Ambientais: poeira, oxidao, vibrao, temperaturas, etc.


mortalidade infantil desgaste

MTBF Medium Time Between Failures MTTR Medium Time To Restore

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 39

FAAP - FACULDADE DE ENGENHARIA

% Falhas Produtos Fsicos

t Software: Conceitos de falhas

% Falhas

Alteraes

Curva Real

Curva Ideal

Conceitos de falhas em Hw/Sw


Um componente de hw ao se desgastar substitudo por uma pea de reposio Para Sw no existe pea de reposio

Cada falha ocasionada por um erro no projeto ou no processo de traduo (para o cdigo que executado) A Manuteno do software mais complexa do que a do hardware

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 40

FAAP - FACULDADE DE ENGENHARIA Onde encontrar a falha de Hw? Conceito de permetro Onde encontrar a falha de Sw? O que testar? O que validar?

Definio de Software (1)


De acordo com A Von Staa (1987): De forma usual so componentes de sistemas automatizados So compostos por cdigo, dados, documentao e procedimentos So desenvolvidos com o objetivo de instruir mquinas e pessoas - com o sentido da realizao de um conjunto bem definido de tarefas de processamento de dados So instrumentos para alcanar uma finalidade especfica:

transformar dados em resultados confiveis, teis e oportunos

Definio de Software (2)


De acordo com A Von Mayhauser (1990): Software a designao dada a programas de computadores e todos os documentos associados com eles, tais como os manuais de usurio

Definio de Software (3)


Quando devemos desenvolver Software?

ALGORITMO - Aplicvel a todo problema onde um conjunto previamente de passos e/ou procedimentos tiver sido definido - o que chamamos de algoritmo! Exceto IA - A ltima definio vlida com exceo de Softwares de Inteligncia Artificial - como por exemplo Sistemas Especialistas ou Sistemas Tutores Inteligentes.

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 41

FAAP - FACULDADE DE ENGENHARIA

Software - Classificao

SOFTWARE BSICO coleo de programas escritos para apoiar outros programas. Forte interao com o hardware

sistema operacional, compiladores, ... Windows, Linux, Unix, ...

SOFTWARE DE TEMPO REAL software que monitora, analisa e controla eventos do mundo real

sistema de controle de trfego areo, relgio digital, ...

SOFTWARE COMERCIAL sistemas de operaes comerciais e tomadas de decises administrativas


folha de pagamentos, contas a pagar e a receber, ... ERPs: SAP, Microsiga, ...

SOFTWARE CIENTFICO E DE ENGENHARIA caracterizado por algoritmos de processamento de nmeros

anlise de estruturas, anlise de processos qumicos, astronomia, anlise de fadiga de aeronaves, projeto CAD, ...

SOFTWARE EMBUTIDO usado para controlar produtos e sistemas para os mercados industriais e de consumo

Controle de microondas, IE de automveis, ABS, Sistema DVDs

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 42

FAAP - FACULDADE DE ENGENHARIA

Evoluo Histrica

Hardware
Primeiros Prottipos - 1930
Dispositivos de Estado Slido
s

Eram tidos como no confiveis!

Eletromecnico / Eletrnico valvulado

Dcada de 1950 - Computadores de Von Neumann Dcada 1960 - Crebros eletrnicos (main frames) Dcada 1970 - Inveno do CI - Incio da Computao Pessoal Dcada de 1980 - Exploso da Computao Pessoal Dcada de 1990 - Exploso das Redes de Computadores Dcada de 2000 - Otimizao!

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 43

FAAP - FACULDADE DE ENGENHARIA

Software

Software - Road Map


A Segunda Era SW Multiusurio SW Tempo real BDs Desenvolvedores (Software Houses) O incio Orientao - batch Software customizado A Quarta Era IA - Sistemas Pesecialistas, Redes Neurais OO Computao Paralela (distribuda e concentrada)

A Terceira Era SDs Hw de baixo custo Computao Pessoal Impacto de consumo

1950

1960

1970

1980

1990

2000

Fase 1965 - 75: Sistemas Multiusuros e Multiprogramao Tcnicas interativas com usurios Sistemas de tempo real - cho de fbrica SGBDs - 1.a Gerao Software como Produto - Software Houses Cresce nmero de sistemas - Manuteno difcil! ..... PROBLEMAS!

Fase 1975 - 90: SDs Hw de baixo custo Redes de Computadores - LAN, MANs e WAN Popularizao do uso de microprocessadores produtos inteligentes Consumo!

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 44

FAAP - FACULDADE DE ENGENHARIA

Fase Atual: IA - Inteligncia Artificial Sistemas Especialistas, Redes Neurais, ... OO - Orientao a Objetos Computao Paralela - Concentrada e Distribuda em Rede

Problemas atuais do Software


Encontrados no desenvolvimento de software: (no somente SW que no funciona correta ou adequadamente!)

1- As estimativas de prazo e custo normalmente imprecisas


No

dedicado tempo para coleta de dados do processo de desenvolvimento de software so feitas grosseiramente, com resultados ruins prazos no so cumpridos indicadores de produtividade

Estimativas Os

Insatisfao do cliente e falta de confiana no possvel avaliar com preciso a eficcia

Sem

2- A produtividade de pessoas envolvidos com software no tem acompanhado a demanda por seus servios

Os projetos de desenvolvimento so tipicamente iniciados apenas com um vago indcio das exigncias do cliente Comunicao Cliente-Desenvolvedor fraca

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 45

FAAP - FACULDADE DE ENGENHARIA

3- A qualidade de software por vezes inadequada

No utilizao de tcnicas de teste - sistemticas e completas S recentemente - conceitos quantitativos slidos - Garantia de Qualidade de SW

4- O software existente muito difcil de manter A atividade de manuteno tem custos muito elevados A facilidade de manuteno no foi enfatizada como um critrio importante

Parece evidente ser necessrio:


Que problemas citados sejam corrigidos Necessria abordagem de engenharia de software e uso dissiminado de tcnicas e ferramentas

Causas dos problemas atuais

PRPRIO CARTER DO SOFTWARE (INTRINSECO) FALHAS DAS PESSOAS RESPONSVEIS PELO DESENVOLVIMENTO DE SOFTWARE MITOS DO SOFTWARE

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 46

FAAP - FACULDADE DE ENGENHARIA

PRPRIO CARTER DO SOFTWARE (INTRINSECO) O software um elemento de sistema lgico e no fsico. Consequentemente o sucesso medido pela qualidade de uma nica entidade e no pela qualidade de muitas entidades manufaturadas O software no se desgasta, mas se deteriora

FALHAS DAS PESSOAS RESPONSVEIS PELO DESENVOLVIMENTO DE SOFTWARE Gerentes - sem nenhum conhecimento bsico em software Profissionais de software - tm recebido pouco treinamento em novas tcnicas para o desenvolvimento de software Resistncia a mudanas!

MITOS DO SOFTWARE

Muitas causas esto localizadas na mitologia que apareceu durante a histria do desenvolvimento do Software Acabam por propagar desinformao e confuso Mitos - podem ser classificados como:

Administrativos, do Cliente e do Profissional

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 47

FAAP - FACULDADE DE ENGENHARIA

Mitos de Software - Administrativos


Mito: J temos um manual repleto de padres e procedimentos para a construo de software. Isso oferecer ao meu pessoal tudo o que eles precisam saber. Realidade: O manual realmente usado? Os profissionais sabem de sua existncia? Ele reflete a prticas modernas? Ele completo?

Mito: Meu pessoal tem ferramentas de desenvolvimento de software de ltima gerao; afinal compramos para eles os mais novos computadores. Realidade:

preciso mais do que computadores novos para se fazer um desenvolvimento de software de alta qualidade. Ferramentas CASE - de engenharia e software auxiliada por computador (ComputerAided Software Engineering) s vezes so mais importantes do que o hardware

Mito: Se ns estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso (conceito de hordas de mongis). Realidade: O desenvolvimento de software no um processo mecnico igual manufatura. Acrescentar pessoas em um projeto pode torna-lo ainda mais atrasado. Pessoas podem ser acrescentadas, mas de uma maneira planejada e bem coordenada!

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 48

FAAP - FACULDADE DE ENGENHARIA

Mitos de Software - Clientes


Mito: Uma declarao geral dos objetivos en passant suficiente para se comear a escrever programas - podemos trabalhar os detalhes mais tarde. Realidade: Uma definio inicial ruim a causa principal de fracassos dos esforos de desenvolvimento de software. fundamental uma descrio formal e detalhada do domnio da informao, funo, desempenho, interfaces, restries de projeto e critrios de validao.

Mito: Os requisitos de projeto modificam-se continuamente, mas as mudanas podem ser facilmente acomodadas, porque o software flexvel. Realidade: Requisitos podem ser modificados, mas o impacto varia de acordo com o tempo que introduzido (projeto e custo) Um mudana, quando solicitada tardiamente num projeto, pode ser mais do que a ordem de magnitude mais dispendiosa da mesma mudana solicitada nas fases iniciais
60 a 100 X

C u s t o 1X

1,5 a 6 X

Definio

Desenvolvimento

Manuteno

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 49

FAAP - FACULDADE DE ENGENHARIA

Mitos de Software - Profissionais

Mito: Assim que escrever o programa e o colocar em funcionamento meu trabalho estar completo.

Realidade: Os dados da indstria apontam que entre 50 e 70% de todo esforo gasto num programa so despendidos depois que ele for entregue pela primeira vez ao cliente

Mito: Enquanto o programa no estiver "funcionando", eu no terei realmente maneira alguma de avaliar sua qualidade.

Realidade: Mecanismo (Reviso Tcnica Formal) de garantia de qualidade de software deve ser aplicado desde o comeo do projeto Revises de software so um filtro de qualidade - descobre erros/defeitos

Desenvolvimento de Software - Desafios


Sofisticao do Software

Rpida Evoluo do Hardware

Aumento expressivo da demanda

M administrao

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 50

FAAP - FACULDADE DE ENGENHARIA

SOLUO Reconhecer os problemas e causas Desmascarar os mitos do software So os primeiros passos!

Aplicar Mtodos e Tcnicas para disciplinar o processo de Software

Engenharia de Software

Engenharia de Software
Definio - F. Bauer,1969 O estabelecimento e uso de slidos princpios de engenharia para obter de forma economica um software que seja confivel e que funcione eficientemente em mquinas reais

Definio - IEEE A aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolvimento, operao e manuteno do software e o estudo das abordagens para tal

Definio - A Mayrhauser, 1990

Trabalha Mtodos, Tcnicas e Ferramentas para desenvolver e manter Softwares - com alta qualidade para soluo de problemas

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 51

FAAP - FACULDADE DE ENGENHARIA

Engenharia de Software - Elementos fundamentais:


Mtodos, Ferramentas e Procedimentos Possibilita ao gerente o controle do processo de desenvolvimento Oferece ao profissional uma base para a construo de software de alta qualidade

FERRAMENTAS MTODOS PROCEDIMENTOS/PROCESSOS FOCO NA QUALIDADE

MTODOS: Proporcionam os detalhes de como fazer para construir o software e envolvem um conjunto de tarefas amplo:

"

Planejamento e estimativa de projeto Anlise de requisitos de software Projeto da estrutura de dados Algoritmo de processamento Codificao Teste Manuteno

" " " " " "

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 52

FAAP - FACULDADE DE ENGENHARIA

FERRAMENTAS: Fornecem suporte automatizado ou semi-automatizado aos mtodos. Ferramentas - para sustentar cada um dos mtodos CASE - Quando as ferramentas so integradas estabelecido um sistema de suporte ao desenvolvimento de software chamado - Computer Aided Software Engineering

" "

PROCEDIMENTOS: Estabelecem a ligao entre os Mtodos e Ferramentas


" " " "

Seqncia - que os mtodos sero aplicados Produtos (deliverables) - exigidos que sejam entregues Controles - que ajudam assegurar a qualidade e coordenar as alteraes Marcos de referncia - possibilitam administrar o progresso do software

ENGENHARIA DE SOFTWARE: Compreende um conjunto de etapas que envolve: MTODOS, FERRAMENTAS e PROCEDIMENTOS.
"

Essas etapas so citadas como CICLOS, SOFTWARE

MODELOS DE PROCESSO DE

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 53

FAAP - FACULDADE DE ENGENHARIA

Modelos de Processo

Modelo Sequencial (ciclo de vida clssico) Modelo de Prototipao Modelo RAD (Rapid Application Development) Modelos Evolutivos

Modelo Incremental e Espiral

Modelo de Desenvolvimento Concorrente Modelo de Montagem de Componentes Modelo de Mtodos Formais Tcnicas de 4.a gerao

Qualidade no Processo
Produto com Qualidade
Requisitos - Processo de Construo - Produto - Atendimento aos Requisitos

Software com Qualidade


Requisitos - Processo de Desenvolvimento de Software - Software - Atendimento aos Requisitos

Ciclo de Vida de Software


"

Critrios para Escolha do Processo:


"

Adequao do modelo de processo aplicao Mtodos e ferramentas que sero utilizados Controles e produtos que precisam ser entregues Caractersticas dos processos: Produtividade, Custos, Qualidade, etc.

"

"

"

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 54

FAAP - FACULDADE DE ENGENHARIA

Ciclo de Vida Clssico - Linear


" Modelo mais antigo e o mais usado " Ciclo da engenharia convencional " Requer uma abordagem sistemtica e seqencial " Cada atividade uma fase em separado.
" A passagem

entre fases formal.

Engenharia de Sistemas

Anlise de Requisitos

Projeto

Manuteno

Teste

Codificao

ENGENHARIA DE SISTEMAS "Sw faz parte de um sistema mais amplo "Coleta de requisitos "Viso essencial - sempre que software faz interface com outros elementos (Hw, pessoas e BDs) "Tarefas: Identificao de necessidades dos usurios, executar a anlise econmica e tcnica, estabelecer restries de prazo e custo, modelo arquitetnico
" PRODUTO:

Especificao do Sistema

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 55

FAAP - FACULDADE DE ENGENHARIA

ANLISE DE REQUISITOS DE SOFTWARE


"

Primeiro passo tcnico do processo de engenharia de software Atividade de descoberta, refinamento, modelagem e especificao Escopo definido inicialmente refinado e aperfeioado em detalhes Mtodos: Anlise Estruturada, Anlise Orientada a Objetos, Mtodos Formais
"

"

"

"

PRODUTO: Especificao de Requisitos

Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 56

Вам также может понравиться