Upload
dangnguyet
View
216
Download
0
Embed Size (px)
Citation preview
Andre Lucas Schlichting
Implementacoes em VHDL de um Filtro
FIR para Controle Ativo de Ruıdo
Sao Jose – SC
Julho / 2012
Andre Lucas Schlichting
Implementacoes em VHDL de um Filtro
FIR para Controle Ativo de Ruıdo
Monografia apresentada a Coordenacao doCurso Superior de Tecnologia em Sistemasde Telecomunicacoes do Instituto Federalde Santa Catarina para a obtencao do di-ploma de Tecnologo em Sistemas de Teleco-municacoes.
Orientadores:
Prof. Elen Macedo Lobato Merlin, Dra.
Erwin Ofner, Professor Dipl.-Ing.Chi Zhang, MSc
Curso Superior de Tecnologia em Sistemas de TelecomunicacoesInstituto Federal de Santa Catarina
Sao Jose – SC
Julho / 2012
Monografia sob o tıtulo ”Implementacoes em VHDL de um Filtro FIR para Controle
Ativo de Ruıdo”, defendida por Andre Lucas Schichting e aprovada em 13 de Julho de
2012, em Sao Jose, Santa Catarina, pela banca examinadora assim constituıda:
Prof. Elen Macedo Lobato Merlin, Dra.Orientadora
IFSC
Prof. Marcos Moecke, Dr.IFSC
Prof. Diego da Silva de MedeirosIFSC
O pessimista queixa-se dos ventos,
o otimista espera que o vento mude,
o realista ajusta as velas.
William A. Ward
Agradecimentos
Dedico meus sinceros agradecimentos a minha famılia, pelo apoio, suporte e incentivo
as minhas escolhas no ultimo ano.
Agradeco ao Instituto Federal de Santa Catarina e a todos que fizeram parte desta
jornada nos ultimos 4 anos, em especial aos colegas e aos professores.
A coordenadoria de assuntos internacionais por possibilitar, atraves do programa
PROPICIE, a execucao deste trabalho em parceria com a Carinthia University of Ap-
plied Sciences. Fundamental para meu progresso profissional e pessoal.
Resumo
Este trabalho apresenta a implementacao em hardware VLSI de um filtro FIR paracontrole ativo de ruıdo. E abordado todo o processo de desenvolvimento do filtro bemcomo as simulacoes e resultados de atenuacao para um ruıdo branco simulado. O objetivodo projeto e a implementacao deste filtro utilizando tecnicas de fabricacao de hardwareem silıcio. As implementacoes simuladas neste projeto envolvem o uso de duas estruturasdistintas do filtro. As duas utilizam um conversor AD/DA do tipo Sigma-Delta (Σ∆),sendo diferenciadas pela taxa de trabalho de cada uma. Na primeira o sistema utilizafiltros decimador e interpolador para trabalhar a taxa PCM (44,1KHz) como um sistemamais tradicional. A segunda implementacao utiliza apenas o mesmo modulador Σ∆, semos outros dois filtros, e trabalha a uma taxa de 2,8MHz como processamento de stream debits. Comparando as duas estruturas implementadas, e possıvel ver que os resultados dearea de chip e consumo necessarios para o filtro desenvolvido apresentam valores favoraveisao filtro que utiliza o stream de bits. O projeto foi proposto e orientado pela equipe daCarinthia University of Applied Sciences (Villach - Austria).
Palavras Chave: Controle ativo de ruıdo, processamento de sinais em stream debits
Abstract
The presented work shows up the hardware VLSI implementation for a FIR filter foractive noise control. Is dealt the whole development process as well as the simulations andattenuation outcomes of a simulated white noise. The goal is the implementation of thisfilter using silicon hardware manufacturing techniques. The implementations simulatedin this design use two different filter structures. Both use a Sigma-Delta (Σ∆) AD/DAconverter but differs in the working rate of each. The first one needs a decimation andinterpolation filter to be able to work at PCM (44,1KHz) rate like a usual process. Thesecond implementation uses only the converter dispensing the other filters from beforeand works at a 2,8MHz rate like a bit stream signal processing. Comparing these twoimplemented structures, It is possible to realize that the chip area and power consumptionvalues necessary for the developed filter are favourable to the bit stream filter. Theproject was proposed and oriented by the the Carinthia University of Applied Sciencesstaff (Villach - Austria).
Keywords: Active noise control, bit stream signal processing
Sumario
Lista de Figuras
1 Introducao p. 11
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
1.2 Organizacao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
2 Fundamentacao Teorica p. 14
2.1 Controle Passivo de Ruıdo . . . . . . . . . . . . . . . . . . . . . . . . . p. 14
2.2 Controle Ativo de Ruıdo . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
2.2.1 Aplicacoes Gerais para ANC . . . . . . . . . . . . . . . . . . . . p. 15
2.3 Sistemas de Controle Ativo de Ruıdo . . . . . . . . . . . . . . . . . . . p. 17
2.3.1 Sistemas Feedforward . . . . . . . . . . . . . . . . . . . . . . . . p. 17
2.3.2 Sistemas Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18
2.4 Processamento de Sinais Bitstream . . . . . . . . . . . . . . . . . . . . p. 19
2.4.1 Conversor Sigma Delta . . . . . . . . . . . . . . . . . . . . . . . p. 19
2.4.2 Filtro FIR Sigma-Delta . . . . . . . . . . . . . . . . . . . . . . . p. 22
3 Desenvolvimento do Filtro p. 24
3.1 Descricao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
3.2 Desenvolvimento do Filtro NC . . . . . . . . . . . . . . . . . . . . . . . p. 27
4 Implementacao em Hardware do Filtro p. 33
4.1 Implementacao em Hardware do filtro NC - PCM . . . . . . . . . . . . p. 33
4.2 Implementacao em Hardware do Filtro NC - Bit stream . . . . . . . . . p. 39
5 Conclusoes p. 43
Referencias p. 44
Lista de Figuras
2.1 Sistema feedforward de banda-larga para controle ativo de ruıdo . . . . p. 18
2.2 Sistema feedforward de banda-estreita para controle ativo de ruıdo . . . p. 18
2.3 Sistema feedback para controle ativo de ruıdo . . . . . . . . . . . . . . . p. 19
2.4 Conversor analogico para digital tradicional . . . . . . . . . . . . . . . p. 19
2.5 Conversor digital para analogico tradicional . . . . . . . . . . . . . . . p. 20
2.6 Forma analogica de um modulador Sigma-Delta de primeira ordem . . p. 20
2.7 Saıdas dos componentes de um sinal analogico em um modulador Sigma-
Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21
2.8 O uso do conversor Sigma-Delta para processamento PCM . . . . . . . p. 22
2.9 O uso do conversor Sigma-Delta para processamento Bitstream . . . . . p. 22
2.10 Estrutura tradicional de um filtro FIR . . . . . . . . . . . . . . . . . . p. 23
2.11 Estrutura de um filtro FIR adaptada para processamento Bitstream . . p. 23
3.1 Exemplo de como o sistema pode ser implementado . . . . . . . . . . . p. 24
3.2 Diagrama de implementacao do sistema . . . . . . . . . . . . . . . . . . p. 25
3.3 Magnitude da Resposta em frequencia para AE (HAE) em dB. Fonte:
Sonaptics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
3.4 Magnitude da Resposta em frequencia para AM (HAM) em dB. Fonte:
Sonaptics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
3.5 Magnitude da Resposta em frequencia para DE (HDE) em dB. Fonte:
Sonaptics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
3.6 Resposta em frequencia do bloco NC (HA) . . . . . . . . . . . . . . . . p. 28
3.7 Atenuacao media alcancada para filtros com alta ordem . . . . . . . . . p. 29
3.8 Problema de casamento entre o filtro desejado e obtido. Frequencia em
rad. e ganho linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31
3.9 Separacao da forma original do filtro NC em um filtro passa-altas e um
passa-baixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31
4.1 Saıda do filtro NC simulado e analisado no Matlab. O filtro VHDL deve
ter resultado equivalente a este. Amostras no eixo x e Amplitude no eixo y p. 36
4.2 Saıda do filtro NC VHDL simulado no MODELSIM e analisado no MA-
TLAB. Amostras no eixo x e Amplitude no eixo y . . . . . . . . . . . . p. 36
4.3 Apresentacao do resultado do leiaute do circuito no Encounter . . . . . p. 38
4.4 Circuito modelo equivalente para uma transicao 0 para 1 (RABAEY;
CHANDRAKASAN; NIKOLIC, 2003) . . . . . . . . . . . . . . . . . . . . . p. 39
4.5 Esquema para simulacao RTL do filtro ANC Bitstream . . . . . . . . . p. 41
11
1 Introducao
As solucoes em controle de ruıdo comecaram a aparecer para amenizar os problemas
causados por ele. Seja ele interferindo em outros sistemas, como maquinas e motores, seja
como uma alternativa para aumentar o nıvel de conforto em algum local. As primeiras
solucoes envolviam tecnicas passivas de controle. A mais comum delas, utilizada ampla-
mente ate hoje, e o uso de tubos silenciadores, como os presentes em armas de fogo e
dutos de ar. No entanto, as limitacaos e incoveniencias desses equipamentos, as vezes, sao
problematicos para serem implantados, pois seu resultado depende de pecas especıficas
(como tubos silenciadores) e suas dimensoes podem ser incovenientes.
O controle ativo de ruıdo surge como uma maneira de suprir essas lacunas deixadas
por sistemas passivos de controle com seus metodos tradicionais, sendo a principal lacuna
e a atenuacao de ruıdo apenas em altas frequencias. Para frequencias mais baixas, se-
riam necessarias pecas de tamanho inversamente proporcional a frequencia que se deseja
atenuar em um sinal. Outra vantagem e a flexibilidade em se manejar um sistema de
controle ativo, muitas vezes de tamanho irrisorio comparado ao tradicional.
O controle ativo teoricamente e obtido inserindo no ambiente um sinal identico ao
ruıdo, de mesma amplitude porem defasado em 180o, atraves da superposicao das ondas. E
possıvel implementa-lo atraves de filtros analogicos ou digitais. Este trabalho de conclusao
de curso (TCC) utiliza sistemas digitais para planejar e desenvolver um sistema de controle
ativo de ruıdo. Os sistemas digitais que implementam filtros, evoluiram com o passar dos
anos, desde as primeiras pesquisas e patentes na area de controle, e acompanharam o
crescimento da industria de semicondutores e circuitos em geral.
No caso de aplicacoes que envolvam a conversao de um sinal de audio entre analogico
digital e vice-versa, e comum a utilizacao de conversores do tipo Sigma-Delta para essas
conversoes. Esses conversores possuem como caracterıstica principal uma saıda digital de
um unico bit por amostra (bit stream).
1.1 Objetivos 12
1.1 Objetivos
Este TCC foi resultado do programa de intercambio PROPICIE do IFSC, planejado e
executado na Carinthia University of Applied Sciences (CUAS) em Villach, Austria. Faz
parte de um projeto maior em andamento na instituicao e tem como objetivo principal
desenvolver e comparar diferentes estruturas de hardware de um filtro FIR (Resposta ao
Impulso Finita) para um sistema de controle ativo de ruıdo.
Este mesmo filtro, desenvolvido no Matlab, pode ser futuramente implementado em
hardware (VLSI) atraves de duas estruturas de filtro diferentes e independentes entre si
desenvolvidas durante o trabalho. A primeira delas trata-se de um sistema tradicional
que trabalha a taxa de 44,1KHz (PCM). A segunda faz o uso das caracterısticas de
um modulador Sigma-Delta para implementar o filtro a uma taxa superamostrada de
aproximadamente 2,8MHz, esse processo e conhecido como processamento de sinal em
stream de bits.
Como resultados, devem-se obter valores de area e consumo de energia no circuito do
filtro para ambas as estruturas. Isso servira para dar uma nocao geral de quanto se pode
economizar de hardware.
1.2 Organizacao do texto
O texto esta dividido em Introducao, 3 Capıtulos de conteudo, Conclusoes e Re-
ferencias Bibliograficas.
O Capıtulo 1 e a Introducao deste documento. O Capıtulo 2 trata da teoria basica
sobre sistemas de controle de ruıdo, conceitos e classificacoes. A descricao do sistema
e tecnicas de conversao de sinais analogicos para digitais representados por um bit por
amostra. Tambem trata da nocao geral de implementacao de filtros FIR utilizando esse
tipo de sinal.
O capıtulo 3 envolve a descricao do sistema utilizado para o desenvolvimento do
filtro, seu desenvolvimento no Matlab, e o resultado da atenuacao obtido com este filtro
nas simulacoes.
O Capıtulo 5 mostra as duas implementacoes em hardware do filtro desenvolvido, PCM
e stream de bits, e aborda tambem os resultados em area e consumo correspondentes.
Em seguida mostra-se as conclusoes referentes ao objetivo do trabalho comparando os
1.2 Organizacao do texto 13
resultados obtidos no Capıtulo 5.
14
2 Fundamentacao Teorica
Este capıtulo trata da fundamentacao teorica sobre sistemas de controle de ruıdo e
posteriormente faz uma breve introducao sobre a tecnica de processamento de sinais de
stream de bits, utilizando um modulador do tipo sigma-delta. Alem disso, mostra como
implementar a estrutura de um filtro FIR para essa tecnica.
2.1 Controle Passivo de Ruıdo
Em ambientes industriais, o uso de equipamentos em larga escala tornou-se indis-
pensaveis para manter a producao em ritmo acelerado. No entanto, o seu uso tornou
evidente os problemas relacionados a problemas acusticos. Normalmente, esses problemas
sao originados de motores, transformadores, dutos de ar, sistemas de exaustao e compres-
sores (KUO; MORGAN, 1995). Os problemas de ruıdo acustico nao estao limitados apenas
ao ar. Vibracoes mecanicas, alem das geradas pelo ruıdo em si, ruıdos hidro-acusticos e
ruıdos gerados por equipamentos medicos tambem estao presentes ao redor.
As tecnicas mais tradicionais para controle de ruıdo utilizam de ferramentas passivas
para tal fim. Elas incluem gabinetes planejados, barreiras acusticas e silenciadores (KUO;
MORGAN, 1995) para atenuar determinado ruıdo. Essas ferramentas se aproveitam das
caracterısticas de propagacao do som no ar para funcionar. Os silenciadores passivos
utilizam o conceito da mudanca de impedancia causada pela combinacao de defletores
e tubos (silenciadores reativos) ou atuam como intensificadores de perda de energia de
propagacao do som (silenciadores resistivos).
Os silenciadores passivos, por exemplo, sao amplamente utilizados em motores de com-
bustao e sao caracterizados pela grande atenuacao em uma larga banda de frequencias.
No entanto, para algumas aplicacoes as dimensoes desses componentes, bem como peso
e custo, tornam seu uso inviavel. A atenuacao e baixa quando o comprimento de onda e
maior que as dimensoes do silenciador, isso dificulta a atenuacao de baixas frequencias.
2.2 Controle Ativo de Ruıdo 15
Frequencias estas que sao consideradas estressantes apos certo perıodo de exposicao cau-
sando fadiga e perda de concentracao (KUO; MORGAN, 1995).
2.2 Controle Ativo de Ruıdo
Para resolver os problemas citados na Secao 2.1, passou-se a dar grande destaque ao
controle ativo de ruıdo (ANC - Active Noise Control). O ANC adiciona uma segunda
fonte de ruıdo baseado no ruıdo gerado pela fonte para gerar uma segunda onda acustica
capaz de anular a primeira. Esse sinal, chamado de anti-ruıdo, sera responsavel pela
atenuacao do ruıdo ambiente atraves do princıpio de superposicao e sua eficiencia esta
ligada diretamente as caracterısticas e precisao do sistema gerado. A principal vantagem
do ANC e sua capacidade de atenuar baixas frequencias sem ser um sistema caro ou
volumoso como os silenciadores passivos.
(KUO; MORGAN, 1995) afirma que o ANC deve ser fundamentalmente adaptativo, isto
significa que o sistema sera capaz de se adaptar a um ambiente dinamico e sempre ter
a melhor resposta possıvel dentro de suas limitacoes. Porem, a proposta deste trabalho
nao e desenvolver um sistema adaptativo e sim um sistema mais simples para comparar
duas estruturas diferentes, uma vez que um ambiente industrial, por exemplo, em certas
condicoes, como em salas de maquinas e sem a presenca de pessoas, o funcionamento
ininterrupto de maquinario mantera as caracterısticas do ambiente estaveis.
O desenvolvimento de um sistema para ANC envolve o estudo de alguns componentes
necessarios. Entre eles esta o microfone utilizado para capturar o ruıdo ambiente, o
sistema eletronico principal do sistema e o auto-falante utilizado (KUO; MORGAN, 1995),
alem das caracterısticas do ambiente que sera alvo do estudo. E desejavel que este sistema
seja digital, em que os sinais acusticos correspondentes ao ruıdo sejam amostrados e
processados utilizando de tecnicas de processamento digital de sinais e devido a natureza
do estudo, este sistema deve ser rapido e preciso o suficiente para executar as operacoes
necessarias da aplicacao. No entanto, a combinacao de componentes ativos e passivos
para controle de ruıdo sao a melhor forma de se alcancar os resultados desejados.
2.2.1 Aplicacoes Gerais para ANC
Algumas aplicacoes especıficas de ANC sao:
• Automoveis - Turbulencia externa; Sistema de Combustao do veıculo;
2.2 Controle Ativo de Ruıdo 16
• Motores e maquinario em geral - Sistemas de ar condicionado e dutos de ar; Motores
de compressao; Eletrodomesticos em geral;
• Industrias - Exaustores; Dutos de ar; Transformadores; Bombas; Protetores de ore-
lha;
• Transporte de grande porte - Avioes; Barcos; Helicopteros; Trens;
Do ponto de vista geometrico, o ANC acustico e dividido em quatro categorias (KUO;
MORGAN, 1995):
1. Ruıdo proveniente de dutos (unidimensional)
Tem aplicacao direta em dutos de ar e e usado principalmente em industrias em
sistemas de calefacao e ar condicionado, alem de lugares com ambiente similar.
Devido a natureza do local, o sistema deve ser capaz de lidar com a variacao de
temperatura dos dutos. As frequencias alvo desses sistemas sao as baixas, por esse
motivo, o ANC tende a ser mais barato e simples de implementar comparando ao
controle passivo.
2. Ruıdo em espacos fechados
Neste caso, deve-se analisar se a fonte do ruıdo e interna ou externa para o correto
posicionamento dos microfones. Se a fonte estiver dentro do espaco, o microfone deve
ser colocado proximo a fonte. Caso a fonte seja externa, como e o caso de avioes, os
microfones devem ser posicionados dentro da aeronave de maneira cuidadosa, uma
vez que a distribuicao espacial do som nao interfira nos sons internos da cabine.
3. Ruıdo em espacos abertos
Funcionam como barreiras acusticas para evitar que o ruıdo indesejado se espalhe
para outras areas que nao seja ao redor da fonte. Pode ser utilizado em canteiros
de obras proximos a areas residenciais.
4. Protecao auricular pessoal
E considerada a situacao para ANC mais usual e compreende a distancia entre um
fone de ouvido e o sistema auditivo. Considerando um fone de ouvido do modelo
supra-auricular, que cobre toda a extensao externa da orelha, os sistemas de ANC
sao capazes de atenuar baixas frequencias enquanto a ”concha”do aparelho consegue
atenuar as altas frequencias com o material com o qual e fabricado. Neles o audio
2.3 Sistemas de Controle Ativo de Ruıdo 17
desejado e somado ao anti-ruıdo gerado pelo sistema e enviado ao mesmo auto-
falante, ja que as baixas frequencias do ambiente ainda podem ser ouvidas.
Os sistemas hidro-acusticos e ruıdos provenientes de vibracao mecanica incluem um
outro campo de pesquisa que nao fazem parte deste trabalho.
2.3 Sistemas de Controle Ativo de Ruıdo
Existem dois tipos de ruıdo no ambiente, ruıdo banda-larga e ruıdo banda-estreita. O
banda-larga e causado, por exemplo, por turbulencia e e totalmente randomico, portanto
tem uma distribuicao uniforme em frequencia. O ruıdo banda-estreita concentra-se em
frequencias especıficas. Ele tende a ser periodico ou quase-periodico e normalmente e
causado por maquinas.
O ANC em banda-larga necessita a presenca de um microfone que forneca uma boa
aproximacao do ruıdo da fonte para o sistema. Ja os sistemas para banda-estreita, devido
a sua caracterıstica de periodicidade, podem possuir sensores que fornecem informacao
sobre o ruıdo. Uma vez que conhecido o perıodo, pode-se usar um sistema independente
para gerar o anti-ruıdo naquelas frequencias especıficas.
O controle ativo de ruıdo pode ser diferenciado como dois tipos de sistemas diferentes,
baseados no tipo de alimentacao da fonte do ruıdo: feedforward e feedback.
2.3.1 Sistemas Feedforward
Nos sistemas feedforward ha a presenca de um microfone ou um sensor posicionados
antes do auto-falante. Esse sensor e responsavel por captar o ruıdo a ser atenuado. Eles
podem ser separados em dois sistemas distintos (KUO; MORGAN, 1995): feedforward de
banda-larga, utilizado para este TCC, e feedforward de banda-estreita.
No sistema de banda-larga, Figura 2.1, o ruıdo indesejado (ruıdo primario) represen-
tado por x(n) e captado por um microfone e utilizado como referencia para o sistema
representado pelo bloco ANC. Este bloco gera o anti-ruıdo representado por y(n) e o en-
via para o autofalante. Com a sobreposicao das fases dos dois ruıdos, tem-se a atenuacao
do indesejado.
Os sistemas feedforward de banda-estreita, Figura 2.2 utiliza um sensor que capta
informacoes especıficas do ruıdo. Essas informacoes sao interpretadas por um gerador de
2.3 Sistemas de Controle Ativo de Ruıdo 18
Figura 2.1: Sistema feedforward de banda-larga para controle ativo de ruıdo
sinal, como por exemplo as frequencias de ressonancia, e os resultados (x(n)) sao levados
ao gerador de anti-ruıdo (bloco ANC). Como no sistema anterior, o anti-ruıdo (y(n))
alimenta um auto-falante para obter a atenuacao do ruıdo indesejado.
Figura 2.2: Sistema feedforward de banda-estreita para controle ativo de ruıdo
Para o ANC obter resultados deve-se atentar para dois fatores muito importantes,
a velocidade do sistema e a posicao do auto-falante em relacao ao microfone. Isso e
necessario para o melhor casamento de fase possıvel seja alcancado. Tomando como
exemplo o ar como meio de propagacao do som e desconsiderando fatores como pressao
e temperatura, a velocidade do som e constante. Deve-se planejar o sistema para que
capture, processe e reproduza o anti-ruıdo em tempo equivalente ao que o mesmo ruıdo
capturado atinja a posicao do auto-falante. Isso evitara que o ruıdo capturado seja ouvido
antes do anti-ruıdo, sendo este agora mais um incomodo indesejado. Esse pensamento
sera retomado novamente durante o desenvolvimento pratico do sistema.
2.3.2 Sistemas Feedback
Nos sistemas feedback, diferentemente do sistema descrito na Secao 2.3.1, nao ha um
microfone ou um sensor para capturar o ruıdo da fonte, processa-lo e enviar um sinal
para um auto-falante. Neste caso a captacao fica como descrito pela Figura 2.3, sendo
capturado o ruıdo residual e(n) que serve como alimentador do bloco ANC que tem o
trabalho de estimar antecipadamente o ruıdo com base no seu proprio desempenho. Por
esse motivo esse sistema pode ocasionar em menores atenuacoes devido a relacao entre
as mudancas das caracterısticas estatısticas do ruıdo da fonte e o tempo de adaptacao do
2.4 Processamento de Sinais Bitstream 19
sistema (KUO; MORGAN, 1995).
Figura 2.3: Sistema feedback para controle ativo de ruıdo
2.4 Processamento de Sinais Bitstream
O processamento de sinais em stream (fluxo) de bits, quando utilizado junto a um mo-
dulador sigma-delta pode servir para economizar recursos de hardware totais necessarios
para a implementacao de um sistema. Esta secao mostra a utilizacao de um modulador
deste tipo na conversao analogico-digital e digital-analogico de um sinal e mostra como
e possıvel suprimir o uso de filtros interpoladores e decimadores, que servem para a uti-
lizacao do conversor para processamento PCM, para efetuar o processamento de um sinal
representado por apenas um bit por amostra.
2.4.1 Conversor Sigma Delta
A conversao de sinais analogicos em digitais existe para que sinais reais, como o som,
possam ser interpretados e trabalhados por sistemas digitais, como computadores e chips,
e sejam devolvidos posteriormente para o ambiente. Um sinal para se tornar digital passa
basicamente por dois processos chamados de amostragem, quantizacao e codificacao.
A amostragem de um sinal serve para capturar e armazenar periodicamente um valor
instantaneo de um sinal analogico. A tecnica mais comum e o sample and hold. Apos a ar-
mazenagem destes valores, eles sao convertidos para a forma binaria atraves da codificacao
seguindo e respeitando diversos parametros do processo.
Figura 2.4: Conversor analogico para digital tradicional
Os processos de conversao analogico para digital (ADC), exemplificado na Figura s
2.4, normalmente resulta em um sinal multibit, ou seja, cada grupo de N bits representa
2.4 Processamento de Sinais Bitstream 20
Figura 2.5: Conversor digital para analogico tradicional
uma amostra do sinal analogico. Porem, esta e apenas uma das classes de conversores
existentes (SMITH, 2003). Neste projeto foi utilizada uma classe muito comum para a
conversao de audio e em sistemas de telecomunicacoes, esta classe utiliza frequencias
de amostragem super elevadas e resultam em um sinal digital de apenas um bit para
representar cada amostra. Essa classe de conversor pode ser implementada com diversos
circuitos, no entanto, o mais comum deles e o modulador sigma delta (Sigma-Delta),
exemplificado na Figura 2.6. Os sinais internos em um modulador sigma delta podem ser
vistos na Figura 2.7.
O funcionamento de um modulador sigma-delta de primeira ordem, mostrado na
Figura 2.6, comeca quando amostras do sinal analogico sao tomadas a uma taxa muito
elevada (64 x 44,1kHz = 2,8MHz). Cada uma dessas amostras e subtraıda com a saıda de
um conversor DA de um bit que possui um valor de referencia (+VF) fixo. O resultado
e levado a um integrador que soma a entrada com o seu valor anterior armazenado,
guardando em seguida o novo valor para os proximos ciclos. A saıda do integrador e
comparada com o valor zero. Se for maior ou igual, a saıda do conversor sera o bit 1 e
o valor do conversor DA sera seu valor de referencia . Caso seja menor que zero, a saıda
do conversor tera o bit 0 e a saıda do conversor DA tera -VF. Esse processo se repete
para cada amostra do sinal analogico, gerando em cada ciclo um unico bit por amostra
na saıda do conversor.
Figura 2.6: Forma analogica de um modulador Sigma-Delta de primeira ordem
Um modulador Sigma-Delta, assim como os conversores tradicionais, possui um ruıdo
de quantizacao. Uma das vantagens do modulador e possuir uma relacao sinal ruıdo
2.4 Processamento de Sinais Bitstream 21
Figura 2.7: Saıdas dos componentes de um sinal analogico em um moduladorSigma-Delta
melhor, pois nele, a banda do sinal sera muito pequena comparada a banda do sistema.
Por exemplo, um sinal de audio com banda de 20kHz e superamostrado pelo modulador a
uma taxa R=64xfs=44,1kHz (2,8MHz). A banda total do sinal convertido sera de 1,4MHz,
no entanto a parte importante do sinal continuara na banda ate 20kHz. Desta maneira,
o ruıdo total do sistema estara espalhado por uma banda muito maior comparado a um
sistema utilizando a taxa PCM, que teria, comumente, um clock entre 44kHz e 48kHz.
Outra maneira de reduzir este ruıdo, e aumentar a ordem do modulador Sigma-Delta que
no caso deste projeto e 3 (WANG et al., 2010).
E importante destacar que o modulador Sigma-Delta e apenas parte do conversor.
Como a maioria dos sistemas trabalha com taxas proximas a taxa de Nyquist (PCM),
e a saıda de um modulador Sigma-Delta esta superamostrada, e necessario reduzir esta
taxa. Para isso, utiliza-se um filtro de decimacao. No processo contrario, utiliza-se um
filtro interpolador para novamente superamostrar o sinal e converte-lo novamente para um
sinal analogico. O conversor AD/DA Sigma-Delta compreende o uso destes dois filtros
(ZOELZER; AMATRIAIN, 2002).
O conversor utilizado no sistema deste projeto foi um conversor Sigma-Delta de ter-
ceira ordem (WANG et al., 2010) e os filtros interpolador e decimador possuem tambem
20 bits. Para utilizar o filtro NC descrito no capıtulo 3 e necessario o uso dos filtros
interpolador e decimador para que se possa trabalhar na taxa de 44,1kHz. Entretanto,
em algumas aplicacoes e possıvel efetuar o processamento de sinais (filtro NC, no caso)
diretamente no domınio superamostrado, utilizando apenas um bit por amostra do sinal.
Essa tecnica e chamada de processamento de sinais em Bitstream (stream de bits). Um
comparativo de como funciona os dois sistemas, processamento PCM e Bitstream super-
2.4 Processamento de Sinais Bitstream 22
mostrado em uma taxa R, pode ser visto nas Figura s 2.8 e 2.9. O processamento de sinais
Bitstream pode resultar em sinais multibit, isso sera visto na Secao 2.4.2 e e resolvido
por um circuito chamado sigma delta Loop, que reduz o sinal novamente para um bit por
amostra (ZOELZER; AMATRIAIN, 2002).
Figura 2.8: O uso do conversor Sigma-Delta para processamento PCM
Figura 2.9: O uso do conversor Sigma-Delta para processamento Bitstream
2.4.2 Filtro FIR Sigma-Delta
Diferentemente dos filtros FIR usuais, a entrada de um filtro FIR Sigma-Delta faz
com que a estrutura do filtro tenha que ser adaptada. Considerando a estrutura basica
de um filtro FIR tradicional demonstrada na Figura 2.10, a estrutura de um filtro FIR
Sigma-Delta, com as adaptacoes devidas e representada pela Figura 2.11. A principal
diferenca entre os dois filtros, PCM e Bitstream e a frequencia de operacao. Uma vez
que o filtro PCM trabalha com frequencias mais baixas, os filtros Bitstream, de mesmo
proposito, trabalham em frequencias muito altas, no caso deste projeto, 64 vezes maior
que a do projeto em PCM.
A entrada de um filtro Sigma-Delta e um sinal de apenas um bit por ciclo de clock. Os
multiplicadores sao substituıdos por ”multiplexadores”que selecionam os coeficientes entre
bi e -bi dependendo da entrada 0 ou 1. E importante lembrar que estes coeficientes sao
exatamente os mesmos do filtro PCM. A interpolacao por um fator de superamostragem
de R e atingida substituindo o operador z−1 por z−R. (ZOELZER; AMATRIAIN, 2002). Para
este TCC, utiliza-se uma taxa de superamostragem de R=64. Os valores dos coeficientes
determinam o tamanho do vetor do sinal de saıda, por exemplo, se o maior coeficiente for
representado por 9 bits, como no caso deste projeto, a saıda do filtro tambem sera um
2.4 Processamento de Sinais Bitstream 23
Figura 2.10: Estrutura tradicional de um filtro FIR
Figura 2.11: Estrutura de um filtro FIR adaptada para processamento Bitstream
sinal com 9 bits. Para ajustar esse numero novamente para um sinal de um unico bit antes
da conversao DA, existe um processo chamado sigma delta loop (ZOELZER; AMATRIAIN,
2002).
24
3 Desenvolvimento do Filtro
3.1 Descricao do Sistema
Para a implementacao dos filtros para ANC deste projeto, um sistema, descrito pela
Figura 3.1, e apresentado em uma versao simplificada para uma possıvel aplicacao real.
Figura 3.1: Exemplo de como o sistema pode ser implementado
Na Figura 3.2, tem-se o diagrama em blocos de implementacao do sistema, em que ha
os quatro blocos principais descritos pelas siglas AE (Ambient-to-Ear - Ambiente-Ouvido),
AM (Ambient-to-microphone - Ambiente-Microfone), NC (Noise Control - Controle de
Ruıdo) e DE (Driver-to-Ear - Auto-Falante-Ouvido. Cada um desses blocos representa
uma funcao de transferencia de um sistema independente descritos a seguir.
O bloco AE corresponde ao primeiro caminho de um sistema de controle ativo de
ruıdo (KUO; MORGAN, 1995), o caminho fısico, ou seja, o caminho direto entre a fonte e o
ouvido. HAE representa as caracterısticas em frequencia do ambiente como foram medidas.
A magnitude (em dB) de HAE e mostrada pela Figura 3.3. AM, NC e DE representam
3.1 Descricao do Sistema 25
Figura 3.2: Diagrama de implementacao do sistema
o segundo caminho de um sistema de controle ativo de ruıdo (KUO; MORGAN, 1995), o
caminho mecanico-eletrico-mecanico. Os blocos AM e DE possuem caracterısticas fixas
em frequencia, pois sao produtos comerciais, representados por HAM e HDE, mostrados
nas Figura s 3.4 e 3.5, respectivamente. Portanto, o objetivo do projeto e calcular e
implementar o bloco NC para compensar todos os outros blocos e tornar o ruıdo residual
o mais baixo possıvel (ZHANG, 2011). A resposta em frequencia do bloco desenvolvido,
NC, e chamada de HA.
Figura 3.3: Magnitude da Resposta em frequencia para AE (HAE) em dB. Fonte:Sonaptics
Neste projeto, as frequencias do ambiente maiores a 2KHz podem ser atenuadas com
o material de fabricacao do fone de ouvido. Entao, a primeira preocupacao do projeto foi
atenuar e analisar o desempenho do sistema para frequencias entre 10 e 2kHz.
As fases e amplitudes, mostradas nas Figura s 3.3, 3.4 e 3.5, foram resultados de
medicoes feitas pela empresa Sonaptic 1, utilizando um manequim e um sistema especial
de medicao em um ambiente especıfico e controlado (ZHANG, 2011). O filtro ANC sera
1http://www.sonaptic.com
3.1 Descricao do Sistema 26
Figura 3.4: Magnitude da Resposta em frequencia para AM (HAM) em dB. Fonte:Sonaptics
Figura 3.5: Magnitude da Resposta em frequencia para DE (HDE) em dB. Fonte:Sonaptics
3.2 Desenvolvimento do Filtro NC 27
tratado como NC a partir de agora.
3.2 Desenvolvimento do Filtro NC
Deseja-se que o ruıdo do primeiro caminho seja atenuado. Logo, para gerar um anti-
ruıdo igual ao original, os sinais do primeiro e segundo caminho devem ser identicos, assim,
havera cancelamento total e o ruıdo residual sera nulo. Considerando que as magnitudes
da resposta em frequencia (em dB) dos sistemas AE, AM e DE sao fixas e devem ser
compensadas pelo sistema NC, pode-se chegar a HA, Equacao3.2, balanceando os dois
caminhos, entao:
HAE = HAM +HA +HDE (3.1)
isolando para obter HA temos:
HA = HAE −HAM −HDE (3.2)
Para o inıcio do desenvolvimento do filtro de compensacao correspondente ao bloco
NC, um total de 21 pontos2 de frequencias entre 10 e 2kHz sao escolhidas em todos os
outros blocos baseando-se nas frequencias que se deseja atenuar. Intervalos de 10Hz entre
DC e 100Hz e intervalos de 100Hz ate aproximadamente 2kHz. Alem disso, atribuiu-se o
valor da magnitude referente a 10Hz para DC e para a frequencia maxima do sinal a mag-
nitude da frequencia de 2500Hz. Isso e valido pois nao e indiferente analisar frequencias
maiores que 2kHz no sistema. Cada um desses pontos escolhidos junto ao ganho corres-
pondente, equacionadas de maneira correta fornecem a resposta em frequencia necessaria
para o bloco NC ser desenvolvido.
Como o objetivo maior do projeto e comparar recursos de hardware necessarios entre
diferentes estruturas de filtros e nao analisar o desempenho fısico e mecanico para o
casamento de fases entre o ruıdo e o anti-ruıdo, os coeficientes do filtro gerado foram
projetados assumindo que os dois sinais estejam sempre em fase. Em simulacoes e possıvel
calcular o ruıdo residual atraves da operacao de subtracao, o que nao funciona na pratica.
Nesse caso deve ser implementado um inversor de fase de 180 graus para o sinal do
segundo caminho. Optou-se por seguir esse caminho, pois a forma do filtro nesse caso e
210Hz, 20Hz, 30Hz, 40Hz, 50Hz, 60Hz, 70Hz, 80Hz, 90Hz, 100Hz, 200Hz, 300Hz, 400Hz, 500Hz, 600Hz,700Hz, 800Hz, 900Hz,1000Hz,2000Hz e 2500Hz
3.2 Desenvolvimento do Filtro NC 28
mais simples de ser implementada.
Com a resposta em frequencia do filtro de compensacao, os coeficientes do filtro cor-
respondente pode ser calculado atraves da funcao fir2 do MATLAB3 baseado na forma
de HA, Figura 3.6. Essa funcao faz o calculo dos coeficientes de um filtro FIR de ordem
desejada, baseado no metodo da amostragem em frequencia (SHENOI, 2006).
Figura 3.6: Resposta em frequencia do bloco NC (HA)
Com os coeficientes do filtro calculados, decidiu-se por utilizar ruıdo branco limitado
em frequencia para simular o desempenho do filtro. Foram analisados os sinais do pri-
meiro e segundo caminho tanto no domınio do tempo quanto no domınio da frequencia
na banda de atenuacao desejada (10Hz-2kHz). Nas simulacoes, os blocos AE, AM e DE
foram implementados da mesma maneira que o bloco NC, gerando filtros FIR, no en-
tando, de ordem muito elevada (�5000) para obter o resultado mais proximo das funcoes
transferencias HAE, HAM e HDE que se possuıa.
A primeira simulacao realizada foi feita sem considerar um item muito importante
citado no Capıtulo 2, o tempo necessario para o processamento digital em comparacao
com a velocidade do som, porem serviu para montar o cenario de simulacoes, mostrar
como os resultados poderiam ser se nao houvesse essa restricao.
As simulacoes ocorreram da seguinte forma:
1. Geracao do ruıdo: O ruıdo branco R, era gerado no domınio do tempo;
2. Filtragem pelo bloco AE: O ruıdo R era convolvido com os coeficientes do filtro
3http://www.mathworks.com/
3.2 Desenvolvimento do Filtro NC 29
correspondente ao bloco AE com ordem muito elevada, o resultado era salvo como
P1 ;
3. Filtragem pelo bloco AM, NC e DE: O mesmo ruıdo R era convolvido com os
coeficientes do filtro correspondente ao bloco AM, seu resultado convolvido com o
filtro NC e o mesmo ocorrendo com o filtro DE, o resultado salvo como P2 ;
4. Sobreposicao e analise: Os resultados finais dos dois caminhos, P1 e P2 eram
analisados e sobrepostos para analise do ruıdo residual e o resultado era arquivado.
No segundo caminho, todos os subprodutos de cada bloco tambem ficavam salvos caso
necessario para visualizacao. As transformacoes dos sinais para o domınio da frequencia
foram feitos utilizando-se da transformada de Fourier (LATHI, 2007).
A frequencia de trabalho do sistema e de 44,1kHz, pois representa uma faixa que ja
se consolidou tradicional para trabalhos com audio. Sem restricoes de tempo de processa-
mento, pode-se observar na Figura 3.7 que a atenuacao media (eixo vertical) entre 10Hz
e 2kHz obtida, alcanca a casa de 30dB dependendo da quantidade de bits de quantizacao
e da ordem do filtro (eixo horizontal). A Figura mostra ordens que variam de 20 ate 900
para o mesmo filtro, quantizado de 8 a 20 bits.
Figura 3.7: Atenuacao media alcancada para filtros com alta ordem
Considerando um caso mais realıstico e analisando as limitacoes fisicas e tambem as
eletronicas do sistema, deve-se achar um valor maximo para a ordem do filtro NC. Para
isso, considera-se tres fatores:
• Frequencia do sistema;
3.2 Desenvolvimento do Filtro NC 30
• Distancia entre o microfone e o auto-falante (caminho eletrico e digital);
• Velocidade de propagacao do som.
Sendo a frequencia do sistema igual a 44,1kHz e a velocidade de propagacao do som
no ar de 340m/s, calcula-se que o tempo de propagacao para uma distancia de 3cm
aproximadamente (distancia arbitrada entre o microfone e o auto-falante) seja de 176µs.
Entao, considerando a taxa do sistema, para evitar o maximo possıvel de atraso entre os
sinais dos dois caminhos pode-se estimar a ordem maxima do filtro como sendo 8.
Dessa forma, tem-se a limitacao para o desenvolvimento do filtro, sua ordem deve ser
igual a 8. Isso forcara com que o ruıdo captado chegue na mesma posicao do auto-falante
quando ele ja tiver sido processado e funcione como um anti-ruıdo, chegado aos resultados
desejados4.
Como os resultados mostrados na Figura 3.7 nao podem mais ser considerados, o
programa escrito no MATLAB para gerar os coeficientes do filtro foi alterado para rodar
o comando fir2 com ordem 8. Apos essa alteracao, antes de analisar o desempenho do
filtro, verificou-se que com tal ordem o filtro gerado pela funcao nao era capaz de se
aproximar do formato do filtro original (Figura 3.6). Para exemplificar, a Figura 3.8
mostra o formato do filtro gerado pelo MATLAB quando com ordem 100. Neste caso,
ja e possıvel notar que as baixas frequencias do formato do filtro original (entre 10Hz e
40Hz) nao estao correspondendo. Como sabe-se que a ordem do filtro esta diretamente
relacionada ao casamento entre o formato original (desejado) e o desenvolvido pela funcao
fir2 observou-se que ordem tao baixa, mesmo sendo a maxima permitida pelo sistema,
deveria ser analisada mais detalhadamente.
O formato do filtro calculado pela funcao fir2 era praticamente uma resposta plana
em todo o espectro comparando com o formato original (SCHLICHTING, 2012) quando com
ordem 8. Observando isso, duas alternativas foram buscadas para solucionar o problema.
Alem de outras alternativas testadas para desenvolver o filtro, a solucao encontrada para
o problema do casamento foi separar o filtro em dois sub-sistemas e observar seu compor-
tamento.
Ao dividir o filtro em um filtro passa-altas e um passa-baixas (SHENOI, 2006), e ne-
cessario respeitar a limitacao da ordem imposta pelo sistema. Dessa forma, na melhor das
4Simulacoes mostraram que uma diferenca de aproximadamente 40µs podem ser aceitaveis entre osdois caminhos. Porem, afirma-se que sao necessarios testes fısicos em ambientes reais com medidoresespecıficos para uma conclusao definitiva sobre o delay no sistema (SCHLICHTING, 2012)
3.2 Desenvolvimento do Filtro NC 31
Figura 3.8: Problema de casamento entre o filtro desejado e obtido. Frequencia em rad.e ganho linear
hipoteses, cada um dos filtros, mostrados com sua forma ideal e suavizada (SCHLICHTING,
2012) na Figura 3.9, poderia ter ordem 4.
Figura 3.9: Separacao da forma original do filtro NC em um filtro passa-altas e umpassa-baixas
Dessa maneira, poderia-se optar por convolver os resultados ou deixa-los como dois
sistemas separados. Como observado na Figura 3.9, a forma original foi suavizada para
evitar variacoes pequenas, isso nao influenciou nos resultados, uma vez que essas pequenas
variacoes necessitam de altas ordens para se realizarem na pratica.
O resultado final mostrou que em nenhuma combinacao de ordens, mesmo quando
testadas com maiores que 8, o filtro com o formato passa-baixas conseguiu ser realizado
3.2 Desenvolvimento do Filtro NC 32
com um ganho praticamente constante na altura de aproximadamente 3dB, e o filtro do
formato passa-altas podia ser realizado, com algumas modificacoes (SCHLICHTING, 2012),
com ordem 8. Considerando as caracterısticas do sistema, os testes realizados e a banda de
interesse no sistema entre DC e 2kHz, foi possıvel implementar um unico filtro passa-altas
realizando pequenas alteracoes no formato do filtro para todo o sistema.
Primeiramente, ignorou-se o filtro passa-baixas compensando o ganho quase linear
de aproximadamente 3dB na magnitude filtro passa altas. Em seguida, verificou-se o
comportamento das frequencias acima de 2kHz e como elas influenciavam no casamento
das formas e no desempenho do filtro quando variavam arbitrariamente. Com isso, chegou-
se a conclusao de que apenas o filtro com formato passa-altas, adaptado, oferecia o melhor
resultado e poderia ser implementado em hardware (SCHLICHTING, 2012). O documento
que detalha as alteracoes minuciosas que levaram a resposta final do filtro e um documento
interno e pertencente a Fachhochschule Karnten.
A atenuacao do ruıdo atingida na faixa de interesse foi na media, de 9,6dB , sendo
os resultados mais pontuais medios de 20,1dB entre DC e 200Hz, 9,36dB entre 200Hz e
900Hz, 13dB entre 900Hz e 1,4kHz e 3,31dB entre 1,4kHz e 2kHz. As frequencias acima
de 2kHz variaram positivamente em 2dB do valor original de magnitude.
33
4 Implementacao em Hardwaredo Filtro
Apos o desenvolvimento do filtro, iniciou-se o processo de implementacao em hardware.
Primeiramente utilizando a estrutura tradicional de um filtro FIR a uma taxa de 44,1kHz
e em seguida adaptando a estrutura para trabalhar a uma taxa de 2,8MHz utilizando
diretamente o sinal digital proveniente de um modulador do tipo sigma-delta. Ao fim de
cada implementacao obtem-se resultados de area e consumo de energia utilizados para a
implementacao do filtro desenvolvido.
4.1 Implementacao em Hardware do filtro NC - PCM
Com os coeficientes do filtro em seu formato final prontos, iniciou-se as etapas ne-
cessarias para sua implementacao. A primeira foi gerar o codigo que seria implementado.
Esse codigo foi gerado pelo MATLAB utilizando o toolbox HDL Coder. Essa ferramenta
gera um codigo em linguagem VHDL (VHSIC hardware description language - Lingua-
gem de descricao de hardware VHSIC), uma linguagem de codigo especıfica para projetar
circuitos digitais em hardwares (PEDRONI, 2004). O filtro possui ordem 8 e por uma
especificacao do conversor analogico digital que sera tratada mais adiante, possui 20 bits
de entrada e saıda.
O codigo gerado contem agora os coeficientes do filtro NC gerados pelo MATLAB
e sera implementado conforme uma serie de passos detalhados na sequencia. Os passos
para uma implementacao tıpica de um circuito digital em VHDL sao (PEDRONI, 2004;
KOEBERLE, 2011):
• Criacao do codigo VHDL: O objetivo e escrever ou gerar um codigo que possa ser
sintetizado. Para isso, pode-se utilizar ferramentas especıficas como o HDL Coder
ou editores de texto simples como o gedit ou o vi.
4.1 Implementacao em Hardware do filtro NC - PCM 34
• Simulacao RTL: A simulacao RTL (Register Transfer Level - Nıvel de transferencia
de registros) serve para que, atraves de testes especıficos, tambem escritos em VHDL,
possa se garantir o comportamento do circuito como desejado. Essa verificacao e
feita atraves de um simulador logico, como o Modelsim1, utilizado neste projeto.
• Sıntese RTL: O processo de sıntese RTL aplica na descricao do circuito em VHDL
uma serie de limitacoes a nıvel dos componentes, como dimensoes litograficas (ta-
manho dos componentes fabricados no silıcio), consumo de energia, temporizacoes,
etc. Essas especificacoes sao inseridas atraves de ferramentas especıficas do kit de
desenvolvimento, e sao fornecidas diretamente por fabricantes ou companhias deten-
toras de propriedade intelectual. Neste projeto, utiliza-se uma biblioteca fornecida
pela austriamicrosystems2 especıfica para o software utilizado, o Design Compiler 3.
O software fornece os seguintes resultados:
– Um netlist em VHDL utilizada para simulacoes pos-sıntese. Uma netlist contem
informacoes sobre os componentes utilizados pelo circuito e como eles estao in-
terconectados, alem de informacoes sobre pinagem e alimentacao.
– Um netlist em VERILOG, uma outra linguagem para descricao de hardware,
que pode ser utilizado para simulacoes pos-sıntese ou roteamento e alocacao
de componentes.
– Uma descricao SDF que contem todas as informacoes sobre delay de circuito
para simulacoes. As informacoes de delay desta etapa sao apenas para os
componentes. Para as interconexoes nao se assume nenhum delay nesta etapa.
• Simulacao pos-sıntese: Utiliza as informacoes do codigo VERILOG ou VHDL
gerado do passo anterior, alem do uso das informacoes sobre delay para os compo-
nentes logicos do circuit do arquivo SDF. E importante verificar esse passo, pois
apos a sıntese RTL e aplicacao das caracterısticas fısicas de implementacao, o cir-
cuito pode nao se comportar da mesma maneira, principalmente devido a delays
internos no circuito. Para esta etapa utiliza-se o Modelsim.
• Roteamento e alocacao de celulas fısicas: Esse passo faz a implementacao fısica
dos componentes descritos no netlist a nıvel do transistor. Nessa etapa, podem ser
implementadas trilhas de metal destinadas a alimentacao (VCC), alem de aterra-
mento (GND). Tambem e possıvel definir em um chip, sua area de interconexao e
1http://www.mentor.com/products/fv/modelsim/2http://www.austriamicrosystems.com/3http://www.synopsys.com/home.aspx
4.1 Implementacao em Hardware do filtro NC - PCM 35
pinagem externa. Para essa etapa, foi utilizado o software Velocity/Encounter 4, que
fornece os seguintes resultados.
– O leiaute do circuito em um arquivo do tipo GDS II. Esse arquivo contem
as informacoes necessarias para a fabricacao de montagem e fabricacao de um
chip de silıcio.
– Um netlist VERILOG utilizado para a simulacao pos-leiaute.
– Uma descricao SDF que contem as informacoes de delay dos componentes e
interconexoes entre os mesmos.
• Simulacao pos-leiaute: Utiliza as informacoes do netlist e do arquivo SDF para
verificar o comportamento do circuito com todas as caracterısticas fısicas dos com-
pontentes em acao. Utiliza-se o Modelsim nesta etapa conforme (KOEBERLE, 2011).
O circuito gerado em VHDL pode ter como fim a implementacao em um chip de silıcio.
Por possuir diversas caracterısticas integradas em um mesmo chip, incluindo conversores,
filtros, controle, esse chip pode ser considerado um VLSI (Very-large-scale integration -
Integracao em grande escala).
Apos a geracao do arquivo HDL, a simulacao RTL ocorreu utilizando o Modelsim.
Primeiramente, como descrito acima, foi escrito um segundo codigo no formato VHDL
para ser responsavel por executar as rotinas de teste necessarias. Para esta etapa do
projeto, decidiu-se por testar o codigo VHDL atraves de senoides geradas no Matlab e
importadas para um formato texto na forma hexadecimal. Estas senoides representariam
frequencias especıficas da faixa de interesse do projeto. Estes sinais eram importados pelo
arquivo de testes e processados pelo filtro descrito em VHDL no Modelsim. O resultado
foi salvo tambem na forma texto e comparados novamente no Matlab. A Figura 4.2
mostra os resultados dos sinais no primeiro e segundo caminhos utilizando todos os blocos
simulados no Matlab. Ja a Figura 4.1 mostra o mesmo resultado, no entanto, substituindo
o bloco NC pela implementacao em VHDL, simulada no Modelsim. Como as duas Figura
s mostram sinais correspondentes, o codigo VHDL mostrava-se correto. Os codigos sao
propriedade da instituicao onde o trabalho foi realizado.
Foi muito importante durante a escrita do codigo de testes assegurar que a frequencia
de clock gerada no arquivo correspondia a frequencia do sistema e dos sinais amostrados
no Matlab. Diversos erros podem mostrar resultados errados caso esse cuidado nao seja
considerado.4http://www.cadence.com/us/pages/default.aspx
4.1 Implementacao em Hardware do filtro NC - PCM 36
Figura 4.1: Saıda do filtro NC simulado e analisado no Matlab. O filtro VHDL deve terresultado equivalente a este. Amostras no eixo x e Amplitude no eixo y
Figura 4.2: Saıda do filtro NC VHDL simulado no MODELSIM e analisado noMATLAB. Amostras no eixo x e Amplitude no eixo y
4.1 Implementacao em Hardware do filtro NC - PCM 37
O codigo principal utilizado para testes, chamado de testbench, inclui o mapeamento
das portas do filtro, geracao do sinal de clock, geracao do sinal de reset, leitura do sinal
de entrada e escrita do sinal de saıda.
A sıntese logica do sistema foi executada a seguir assim como a simulacao pos-sıntese.
Da mesma maneira que o codigo VHDL foi verificado na simulacao RTL, ele foi verificado
apos o processo de sıntese. No entanto, foi utilizado o netlist VHDL, no lugar do VHDL
original, junto ao arquivo SDF descrito anteriormente. Os resultados sao identicos aos
resultados das Figura s 4.2 e 4.1.
Apos a sıntese RTL e sua verificacao, foi efetuado o processo de leiaute do circuito.
Esta etapa sera diretamente relacionada as dimensoes finais do circuito, pois nela pode-se
mudar manualmente diversos fatores como quantidade de camadas de metal utilizadas,
distribuicao de alimentacao entre os metais, area do nucleo, area de interconexoes e pina-
gens. No entanto, deve-se verificar todos os processos passo-a-passo, pois a ma distribuicao
das celulas fısicas do circuito podem gerar espacos nao utilizados ou gerar sobreposicao de
celulas, causando violacoes. Alguns processos sao otimizados durante o processo diversas
vezes, como a distribuicao das celulas para uma arvore de clock mais eficiente e um rote-
amento mais dinamico. Ao fim do processo, tem-se como resultado o arquivo GDSII que
pode ser enviado a fabricacao do componente e os arquivos necessarios para a verificacao
pos-leiaute. A Figura 4.3 mostra o resultado do leiaute do circuito no software. Em branco
aparece a arvore de clock, em azul, vermelho e verde as interconexoes das 3 camadas de
metal da tecnologia de hardware (C35, da Austriamicrosystems) implementadas, elas co-
nectam as celulas fısicas que possuem os registradores e todos os outros componentes do
circuito. Nos lados esquerdo e direito ve-se as conexoes de entrada e saıda e abaixo a
entrada do sinal de clock.
Apos o leiaute executou-se a verificacao com os arquivos correspondentes e os resulta-
dos novamente se mostraram corretos (SCHLICHTING, 2012) e podem ser vistos da mesma
maneira que nas Figura s 4.2 e 4.1.
Com a execucao dos passos de sıntese RTL e leiaute, e possıvel obter um relatorio
com as informacoes de area necessaria para o circuito. No entanto, o relatorio gerado pelo
Encounter e mais preciso por abranger mais informacoes fısicas do circuito. Para esse
projeto, na implementacao a taxa PCM trabalhando a 44,1kHz, o circuito do filtro ocupa
uma area de 333,4mm2.
Para simular o consumo de energia do circuito e necessario o uso do software Velo-
city/Encounter. Ele gera atraves do Modelsim um relatorio de chaveamento do circuito,
4.1 Implementacao em Hardware do filtro NC - PCM 38
Figura 4.3: Apresentacao do resultado do leiaute do circuito no Encounter
esse relatorio e analisado pelo software e utiliza as informacoes da biblioteca como o tipo
de alimentacao do circuito, no caso 3,3V para gerar um relatorio do consumo de energia
dinamico.
O consumo de energia dinamico e calculado atraves da energia dissipada durante
as mudancas de estado dos clocks dos transistores de um circuito integrado (RABAEY;
CHANDRAKASAN; NIKOLIC, 2003). Esta energia pode ser calculada integrando o con-
sumo instantaneo da fonte ao longo de um perıodo como mostra a Equacao4.1 (RABAEY;
CHANDRAKASAN; NIKOLIC, 2003). Uma simplificacao modelo do circuito basico utilizado
pode ser visto na Figura 4.4. O capacitor nao representa um componente fısico, mas um
conjunto de capacitancias implıcitas dos componentes do chip.
EV DD =∫ ∞0
ivdd(t)VDDdt = VDD
∫ ∞0
CLdvoutdt
dt = CLVDD
∫ VDD
0dvout = CLV
2DD (4.1)
Basicamente multiplica-se o resultado da Equacao4.1 pela taxa do sistema e tem-se
o consumo do circuito. No entanto, nem todos os componentes sao utilizados em cada
perıodo de clock, resultando em uma economia de energia. Para compensar esse fator,
muito comum em circuitos mais modernos, utiliza-se uma variavel 0 ≤ A ≤ 1, chamada
de fator atividade e dependente da tecnologia de fabricacao utilizada, como mostra a
4.2 Implementacao em Hardware do Filtro NC - Bit stream 39
Figura 4.4: Circuito modelo equivalente para uma transicao 0 para 1 (RABAEY;
CHANDRAKASAN; NIKOLIC, 2003)
Equacao4.2.
P = ACLVDD2f (4.2)
Esse processo todo pode ser simulado por software. O relatorio de chaveamento do
circuito, chamado de relatorio de atividade, deve ser gerado somente quando ha atividade
no circuito, caso contrario, havera perıodos de tempo que contabilizarao no total, mas
nao possuıram nenhuma atividade no circuito. No caso do filtro gerado, a simulacao para
gerar o relatorio foi feita ate o fim da leitura do arquivo com os sinais de entrada.
Apos gerar o relatorio de atividades, o Velocity/Encounter fornece o consumo do
circuito. Para o filtro NC PCM a taxa de 44,1kHz o consumo do circuito do filtro foi de
7,44µW (SCHLICHTING, 2012).
4.2 Implementacao em Hardware do Filtro NC - Bit
stream
A segunda forma implementada do filtro NC, tem como objetivo diminuir os recursos
de hardware necessarios, eliminando o uso dos filtros interpolador e decimador. Isso
e possıvel, como tratado anteriormente, utilizando diretamente a saıda do modulador
Sigma-Delta como entrada do filtro, um Sigma-Delta loop para ajustar o tamanho do
sinal e um demodulador sigma-delta na conversao DA, conforme as Figuras 2.10 e 2.11.
As informacoes do filtro sao exatamente as mesmas, mudando apenas a implementacao
em hardware com linguagem VHDL. Uma vez que o codigo HDL do filtro anterior foi
gerada automaticamente atraves de uma ferramenta do Matlab, o codigo para o filtro
4.2 Implementacao em Hardware do Filtro NC - Bit stream 40
ANC Bit stream foi escrito manualmente. Os quadros de codigo 4.1 e 4.2 mostram a
implementacao dos registradores e multiplexadores respectivamente5.
Quadro 4.1: Implementacao dos registradores z−64
process ( c l k i n , r e s e t )
begin
i f r e s e t = ’1 ’ then
REG1 <= (OTHERS => ’ 0 ’ ) ;
REG2 <= (OTHERS => ’ 0 ’ ) ;
REG3 <= (OTHERS => ’ 0 ’ ) ;
REG4 <= (OTHERS => ’ 0 ’ ) ;
REG5 <= (OTHERS => ’ 0 ’ ) ;
REG6 <= (OTHERS => ’ 0 ’ ) ;
e l s i f c l k i n ’ event and c l k i n = ’1 ’ then
i f c l k e n a b l e = ’1 ’ then
REG1(63) <= inputreg ;
for i in 0 to 62 loop
REG1( i ) <= REG1( i +1);
REG2( i ) <= REG2( i +1);
REG3( i ) <= REG3( I +1);
REG4( i ) <= REG4( i +1);
REG5( i ) <= REG5( i +1);
REG6( i ) <= REG6( i +1);
end loop ;
REG2(63) <= REG1( 0 ) ;
REG3(63) <= REG2( 0 ) ;
REG4(63) <= REG3( 0 ) ;
REG5(63) <= REG4( 0 ) ;
REG6(63) <= REG5( 0 ) ;
end i f ;
end i f ;
end process ;
Quadro 4.2: Implementacao dos multiplexadores
m1 <= ”b0” when i nputreg = ’0 ’ else ”−b0” ;
m2 <= ”b1” when REG1(0) = ’0 ’ else ”−b1” ;
m3 <= ”b2” when REG2(0) = ’0 ’ else ”−b2” ;
m4 <= ”b3” when REG3(0) = ’0 ’ else ”−b3” ;
m5 <= ”b4” when REG4(0) = ’0 ’ else ”−b4” ;
m6 <= ”b5” when REG5(0) = ’0 ’ else ”−b5” ;
m7 <= ”b6” when REG6(0) = ’0 ’ else ”−b6” ;
5Os coeficientes foram substituıdos por b0, b1, ... , bn
4.2 Implementacao em Hardware do Filtro NC - Bit stream 41
Da mesma forma como descrito no capıtulo 3 para o filtro NC PCM, o codigo escrito
precisou ser testado quanto ao seu funcionamento. A simulacao RTL foi executada, no
entanto os arquivos de teste, testbenchs, necessitaram de adaptacoes. Apos os ajustes foi
elaborado um sistema para verificar o funcionamento do codigo HDL do filtro.
Os testes do filtro NC bit stream devem ser feitos utilizando um sinal de entrada
de apenas um bit por amostra e este sinal deve ser gerado pelo modulador Sigma-Delta
desenvolvido por (WANG et al., 2010). A interpretacao dos dados deve ser feita atraves
de um processo especial, uma vez que o sinal digital nao passa a mesma informacao
visualmente comparando com as senoides dos testes do filtro NC PCM.
Para resolver o problema do sinal de entrada, utilizou-se arquivos com sinais digitais de
um bit resultantes do desenvolvimento do projeto de (WANG et al., 2010). Cada um destes
arquivos continha uma senoide digitalizada na forma de um unico bit pelo modulador
Sigma-Delta. Para interpretar a saıda do filtro, utilizou-se um calculador de SNR (Signal-
Noise Ratio - Relacao Sinal-Ruıdo) para analisar a forma espectral do sinal, alem do filtro
decimador do conversor Sigma-Delta. O processo de teste do filtro NC em stream de bit
esta descrito na Figura 4.5.
Figura 4.5: Esquema para simulacao RTL do filtro ANC Bitstream
Um arquivo .txt com a forma digitalizada em um bit de um seno e importada para
o Matlab. Esse sinal passa entao por um filtro decimador e por um calculador de SNR
que mostra a frequencia e a amplitude do sinal equivalente ao ruıdo e o ruıdo do sistema.
Esse mesmo sinal e importado para o Modelsim para a simulacao RTL. A saıda do filtro e
por sua vez levada ate o MATLAB onde o sinal, desta vez com 9 bits devido a estrutura e
coeficientes do filtro NC Bitstream e, da mesma forma, analisada pelo filtro decimador e
4.2 Implementacao em Hardware do Filtro NC - Bit stream 42
calculador de SNR. Os sinais sao comparados para verificar a amplitude da representacao
do ruıdo e conferir se o filtro esta atuando como sua versao PCM. Para os testes realizados
o filtro atuou como previsto.
Do mesmo modo que o filtro NC PCM, foram executados todos os processos de si-
mulacao pos-sıntese, leiaute, simulacao pos-leiaute e calculo de area e energia (SCHLICH-
TING, 2012). O resultado do leiaute do filtro NC bit stream resultou em um circuito
com area de 182mm2. Ja o consumo de energia, calculado pelo Velocity/Encounter foi de
633µW.
43
5 Conclusoes
Analisando os processos e resultados, pode-se verificar que o desenvolvimento das
duas estruturas do filtro NC comportou-se de forma esperada, uma vez que o filtro PCM
possui menos registradores ele consumira menos energia. O primeiro filtro implementado
conseguiu um consumo de energia de 7,4µW, e o filtro implementado superamostrado
consumiu 633µW.
No entando, o uso do filtro para processamento PCM e utilizacao do conversor sigma-
delta necessitam obrigatoriamente do uso dos filtros interpolador e decimador para ajustar
a taxa do sinal para a frequencia correta em cada etapa do processo. Isso traz um consumo
extra de energia do circuito de aproximadamente mais 900µW, de acordo com a informacao
do coordenador do projeto na instituicao. Isso torna o consumo total do circuito necessario
para a implementacao do filtro muito maior.
A area ocupada em hardware e de 182mm2 para o filtro bit stream e 333mm2 para
o filtro PCM. Mais uma vez observa-se vantagem de se trabalhar o sistema com uma
frequencia mais elevada.
Conclui-se assim, que consegue-se obter uma economia de aproximadamente 45,34%
em area, desconsiderando os acrescimos que os filtros interpolador e decimador teriam
sobre o circuito todo, e 30,24% em consumo de energia para o sistema descrito neste
trabalho a favor do filtro implementado a taxa de 2,8MHz (bit stream) implementado
neste TCC.
Para trabalhos futuros, sugerem-se o estudo e a implementacao da fase do filtro utili-
zando a estrutura que este trabalho demonstra ser mais favoravel em custos de hardware.
44
Referencias
KOEBERLE, M. CAD Tools - Semicustom Top-Down Design Flow. Villach, Carinthia,Austria, 2011.
KUO, S. M.; MORGAN, D. Active Noise Control Systems: Algorithms and DSPImplementations. New York, NY, USA: John Wiley & Sons, Inc., 1995. ISBN0471134244.
LATHI, B. P. Sinais e Sistemas Lineares. 2nd. ed. Porto Alegre, RS, Brasil: ARTMEDS.A., 2007.
PEDRONI, V. Circuit Design With VHDL. [S.l.]: Mit Press, 2004. ISBN 9780262162241.
RABAEY, J.; CHANDRAKASAN, A.; NIKOLIC, B. Digital Integrated Circuits: adesign perspective. [S.l.]: Pearson Education, 2003. (Prentice Hall electronics and VLSIseries).
SCHLICHTING, A. L. Final Intern Report - VHDL ANC filter design. Villach,Carinthia, Austria, 2012.
SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. New Jersey,USA: John Wiley & Sons, Inc., 2006. ISBN 39780471464822.
SMITH, S. Digital Signal Processing: A Practical Guide for Engineers and Scientists.[S.l.]: Newnes, 2003. (Demystifying Technology Series). ISBN 9780750674447.
WANG, Y. et al. Third order delta sigma modulator for portable audio. In: Austrochip,Workshop on Microelectronics. Villach, Carinthia, Austria: Fachhochschule Kaernten,2010. ISBN 9783200019454.
ZHANG, C. Simulation on the Filter Design for ANC. Villach, Carinthia, Austria:Fachhochschule Kaernten, 2011.
ZOELZER, U.; AMATRIAIN, X. Dafx - Digital Audio Effects. [S.l.]: Wiley, 2002. ISBN9780471490784.