PDS - Aula05/Pt 1 Im-plementacao
EduardoSimas
Introducao
RepresentacoesNumericas
PrecisaoFinita
Disciplina: Processamento Digital de SinaisAula 05 - Implementacao de Sistemas de
Processamento Digital de Sinais (Parte 01)
Prof. Eduardo Simas([email protected])
Programa de Pos-Graduacao em Engenharia EletricaUniversidade Federal da Bahia
PDS - Aula05/Pt 1 Im-plementacao
EduardoSimas
Introducao
RepresentacoesNumericas
PrecisaoFinita
Conteudo
1 Introducao
2 Representacoes Numericas Binarias
3 Efeitos da Precisao Finita
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
EduardoSimas
Introducao
RepresentacoesNumericas
PrecisaoFinita
Representacoes Numericas Binarias
PDS - Aula05/Pt 1 Im-plementacao
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
PDS - Aula05/Pt 1 Im-plementacao
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
PDS - Aula05/Pt 1 Im-plementacao
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
PDS - Aula05/Pt 1 Im-plementacao
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).
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
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
PDS - Aula05/Pt 1 Im-plementacao
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:
PDS - Aula05/Pt 1 Im-plementacao
EduardoSimas
Introducao
RepresentacoesNumericas
PrecisaoFinita
Efeitos da Precisao Finita
PDS - Aula05/Pt 1 Im-plementacao
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).
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
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
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
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
.
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
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.
PDS - Aula05/Pt 1 Im-plementacao
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.