Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01)

Documentos relacionados
Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Arquitetura e Organização de Computadores

Cálculo Numérico Noções básicas sobre erros

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Organização e Arquitetura de Computadores I

ERROS DE QUANTIZAÇÃO

Aproximações e Erros

Métodos Numéricos - Notas de Aula

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Universidade Federal do Espírito Santo - UFES

Aula 3 - Representação de Dados

Circuitos Lógicos Aula 22

ELETRÔNICA DIGITAL I

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

Aula 9: Estouro e Representação em Ponto Flutuante

Conceitos e Princípios Gerais

Estudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução:

Arquitetura e Organização de Computadores

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

Arquitectura de Computadores I

Aula 9: Estouro e Representação em Ponto Flutuante

SEPS REPRESENTAÇÃO DE Nºs DIGITAIS I

Disciplina: Processamento Digital de Sinais Aula 01 - Introdução aos Sinais e Sistemas Digitais

Sistemas de Computação

ELETRONICA DIGITAL. Aula 01 Apresentação da disciplina; Representação Digital x Analógica. Prof. Franklin Alves 1

ARQUITETURA DE COMPUTADORES

Estruturas de Sistemas Discretos

Sistemas Digitais INE 5406

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Arquitetura de Computadores

Método Analítico. Método Numérico

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Cálculo Numérico. Erros em processamento Numéricos

Introdução à Computação

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

Cálculo Numérico Conceitos Básicos

Sistemas Digitais Módulo 2 Representações com Sinal e Aritmética Digital

ARQUITETURA DE COMPUTADORES

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

Sistemas numéricos e a Representação Interna dos Dado no Computador

Estouro e Representação em Ponto Flutuante

ENGG55 REDES INDUSTRIAIS Introdução aos Sistemas de Comunicação Industrial

Capítulo 6 Aritmética Digital: Operações e Circuitos

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Sumário. 1 Sinais e sistemas no tempo discreto 1. 2 As transformadas z e de Fourier 79

Arquitetura e Organização de Computadores. Sistemas Numéricos

Arquitetura de Computadores. Tiago Alves de Oliveira

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Capítulo 04 : Sistemas Numéricos

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Aritmética de Inteiros

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Aula 22. Conversão Sigma-Delta (continuação)

Conceitos Introdutórios Capítulo 1. Prof. Gustavo Fernandes de Lima

Disciplina: Introdução à Engenharia da Computação

CIRCUITOS ARITMÉTICOS (Unidade 4)

Sistemas Digitais Módulo 1 Introdução e Sistemas de Numeração

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

ENTRADAS ANALÓGICAS CONVERSOR A/D

Organização e Arquitetura de Computadores I

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais

Métodos Numéricos. Turma CI-202-D. Josiney de Souza.

ELE 0316 / ELE 0937 Eletrônica Básica

Processamento Digital de Sinais. Notas de Aula. Estruturas para Sistemas de Tempo. Estruturas para Sistemas de Tempo Discreto. Implementação de SLIT:

Palavras-Chave: Filtro digital, FPGA, VHDL.

DADOS DO COMPONENTE CURRICULAR

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Matemática Computacional. Edgard Jamhour

Introdução aos Sistemas de Comunicações

Erros e Aritmética de ponto flutuante

Introdução à Computação

CCI-22 CCI-22. Introdução e Motivação. Matemática Computacional. Conteúdo. Finalidade

Sistema Supervisório - IHM

Representação Digital da Informação II

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Ponto Fixo e Ponto Flutuante

Sistemas Digitais (SD) Circuitos combinatórios: somadores, subtractores e comparadores

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti

Representação e Aritmética em Ponto Flutuante. 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Cálculo Numérico. Profº Ms Ademilson Teixeira IFSC

Introdução Conversão Digital Analógica Conversão Analógica Digital Referências. Conversão D/A e A/D. Aula 01 - DAC / ADC

Números binários e erros

Circuitos Lógicos. Prof. Odilson Tadeu Valle

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Erros, Precisão Numérica e Ponto Flutuante

Organização de Computadores I

DISCIPLINA: Arquitetura e Organização de Computadores I

Aula Expositiva 2. DCC 001 Programação de Computadores. 2º Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC

CCI - 22 Matemática Computacional

Transcrição:

Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01) Prof. (eduardo.simas@ufba.br) Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal da Bahia

Conteúdo 1 2 Binárias 3 Efeitos da

Sistemas para processamento digital de sinais são usualmente implementados utilizando: - componentes eletrônicos discretos básicos e circuitos integrados; - dispositivos de lógica programável (Ex: FPGA - Field Programmable Gate Arrays); - circuitos integrados dedicados para a aplicação; - processadores digitais de sinais; - computadores. Nas implementações é importante escolher a representação numérica mais adequada (em ponto fixo ou em ponto flutuante). Independente da plataforma utilizada para a implementação, um aspecto importante é estudar os efeitos da precisão finita sobre o sistema a ser implementado.

Binárias

em Ponto Fixo Uma representação de ponto fixo na base 2 é obtida de: O número x pode ser obtido de: m k=0 x (I ) k 2k + n k=1 B(x) = x m (I )... x (I ) 1 x (I ) 0. x (F ) 1... x n (F ) }{{}}{{} Parte Inteira Parte Fracionária x = B 1 (x (I ) m... x (I ) 1 x (I ) (F ) 0.x x (F ) k 2 k = x (I ) m 2 m +...+x (I ) 1... x n (F ) ) = 1 21 +x (I ) (F ) 0 +x 1 2 1 +...+x n (F ) Considerando-se que os números foram escalados para o intervalo x ( 1, 1): B(x) = x 0.x 1x 2... x n n x = B 1 (x 0.x 1x 2... x n) = x k 2 k = x 0 + x 12 1 +... + x n2 n k=0 2 n

em Ponto Fixo Existem algumas representações de ponto fixo conforme listadas a seguir (estamos considerando que os números foram escalados para o intervalo x ( 1, 1)): Representação em sinal-módulo: Usa-se [x] M = s x.x 1x 2... x n, sendo s x o bit de sinal (x > 0 s x = 0). { B 1 (0, x 1x 2... x n), s x = 0 x = B 1 (0, x 1x 2... x n), s x = 1 Representação em complemento-a-um: [x] 1c = { B(x), x 0 B(2 2 n x ), x < 0 Representação em complemento-a-dois: [x] 2c = { B(x), x 0 B(2 x ), x < 0

em Ponto Fixo A representação de ponto fixo mais utilizada é a de complemento a dois. Essa representação tem a vantagem de realizar, com o mesmo circuito, as operações de adição e subtração. Para obter a representação em complemento de 2 de uma em sinal módulo, basta inverter todos os bits (o que equivale a obter a representação em complemento de 1) e depois somar 1 ao resultado. Considerando, por exemplo, uma representação em complemento de dois de números inteiros positivos e negativos utilizando 4 bits (um bit de sinal e 3 de codificação) temos: Número Representação Número Representação 0 0000-1 1111 1 0001-2 1110 2 0010-3 1101 3 0011-4 1100 4 0100-5 1011 5 0101-6 1010 6 0110-7 1001 7 0111-8 1000

em Ponto Fixo As representações em ponto fixo estão limitadas a uma faixa de valores que depende do número de bits utilizados. Com isso, as implementações que usam representação em ponto fixo estão sujeitas a problemas quando operações internas apresentam resultados que estão fora da faixa de valores que é possível de ser representada. Esses problemas são chamados de: - Overflow - quando o resultado da operação é superior à faixa representada; - Underflow - quando o resultado da operação é inferior à faixa representada. Exemplo: se num sistema de PDS fosse utilizada a representação mostrada no slide anterior e um somador interno fosse alimentado com: 0110 (6 10) e 0010 (4 10), o resultado da operação seria 10 10, que não pode ser representado com apenas 3 bits. Neste caso, ocorreu um overflow e a saída do somador estaria limitada a 0111 (7 10).

Representação em Ponto Flutuante A representação em ponto flutuante permite alcançar uma maior faixa de valores numéricos com o mesmo número de bits. Porém, a aritmética de ponto flutuante é mais complicada que a de ponto fixo, demandando mais recursos computacionais, sendo normalmente utilizada em implementações que dispõem de um maior poder de processamento, como em computadores. A representação em ponto flutuante considera que: x = ±d β e sendo d a mantissa (um número em ponto fixo), β a base da representação e e o expoente. Costuma-se utilizar também a notação F (β, t, m, M) para designar uma representação em ponto flutuante de base β, t bits significativos na mantissa, e expoente variando de m a M.

Representação em Ponto Flutuante Um número binário em ponto flutuante pode então ser representado por: Exemplo: Utilizando F (2, 10, 15, 15) o número 23 pode ser representado conforme descrito a seguir: Sabendo que: 23 = 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 1 2 0, pode-se chegar a: 23 = (1 2 1 + 0 2 2 + 1 2 3 + 1 2 4 + 1 2 0 ) 2 5

Representação em Ponto Flutuante O que nos daria a seguinte representação: A representação em ponto flutuante tem a vantagem de gerar uma representação que tem espaçamento variável, e portanto erro relativo aproximadamente constante em toda a faixa de valores:

Efeitos da

Efeitos da Erros de quantização são inerentes a qualquer implementação de sistema de processamento digital de sinais. Esses erros podem ser classificados em: - Erros devido à quantização dos sinais analógicos de entrada do sistema; - Desvios no comportamento do sistema devido à representação dos parâmetros do sistema (Ex.: constantes multiplicadoras) com palavras de comprimento finito; - Erros ocorridos internamente devido à quantização das saídas de blocos internos (Ex.: multiplicadores ou somadores); - Erros devido a overflow. Os efeitos das diversas formas de erro dependem também do tipo de representação numérica utilizada (em ponto fixo ou em ponto flutuante).

Erro de Quantização dos sinais analógicos Conforme visto no inicio do curso, a conversão analógico-digital está associada a um erro que é inevitável ao processo, o erro de quantização do sinal analógico. O número de níveis de quantização do sinal é dado por: N q = 2 n, sendo n o número de bits da representação digital. Considerando uma quantização com níveis equidistantes, o erro máximo, quando é realizado o arredondamento, é dado por: E qmax = s 2 2 n = q 2, sendo s a excursão total do sinal analógico e q = 2 n o intervalo de quantização. Considerando que o sinal de entrada seja escalado para o intervalo x ( 1, 1) temos: E qmax = 2 2 n 1 = 2 n.

Quantização de Produtos Um multiplicador com comprimento finito pode ser modelado como um multiplicador ideal seguido de uma fonte de ruído aditivo: Como se trata de um tipo de erro de quantização, pode ser estimado do mesmo modo que o erro de quantização na conversão AD. Assim, temos que o erro da quantização de produtos tem a seguinte distribuição de probabilidade (sendo q = q e b = n): Neste caso: σ 2 e = 2 2n 12

Escalamento de Sinal Para prevenir a ocorrência (ou pelo menos mantê-la em níveis aceitáveis) de overflow (saturação) de um nó interno de um sistema digital, em geral realiza-se o escalamento da entrada. O escalamento deve ser realizado considerando-se o fluxo de todas as operações do sistema digital (somas, multiplicações, etc) e identificado-se os nós mais sujeitos a saturação (quando o resultado da operação excede a faixa de valores representáveis pela codificação utilizada). Uma vez identificados estes nós, os sinais de entrada do sistema devem ser escalados para uma faixa que minimize a ocorrência do overflow.

Quantização de Coeficientes Na etapa de projeto, os coeficientes de um sistema digital (um filtro, por exemplo) podem ser calculados com toda a precisão disponível nos computadores. Na implementação, ao usar dispositivos de precisão finita, a resposta do sistema (função de transferência) pode ser modificada devido aos erros de quantização dos coeficientes. Existem vários critérios que avaliam a sensibilidade de um sistema digital à quantização dos coeficientes. Entre os mais utilizados pode-se destacar: I S H(ejω ) m i = H(ejω ) e II S H(e jω ) m i m i = 1 H(e jω ) H(e jω ) m i que avaliam a sensibilidade do módulo da função de transferência à variação do coeficiente m i. Para considerar o efeito de todos os coeficientes: K S(e jω ) = S H(ejω ) m i. i=1

Quantização de Coeficientes - Exemplo Considerando um filtro com os coeficientes listados a seguir e função de transferência: H(z) == b0 + b1z 1 +... + b N z N 1 + a 1z 1 +... + a N z N : Sensibilidade (a) e as variações esperadas na resposta de módulo (b) para uma implementação em ponto fixo utilizando 11 bits.

Ciclos Limite Um problema prático que pode afetar estruturas digitais recursivas (Ex.: filtros IIR) são os ciclos limite. Os ciclos limites são oscilações parasitas que podem ser classificadas em: - Ciclos-limite granulares: ocorrem devido aos sinais de ruído gerados nos quantizadores que podem se tornar correlacionados de amostra para amostra e de fonte para fonte. A estrutura recursiva pode contribuir para uma realimentação positiva desse ruído correlacionado que pode levar à instabilidade. - Ciclos-limite por overflow: a ocorrência de overflow em estruturas recursivas pode dar origem a oscilações auto-sustentáveis de alta amplitude. O adequado escalamento do sinal previne a ocorrência deste problema.

Bibliografia Consultada Na elaboração destes slides foram utilizadas as fontes a seguir: - TOCCI, R, WIDMER, N., MOSS, G. Sistemas Digitais, princípios e aplicações. 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 referências acima.