View
219
Download
1
Category
Preview:
Citation preview
UNIVERSIDADE FEDERAL DO PARANÁ
SETOR DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
OTÁVIO NOGUEIRA CASAGRANDE
CONCEPÇÃO MISTA DE UM AMPLIFICADOR ÁUDIO CLASSE D DIGITAL PARA
TELEFONIA MÓVEL
CURITIBA
2011
ii
OTÁVIO NOGUEIRA CASAGRANDE
CONCEPÇÃO MISTA DE UM AMPLIFICADOR ÁUDIO CLASSE D DIGITAL PARA
TELEFONIA MÓVEL
Trabalho de Conclusão de Curso de Engenharia Elétrica, Departamento de Engenharia Elétrica, Setor de Tecnologia, Universidade Federal do Paraná. Orientador: Prof. Dr. Marlio José do Couto Bonfim.
CURITIBA
2011
iii
OTÁVIO NOGUEIRA CASAGRANDE
CONCEPÇÃO MISTA DE UM AMPLIFICADOR ÁUDIO CLASSE D DIGITAL PARA
TELEFONIA MÓVEL
MONOGRAFIA APRESENTADA AO CURSO DE ENGENHARIA ELÉTRICA, DA
UNIVERSIDADE FEDERAL DO PARANÁ, COMO REQUISITO À OBTENÇÃO DO
TÍTULO DE GRADUAÇÃO.
COMISSÃO EXAMINADORA
CURITIBA, JULHO DE 2011.
XPROF. DR. MARLIO JOSÉ DO COUTO BONFIM
ORIENTADOR
XPROF. DR. MARCELO ROSA
CONVIDADO
XPROF. DR. ANDRÉ AUGUSTO MARIANO
CONVIDADO
iv
AGRADECIMENTOS
Quero aproveitar este espaço para agradecer as pessoas que me ajudaram
direta ou indiretamente a concluir este trabalho de graduação.
Ao professor e orientador Marlio pelo seu apoio e atenção que me foi dado,
sempre compreensivo.
Também gostaria de agradecer ao professor Horácio, que de forma indireta
me auxiliou nesta conquista.
Ao professor Gael Pillonnet e Angelo Nagari, pela oportunidade de realizar
este trabalho na ST-Ericsson e pelo apoio que me foi dado.
A Remy Cellier, por ter confiança no meu potencial e pela sua ajuda direta
com sua experiência e paciência, obrigado pela sua amizade.
A Simon Valcin que me apoiou com sua experiência em validação no
laboratório, que também virou um bom amigo.
Um agradecimento especial a Laís Furiati, que me apoiou nas horas mais
difíceis e ajudou na revisão deste relatório, muito obrigado!
E também a aqueles em que sou eternamente grato, meus pais e meus
irmãos que sempre me apoiaram sem medir esforços, sendo sua importância tão
relevante que me falta palavras para descrever. Obrigado pelo amor e carinho em
todos os momentos, sem vocês nada disso seria possível.
v
Em memória da minha avó Izabel.
vi
SUMÁRIO
RESUMO ..................................................................................................................... 8
ABSTRACT ................................................................................................................. 9
1 INTRODUÇÃO ....................................................................................................... 10
2 OBJETIVOS E ESPECIFICAÇÃO ......................................................................... 12
3 DESENVOLVIMENTO ............................................................................................ 15
3.1 INTERPOLADOR............................................................................................. 16
3.2 DECIMADOR ................................................................................................... 21
3.3 FILTRO CIC ..................................................................................................... 24
3.3.1 Integrador ................................................................................................ 24
3.3.2 Filtro comb ............................................................................................... 25
3.3.3 Estrutura Final ......................................................................................... 26
4.4 MODULAÇÃO DIGITAL ................................................................................... 29
4.4.1 Introdução ................................................................................................ 29
4.4.2 Ruído ........................................................................................................ 29
4.4.3 Sigma-Delta.............................................................................................. 31
4.4.4 MASH ........................................................................................................ 32
4.4.5 PWM ......................................................................................................... 33
4.4.5 DPWM ....................................................................................................... 34
4.4.5.1 Imperfeições do DPWM ...................................................................... 35
4.4.5.2 DPWM Ternário .................................................................................. 35
vii
5 IMPLEMENTAÇÃO ................................................................................................ 37
5.1 SHIFT-ADD ...................................................................................................... 37
5.2 INTERPOLAÇÃO ............................................................................................. 38
5.2.1 FIR ............................................................................................................ 39
5.2.2 Interpolador ............................................................................................. 41
5.3 DECIMAÇÃO ................................................................................................... 42
5.4 MASH .............................................................................................................. 45
5.5 DPWM ............................................................................................................. 46
6 RESULTADOS ....................................................................................................... 50
6.1 INTERPOLAÇÃO ............................................................................................. 50
6.2 DECIMADOR E MASH .................................................................................... 51
6.3 AMPLIFICADOR EM MALHA ABERTA ............................................................ 53
7 CONCLUSÃO ........................................................................................................ 62
REFERÊNCIAS ......................................................................................................... 63
8
RESUMO
Amplificadores são circuitos eletrônicos projetados para aumentar a tensão e
potência de um sinal elétrico. São encontrados em praticamente todos os tipos de
circuitos eletrônicos, podendo ser considerados como uma das bases da eletrônica.
Diversas áreas utilizam este componente, como exemplo a área de automação,
medição, conversão, transmissão de informação entre outros. Focando a aplicação
áudio, uma larga variedade de classes de amplificadores é utilizada. A linearidade de
amplificação é uma característica desejável, portanto amplificadores de classes
lineares (Classe-A, B) são historicamente os mais comuns. Com a evolução do
mercado de equipamentos portáteis (Celulares e tocadores MP3), os fabricantes
buscam opções de amplificadores com maior rendimento, possibilitando menor
consumo de bateria. Amplificadores chaveados, como o Classe-D são almejados
pela sua diminuição expressiva no consumo estático de potência (não necessita de
polarização); porém sua qualidade sonora de saída é degradada. Algumas
operações são feitas no sinal com o intuito de melhorar a qualidade, como por
exemplo, modulações e filtragens. Como amplificadores Classe-D são geralmente
analógicos, o sinal de áudio digital segue para um conversor digital-analógico para
finalmente poder ser utilizado pelo amplificador. Este trabalho de graduação consiste
em criar um amplificador classe-D totalmente digital, tendo todas as operações de
modulações, filtragens e controle no domínio digital. Isto possibilita uma maior
integração do circuito final e a eliminação do conversor digital-analógico situado
entre o microcontrolador e o amplificador, diminuindo custo de fabricação e consumo
de potência em relação aos classe-D convencionais.
9
ABSTRACT
Amplifiers are electronics circuits projected to basically amplify the voltage of
an electric signal. Its operation is of fundamental importance and it can be
considered as one of the basis of electronics. As a consequence, its application is in
practically all types of electronics devices. Many areas need this component, as
automation, measuring, conversion, signal transmission and many others.
Focusing on audio field, a large variety of amplifiers classes are used. The
linearity of amplification is a desired characteristic, which made linear classes (class-
A, class-B) historically the most common amplifier in this area. As the market of
portable devices (cellular phones, MP3 players) evolve, manufacturers research
ways to develop amplifiers with better efficiency, dropping battery consumption.
Switched amplifiers, as the Class-D are suitable due to its expressive diminution in
static power consumption (doesn’t require polarization), but its sound quality drops.
Some signal operations are dedicated to increase the sound quality, like modulations
and filtering.
Class-D Amplifiers are commonly analog, the digital signal leaving the
microcontroller follows a digital-analog convertor to be finally used by the amplifier.
The objective of this work is to create a digital class-D amplifier likely to be
closed loop, having all its modulations and filtering inside its digital chip, allowing
higher final circuit integration, reducing fabrication costs and power consumption,
compared to conventional class-D amplifiers.
10
1 INTRODUÇÃO
Este trabalho de conclusão de curso é baseado em amplificadores de áudio,
mais precisamente equipamentos que utilizam baterias como fonte de energia. Por
sua necessidade de linearidade, qualidade e fidelidade sonora, sem contar os efeitos
de EMI, os amplificadores de som são tipicamente de classes lineares (Classe-A,
Classe-B, ClasseAB). Porém, este tipo de topologia apresenta baixo rendimento e,
portanto, consumo maior de energia, tornando-se inviável em aplicações que exigem
baixo consumo energético. Outro aspecto negativo desta tecnologia é a necessidade
de um estágio intermediário entre a fonte de sinal e o amplificador, que é o
conversor digital-analógico, obrigatório para levar o sinal digital a ser amplificado em
modo analógico. Este adiciona custo de fabricação através do aumento da superfície
de silício e contribui para a redução do tempo útil da bateria. A topologia tradicional
deste tipo de tecnologia é apresentada na Figura 1.
Figura 1: Topologia clássica de amplificador áudio para sistemas embarcados.
A proposta deste trabalho é retirar o conversor digital-analógico e utilizar um
amplificador de tipo chaveado para encaminhar o sinal de áudio aos alto-falantes.
Isto significa efetuar um tratamento dos dados em sua totalidade no âmbito digital,
sendo uma tecnologia atual e inovadora. Significa também uma diminuição do
consumo do sistema, retirando o conversor digital-analógico e o amplificador linear
(consumo estático) e substituindo-o por um amplificador chaveado (não linear, que
funciona em modo chave on-off). Esta topologia é apresentada na Figura 2, sendo
𝑉𝑒(𝑛) o sinal áudio de 24bits, 𝑉𝑟 a referência da modulação digital, 𝑉𝑝𝑢𝑙𝑠𝑒sendo
resultante da modulação, 𝑉𝑝𝑠 a saída do amplificador e 𝑉𝑠 o sinal filtrado direcionado
ao alto-falante.
11
Figura 2: Topologia de um amplificador digital.
12
2 OBJETIVOS E ESPECIFICAÇÃO
O objetivo deste trabalho é realizar um amplificador digital tipo Classe-D com as
características finais descritas abaixo:
Linearidade: menor que 0.1% THD+Noise para uma frequência de entrada de
1kHz.
Consumação estática menor que 2mA.
Ruído: SNR maior que 100dB.
Offset: menor que 1mV.
PSRR: maior que 80dB em 217Hz (GSM-Burst).
PSRR: maior que 40dB em 20kHz.
Os estágios foram modelados em Matlab, com seu comportamento validado e
em seguida traduzidos em VHDL e implementados em um módulo FPGA do tipo
Cyclone III, em uma placa de desenvolvimento própria da ST-Ericsson. O suporte
FPGA foi feito através do programa Quartus II. A bancada de testes é composta de
uma alimentação para a placa, um osciloscópio, um UPV (equipamento para
análises de sinal áudio), além de um computador ligado ao FPGA que gerenciou o
teste do protótipo, através de um programa Labview criado pela empresa. Imagens
da bancada e do programa são apresentadas pelas Figuras 3 e 4.
13
Figura 3: Bancada de testes e placa.
14
Figura 4: Interface Homem-Máquina que auxilia o teste.
15
3 DESENVOLVIMENTO
Para realizar um amplificador que possa tratar o sinal de áudio respeitando os
requisitos firmados na especificação do projeto, foi planejada a arquitetura da Figura
5.
Figura 5: Arquitetura do circuito final.
O sinal de entrada é um sinal de áudio codificado em 24 bits. A parte
reservada ao tratamento de sinal será realizada por funções matemáticas baseadas
na transformada Z e aplicadas em um FPGA (Field Programable Gate Array) com a
finalidade de conduzir o sinal às características desejadas. A parte reservada ao
controle é o estágio que assegura a estabilidade do sistema em malha fechada, bem
como as rejeições previstas nas especificações.
Contudo, antes de criar o amplificador realimentado, deve-se criar e testar seu
comportamento em malha aberta, com a finalidade de verificar e aprovar o correto
tratamento digital do sinal. A Figura 6 representa o circuito em malha aberta.
Figura 6: Arquitetura do circuito em malha aberta.
16
Os blocos apresentados na figura 6 são essenciais para o tratamento digital
do sinal. Estes estágios são explicados com detalhes nos tópicos a seguir
3.1 INTERPOLADOR
O objetivo de um interpolador é aumentar a taxa de amostragem do sinal,
sendo de fundamental importância para o bom funcionamento do bloco sigma-delta,
que tem como exigência o funcionamento em modo de super-amostragem. Sua
função é aumentar a quantidade de amostras sem injetar ruídos e sinais
indesejáveis na banda útil do sinal que possam ser danosos em outros estágios do
projeto.
Um interpolador básico funciona como um bloco que adiciona outras amostras
a cada amostra recebida por este. A quantidade de amostras adicionadas será
proporcional à quantidade da relação de interpolação desejada. Nesta
implementação, o valor das amostras adicionadas será igual zero. Por exemplo,
para uma interpolação de razão 3, o interpolador inclui duas amostras de valor zero
a cada amostra recebida.
O que se nota depois de tal manipulação é a necessidade de utilização de um
filtro de tipo passa-baixa para eliminar as repetições do espectro em múltiplas da
frequência de amostragem antiga. Para tal função, a solução mais básica é
apresentada na Figura 7.
Figura 7: Solução básica do problema.
Este efeito de filtragem passa-baixa é criado por uma equação no domínio Z
que tem resposta conhecida como FIR (Finite Impulse Response – Resposta
Impulsional Finita). Sua arquitetura é baseada em atrasos e multiplicações por
coeficientes. Para criar tal filtro com as características de saída aceitáveis, seria
necessária uma quantidade de 106 multiplicações, tornando-se inviável a sua
17
aplicação. Este projeto deve focar a simplicidade, pois complexidade gera maior
área de silício e consequentemente, maior consumo estático de energia e custo de
fabricação. O tamanho do filtro pode ser diminuído, se for feito uma divisão da
interpolação por múltiplos estágios. Porém, o problema de multiplicações ainda
persiste, levando-nos a outra abordagem do problema.
O tipo de interpolador escolhido foi batizado de interpolador linear por
pedaços. Consiste em interpolar entre as amostras de entrada valores que acabam
se transformando em uma reta entre os dois pontos iniciais. É uma interpolação
linear entre duas amostras de entrada. A arquitetura deste tipo de interpolador é
apresentada na Figura 8.
Figura 08: Arquitetura do interpolador linear por pedaços.
O valor da razão de interpolação escolhido para este projeto é igual a oito.
Nesse caso, sete amostras são criadas e alocadas entre as amostras de entrada.
18
Gerar a cadência do sinal de saída, interpolar as novas amostras e calcular seus
respectivos valores é responsabilidade do bloco representado na figura 8.
Seu funcionamento é dividido em estágios básicos. Primeiro a amostra atual e
sua amostra anterior são subtraídas. Em seguida este valor é dividido pela razão de
interpolação, que é a quantidade de amostras que o sinal terá a cada período de
amostragem antigo, sendo nesse caso uma divisão por oito.
O sinal de saída é gerenciado por multiplexadores governados por um clock
de período de 48kHz e de duty cycle de meio período de 384kHz. Desta forma, em
um ciclo de 384kHz os valores são a amostra anterior que é somada com zero, no
resto do tempo a soma é a saída anterior mais o resultado da divisão, sendo a soma
cadenciada pela frequência de saída do interpolador 384kHz. Portanto, o valor inicial
na saída é igual a amostra anterior e em seguida a amostra anterior é somada pelo
valor da divisão até atingir o valor da amostra atual e assim em diante, conforme o
algoritmo abaixo:
Para i=0 a 7:
Se i=0: 𝑉𝑒(8 ∗ (𝑛 − 1) + 𝑖) = 𝑉𝑒(𝑛 − 1) + 0,
Se i= de 1 a 7 : 𝑉𝑒(8 ∗ (𝑛 − 1) + 𝑖) = 𝑖 ∗𝑉𝑒(𝑛−1)−𝑉𝑒(𝑛)
8+ 𝑉𝑒(𝑛 − 1)
A resposta teórica de uma interpolação em pedaços é de tipo sinc quadrado,
como representada a sua simulação em Matlab pela Figura 09. Mesmo não tendo
uma grande rejeição fora da banda passante, o interpolador tem boa performance
nos locais onde o espectro se propaga, ou seja, os múltiplos da frequência de
amostragem, validando a sua aplicação devido a sua rejeição fora da banda.
19
Figura 09: Resposta em frequência do interpolador linear por pedaços.
A resposta em frequência deste interpolador na banda de áudio útil (de 20Hz
a 20kHz) é representada na Figura 10. Percebe-se uma atenuação nas altas
frequências, o que limita a utilização deste interpolador em um projeto de áudio.
20
Figura 10: Resposta em banda passante 20-20kHz.
Nota-se que, até o valor de frequência máxima de sinal útil, o interpolador
linear por pedaços atenua -5dB. Para corrigir este efeito indesejado, foi adicionar um
bloco de pré-ênfase antes da interpolação por pedaços que venha a fornecer um
ganho inversamente proporcional à atenuação que o interpolador efetua. Este bloco
tem estrutura de um filtro de tipo FIR e seu dimensionamento foi efetuado através de
um programa Matlab que foi criado para este propósito. A resposta frequencial deste
filtro é apresentada pela Figura 11.
Figura 11: Resposta frequencial do filtro de pré-correção.
Existem dois motivos de este filtro ser aplicado antes do estágio de
interpolação: i) a frequência de Nyquist de entrada do sinal é proporcional ao
tamanho da banda útil sendo a frequência máxima a ser representada neste caso é
igual a 24kHz, quase igual ao 20kHz da banda áudio ; ii) filtros FIR geralmente têm
coeficientes menores quando a amostragem do sinal tem valor menor pois quanto
maior a frequência de amostragem, maior a banda útil do sinal (de zero à frequência
de Nyquist), obrigando o filtro a ser mais seletivo. A aplicação deste bloco segue a
forma apresentada na Figura 12.
21
Figura 12: Representação do FIR de pré-correção e o interpolador.
Por consequência da aplicação corretiva, a resposta de saída do circuito
equivalente representado pela figura 12 tem resposta em frequência com oscilações
na banda útil inferiores a 0,3dB, sendo aceitável para o propósito deste trabalho.
O filtro de correção é de ordem 9. Isto significa que são necessárias nove
multiplicações para seu funcionamento. Como as multiplicações não são bem
vindas, esta operação é feita pela usando operações de shift-add ou deslocamento-
adição. Assim, as multiplicações são substituídas por deslocamentos de bits e
somadores, não necessitando de blocos específicos à multiplicação. Detalhes desta
substituição são vistos na parte de implementação.
3.2 DECIMADOR
A decimação é uma operação que tem como objetivo a diminuição da
frequência de amostragem de um sinal. Pode-se dizer que ela é equivalente a uma
operação inversa da interpolação. O caso mais básico consiste em simplesmente
não levar em conta algumas amostras e, por consequência, diminuir a frequência de
amostragem. Estas operações tem um parâmetro importante “R”, que consiste na
taxa de redução da amostragem. Uma decimação por dois significa que R vale dois
e, portanto, numa decimação básica, a cada duas amostras uma será
desconsiderada, no caso de uma decimação por quatro, três amostras serão
ignoradas, por oito, sete serão desconsideradas e assim em diante.
Por exemplo, em um sinal sinusoidal decimado por dois, conforme mostra a
Figura 13, os impulsos são obtidos pela amostragem de um sinal. Os que estão em
vermelho são as amostras que ficarão e em azul as que serão desconsideradas. A
Figura 14 mostra a sinusoidal após a decimação.
22
Figura 13: Sinusoidal antes de sofrer decimação.
Figura 14: Sinusoidal depois da decimação por dois.
Pelo ponto de vista espectral, a decimação terá efeito na região onde o
espectro se replica por causa da amostragem. Se o sinal foi amostrado a 𝐹𝑠, o
espectro deste sinal será replicado a cada 𝑛. 𝐹𝑠, mas se sofrer uma decimação por
M, o sinal se replicará a cada 𝑛.𝐹𝑠
𝑀 para todo n inteiro. O mesmo efeito de replicação
que acontece com o sinal também acontecerá com o resto do espectro. Se,
hipoteticamente, um sinal parasita se encontra a 𝐹𝑠/𝑀, com a decimação o espectro
é dividido e sobreposto entre ele, de forma que o sinal que se replicava em 𝐹𝑠 passa
a se replicar em 𝐹𝑠
𝑀 e o parasita que estava em
𝐹𝑠
𝑀 acaba por afetar o espectro do
sinal útil como mostra a Figura 15.
23
Figura 15: Efeito espectral da decimação por dois e interferência parasita.
Uma possível solução para este efeito é a realização de uma filtragem de tipo
passa-baixa antes da decimação do sinal. Desta forma, os parasitas que estão na
região sensível serão atenuados, permitindo a sua recuperação sem depreciar o
sinal conforme a Figura 16.
Figura 16: Filtragem e decimação por dois.
24
Para cumprir o objetivo deste trabalho, o decimador é responsável pela
diminuição da frequência de amostragem, que vai de 3.072kHz (proveniente do
conversor analógico-digital) a 384kHz (frequência na qual o amplificador será
realimentado antes de introduzido ao modulador).
Portanto, a razão de decimação será de 8. O sinal útil a ser transmitido e de
tipo áudio, consiste em uma banda de 20Hz a 20kHz. Estará situado na parte da
realimentação do sistema para ser futuramente controlado. Assim, este bloco não
deve ter atrasos consideráveis em sua propagação de sinal.
A solução de passa-baixa tipo FIR não é visada, pois este filtro necessita de
19 multiplicações.
3.3 FILTRO CIC
Conhecido também como filtros de Hogenauer, sua característica é de não
necessitar de multiplicações e de possibilitar uma montagem sem atraso de
inserção.
Pelo fato de ter uma resposta típica de filtros tipo pente, este poderá atuar
principalmente na zona da região sensível, evitando cálculos complexos de
multiplicação e possibilitando uma diminuição de área de silício necessária. O filtro
de Hogenauer, ou CIC “Cascaded Integrator-Comb” contém três partes básicas que
são constituídos de integradores, decimação e filtragem FIR.
3.3.1 Integrador
Primeiro bloco da estrutura do filtro CIC, o integrador consiste em um filtro IIR
de um pólo simples. Sua resposta impulsional é da seguinte forma:
𝑦[𝑛] = 𝑥[𝑛] + 𝑦[𝑛 − 1]
Através desta equação é possível chegar à seguinte relação:
𝐻1(𝑧) =1
1 − 𝑧−1
Sua resposta frequencial é de tipo passa-baixa com uma queda de -20dB por
década e ganho infinito em DC graças a seu pólo em z=1. Portanto, a utilização de
um integrador simples pode ser instável. Um esquema de integrador é apresentado
na Figura 17.
25
Figura 17: Esquema de um integrador.
Cada bloco necessário para este projeto foi elaborado teoricamente, seguido
pelo modelo Matlab que depois de simulado e validado foi aplicado em VHDL e
implementado em FPGA, sendo testado e validado de acordo com o esperado. O
objetivo inicial deste trabalho era a criação de um amplificador realimentado. Porem,
uma pré-análise da malha prevê um atraso não negligenciável e, por causa disso,
estima-se que um controlador deve ser criado através da teoria de controle por
modelo interno – IMC. Para desenvolver tal circuito, deve se modelar, com grande
precisão, cada bloco da malha. Como alguns blocos ainda não estão prontos, o
controlador não pode ser desenvolvido. Os resultados em malha aberta alcançados
por este amplificador atingem as especificações do projeto, em termos de nível de
ruído e THD. As especificações de rejeição não foram testadas, pois este é o
objetivo da malha fechada.
3.3.2 Filtro comb
Próximo elemento depois da decimação, este bloco é um FIR de tipo passa-
alta e sua arquitetura se encontra na Figura 18.
Figura 18: Arquitetura do bloco filtro FIR.
26
Através do esquema acima é possível determinar a resposta impulsional e a
resposta em z:
𝑦[𝑛] = 𝑥[𝑛] − 𝑥[𝑛 − 1]
𝐻2(𝑧) = 1 − 𝑧−1
3.3.3 Estrutura Final
Finalmente, a arquitetura do filtro CIC é a associação destes blocos básicos. A
ordem do filtro determina a quantidade de blocos em cascata. A Figura 19 ilustra o
esquema de um filtro CIC de terceira ordem.
Figura 19: Filtro CIC de terceira ordem.
Para chegar à equação que determina a resposta do filtro CIC, basta
multiplicar a função de cada filtro. Portanto, a equação se mostra da seguinte forma:
𝐻(𝑧) = (1 − 𝑧−𝑅
1 − 𝑧−1)
𝐾
Sendo K a ordem do filtro.
Através de operações matemáticas, também é possível verificar que este filtro
tem a seguinte representação:
𝐻(𝑧) = (∑ 𝑧−𝑛
𝑅−1
𝑛=0
+
𝐾
Assim, com uma análise da equação acima, torna-se visível que a resposta
do filtro final, mesmo tendo blocos que são de tipo resposta infinita (IIR integradores)
pode ser representado por filtro do tipo resposta finita (FIR). De um ponto de vista
amostral, este filtro faz a soma das amostras em um comprimento proporcional à
razão de decimação e à ordem do filtro. Aproveitando-se desta característica, uma
divisão pelo número de elementos somados resulta no valor médio, o que se traduz
em uma atenuação do sinal pelo valor do coeficiente de decimação R, elevado a
potência da ordem do filtro K.
Portanto a equação final fica:
27
𝐻(𝑧) =1
𝑅𝐾(∑ 𝑧−𝑛
𝑅−1
𝑛=0
+
𝐾
=1
𝑅𝐾(
1 − 𝑧−𝑅
1 − 𝑧−1)
𝐾
Fazendo com que 𝑧 = 𝑒𝑗2𝜋𝑓𝑇𝑒, a resposta frequencial fica da seguinte forma :
|𝐻(𝑒𝑗2𝜋𝑓)| = (𝑠𝑖𝑛(𝜋𝑅𝑓𝑇𝑒)
𝑅𝑠𝑖𝑛(𝜋𝑓𝑇𝑒)*
𝐾
No caso do projeto, o decimador virá depois de uma modulação sigma-delta
de quarta ordem. De acordo com Candy1, este decimador deve ter uma ordem de
um grau superior do que a ordem do modulador sigma-delta que o antecede,
portanto o CIC terá K=5. A arquitetura deste filtro é mostrada na Figura 20.
Figura 20: Filtro CIC necessário.
É interessante ressaltar que, neste tipo de arquitetura, não existe atraso de
inserção do decimador, já que os atrasos de cada bloco estão na realimentação,
característica exigida para esta etapa de decimação.
Para planejar o que deve ser atingido em uma aplicação física em FPGA, este
filtro foi criado em Matlab e sua simulação teve uma resposta em frequência
mostrada na Figura 21.
28
Figura 21: Resposta em frequência do filtro.
E em banda passante conforme a Figura 22.
Figura 22: Resposta frequencial do filtro em banda passante.
A rejeição da região fora de banda é suficiente para atingir as os objetivos. A
oscilação na banda passante é relativamente pequena (0.3dB). Com essas
características, este decimador é teoricamente validado.
29
4.4 MODULAÇÃO DIGITAL
4.4.1 Introdução
A modulação digital consiste em modificar através de funções matemáticas as
propriedades de um sinal com a finalidade de atingir um objetivo (transmissão de
dados, melhora de qualidade, etc), com a possibilidade de recuperar a mensagem
inicial sem danificações, interferências ou distorções. Modulações são amplamente
aplicadas no mundo das telecomunicações, como modulações de amplitude e
frequência, que permitem deslocar a região do espectro deste sinal e possibilitar a
transmissão eficaz pelo meio de ondas eletromagnéticas.
No caso deste projeto, o objetivo da modulação é melhorar o ruído em banda-
passante e diminuição de número de bits para a sua representação. Para tal, foi
utilizado um modulador baseado na técnica Sigma Delta e um DPWM (Digital Pulse
Width Modulator ou Modulador Digital de Largura de Pulso).
4.4.2 Ruído
O ruído de um sinal digital provém de sua quantificação, reduzindo a precisão
das amostras em relação ao sinal analógico. Suas características são do tipo ruído
branco, de média nula e de probabilidade de amplitude igual em toda a região do
intervalo [−𝑞/2, 𝑞/2] sendo 𝑞 o passo de quantificação. Considerando sua densidade
de probabilidade como 𝑓𝑞, pode-se calcular a sua potência média de ruído de
quantificação:
𝑃(𝑉𝑒) = ∫ 𝑥2𝑓𝑞
∞
−∞
(𝑥)𝑑𝑥 = 1
𝑞∫ 𝑥2𝑑𝑥 =
𝑞2
12
𝑞/2
−𝑞/2
O cálculo de SNR (Signal to Noise Ratio ou Razão Sinal Ruído) representa a
qualidade de um sinal com relação ao seu ruído através da seguinte fórmula
matemática:
𝑆𝑁𝑅𝑑𝐵 = 10log (𝑃𝑜𝑡ê𝑛𝑐𝑖𝑎 𝑆𝑖𝑛𝑎𝑙
𝑃𝑜𝑡ê𝑛𝑐𝑖𝑎 𝑅𝑢𝑖𝑑𝑜*
Considerando um sinal senoidal de amplitude A, sua potência pode ser
calculada da seguinte forma:
𝑃(𝑉𝑠𝑖𝑔) =1
𝑇∫ 𝑉𝑠𝑖𝑔
2
𝑇2
−𝑇2
(𝑡)𝑑𝑡 =𝐴2
2
30
Quando este sinal passa de analógico para digital, considerando N o número
de bits, o valor do passo de quantificação fica da seguinte forma:
𝑞 =2𝐴
2𝑁 − 1
Para encontrar o valor de SNR do sinal, reescreve-se a potência do sinal em
função de 𝑞 e 𝑁 e depois se divide pela potência do ruído:
𝑆𝑁𝑅𝑑𝐵 = 10 log (
[𝑞(2𝑁 − 1)]2
2𝑞2
12
, = 6.02𝑁 + 1.76
Analisando o resultado da relação matemática acima, conclui-se que para
cada bit de resolução adicional, a relação sinal ruído terá um ganho de
aproximadamente 6dB.
Sabendo que a potência do sinal de ruído é constante e independente da
frequência de amostragem pode-se diminuir a densidade espectral de potência de
ruído em banda aumentando a frequência de amostragem como mostra a Figura 23.
Figura 23: Densidade espectral de ruído a Fs e a OSR*Fs.
No exemplo da Figura 23, a razão entre a frequência de amostragem utilizada
sobre a frequência mínima de amostragem (frequência de Nyquist) é chamada de
OSR (Over Sampling Ratio ou Razão de super-amostragem).
31
Com a queda da densidade espectral de ruído por OSR, a equação de SNR
acaba ficando da seguinte forma:
𝑆𝑁𝑅𝑑𝐵 = 10 log (𝑃𝑠𝑖𝑛𝑎𝑙 ∗ 𝑂𝑆𝑅
𝑃𝑟𝑢𝑖𝑑𝑜* = 6.02𝑁 + 1.76 + 10log (𝑂𝑆𝑅)
Portanto, quanto maior a frequência de amostragem do sinal, menor será os
efeitos do ruído na banda do sinal.
4.4.3 Sigma-Delta
Uma vez que o aumento da frequência de amostragem é limitado, precisa-se
encontrar uma forma de diminuir ainda mais o ruído na banda áudio. Uma possível
solução seria modelar o ruído com um suposto filtro de tipo passa-baixa,
empurrando o ruído para altas frequências.
O modulador sigma-delta tem a necessidade de um sinal super-amostrado e
uma saída com menor quantidade de bits. Um exemplo de modulador sigma-delta
de primeira ordem do tipo integrador e acumulador são vistos na Figura 24.
Figura 24: Modulador sigma-delta de primeira ordem tipo a) Integrador e b) Acumulador.
Calculando a função transferência do integrador, tem-se:
𝑌(𝑧) = 𝑧−1𝑋(𝑧) + (1 − 𝑧−1)𝐸(𝑧)
O sinal de entrada é atrasado de um ciclo enquanto o ruído é modelado para
altas frequências. No caso do acumulador:
𝑌(𝑧) = 𝑋(𝑧) + (1 − 𝑧−1)𝐸(𝑧)
Nesse segundo caso, o ruído continua a ser modelado e empurrado para
altas frequências, porém o sinal não sofre atraso. A parte que multiplica o ruído é
chamada 𝑁𝑇𝐹 (Noise Transfer Function ou Função Transferência de Ruído).
Transformando 𝑧 = 𝑒−𝑗2𝜋𝑓𝑇𝑠 obtém-se:
32
𝑁𝑇𝐹(𝑧) = 1 − 𝑧−1 , 𝑁𝑇𝐹(𝑓) = 2 |𝑠𝑒𝑛 (𝜋𝑓
𝑓𝑠*|
Que pode ser analisado graficamente pela Figura 25.
Figura 25: Resposta em frequência do NTF e do ruído.
4.4.4 MASH
Proveniente do inglês Multi-stAge noise SHaping, significa modelagem de
ruído por múltiplos estágios. Baseado na teoria do sigma-delta, este modulador tem
este nome pois existem dois estágios sigma-delta e o segundo estágio tem o ruído
do primeiro como sinal de entrada, de forma a tentar diminuir o distúrbio final através
de um feed-forward do primeiro ruído. A topologia utilizada neste projeto é um MASH
22 sem atrasos no ganho direto como apresenta a Figura 26
.
Figura 26: Arquitetura MASH 22.
33
Os ruídos E1 e E2 são gerados por um bloco que faz uma diminuição do
número de bits do sinal passando de 24 bits de entrada para 6 de saída. Resolvendo
a função transferência, chega-se na seguinte relação:
𝑌(𝑧) = 𝑋(𝑧) + (1 − 𝑧−1)4𝐸2(𝑧)
Pelo ponto de vista do NTF, existem quatro zeros, significando que este passa
altas terá uma inclinação de 80dB por década, portanto o ruído é levado, nas altas
frequências, mais intensivamente que o sigma-delta de primeira ordem. A ordem do
sigma-delta representa a quantidade de pólos no NTF. Dessa forma, o MASH 22 tem
ordem 4. Para a aplicação deste projeto, fixou-se um número de bits igual a 6 e um
OSR igual a 8. Para estes valores, obtém-se um SNR superior a 100dB.
4.4.5 PWM
O nome deste modulador vem do inglês Pulse Width Modulation que em
português significa modulação digital por largura de pulso. Sua finalidade consiste
em transformar a amplitude do sinal de entrada em uma largura de pulso
correspondente na saída. Para fazer esta transformação, o valor da amplitude do
sinal de referência (de formato triangular e período igual a um valor 𝑓𝑒) é comparado
ao valor da amplitude do sinal de entrada. Se o sinal de entrada for maior ou igual a
referência, a saída será 1, caso contrário 0, como mostra a Figura 27. Para o bom
funcionamento deste bloco, deve-se forçar que 𝑓𝑒 tenha um valor muito maior que a
máxima frequência do sinal de entrada, Assim pode-se considerar que a entrada tem
valor quase constante durante cada período de 𝑇𝑒.
Figura 27: Método de funcionamento do PWM.
34
O ganho de um PWM é proporcional à amplitude máxima da referência em
relação à amplitude máxima do sinal. No caso de um ganho unitário, a máxima
amplitude da referência é igual à amplitude máxima do sinal.
Para recuperar o sinal de entrada, deve-se calcular a média do valor da
tensão no período 𝑇𝑒. Supondo que o ganho do PWM é unitário e a amplitude
máxima da referência e do sinal é igual a 1, tendo um valor de entrada igual a 0.5, o
valor de t é 0.25T, dando na saída uma um sinal quadrado de 0.25T a 0.75T.
Fazendo-se a média, o valor final é de 0.5.
No ponto de vista da eletrônica, calcular a média significa filtrar o sinal por
meio de um filtro passa-baixa. A amplitude de entrada do PWM está representada no
valor DC na saída, portanto a frequência de corte deste filtro deve ser muito menor
que a frequência 𝐹𝑒, mas também maior que a máxima frequência do sinal de
entrada, para não haver distorção.
4.4.5 DPWM
É o caso particular da PWM, no qual os sinais de entrada e de referência são
digitais. Tem o mesmo princípio de funcionamento que o PWM. O sinal é super-
amostrado com a mesma frequência da referência 𝐹𝑒, forçando um valor em todo
período de comparação. A referência tem valores quantizados, com formato parecido
ao de uma escada. Para realizar a comparação com uma referência de natureza
digital, a resolução de degraus deve ser proporcional à quantidade de bits do sinal
de entrada e, portanto a quantidade deve ser de 2𝑁 − 1, sendo N o número de bits
do sinal de entrada. A Figura 28 representa a diferença do sinal de referência entre o
DPWM e o PWM.
Figura 28: Diferença entre a referência do PWM e do DPWM.
É importante ressaltar que no caso deste projeto, o DPWM tem a finalidade
de conversor digital-analógico, podendo em sua saída ser amplificado por um
35
estágio de potência (por exemplo, uma ponte de transistores) ou conectado
diretamente à carga.
4.4.5.1 Imperfeições do DPWM
Pelo fato da quantificação do sinal não permitir variação de valores no período
de amostragem, erros podem aparecer na comparação com a referência resultando
em um valor de saída diferente do ideal, como mostra a Figura 29.
Figura 29: Erro no sinal de saída devido a quantização.
Por causa do efeito do erro e não linearidades no processo do PWM e de
quantização da referência, o sinal resultante é acompanhado de harmônicas.
Devem-se manter altas frequências de amostragem para diminuir tal erro e por
consequência, atenuar as harmônicas injetadas.
4.4.5.2 DPWM Ternário
No caso do PWM anterior, existe somente uma saída e com valores possíveis
de 0 e 1. Nome ternário vem do fato que este modulador contará com três níveis (1,
0, -1) e saída diferencial. Um modelo de PWM ternário é encontrado na Figura 30,
sendo 𝑉𝑒(𝑡) o sinal de entrada, 𝑉𝑟(𝑡) a referência e 𝑉𝑠𝑡(𝑡) o sinal diferencial de saída.
36
Figura 30: Modelo de um PWM ternário.
Este tipo de arquitetura é escolhido para ser utilizado no projeto, por causa
das seguintes qualidades:
Saída diferencial.
Tensão zero em ausência de sinal.
Menor distorção que o tipo PWM convencional.
A utilização de amplificadores digitais tem como vantagem o pequeno
consumo estático de energia, comparado aos amplificadores lineares. Porém, no
caso do PWM de dois estágios, pelo fato que o valor zero não esta disponível como
valor de saída, quando o sinal é zero na entrada a saída na carga tende a comutar
de zero a 1, dissipando energia e diminuindo o desempenho do amplificador. Já no
caso do ternário, o valor zero se encontra disponível, portanto quando não se tem
sinal, o amplificador terá o valor zero sobre a carga evitando o consumo estático.
A diminuição da não linearidade se dá por causa da subtração entre os dois
valores resultantes da comparação com a referência. Como os dois valores são não
lineares, de mesma natureza e fazem praticamente a mesma operação, quando se
subtraem também tendem a subtrair as imperfeições, atenuando as harmônicas do
sinal resultante.
37
5 IMPLEMENTAÇÃO
Nas etapas anteriores, a explicação teórica e as escolhas dos modelos foram
feitas. Porém deve-se explicar como se da à implementação física do modelo. Esta
etapa é dedicada a tal função. Os blocos foram criados teoricamente em Matlab,
simulados e seu comportamento validado. Em seguida, os blocos são criados em
linguagem VHDL respeitando o modelo teórico realizado anteriormente. Em seguida,
cada bloco VHDL é então compilado em plataforma Quartus II e seu comportamento
simulado. Tendo comportamento validado, este código é implementado em FPGA
para confirmar o resultado final (caso seja possível o teste). Um breve descritivo
desta estratégia é demonstrado na Figura 31.
Teoria
Inicio de Projeto
Modelo Matlab
Validado?
Modelo VHDL
Validado?
N
Y
N
Y
FPGA
Figura 31: Estratégia de implementação de cada bloco.
5.1 SHIFT-ADD
Esta operação consiste em substituir de forma equivalente a operação de
multiplicação de um sinal por uma constante. Sabendo que deslocar os bits de um
38
sinal para direita ou esquerda significa multiplicar ou dividir por múltiplos de dois, é
possível realizar várias dessas operações em paralelo e em seguida somá-las para
encontrar o valor da multiplicação necessária, eliminando a necessidade de blocos
dedicados. Supondo que um sinal de entrada dito 𝑉𝑖𝑛 deve ser multiplicado por um
coeficiente de valor 0.75. A operação equivalente em shift-add para este caso é
mostrada na Figura 32.
Figura 32: Multiplicação por 0.75 feita pelo método deslocamento-adição.
Para não perder tempo com o cálculo individual de cada passo dos
coeficientes, um programa Matlab foi desenvolvido. Insere-se o valor de coeficiente
a multiplicar e, com uma resolução de 16 bits, o programa descreve as operações
necessárias para ter o mesmo efeito final.
5.2 INTERPOLAÇÃO
Como entrada desta operação, tem-se o sinal sonoro de entrada em 32 bits
nos quais somente os 24 primeiros bits que contém sinal. Isso foi feito para manter
um padrão, visando uma maior facilidade de criação e uma universalidade de
conexões entre outros blocos, permitindo a sua reutilização se necessária. Há
também uma entrada para a frequência de amostragem, igual a 48kHz. Outro clock
também é fornecido, o da frequência de super-amostragem, que tem valor igual a 8
vezes a frequência de amostragem, ou seja 384kHz.
Sabe-se que esta operação consiste em dois blocos, que são o interpolador
linear por pedaços e o filtro FIR de pré-correção. Para simplificar, serão chamados
39
de interpolador e FIR. O sinal sonoro em 32 bits passa pelo FIR e em seguida pelo
interpolador como mostra a Figura 33.
Figura 33: Esquema da implementação dos blocos de interpolação.
5.2.1 FIR
A operação matemática desejada para este bloco é um filtro de tipo FIR com 9
coeficientes, da seguinte forma:
𝑦[𝑛] = ∑ 𝑎𝑖𝑥[𝑛 − 𝑖]
8
𝑖=0
Um modelo em forma direta foi criado em Matlab, tendo uma estrutura como a
da Figura 34.
Figura 34: Modelo Matlab do filtro FIR.
Para sua criação em VHDL, foi necessária a criação de sub-blocos, que são
os adicionadores e os flip-flops. O adicionador tem duas entradas de 32 bits e efetua
uma adição dos dois valores e a projeta na saída em 32 bits. Já o bloco flip-flop
conta como entrada 32 bits de sinal e um clock com a frequência de amostragem.
40
Um processo interno regido pela frequência de amostragem regula a
operação de saída. A cada borda de subida do sinal de amostragem, a saída tem
valor igual ao valor de entrada anterior a este evento, o que força uma resposta
impulsional de saída igual a um atraso de um ciclo de clock.
A arquitetura final deste bloco VHDL com seus sub-blocos é mostrada na
Figura 35.
Figura 35: Estrutura dos sub-blocos em VHDL.
É importante ressaltar que, para não ser dependente do compilador de VHDL,
foi decidido de utilizar somente os blocos criados. Portanto as adições são feitas
pelo sub-bloco adicionador. Como o adicionador adiciona somente de dois em dois
valores, uma grande quantidade de somadores é necessária na etapa final. Uma
grande atenção deve ser feita pelos efeitos indesejáveis de vários adicionadores em
cascata, sendo o pior deles o atraso do sinal e como consequência uma perda de
sincronia.
Para evitar problemas, deve-se resincronizar o sinal de entrada com relação
ao clock a cada entrada e saída de cada bloco criado em VHDL.
41
5.2.2 Interpolador
Este é o estágio em que a frequência de amostragem do sinal passa a um
valor 8 vezes maior. Com o objetivo de simular seu funcionamento, um modelo
Matlab foi criado, conforme a estrutura mostrada na Figura 36.
Figura 36: Esquema do interpolador em Matlab.
Este bloco foi o único bloco que não foi criado em linguagem VHDL. Pelo fato
de ser mais fácil a sua implementação como blocos lógicos, sua criação foi feita
através do programa Quartus II em formato block schematic file (.bsf).
Para criar o clock com duty cycle de 6.25%, uma lógica foi desenvolvida de
acordo com a Figura 37.
Figura 37: Esquema lógico do clock com duty cycle de 6.25%.
O clock de 48kHz, passando pelo flip-flop FF1 acaba sendo atrasado de meio
período de clock de 384kHz. Em seguida o sinal resultante é invertido e em seguida
passa pelo operador AND com o 48kHz sem defasagem. Assim, o sinal de saída fica
42
com um pulso de meio período de 384kHz a cada período de 48kHz e em fase com
o sinal de 48kHz original.
Para criar a parte principal deste bloco, alguns sub-blocos foram usados da
biblioteca do programa, outros foram criados ou adaptados. São eles subtratores,
adicionadores, multiplexadores e flip-flops. A arquitetura final deste bloco é mostrada
na Figura 38.
Figura 38: Esquema do interpolador em Quartus II.
5.3 DECIMAÇÃO
Etapa em que a frequência de amostragem do sinal de saída diminui em 8
vezes com relação ao do sinal de entrada. Para simular o comportamento do
esquema teórico, foi criado um bloco em Matlab conforme a Figura 39.
Figura 39: Modelo Matlab do decimador CIC.
43
Para realizar este modelo em VHDL, foi necessária a utilização dos outros
blocos já utilizados no FIR, que são os adicionadores e os flip-flops. A criação de
sub-blocos também é necessária neste caso. Dois tipos foram criados, de nome
integrador e comb.
O integrador é um elemento básico situado na entrada do decimador CIC.
Seu esquema Matlab e o equivalente em VHDL são representados nas Figuras 40 e
41, respectivamente.
Figura 40: Integrador em Matlab.
Figura 41: Integrador em VHDL.
Outro elemento básico para criação deste bloco é chamado de comb. Fica
situado logo depois do estágio de decimação. Seu esquema Matlab e VHDL é
representado nas Figuras 42 e 43, respectivamente.
Figura 42: comb em Matlab.
44
Figura 43: comb em VHDL.
O responsável pelo estágio de decimação é um sub-bloco chamado de
decim8. Tem o objetivo de reter uma amostra de cada oito que aparecem na sua
entrada. Os sinais de entrada deste bloco são o sinal 32 bits e frequência de
3.072MHz saindo do último integrador e o clock de 3.072MHz. Tem como saída o
sinal em 384kHz e um clock gerado pelo resultado desta seleção que se situa em
fase com o sinal de saída de 384kHz.
Para reproduzir este efeito, o sub-bloco é constituído por um processo, regido
pelo clock da frequência de entrada (3.072MHz). Um contador que é acionado a
cada borda de subida deste clock conta até oito, liberando em sua saída somente o
sinal quando o contador é igual a 1. Também gera o clock de saída, que tem valor
positivo quando o contador vai de 1 a quatro e valor zero de 5 a 8. Este clock tem o
nome de smallclk e será utilizado para o sinal de 384kHz no estágio final do filtro
CIC (comb).
A adaptação do nível do sinal, que em Matlab é feito através de um ganho,
em VHDL é feito através de um shift lógico. Deslocam-se os bits para a direita em 15
casas, dividindo-se por 215e, dessa forma, a atenuação desejada é atendida.
Finalmente, depois de apresentado cada sub-bloco e suas funções, um
esquema do código final é disponível na Figura 44.
45
Figura 44: Esquema completo do decimador CIC em FPGA.
5.4 MASH
Etapa onde o sinal tem o seu ruído modelado para altas frequências (Noise
Shaping). Este bloco contém como entradas o sinal em 32 bits e amostrado em
384kHz vindo do interpolador e o clock de amostragem deste sinal. Tem como saída
um sinal de 6 bits com frequência de amostragem de 384kHz. O modelo foi criado
em Matlab para analisar sua resposta em simulação, ele se encontra na Figura 45.
Figura 45: Modelo Matlab do MASH.
Para criar este bloco, os sub-blocos criados anteriormente são reutilizados.
São eles os adicionadores e flip-flops. O modelo equivalente criado em VHDL é
representado na Figura 46.
46
Figura 46: Modelo do MASH em VHDL.
Todo o cálculo interno é feito em 32 bits. O erro da malha é criado pelo bloco
que utiliza os bits 23 a 18. Para ser compatível com o resto do modelo, adicionam-se
zeros à esquerda até o bit zero e bits de sinal à direita até o bit 31, podendo-se dizer
que houve um arredondamento do valor anterior e gerando o erro de malha. O erro
de malha é representado pela linha pontilhada na figura e para que este fique
compatível com o resto do sinal, adicionam-se bits de sinal à direita e bits até que o
sinal seja de 32 bits. É importante ressaltar que durante este projeto, todo sinal que
é descrito em 32 bits tem uma vírgula fixa no bit 23, ou seja, os bits de 22 a zero têm
valores inferiores à FS.
5.5 DPWM
É o bloco onde o sinal passa a ser de certa forma, analógico. É relativamente
estranha esta afirmação, pois consiste em dizer que temos um sinal analógico criado
pelo FPGA, mas é a etapa final do tratamento do sinal antes da ponte de potência.
Um modelo Matlab foi criado para analisar o seu resultado em simulação e se
encontra representado na Figura 47.
47
Figura 47: Modelo do DPWM em Matlab.
A passagem deste modelo Matlab para um modelo VHDL deve ser delicada.
Um erro nesta fase pode trazer consequências como um nível contínuo de sinal (DC
level) e pode aumentar ainda mais a quantidade de harmônicos na saída, caso a
comparação não seja simétrica. Portanto, uma forte atenção deve ser dada a criação
do sinal de referência.
O sinal de dente de serra que serve como sinal de referência é criado por um
sub-bloco, que se chama saw. Este sub-bloco tem como entrada o sinal um clock
que serve a cadenciar as amostras na saída (38.4MHz). Constitui-se basicamente
de uma tabela e um contador a 38.4MHz. Conta-se o endereço de cada coluna na
tabela, e os valores correspondentes a estas colunas são direcionados à saída. Os
valores binários alocados nesta tabela formam um triangulo que vai de -49 a 49
espaçados de dois em dois, isso quer dizer que os valores são -49, -47, -45 e assim
por diante.
É importante ressaltar que a razão entre a frequência de amostragem do
sinal que vai ser transformado e a frequência do clock do gerador da referência é
igual ao valor da quantidade de amostras de referência em cada ciclo, isso quer
dizer que somente a rampa tem 50 amostras e o período do dente de serra tem 100
(38.4MHz/384kHz). Uma representação do sinal de referência gerado é apresentada
na Figura 48.
48
Figura 48: Sinal de referência gerado pelo sub-bloco saw.
O bloco DPWM em si consiste em comparações com a referência. Para
realizar estas comparações, um esquema equivalente deste processo é mostrado na
Figura 49.
Figura 49: Esquema equivalente do DPWM em VHDL.
Como a geração do sinal de referência e do sinal de entrada é realizada a
cada borda de subida do clock, o estágio de comparação deve ser feito a cada borda
de descida. Faz-se dessa forma para evitar um problema de atraso de propagação
dos sinais e de variação dos bits até sua estabilização. A multiplicação do sinal de
entrada por dois é uma estratégia de comparação, como todo sinal multiplicado por
49
dois é forçadamente um número par, comparando-se com a referência que é
forçadamente ímpar, nunca haverá o caso em que os números são iguais e,
portanto, não é necessário se preocupar com este caso, que pode trazer uma
assimetria entre as duas saídas do DPWM, gerando harmônicas e erros DC.
50
6 RESULTADOS
Esta parte do trabalho consiste em apresentar os resultados obtidos pelos
modelos, sendo tanto os resultados em simulação dos blocos Matlab quanto os
medidos fisicamente no FPGA.
6.1 INTERPOLAÇÃO
A figura 50 mostra a resposta em frequência em banda áudio do bloco
interpolador simulado em Matlab. E a figura 51 é a respectiva medição em uma
saída digital 24 bits do FPGA, obtida através da função de varredura de frequência
do instrumento UPV.
Figura 50: Resposta frequencial do interpolador em Matlab.
51
Figura 51: Resposta frequencial em banda áudio do FPGA medida pelo UPV.
A resposta Matlab valida o correto funcionamento deste bloco, ocorrendo
oscilação em banda menor que 0.5dB. Em seguida, uma comparação entre o
resultado da simulação da figura 49 e o comportamento medido pelo FPGA na figura
50 é feita, ressaltando que sua resposta em FPGA é similar que o modelo realizado
em simulação, sendo até melhor que o esperado. Com isso, a implementação deste
bloco é considerada um sucesso.
6.2 DECIMADOR E MASH
Para simular o comportamento do decimador, foi conectado um sinal
sinusoidal de 1kHz e -6dBFS no bloco MASH e em seguida o sinal resultante é
ligado ao decimador. Assim pode-se verificar e validar os dois blocos caso a
resposta obtida é equivalente à esperada pelos dois blocos. A Figura 52 representa
a transformada de Fourier feita no sinal resultante da simulação Matlab e a Figura 53
52
representa a análise em frequência da saída digital de 24 bits do FPGA analisada
pelo UPV.
Figura 52: Análise em frequência da saída do decimador em Matlab.
Figura 53: Análise em frequência em saída do FPGA feita pelo UPV.
53
Nota-se que a saída do decimador é de acordo com o esperado teórico, a
resposta Matlab tem um tom de amplitude de -6dBFS sem outros tons significativos,
validando a aplicação do decimador, nota-se também o nível de ruído que é
empurrado para altas frequências, o que valida o MASH. A resposta em saída do
FPGA está de acordo com o simulado pelo Matlab, o que confirma o bom
funcionamento do modelo real.
6.3 AMPLIFICADOR EM MALHA ABERTA
Para testar o comportamento do amplificador, toms senoidais de níveis
diferentes será colocado como entrada. Os valores de amplitude são -6dBFS,-
26dBFS, -66dBFS. Fisicamente, depois do FPGA existe um componente chamado
level shifter que tem como função regular a tensão de saída. Ele esta regulado para
ter sinais de saída de 1.42 à -1.42 volts.
Teoricamente o ganho do amplificador é a multiplicação dos ganhos dos
vários estágios, resultando no seguinte calculo:
𝐺𝑑𝐵 = 𝐺𝐷𝑃𝑊𝑀. 𝐺𝐿𝑒𝑣𝑒𝑙 𝑆𝑖𝑓𝑡𝑒𝑟 =64
100∗ 2 ∗ 1.42 = 1.8176
Uma tabela é criada para auxiliar a validação do correto funcionamento do
amplificador. À esquerda o valor de amplitude da sinusoidal de entrada e a direita o
valor teórico esperado de saída em RMS.
Amplitude de entrada (dBFS) Amplitude teórica na saída (dBV RMS)
-6 -3.82033
-26 -23.8203
-66 -63.8203
Os mesmos valores foram aplicados ao modelo em Matlab. As Figuras 54, 55
e 56 representam a análise frequencial do sinal de saída para as amplitudes -6, -26
e -66 respectivamente.
54
Figura 54: Resposta em frequência de saída para uma amplitude de -6dBFS.
Figura 55: Resposta em frequência de saída para uma amplitude de -26dBFS.
55
Figura 56: Resposta em frequência de saída para uma amplitude de -66dBFS.
Observa-se que os valores de amplitude resultantes da simulação Matlab são
idênticos a aqueles encontrados na tabela teórica. Pode-se notar a influência do
MASH, empurrando o ruído para altas frequências. Também se percebe a repetição
do espectro a cada 384kHz; enfim todas as características esperadas teoricamente.
Pode-se notar também o aparecimento de uma harmônica a 3kHz, que já era
prevista pela parte teórica do DPWM.
O mesmo teste foi feito para o protótipo FPGA e medido pelo UPV, com o
proposito de analisar o sinal em banda áudio, resultando nas figuras 57, 58 e 59.
56
Figura 57: Resposta em frequência em FPGA para sinal de entrada de -6dBFS.
Figura 58: Resposta em frequência em FPGA para sinal de entrada de -26dBFS.
57
Figura 59: Resposta em frequência em FPGA para sinal de entrada de -66dBFS.
Os outros harmônicos vistos pelo UPV são ligados às não linearidades dos
capacitores do filtro passa-baixa colocado para a medição no UPV e também as não
linearidades do level shifter. Para provar esta afirmação, faz-se os mesmos canais
DPWM saírem em formato digital e em seguida uma analise digital é feita. O
resultado para uma amplitude de -6dBFS de entrada é representada na figura 60.
Figura 60: Análise em frequência dos canais DPWM em formato digital.
58
A tabela abaixo foi criada com o objetivo de analisar o desempenho do
amplificador em banda audível. Ela é composta do valor RMS de saída, analise da
taxa de distorção harmônica (THD) e nível de ruído (noise level) para cada caso.
Tom senoidal (amplitude em dBFS)
-6dBFS -26dBFS -66dBFS
Output RMS -3.93dBV -23.93dBV -63.9dBV
THD -78.2dB -85dB -44dB
Noise -100.7dBV -99.5dBV -99.5dBV
Nota-se que a taxa de harmônicos aumenta de acordo com o aumento de
amplitude do sinal de entrada. Resta, a saber, até qual amplitude pode-se ter na
entrada e ainda ter valores aceitáveis de THD na saída. Com a ajuda do UPV, traça-
se um gráfico de amplitude versus THD conforme a figura 61.
Figura 61: Gráfico de amplitude versus THD do amplificador.
Conclui-se que o amplificador tem acentuado crescimento de THD quando a
amplitude de entrada do sinal é maior que -4dBFS. Para garantir o bom
funcionamento, considera-se que a amplitude máxima do sinal é de -6dBFS na
59
entrada. Para se analisar a linearidade do ganho, tem-se a Figura 62 que representa
a amplitude do sinal de entrada versus a amplitude do sinal de saída.
Figura 62: Amplitude de entrada versus amplitude de saída medida pelo UPV.
Como o objetivo deste amplificador é de ser aplicado em equipamentos
embarcados, principalmente telefones celulares, deve-se fazer uma análise da
possível emissão de interferência eletromagnética - EMI. Para tal, um osciloscópio
faz a FFT do sinal de saída e observam-se as amplitudes em alta frequência. Faz-se
a mesma análise com um filtro EMI na saída, que consiste em uma ferrite em série
para avaliar os efeitos da filtragem. As Figuras 63, 64 e 65 são resultados desta
análise em -6dBFS, -26dBFS e -66dBFS, respectivamente.
60
Figura 63: Análise EMI do sinal em -6dBFS, em azul filtrado e em vermelho o original.
Figura 63: Análise EMI do sinal em -26dBFS, em azul filtrado e em vermelho o original.
61
Figura 64: Análise EMI do sinal em -66dBFS, em azul filtrado e em vermelho o original.
É notável que, quanto maior a amplitude do sinal de entrada, maior a
interferência EMI, principalmente pelos altos picos da repetição do sinal. O efeito da
filtragem é interessante, pois atenua significantemente o sinal a partir de 10MHz,
mas não tem efeito sobre os primeiros picos mais importantes, que estão próximos
da frequência de 1MHz.
62
7 CONCLUSÃO
Cada bloco necessário para este projeto foi elaborado teoricamente, seguido
pelo modelo Matlab que depois de simulado e validado foi aplicado em VHDL e
implementado em FPGA, sendo testado e validado de acordo com a sua resposta
sendo equivalente ao esperado.
O objetivo inicial deste trabalho era a criação de um amplificador
realimentado, porem, uma pré-análise da malha prevê um atraso não negligenciável
e, por causa disso, estima-se que um controlador deve ser criado através da teoria
de controle por modelo interno – IMC.
Para desenvolver tal circuito, deve se modelar com certa precisão cada bloco
da malha. Como alguns blocos ainda não estão prontos, o controlador não pode ser
desenvolvido. Os resultados em malha aberta alcançados por este amplificador
atingem as especificações do projeto, em termos de nível de ruído e THD. As
especificações de rejeição não foram testadas, pois este é o objetivo da malha
fechada.
Atualmente, este classe D digital está em fase de análise e testes, tendo
resultados interessantes para uma futura aplicação em ASIC e também já é
comparado a outros amplificadores digitais já desenvolvidos pelos outros centros da
ST-Ericsson.
63
REFERÊNCIAS
[1] J. C. CANDY. “Decimation for Sigma Delta Modulation”. IEEE Transactions on
Communications. Vol. COM-34:72-76. 01/1986.
[2] E. B. HOGENAUER. “An Economical Class of Digital Filters of Decimation and
Interpolation”. IEEE Transactions on Acoustics, Speech and Signal Processing. Vol.
ASSP-29 (Nº 2):155-162. 04/1981.
[3] U. MEYER-BAESE “Digital Signal Processing with Field Programmable Gate
Arrays” ISBN 3-540-41341-3, Springer-Verlag, Berlin 2001.
[4] R. CELLIER, G. Pillonnet, A. Nagari, N; Abouchi, “An Review of fully digital audio
class D amplifiers topologies”, IEEE Circuits and Systems and TAISA Conference,
2009. 10.1109/NEWCAS.2009.5290459 08/2009.
Recommended