Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao...

20
PDS - Aula 05 Imple- menta¸c˜ ao Eduardo Simas Introdu¸c˜ ao Representa¸ c˜oes Num´ ericas Precis˜ ao Finita Disciplina: Processamento Digital de Sinais Aula 05 - Implementa¸c˜ ao de Sistemas de Processamento Digital de Sinais Prof. Eduardo Simas ([email protected]) Departamento de Engenharia El´ etrica Universidade Federal da Bahia

Transcript of Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao...

Page 1: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Disciplina: Processamento Digital de SinaisAula 05 - Implementacao de Sistemas de

Processamento Digital de Sinais

Prof. Eduardo Simas([email protected])

Departamento de Engenharia EletricaUniversidade Federal da Bahia

Page 2: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Conteudo

1 Introducao

2 Representacoes Numericas Binarias

3 Efeitos da Precisao Finita

Page 3: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Introducao

Sistemas para processamento digital de sinais sao usualmenteimplementados utilizando:

- componentes eletronicos discretos basicos e circuitosintegrados;

- dispositivos de logica programavel (Ex: FPGA - FieldProgrammable Gate Arrays);

- circuitos integrados dedicados para a aplicacao;

- processadores digitais de sinais;

- computadores.

Nas implementacoes e importante escolher a representacaonumerica mais adequada (em ponto fixo ou em pontoflutuante).

Independente da plataforma utilizada para a implementacao, umaspecto importante e estudar os efeitos da precisao finita sobreo sistema a ser implementado.

Page 4: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacoes Numericas Binarias

Page 5: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacoes em Ponto Fixo

Uma representacao de ponto fixo na base 2 e obtida de:

B(x) = x (I )m . . . x

(I )1 x

(I )0︸ ︷︷ ︸

Parte Inteira

. x(F )1 . . . x (F )

n︸ ︷︷ ︸Parte Fracionaria

O numero x pode ser obtido de:

x = B−1(x (I )m . . . x

(I )1 x

(I )0 .x

(F )1 . . . x (F )

n ) =

m∑k=0

x(I )k 2k+

n∑k=1

x(F )k 2−k = x (I )

m 2m+. . .+x(I )1 21+x

(I )0 +x

(F )1 2−1+. . .+x (F )

n 2−n

Considerando-se que os numeros foram escalados para o intervalox ∈ (−1, 1):

B(x) = x0.x1x2 . . . xn

x = B−1(x0.x1x2 . . . xn) =n∑

k=0

xk2−k = x0 + x12−1 + . . .+ xn2−n

Page 6: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacoes em Ponto Fixo

Existem algumas representacoes de ponto fixo conforme listadas aseguir (estamos considerando que os numeros foram escalados para ointervalo x ∈ (−1, 1)):

Representacao em sinal-modulo:

Usa-se [x ]M = sx .x1x2 . . . xn, sendo sx o bit de sinal (x > 0→ sx = 0).

x =

{B−1(0, x1x2 . . . xn), sx = 0−B−1(0, x1x2 . . . xn), sx = 1

Representacao em complemento-a-um:

[x ]1c =

{B(x), x ≥ 0B(2− 2−n − |x |), x < 0

Representacao em complemento-a-dois:

[x ]2c =

{B(x), x ≥ 0B(2− |x |), x < 0

Page 7: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacoes em Ponto Fixo

A representacao de ponto fixo mais utilizada e a de complemento adois. Essa representacao tem a vantagem de realizar, com o mesmocircuito, as operacoes de adicao e subtracao.

Para obter a representacao em complemento de 2 de uma em sinalmodulo, basta inverter todos os bits (o que equivale a obter arepresentacao em complemento de 1) e depois somar 1 ao resultado.

Considerando, por exemplo, uma representacao em complemento dedois de numeros inteiros positivos e negativos utilizando 4 bits (umbit de sinal e 3 de codificacao) temos:

Numero Representacao Numero Representacao0 0000 -1 11111 0001 -2 11102 0010 -3 11013 0011 -4 11004 0100 -5 10115 0101 -6 10106 0110 -7 10017 0111 -8 1000

Page 8: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacoes em Ponto Fixo

As representacoes em ponto fixo estao limitadas a uma faixa devalores que depende do numero de bits utilizados.

Com isso, as implementacoes que usam representacao em ponto fixoestao sujeitas a problemas quando operacoes internas apresentamresultados que estao fora da faixa de valores que e possıvel de serrepresentada.

Esses problemas sao chamados de:

- Overflow - quando o resultado da operacao e superior afaixa representada;

- Underflow - quando o resultado da operacao e inferior afaixa representada.

Exemplo: se num sistema de PDS fosse utilizada a representacaomostrada no slide anterior e um somador interno fosse alimentadocom: 0110 (610) e 0010 (410), o resultado da operacao seria 1010, quenao pode ser representado com apenas 3 bits. Neste caso, ocorreuum overflow e a saıda do somador estaria limitada a 0111 (710).

Page 9: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacao em Ponto Flutuante

A representacao em ponto flutuante permite alcancar umamaior faixa de valores numericos com o mesmo numero de bits.

Porem, a aritmetica de ponto flutuante e mais complicada que ade ponto fixo, demandando mais recursos computacionais,sendo normalmente utilizada em implementacoes que dispoemde um maior poder de processamento, como em computadores.

A representacao em ponto flutuante considera que:

x = ±d × βe

sendo d a mantissa (um numero em ponto fixo), β a base darepresentacao e e o expoente.

Costuma-se utilizar tambem a notacao F (β, t,m,M) paradesignar uma representacao em ponto flutuante de base β, tbits significativos na mantissa, e expoente variando de m a M.

Page 10: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacao em Ponto Flutuante

Um numero binario em ponto flutuante pode entao ser representadopor:

Exemplo: Utilizando F (2, 10,−15, 15) o numero 23 pode serrepresentado conforme descrito a seguir:

Sabendo que: 23 = 1× 24 + 0× 23 + 1× 22 + 1× 21 + 1× 20, pode-sechegar a: 23 = (1× 2−1 + 0× 2−2 + 1× 2−3 + 1× 2−4 + 1× 20)× 25

Page 11: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Representacao em Ponto Flutuante

O que nos daria a seguinte representacao:

A representacao em ponto flutuante tem a vantagem de gerar umarepresentacao que tem espacamento variavel, e portanto erro relativoaproximadamente constante em toda a faixa de valores:

Page 12: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Efeitos da Precisao Finita

Page 13: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Efeitos da Precisao Finita

Erros de quantizacao sao inerentes a qualquer implementacaode sistema de processamento digital de sinais.

Esses erros podem ser classificados em:

- Erros devido a quantizacao dos sinais analogicos deentrada do sistema;

- Desvios no comportamento do sistema devido arepresentacao dos parametros do sistema (Ex.: constantesmultiplicadoras) com palavras de comprimento finito;

- Erros ocorridos internamente devido a quantizacao dassaıdas de blocos internos (Ex.: multiplicadores ousomadores);

- Erros devido a overflow.

Os efeitos das diversas formas de erro dependem tambem dotipo de representacao numerica utilizada (em ponto fixo ou emponto flutuante).

Page 14: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Erro de Quantizacao dos sinais analogicos

Conforme visto no inicio do curso, a conversao analogico-digitalesta associada a um erro que e inevitavel ao processo, o erro dequantizacao do sinal analogico.

O numero de nıveis de quantizacao do sinal e dado por:Nq = 2n, sendo n o numero de bits da representacao digital.

Considerando uma quantizacao com nıveis equidistantes, o erromaximo, quando e realizado o arredondamento, e dado por:

Eqmax =∆s

2× 2n=

∆q

2,

sendo ∆s a excursao total do sinal analogico e ∆q = 2−n ointervalo de quantizacao.

Considerando que o sinal de entrada seja escalado para o

intervalo x ∈ (−1, 1) temos: Eqmax =2

2n−1= 2−n.

Page 15: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Quantizacao de Produtos

Um multiplicador com comprimento finito pode ser modelado comoum multiplicador ideal seguido de uma fonte de ruıdo aditivo:

Como se trata de um tipo de erro de quantizacao, pode ser estimadodo mesmo modo que o erro de quantizacao na conversao AD.

Assim, temos que o erroda quantizacao deprodutos tem a seguintedistribuicao deprobabilidade (sendoq = ∆q e b = n):

Neste caso: σ2e =

2−2n

12

Page 16: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Escalamento de Sinal

Para prevenir a ocorrencia (ou pelo menos mante-la em nıveisaceitaveis) de overflow (saturacao) de um no interno de umsistema digital, em geral realiza-se o escalamento da entrada.

O escalamento deve ser realizado considerando-se o fluxo detodas as operacoes do sistema digital (somas, multiplicacoes,etc) e identificado-se os nos mais sujeitos a saturacao (quando oresultado da operacao excede a faixa de valores representaveispela codificacao utilizada).

Uma vez identificados estes nos, os sinais de entrada do sistemadevem ser escalados para uma faixa que minimize a ocorrenciado overflow.

Page 17: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Quantizacao de Coeficientes

Na etapa de projeto, os coeficientes de um sistema digital (um filtro,por exemplo) podem ser calculados com toda a precisao disponıvelnos computadores.

Na implementacao, ao usar dispositivos de precisao finita, a respostado sistema (funcao de transferencia) pode ser modificada devido aoserros de quantizacao dos coeficientes.

Existem varios criterios que avaliam a sensibilidade de um sistemadigital a quantizacao dos coeficientes. Entre os mais utilizadospode-se destacar:

IS|H(ejω)|mi

=∂|H(e jω)|∂mi

e IIS|H(ejω)|mi

=1

|H(e jω)|∂|H(e jω)|∂mi

que avaliam a sensibilidade do modulo da funcao de transferencia avariacao do coeficiente mi .

Para considerar o efeito de todos os coeficientes:

S(e jω) =K∑i=1

S |H(ejω)|mi

.

Page 18: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Quantizacao de Coeficientes - Exemplo

Considerando um filtro com os coeficientes listados a seguir e funcao

de transferencia: H(z) ==b0 + b1z−1 + . . .+ bNz−N

1 + a1z−1 + . . .+ aNz−N:

Sensibilidade (a) e as variacoes esperadas na resposta de modulo (b) para uma implementacao emponto fixo utilizando 11 bits.

Page 19: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Ciclos Limite

Um problema pratico que pode afetar estruturas digitaisrecursivas (Ex.: filtros IIR) sao os ciclos limite.

Os ciclos limites sao oscilacoes parasitas que podem serclassificadas em:

- Ciclos-limite granulares: ocorrem devido aos sinais deruıdo gerados nos quantizadores que podem se tornarcorrelacionados de amostra para amostra e de fonte parafonte. A estrutura recursiva pode contribuir para umarealimentacao positiva desse ruıdo correlacionado que podelevar a instabilidade.

- Ciclos-limite por overflow: a ocorrencia de overflow emestruturas recursivas pode dar origem a oscilacoesauto-sustentaveis de alta amplitude. O adequadoescalamento do sinal previne a ocorrencia deste problema.

Page 20: Simas Disciplina: Processamento Digital de Sinais Aula 05 ... · PDS - Aula 05 Imple-menta˘c~ao Eduardo Simas Introdu˘c~ao Representac~˘oes Num ericas Precis~ao Finita Introdu˘c~ao

PDS - Aula 05Imple-

mentacao

EduardoSimas

Introducao

RepresentacoesNumericas

PrecisaoFinita

Bibliografia Consultada

Na elaboracao destes slides foram utilizadas as fontes a seguir:

- TOCCI, R, WIDMER, N., MOSS, G. Sistemas Digitais,princıpios e aplicacoes. Pearson, 2011.

- DINIZ, P. S. R., da SILVA, E. A. B. e LIMA NETTO, S.Processamento Digital de Sinais. Bookman, 2004.

- MITRA, S., Digital Signal Processing, Bookman, 2005.

- WEEKS, M. Processamento Digital de Sinais, LTC, 2011.

- ANTONIOU, A., Digital Signal Processing, McGraw-Hill,2006.

Algumas figuras foram retiradas na ıntegra das referenciasacima.