Beruflich Dokumente
Kultur Dokumente
So Jos SC
Fevereiro / 2012
Orientadores:
Prof. Dr. Marcos Moecke
Msc. Zhang Chi
Dipl. Ing. Erwin Ofner
ii
___________________________________________________
Prof. Marcos Moecke, Dr. Eng.
Orientador
___________________________________________________
Prof. Eraldo Silveira e Silva, Dr. Eng.
IF-SC
___________________________________________________
Prof. Diego da Silva de Medeiros, Tecg.
IF-SC
iii
Agradecimentos
minha famlia (Ivon, Rosi e Cinthia) e amigos, pelo incentivo na realizao do projeto
final, pelo incentivo adeso ao intercmbio e por todas as dificuldades que tive durante o
curso.
Aos maiores presentes que recebi na reta final do projeto, minha namorada Mayara e
minha filha Isabela. A primeira pelo apoio incondicional e pacincia por aguardar os cinco
meses distante e segunda por dar um novo sentido a minha vida.
Ao IF-SC, por oferecer o programa PROPICIE para intercmbio de estudantes do IF-SC,
onde realizei o projeto do TCC em conjunto com a Carinthia University of Applied Sciences
(Villach ustria).
Aos professores do IF-SC pelo auxlio e incentivo ao longo do curso.
iv
Resumo
vi
Abstract
This work shows the project of a parametric equalizer for MP3 applications. The
project addresses the system, which has on the input, a signal already sampled by a previous
circuit. The intention showed by the project is to make the system to be applied on portable
systems, with the intent of compensate the non-linear response from systems both
microphone and transmitter capsule. Because of their reduced size, dont have linear response
over all frequencies.
To the creation of this system, nowadays, its necessary the equipment has a
considerable hardware space. Because of this, the project aims a new equalizer model, with a
reduced size, and that allows a circuit product cost reduction. Since the devices that will use
the circuit are mobiles, its interesting to use the less space than possible. The project was
proposed by the team of the Carinthia University of Applied Sciences (Villach - Austria), to
create a new filter arrangement, totally distinguished than the other already created.
Keywords: Sound Equalization, Audio Signal Processing, Infinite Impulse Filters (IIR).
vii
Lista de Figuras
viii
Lista de Tabela
ix
Sumrio
Introduo ................................................................................................... 1
1.1
Objetivos ...........................................................................................................................2
1.2
1.3
2.1
Filtros ...............................................................................................................................4
2.2
2.3
2.4
Aritmtica computacional...............................................................................................12
2.4.1 Aritmtica de ponto flutuante................................................................................12
2.4.2 Aritmtica de ponto fixo .......................................................................................13
2.5
2.6
3.1
3.2
3.3
3.4
3.5
4.1
4.2
4.3
4.4
4.5
Medidas...........................................................................................................................48
4.5.1 Consumo de potncia ............................................................................................49
4.5.2 rea .......................................................................................................................50
4.5.3 Nmero de registradores .......................................................................................50
4.6
Concluses ................................................................................................. 52
Apndice .................................................................................................... 55
A.1
xi
Introduo
1 Introduo
IF-SC
Introduo
1.1 Objetivos
Este projeto foi resultado do programa de intercmbio PROPICIE do IF-SC, pelo qual o
aluno teve a oportunidade de participar de um projeto planejado pela Carinthia University of
Applied Sciences (CUAS) em Villach, na ustria. O presente trabalho trata da criao do
conjunto de cinco filtros do equalizador paramtrico de cinco estgios. O estgio de controle
foi criado adicionalmente para realizar a comunicao com o microprocessador que o sistema
ter futuramente.
O objetivo do projeto a criao de um sistema equalizador que utilize uma menor rea
que um sistema com filtros cascateados. Em teoria na produo de ASICs (Circuito Integrado
de Aplicao Especfica), a utilizao de cinco filtros em srie ocuparia uma maior rea que
em um sistema multiplexado. Neste projeto ser verificada a efetividade dessa
implementao na reduo da rea e seu efeito sobre as caractersticas do filtro e sobre o
consumo de potncia do sistema final. Conseguindo uma reduo de rea, seria possvel
produzir um maior nmero de unidades do sistema em uma mesma rea de silcio.
Projeto de filtros IIR - Projeto de um sistema de filtros com testes individuais para a
formao de um equalizador paramtrico de cinco estgios. Foram realizados testes
com cada um dos filtros no aplicativo Mathworks Matlab r2009b;
IF-SC
Introduo
filtro multiplexado;
Sistema de controle - Desenvolvimento de um sistema de controle para a interface
IF-SC
2 Fundamentao terica
2.1 Filtros
Um filtro um sistema linear h(t ) para processamento de sinal, no qual um sinal de
entrada x(t ) processado de acordo com as configuraes do filtro, visando rejeitar certa
banda de frequncias resultando em um sinal na sada y (t ) , no qual as caractersticas de
frequncia foram modificadas de acordo com a necessidade do sistema projetado. Existem
aplicaes de filtros tanto para sinais no tempo como para informaes espaciais.
No
x1 (t ) * x2 (t ) x1 ( ) x2 (t )d .
(1)
(2)
Dessa forma o filtro pode ser definido pela sua funo de transferncia H ( s ) , ou seja, a
relao entre o sinal de entrada X ( s ) e o sinal de sada Y ( s ) do sistema no domnio
transformado:
IF-SC
Fundamentao terica
H ( s) =
Y ( s)
X ( s) .
(3)
A convoluo pode ser ilustrada graficamente pela Figura 2 onde possvel verificar o
comportamento da operao.
IF-SC
Fundamentao terica
Como mencionado anteriormente, os filtros rejeitam alguma faixa de frequncia. Com
determinada faixa rejeitada, o filtro recebe uma denominao. O filtro passa baixa rejeita as
frequncias acima de um limiar definido, o filtro passa alta rejeita as frequncias abaixo de
um limiar definido, o passa faixa rejeita as frequncias fora de uma faixa de frequncias
definida e o filtro rejeita faixa rejeita uma faixa de frequncias definida. Na Figura 3 pode ser
vista a resposta em amplitude H ( w) para cada tipo de filtro.
Figura 3 - Resposta de amplitude de um filtro ideal a) Filtro Passa Baixa, b) Filtro Passa Alta, c)
Filtro Passa Faixa, d) Filtro Rejeita Faixa.
IF-SC
Fundamentao terica
Para a Figura 4, considera-se x(t ) sinal de entrada em tempo contnuo, que amostrado
e convertido em um sinal de tempo discreto x[n] . Este sinal pode ser processado pelo sistema
discreto para obter um sinal de sada y[n] . Para obter o sinal de sada y (t ) no tempo
contnuo, este sinal y[n] passa pelo sistema conversor. Dessa forma possvel realizar o
processamento de sinais contnuos com filtros digitais. (LATHI, 2007)
Os filtros digitais possuem algumas facilidades a mais que os filtros analgicos, uma
delas que ser explorada neste projeto a possibilidade de alterar suas configuraes atravs
da simples substituio dos valores dos coeficientes armazenados no sistema. No caso de
filtros analgicos a mudana de configurao depende da troca de componentes fsicos. A
alterao de temperatura, que tanto afeta os filtros analgicos, no exerce a mesma fora
sobre a resposta em frequncia dos filtros digitais.
A possibilidade de criao de filtros de ordens altas no existe em filtros analgicos
prticos, por necessitar muito espao para a produo de tal filtro.
Filtros no recursivos
2.2.1
y[n] =
b x[n k ] .
k
(4)
k =
Onde x[n] o sinal de entrada deslocado a cada iterao do somatrio em k unidades, y[n]
o sinal de sada, e bk so os coeficientes do filtro. Essa equao representa o processo de
IF-SC
Fundamentao terica
filtragem atravs da convoluo do sinal de entrada pelos coeficientes do filtro, que so ao
mesmo tempo a resposta ao impulso do sistema.
Como na prtica requerido um tamanho finito de filtro, e tambm no possvel obter
o valor atual de sada usando valores futuros de entrada, pois implicaria em um sistema
antecipativo (no causal), limita-se o parmetro k entre 0 (para ser causal) e N (para tornar a
resposta ao impulso finita)
N
y[n] = bk x[n k ] .
k =0
(5)
Devido a caracterstica de ter uma resposta ao impulso igual aos coeficientes bk , e estes
serem limitados em N+1 coeficientes, esses filtros no recursivos tambm so conhecidos
como filtros de reposta finita ao impulso (FIR). Ou seja, esses filtros apresentam na resposta
ao impulso, o valor zero aps um determinado tempo (N).
Filtros recursivos
2.2.2
k =0
k =1
(6)
IF-SC
Fundamentao terica
2.2.3
Os filtros digitais possuem equaes definidas pela ordem do filtro e pelos seus
coeficientes. Assim com um conjunto de coeficientes fica definida a sua resposta em
frequncia e os valores das amostras de sada do sistema podem ser calculados
recursivamente. No caso dos filtros IIR de segunda ordem, existem os coeficientes b0, b1, b2,
a1 e a2, que permanecem com seu valor definido ao longo de toda a operao do filtro.
No caso de filtros multiplexados no tempo necessrio variar seu conjunto de
coeficientes, pois diferentes respostas em frequncia precisam ser obtidas, portanto
necessria a alterao desses valores em determinados instantes de tempo, para que o filtro
assuma diferentes caractersticas. No presente projeto de equalizador necessrio interligar
os diferentes sinais de entrada e sada que sero processados nos diferentes instantes de
tempo.
Equalizadores grficos
2.3.1
IF-SC
Fundamentao terica
controlado por um filtro passa banda, cujo ganho mdio pode ser variado para valores
maiores ou menores, assumindo caracterstica de ganho ou atenuao. Nesses equalizadores
as frequncias centrais das bandas e largura de banda de 3dB dos filtros so fixas, com isso, o
usurio apenas pode variar o ganho em cada uma das bandas. Usualmente, os filtros passabanda de segunda ordem so adequados para as aplicaes de udio.
Na Figura 5 pode ser visto um produto comercial, do fabricante DBX, que consiste em
um equalizador grfico de trinta e uma frequncias centrais. A nica opo de interface para
o usurio variar o ganho de cada frequncia. Apesar de serem usados em aplicaes
profissionais, no possuem uma maior flexibilidade na variao de sua resposta em
frequncia.
Equalizadores paramtricos
2.3.2
b0 + b1 z 1 + b2 z 2
.
1 + a1 z 1 + a2 z 2
(7)
IF-SC
10
Fundamentao terica
A funo de transferncia no domnio transformado amostrado (Z) de um equalizador
paramtrico de segunda ordem pode ser representada em termos dos parmetros
configurveis
G0 + G
1+
H ( z) =
G0 cos 0 1 G0 G
2 1+ z + 1+
cos 0 1 1 2
1 2
z + 1+ z
1+
2
z
GB 2 G0 2
=
tan
2
2
G GB
2
(8)
(9)
(10)
(11)
11
Fundamentao terica
figura possvel verificar que o equalizador paramtrico possui como interface de usurio
que permite configurar a frequncia central, largura de banda e ganho, o que permite uma
melhor customizao do sistema para obter a resposta desejada para o equalizador.
2.4.1
IF-SC
12
Fundamentao terica
quantizao. No entanto, o erro de quantizao se manifesta de uma maneira um pouco
diferente. A aritmtica de ponto flutuante geralmente mantm sua alta preciso e uma faixa
dinmica extensa pelo ajuste da caracterstica e normalizando a mantissa de modo que
0.5 xM 1 . Quando nmeros em ponto flutuante so multiplicados, suas caractersticas so
somadas e suas mantissas so multiplicadas. Assim, a mantissa precisa ser quantizada.
Quando dois nmeros em ponto flutuante so somados, suas caractersticas tem que ser
ajustada para ser a mesma, movendo o ponto binrio da mantissa do menor nmero. Portanto,
a adio resulta tambm em quantizao.
2.4.2
Para a aritmtica de ponto fixo, estabelecido previamente o nmero de bits que sero
usados para as caractersticas e o nmero de bits que sero usados na mantissa. Com isso,
todas as operaes que solicitarem maior nmero de bits, apresentando assim o overflow, se
distanciaro de seus valores originais por m definio da preciso do valor em ponto fixo.
Em Mathworks (2009), podem ser verificadas algumas aplicaes de hardwares que
utilizam a aritmtica de ponto fixo. Seguem alguns exemplos: comunicao em banda-larga e
sem fio (telefone celular, rdio, comunicaes via satlite), processamento de sinais
(processamento de voz e udio profissional), telefonia (codificao da fala, DTMF (Dual
Tone MultiFrequency) e cancelamento de eco).
IF-SC
13
Fundamentao terica
IF-SC
14
Fundamentao terica
Como pode ser verificado na Figura 9 (a)-(b) tanto o sinal de entrada quanto o sinal de
sada so grficos, ou seja, usada uma ferramenta grfica para realizar o sinal de entrada,
computado e desenhado pelo simulador, os quais so verificados visualmente pelo usurio.
Em tal figura, DUT significa Design Under Test, ou seja, Projeto Sob Teste. O sinal de sada
recebido em forma grfica e tambm verificado visualmente. Portanto, essas simulaes so
denominadas Simulaes Grficas. Na simulao temporal grfica (b) o tempo de atraso de
propagao do circuito levado em conta, mas na simulao funcional grfica (a) o tempo
no considerado.
Na Figura 9 c-d o sinal de entrada foi gerado por cdigo VHDL e a sada ainda
analisada visualmente. Portanto so chamadas de Simulao Manual. Na simulao temporal
IF-SC
15
Fundamentao terica
manual (d), o atraso de propagao do circuito levado em conta, mas na simulao manual
funcional (c) o tempo no considerado.
Na Figura 9 e-f tanto a entrada e a sada so realizadas por um cdigo VHDL. Na sada
o cdigo prov meios para comparar os resultados com resultados esperados, ou seja,
previamente calculados. Como tanto o sinal de entrada quanto o sinal de sada so
automatizados por cdigo VHDL, chamada de Simulao Automatizada. Na simulao
temporal automatizada (f) o atraso de propagao do circuito levado em conta, mas na
simulao funcional automatizada, tal fator no levado em considerao.
Para os testes realizados no estudo foi utilizada a simulao manual (funcional e
temporal), na qual feita a gerao automtica do sinal de entrada e verificao grfica do
sinal de sada.
Como a bancada de testes um passo muito importante para qualquer simulao, ser
explanado o cdigo em seus processos, para demonstrar alguns passos para a criao de uma
bancada de testes bsica.
IF-SC
16
IF-SC
17
Projeto do sistema
3.1.1
Sistema externo
Os blocos externos sero implementados em um segundo projeto pela equipe da
IF-SC
18
Projeto do sistema
Sistema de controle
3.1.2
de
Subsistema de udio
3.1.3
Este subsistema composto pelo mdulo de controle dos sinais e pelo filtro IIR. O
mdulo de controle dos sinais responsvel por realizar o gerenciamento dos sinais de
entrada e sada do bloco filtro IIR. Este controle necessrio, pois o filtro multiplexado
processa vrias iteraes, sendo necessrio definir em qual momento o sinal de entrada do
filtro deve corresponder ao sinal de entrada externa do sistema, e em qual momento deve ser
conectada a sada do filtro. O mdulo de controle dos sinais tambm define quando o sinal de
sada do filtro amostrado deve ser fornecido a sada do equalizador.
Para o seu
funcionamento utilizado o clk5 o qual cinco vezes mais rpido que o clock usado na
amostragem dos sinais de entrada e sada do equalizador. O filtro multiplexado constitudo
por um filtro IIR que realizar o processamento de um sinal de entrada e entregar ao sistema
um sinal de sada. Para testes comparativos esse filtro foi substitudo pela verso cascateada,
mostrada na Figura 11, sendo cada bloco composto pela estrutura de hardware mostrado na
Figura 12. No caso do filtro multiplexado, o bloco filtro IIR possui em seu interior um
sistema como mostrado na Figura 20.
A estrutura em cascata consiste na conexo da entrada de cada filtro sada do anterior,
de modo ao sinal passar por todos os filtros em srie, conforme mostra a Figura 11. Esses
IF-SC
19
Projeto do sistema
filtros so arranjados geralmente com um filtro passa baixa (Estgio 1), filtro passa banda 1
(Estgio 2), filtro passa banda 2 (Estgio 3), filtro passa banda 3 (Estgio 4), e filtro passa
alta (Estgio 5). Alterando os parmetros ganho, frequncia central e largura de banda de
cada filtro. Os coeficientes do filtro so recalculados por um sistema externo para reproduzir
a resposta requerida do sistema.
IF-SC
20
Projeto do sistema
Tabela 1 - Especificao dos filtros do equalizador paramtrico
freqncia
central
Filtros
f0
fator de
qualidade
Q
(Hz)
passa baixa (LP)
ganho na
frequncia
central
freqncia de
corte
largura de
banda
G0
fc
(dB)
(Hz)
(Hz)
12
200
340
340
1.100
0,7
1571
3.375
3375
22.050
5.940
3.3.1
IF-SC
21
Projeto do sistema
Cada um dos cinco filtros que compe o equalizador tem a mesma estrutura, recebendo
apenas configuraes diferentes que fazem com que a resposta em frequncia de cada um dos
filtros apresente a caracterstica desejada. A largura de banda ( w ) de cada filtro obtida a
partir do fator de qualidade definido na Tabela 1.
Qa =
0
f
= 0
f
(12)
Os filtros foram projetados no Matlab de tal modo que fosse possvel definir as suas
respostas em frequncia alterando somente alguns parmetros do filtro.
Resposta em frequncia
3.3.2
22
Projeto do sistema
configurar valores diferentes a cada iterao necessrio manter o tamanho da palavra do
sinal de entrada e do sinal de sada em 20 bits, pois todos os registradores, somadores e
multiplicadores do filtro multiplexado operam com palavras de 20 bits. Para tal, as amostras
de entrada do sistema de udio so preenchidas com zeros para uniformizar a quantidade de
bits em 20 condicionando corretamente o sinal.
No projeto a quantidade de bits usada para representar os coeficientes do filtro tambm
deve ser levada em conta, uma vez que a aritmtica de ponto fixo ser empregada no circuito
produzido em ASIC. A Tabela 2 mostra os valores dos coeficientes obtidos em ponto
flutuante com 64 bits de tamanho de palavra, quando os filtros estavam configurados para
apresentar as respostas em frequncias mostradas nas figuras das prximas sesses. J a
Tabela 3 apresenta os mesmos valores aps passarem por uma mudana de aritmtica de
ponto flutuante para ponto fixo com 12 bits de tamanho de palavra. Nesta aritmtica de ponto
fixo foi definido que a preciso seria de 2 bits para a caracterstica e 10 bits para a mantissa.
Filtro
Coeficientes do filtro
Ganho (dB)
a1
a2
b0
b1
b2
Passa Baixa
12
-1,9747
0,9751
1,0127
-1,9741
0,9630
Passa Banda I
12
-1,9676
0,9699
1,0227
-1,9676
0,9472
Passa Banda II
12
-1,8457
0,8686
1,0994
-1,8457
0,7692
12
-1,5474
0,7453
1,1925
-1,5474
0,5528
Passa Alta
-0,4955
-0,0350
1,8547
-1,5995
0,2143
Filtro
Coeficientes do filtro
Ganho (dB)
a1
a2
b0
b1
b2
Passa Baixa
12
-1,9746
0,9751
1,0127
-1,9741
0,9629
Passa Banda I
12
-1,9675
0,9700
1,0227
-1,9675
0,9473
Passa Banda II
12
-1,8457
0,8687
1,0994
-1,8457
0,7693
12
-1,5474
0,7454
1,1926
-1,5474
0,5527
Passa Alta
-0,4956
-0,0352
1,8547
-1,5996
0,2144
IF-SC
23
Projeto do sistema
a)
b)
IF-SC
24
Projeto do sistema
c)
ganho na frequncia central desejado. necessrio enfatizar que agora o filtro possui 20 bits
tanto de tamanho da palavra de entrada quando de sada, portanto, deve ser prestada a devida
ateno entrada do sistema quanto ao overflow na sada. A Figura 15 mostra a resposta em
freqncia projetada e a obtida para este filtro.
IF-SC
25
Projeto do sistema
d)
IF-SC
26
Projeto do sistema
e)
IF-SC
27
Projeto do sistema
Logo, como a limitao dos coeficientes necessria, o ganho do filtro foi restrito ao
mximo de 8 dB. Como o fator qualidade tambm interfere no valor dos coeficientes, depois
de diversos testes com diferentes valores foi alcanada a configurao de 8 dB de ganho e 0,4
de fator qualidade para uma melhor configurao que alcance os coeficientes mais altos
dentro do limiar de valores entre -2 a +2. Os valores representados em ponto flutuante dos
coeficientes obtidos so mostrados na Tabela 2. No entanto, por necessidade da
implementao de hardware, so usados os valores mostrados na Tabela 3, na qual
considerada uma representao em ponto fixo.
Nvel de rudo
3.3.3
Para analisar o nvel de rudo de cada filtro foi utilizada a funo noise_kaiser, a
qual foi implementada pela CUAS (Carinthia University of Applied Sciences), os valores
encontrados nas tabelas Tabela 4 e Tabela 5, refletem o nvel de rudo para cada uma das
frequncias especificadas.
IF-SC
28
Projeto do sistema
Tabela 4 - Nvel de rudo em dB para os filtros de 0,1 kHz a 9,1 kHz
Filtro
Frequncia (Hz)
0,1
1,1
2,1
3,1
4,1
5,1
6,1
7,1
8,1
9,1
Passa Baixa
-57
-55
-55
-54
-55
-56
-55
-53
-54
-54
Passa Banda I
-70
-69
-70
-70
-69
-70
-70
-69
-68
-72
Passa Banda II
-91
-87
-88
-88
-86
-87
-87
-87
-87
-88
-100
-100
-99
-99
-99
-99
-99
-99
-99
-98
Passa Alta
-108
-108
-108
-108
-109
-110
-108
-108
-108
-108
Frequncia (kHz)
10,1
11,1
12,1
13,1
14,1
15,1
16,1
17,1
18,1
19,1
Passa Baixa
-51
-55
-57
-54
-54
-54
-54
-54
-54
-54
Passa Banda I
-70
-70
-70
-70
-70
-70
-71
-70
-70
-71
Passa Banda II
-87
-87
-87
-87
-87
-87
-87
-88
-87
-88
-99
-99
-99
-99
-99
-99
-99
-99
-99
-99
Passa Alta
-108
-108
-108
-108
-108
-108
-108
-108
-108
-108
3.3.4
IF-SC
29
Projeto do sistema
configurados no filtro, necessrio um coeficiente com mais de 12 bits, no caso do filtro
passa alta foram necessrios 15 bits para atingir uma boa resposta.
Estrutura
3.4.1
A estrutura utilizada nos testes foi filtro passa baixa filtro passa banda 1 filtro passa
banda 2 filtro passa banda 3 filtro passa alta, conforme mostrado na Figura 11. Em cada
estgio foi mantida a configurao anteriormente projetada. Neste teste o nico parmetro
que foi permitida mudana foi o ganho na frequncia central. O arranjo escolhido ficou
configurado com ganhos de 12 dB para o filtro passa baixa, e 8 dB para os demais filtros do
arranjo. O motivo da definio do ganho de 12 dB para o primeiro filtro a perda de ganho
neste filtro com o processo de quantizao dos coeficientes. O tamanho da palavra da entrada
desse sistema de 16 bits e a sada do sistema possui tamanho de palavra de 20 bits.
Resposta em frequncia
3.4.2
IF-SC
30
Projeto do sistema
3.4.3
Nvel de rudo
frequncias, com isso conferimos que os valores esperados por Ofner (2011) foram obtidos.
Pode ser visto em Ofner (2011) que o filtro IIR forma direta I possui a resposta mais linear
em todas as frequncias quando comparado com as outras formas de filtro IIR.
Tabela 6 - Nvel de rudo em dB os filtros cascateados nas freqncias de 0,1 kHz a 9,1 kHz
Frequncia (kHz)
5 filtros
cascatedos
0,1
-62,8
1,1
-62,77
2,1
-60,4
3,1
4,1
5,1
6,1
7,1
8,1
9,1
-60,69
-62,14
-62,49
-60,64
-60,36
-61,16
-60,19
Tabela 7 - Nvel de rudo em dB os filtros cascateados nas freqncias de 10,1 kHz a 19,1 kHz
Frequncia (kHz)
5 filtros
cascatedos
IF-SC
10,1
11,1
12,1
13,1
14,1
15,1
16,1
17,1
18,1
19,1
-59,09
-61,64
-63,13
-61,87
-60,67
-60,03
-61,34
-61,53
-59,94
-61,28
31
Projeto do sistema
32
Projeto do sistema
alteradas diretamente nos testes. Como so necessrios cinco coeficientes para cada
multiplicador estes so armazenados em uma memria e o subsistema de controle carrega o
valor correto a cada iterao.
Assim como o sinal de sada, outra questo pensada foi o sinal de entrada do sistema.
Pois como no equalizador paramtrico cascateado apenas recebido um sinal de entrada que
computado pelo filtro passa baixa e, aps isso, todos os outros filtros recebem sinal interno
como seus sinais de entrada (Figura 11). O sistema precisa armazenar tambm os valores
intermedirios de cada sada e envi-los para a entrada do filtro para uso na prxima iterao.
A Tabela 8 visa facilitar o entendimento desse processo de controle indicando a
configurao do filtro IIR, as amostras presentes na entrada e sada do filtro IIR e as amostras
da entrada e sada do sistema equalizador a cada iterao. Note por exemplo que na 1
iterao os valores dos coeficientes esto configurados como passa baixa (LP Low Pass),
onde o filtro recebe o sinal de entrada externo, e vo sendo configurados at que na 5
iterao eles assumem os valores do filtro passa baixa e ento o sinal de sada do filtro IIR
enviado para a porta de sada do equalizador. Este ciclo se repete indefinidamente com novas
amostras de entrada no sistema e uma nova amostra de sada a cada cinco iteraes. Na tabela
as denominaes LP, BP1, BP2, BP3 e HP representam Passa Baixa, Passa Banda I, Passa
Banda II, Passa Banda III e Passa Alta respectivamente.
Tabela 8 Configurao dos filtros no sistema multiplexado no tempo
configurao
entrada do
entrada do
sada do
do IIR
IIR
equalizador
equalizador
LP
yLP
BP1
yLP
yBP1
BP2
yBP1
yBP2
BP3
yBP2
yBP3
HP
yBP3
yHP
yHP
Iterao
sada do IIR
33
Projeto do sistema
o filtro ir operar com cinco configuraes diferentes, o sistema deve salvar os valores dos
seus atrasos e tais valores devem ser usados somente quando tal filtro estiver atuando no
sistema. Exemplo, o filtro IIR operou como filtro passa baixa e, portanto, o sistema tem
armazenado para a segunda iterao do mesmo filtro um valor para ser considerado como
primeira amostra, e portanto est salvo no primeiro registrador de atraso. Em um segundo
momento, o filtro agora assume a configurao de passa banda I e precisa computar uma
amostra de entrada com todos os registradores de atraso em branco, mas o sistema tem
armazenado um valor no primeiro registrador, portanto, o valor calculado ser incorreto. Para
isso, tambm foi pensado em uma adaptao coerente para o uso do sistema multiplexado.
Nas prximas sees sero vistos detalhes a respeito de cada subsistema.
Pensando no sistema em uma viso geral, alm do projeto do equalizador, onde
realizada a computao do sinal de entrada, tambm foi criado um mdulo para operar como
interface entre o sistema de udio e o sistema de computo de coeficientes, que a partir de
agora vai ser chamado de sistema de controle. Portanto o sistema pode ser separado em duas
partes, o sistema de udio e o sistema de controle.
O filtro multiplexado
3.5.1
IF-SC
34
Projeto do sistema
Sistema de udio
3.5.2
IF-SC
35
Projeto do sistema
a)
adaptaes para operar com cinco diferentes configuraes de filtros. Depois de carregados
os coeficientes correspondentes a configurao da iterao, a entrada e valores da memria
correspondentes, so realizadas as multiplicaes e somas e uma nova amostra (valor)
enviado para a sada do mdulo. Como mencionado anteriormente, esse filtro sofreu algumas
modificaes para operar com diferentes respostas em frequncia. Primeiramente o filtro ao
invs de ter o valor de coeficiente fixo, na verdade os valores tm os mesmos recebidos por
diversas vezes pelos pinos destinados a tal operao.
b)
IF-SC
36
Projeto do sistema
Tabela 9 Coeficientes e contedo da memria FIFO no sistema multiplexado
Iterao
3
Iterao
3
Iterao
3
Iterao
3
Clk5
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Clock
Dgt
b0
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
b1
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
b2
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
a1
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
LP
BP1
BP2
BP3
HP
a2
LP
BP1
BP2
BP3
LP
BP1
BP2
BP3
HP
LP
BP1
LP
BP1
BP2
BP3
1
BP1
1
BP 2
1
BP 3
Descrio
Entrada
Fifo0
Fifo1
Fifo2
Fifo3
yLP
x0
0
BP1
yBP 2
HP
yBP 3
1
LP
yBP1
BP3
yBP 2
HP
yBP 3
yLP
3
BP1
yBP 2
HP
yBP 33
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
yBP 32
x3
yLP 3
yBP13
yBP 2 3
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
yBP 32
x3
yLP 3
yBP13
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
yBP 32
x3
yLP 3
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
yBP 32
x3
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
yBP 32
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
yBP 2 2
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
yBP12
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
yLP 2
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
x2
x0
yLP 0
yBP10
yBP 2 0
yBP 30
x1
yLP1
yBP11
yBP 21
yBP 31
Fifo5
Fifo6
Fifo7
Fifo8
Fifo9
IF-SC
yLP
BP2
yLP 0
Fifo4
Sada
yHP 0
yHP1
yHP 2
yHP 3
37
Projeto do sistema
c)
mdulo Filtro IIR. Uma importante informao usada: recebido um sinal externo oriundo
do bloco Gerador de Clock e Sincronismo diretamente sincronizado com o clock do sistema
(220.5kHz). O contador que fornece tal sinal (a partir de agora chamado de dgt) ao sistema
conta de 0 a 4. Portanto, com os cinco valores do contador, possvel dividir a informao
em 5 instantes diferentes de tempo, tambm denominados time slots.
Como visto anteriormente, o mdulo Filtro IIR apenas recebe um sinal de entrada e
entrega um sinal de sada ao seu mdulo superior (Controle de Sinais). Mas como o sistema
opera cinco vezes para simular o arranjo em cascata, preciso gerenciar estes instantes de
tempo para decidir quando o sinal de entrada externo e quando o sinal de sada do Filtro IIR
deve ser entregue sada do sistema.
O mdulo Controle de Sinais responsvel por controlar essa tarefa de multiplexao.
Usando o sinal dgt, em cada instante de tempo o mdulo redireciona a entrada e sada a partir
ou para o mdulo Filtro IIR. Quando o sinal dgt est com o valor 0, preciso entregar ao
sistema Filtro IIR um novo sinal de entrada, ou seja, um sinal externo que est na respectiva
porta. Quando o sinal dgt est com o valor 4 necessrio entregar a sada do mdulo Filtro
IIR sada do sistema. Nos outros valores do contador, apenas acontece a interligao entra a
sada e a entrada do sistema Filtro IIR, ou seja, as iteraes somente trabalham com valores
internos. Os coeficientes tambm so controlados por tal contador, que age de forma a definir
qual a configurao o filtro deve receber em determinado instante de tempo. Tais coeficientes
so fornecidos pelo sistema de controle, sobre o qual ser explanado na prxima seo.
Sistema de controle
3.5.3
38
Projeto do sistema
responsvel por gerenciar esses coeficientes que vm a partir do sistema de computo dos
coeficientes (que envia os coeficientes ao sistema de controle 1 MHz).
Para construir tal modelo foi pensado em um sistema que faa a comunicao serial e
paralela, por isso a denominao SP para tal mdulo. O Sistema Externo entrega os
coeficientes em comunicao serial com um barramento de 12 bits, ou seja, comunicao
serial de 12 bits por vez. Aps isso o sistema transfere os valores aos registradores de forma
paralela para fornecer os coeficientes ao sistema de udio no momento correto.
O sistema pode ser divido portanto em trs partes. Primeiramente, a comunicao serial
com o Sistema Externo, aps isso, a transao em paralelo entre os registradores, e por ltimo
a operao para fornecer os coeficientes de cada filtro no momento correto.
a)
Externo, e os salvar nos registradores. Alguns sinais de controle so tambm enviados para
essa operao.
Primeiramente, o Sistema Externo tem que enviar o sinal start=1. Com essa operao
o mdulo Carregador de Coeficientes comea a receber os dados em uma comunicao serial
em um barramento de 12 bits. Aps enviar todos os dados, o Sistema Externo tem que mudar
o sinal de start para 0. Com o sinal start em seu valor comum (zero), o mdulo Carregador
de Coeficientes no registra os dados que recebe do Sistema Externo.
Quando o dado enviado ao mdulo Carregador de Coeficientes, um contador de dois
nveis tambm comea a operar para a organizao dos dados que vm nas portas
correspondentes. Os coeficientes devem ser organizados na forma requerida pelo sistema,
primeiramente recebendo os coeficientes a partir do coeficiente b0 at o coeficiente a2 do
filtro passa baixa, at receber o ltimo coeficiente que o a2 do filtro passa alta. necessrio
portanto o envio de todo o conjunto de coeficientes, mesmo que alguns coeficientes do
sistema ainda permaneam inalterados, em toda atualizao de valores necessrio o envio
de todos os coeficientes do sistema na ordem mencionada anteriormente, para a correta
alocao dos valores no sistema.
Como pode ser visto na Figura 10, o mdulo recebe 12 bits, ou seja, ele recebe
serialmente (de 12 em 12 bits) os coeficientes do sistema. possvel verificar que o sinal que
controla a comunicao o sinal de start, o qual recebido do Sistema Externo (computo de
coeficientes) que informa quando quer enviar um novo conjunto de coeficientes ao sistema
IF-SC
39
Projeto do sistema
(decorrente da alterao de configurao do sistema pelo usurio). A partir de ento, so
iniciados dois contadores internos que gerenciam o processo de alocao da informao
recebida por esse barramento de 12 bits.
Com os valores dos contadores (temp1 e temp2), o encaminhamento dos bits
gerenciado nos registradores para ento ao final do envio de todo o conjunto de bits (
necessrio enviar todos os coeficientes do filtro, mesmo que somente um coeficiente seja
modificado). Quando os contadores atingem seus valores mximos (temp1=4 e temp2=4) o
processo de envio parado e o sistema coloca em nvel alto o sinal parallel, e ento tem
incio a comunicao paralela.
b)
necessrio envi-los ao mdulo Filtro IIR para computar com o sinal de entrada e fazer com
que o filtro esteja com a configurao correta no momento correto.
Essa comunicao ocorre parte das outras duas etapas, porque a todo o tempo
(somente no ocorre quando o sinal reset=1), o mdulo Carregador de Coeficientes tem que
fornecer ao mdulo Filtro IIR o valor correto dos coeficientes para cada instante de tempo.
Para realizar essa tarefa, o sistema usa o sinal externo dgt (j mencionado anteriormente), so
IF-SC
40
Projeto do sistema
usados os valores deste sinal para determinar qual conjunto de coeficientes deve ser enviado
ao Filtro IIR.
As configuraes tambm esto apresentadas na Tabela 8, onde possvel verificar que
a cada iterao necessria a alterao dos coeficientes.
Essa rotina executada com o clock de 220.5kHz, e a cada iterao enviado um
diferente conjunto de cinco coeficientes ao filtro. Por exemplo, quando o sinal dgt igual a
000, o sistema envia ao Filtro IIR os coeficientes salvos nos registradores paralelos que so
destinados aos coeficientes do filtro passa baixa. Aps isso no prximo valor do sinal dgt, a
operao l os registradores que esto com os valores do filtro passa banda I e assim por
diante.
Nvel superior
3.5.4
IF-SC
41
IF-SC
42
Figura 21 - Entrada e sada sem reinicializao Ones Set seguido pelo Normal Set.
Figura 22 - Entrada e sada com reinicializao - Ones Set seguido pelo Normal Set.
IF-SC
43
Figura 23 - Entrada e sada sem reinicializao - Normal Set seguido pelo Ones Set
Figura 24 - Entrada e sada com reinicializao - Normal Set seguido pelo Ones Set
Pode-se observar nas figuras Figura 23 e Figura 24, que o sistema quando no
reiniciado sofre uma alterao grande em seus valores devido aos valores j contidos nos
registradores de atraso e resulta em valores incorretos na sada do sistema. Logo, a
reinicializao do sistema mostrou ser mais indicada ao caso, pois somente sofreu uma
pequena alterao de resultado, o que no influencia na percepo do ouvido humano. A
percepo dessa necessidade somente aconteceu nos ltimos momentos do projeto, portanto
somente esse teste foi realizado. Com base nele, foi assumida em um primeiro momento, a
necessidade de reiniciar os registradores de atraso. Tal estudo pode ser aprofundado para um
maior nmero de testes. Tal questo ficou apenas documentada para posterior anlise pela
equipe do laboratrio. Pois, apesar de encontrarmos a situao de overflow, deve-se ser
verificada o porque de tal comportamento do circuito. E como no tivemos tempo hbil para
tal, ficou registrado como verificao futura.
Em resumo, o mdulo Filtro IIR opera como um simples Filtro IIR Forma Direta I de
Segunda Ordem. Onde uma entrada recebida do nvel superior (sem considerar sua origem
se sinal externo ou interno), realiza a computao do mesmo e entrega um sinal de sada ao
IF-SC
44
Processo de contagem
4.3.1
clock de 220.5 kHz e o sinal de reset. Esse contador responsvel por dividir o tempo de
execuo do sistema nos cinco diferentes instantes de tempo necessrios. A idia de
incorporar tal contador no Sistema Externo foi baseada na situao de utilizar somente um
contador para vrios sistemas. Somente no equalizador tal sistema necessrio para o
Sistema de Controle e para o Sistema de udio, portanto somente um contador usado e o
sinal de sada do mesmo compartilhado para os diversos mdulos que o necessitam como
um sinal de entrada. O Apndice A (a) mostra o cdigo do processo count.
4.3.2
45
4.3.3
4.3.4
4.3.5
O processo de gerao dos sinais de entrada apresenta uma estrutura para leitura de
arquivo externo usado em duas tarefas diferentes, primeiramente para definir o sinal de
entrada do sistema, e por ltimo para definir os coeficientes que sero enviados ao sistema.
possvel identificar o arquivo que aberto para o modo de leitura (READ_MODE), e a
varivel salva para envio ao equalizador. Tal estrutura pode ser assumida para a gerao de
diferentes sinais externos ao sistema. O Apndice A (e) mostra o cdigo do processo de
gerao dos sinais de entrada.
IF-SC
46
4.3.6
IF-SC
47
Nesse arranjo possvel verificar portanto que ao invs do mdulo Controle de Sinais
(Mux) servir de nvel superior para o sistema de udio, agora o c1 faz essa tarefa. Os mdulos
4.5 Medidas
Aps a anlise grfica garantindo que o circuito opera como foi concebido, com a
insero de um sinal de entrada e anlise do sinal de sada, foram realizadas medies para a
verificao principal do projeto, que se baseia em trs medidas. As duas mais importantes
so, o consumo de potncia do sistema e a rea utilizada pelo sistema. O nmero de
registradores tambm obtido como informao adicional.
Como mencionado anteriormente, um problema encontrado nos equalizadores
paramtricos a rea usada por eles, j que so necessrios cinco filtros cascateados. Como o
equalizador considerado um sistema bsico em um dispositivo porttil (mp3 player, celular,
etc.) no pode ser desperdiado espao com tal sistema, pois em muitas partes, ele faz parte
IF-SC
48
Mdulo
Sistema cascateado
Sistema multiplexado
Comparao
Total
Total
Sistema Completo
0,165
0,490
296,97
Sistema de Controle
0,017
0,037
217,65
Sistema de udio
0,145
0,449
309,66
Tabela 11 rea ocupada (em mm2) e total de registradores pelo sistema cascateado e o sistema
multiplexado
Item
Sistema cascateado
Sistema multiplexado
Comparao
Total
Total
rea Total
2,23
0,83
37,22
Total de Registradores
1099
1084
98,64
Consumo de potncia
4.5.1
IF-SC
49
rea
4.5.2
A rea o ponto principal para a realizao do sistema multiplexado. Como pode ser
notado nos valores apresentados, o sistema multiplexado consegue valores muito menores do
que o sistema cascateado. Portanto, possvel uma economia grande na produo de tal
circuito, pois um maior nmero de circuitos poder ser criado na mesma rea antes utilizada
para produzir um circuito cascateado.
A relao de valores entre os dois sistemas ficou em aproximadamente trs vezes
menos consumo de rea no sistema multiplexado, quando comparado com o sistema
cascateado.
Nmero de registradores
4.5.3
O nmero de registradores, que a princpio pode se achar que seria muito menor no
sistema multiplexado, se torna praticamente o mesmo. O sistema cascateado tem um
acrscimo de registradores, pois necessita de um conjunto de registradores de atraso para
cada um dos seus filtros. O sistema multiplexado possui somente um filtro, mas os
registradores de atraso de cada um dos filtros simulados existem fisicamente, como
explanados nas sees anteriores.
O ganho mximo do filtro passa alta no pode ser maior do que 8 dB. Se o ganho
for configurado em um valor maior do que este, os coeficientes tero valores
maiores do que 2. A faixa de valores dos coeficientes est compreendida entre -2
e +2.
IF-SC
50
O Sistema Externo em cada troca de coeficientes tem que enviar todo o conjunto
de coeficientes (25 coeficientes), respeitando a sequncia: filtro passa baixa (b0,
b1, b2, a1, a2), filtro passa banda 1 (b0, b1, b2, a1, a2), filtro passa banda 2 (b0,
b1, b2, a1, a2), filtro passa banda 3 (b0, b1, b2, a1, a2) e filtro passa alta (b0, b1,
b2, a1, a2).
IF-SC
51
5 Concluses
52
Concluses
componentes gera uma resposta em frequncia no linear, e com isso ocorrem muitas
distores na voz. Para esse uso, somente necessrio o clculo de coeficientes na fbrica,
quando testado o lote de cpsulas para definio da resposta necessria no equalizador. A
partir disso, os coeficientes sero fixos e no necessitaro de alterao. Portanto, o sistema de
controle sofreria uma alterao drstica, e ao invs de haver uma possibilidade de alterao
de coeficientes, estes estariam armazenados numa memria ROM interna que somente seria
lida para realizar a alterao dos coeficientes no sistema de udio a cada instante de tempo.
Tal configurao salvaria ainda mais o tamanho do filtro, e diminuiria o consumo de
potncia. Como essa observao somente foi vista no final do trabalho, toma-se essa
configurao de sistema para um prximo trabalho, pois tornaria o circuito totalmente apto
para realizao do trabalho com eficincia e com reduo de custos na produo.
IF-SC
53
Referncias bibliogrficas
IF-SC
54
A Apndice
A Apndice
A.1
(a)
Processo de contagem
count: PROCESS(clk5,reset)
BEGIN
IF (reset=1) THEN
temp<=4;
ELSIF(clk5EVENT AND clk5=1)THEN
temp<=temp+1;
IF(temp=4) THEN
Temp<=0;
END IF;
END IF;
END PROCESS count;
dgt<=conv_std_logic_vector(temp,3)
IF-SC
55
A Apndice
(b)
Clk1m_gen:PROCESS
BEGIN
Clk1m<=1;
Wait for 500ns;
Clk1m<=0;
Wait for 500ns;
END PROCESS clk1m_gen;
Clk5_gen:PROCESS
BEGIN
Clk5<=0;
Wait for 2268 ns;
Cl5<=1;
Wait for 2268 ns;
END PROCESS clk5_gen;
Clk_gen:PROCESS
BEGIN
Clk<=0;
Wait for 11340 ns;
Clk<=1;
Wait for 11340 ns;
END PROCESS clk_gen;
(c)
Reset_gen:PROCESS
BEGIN
Reset<=1;
Wait for 113400 ns;
Reset<=0;
Wait;
END PROCESS reset_gen;
IF-SC
56
A Apndice
(d)
Start_Stop_gen:PROCESS
BEGIN
Wait for 113400 ns;
Start<=0;
Stop<=1;
Wait for 1000 ns;
Start<=1;
Stop<=1;
Wait for 26000 ns;
Start <= 0;
Stop <= 1;
Wait until reset=1;
END PROCESS start_stop_gen;
(e)
read: PROCESS
file input_file:text;
variable lin:line;
variable DataInV:std_logic_vector(15DOWNTO0):=(others => 0);
BEGIN
File_open(input_file, input.txt, READ_MODE);
Wait until reset=0;
While not ENDFILE(input_file)
LOOP
Wait until clk5event and clk5=1;
Readline (input_file, lin);
Hread(lin,DataInV);
Fin <= DataInV(15 DOWNTO 0);
END LOOP;
Wait;
END PROCESS read;
Input_uC: PROCESS
file input_file:text;
variable lin:line;
variable DataInV:std_logic_vector(15DOWNTO0):=(others => 0);
BEGIN
File_open(input_file, input_uc.txt, READ_MODE);
Wait until start=1 and reset=0;
While not ENDFILE(input_file)
LOOP
Wait until clk1mevent and clk1m=1 and start=1;
Readline (input_file, lin);
Hread(lin,DataInV);
Fin <= DataInV(15 DOWNTO 0);
END LOOP;
Wait;
END PROCESS input_uc;
IF-SC
57
A Apndice
(f)
Write:PROCESS
File output_file:text;
Variable lout: line;
Variable DataOutV: std_logic_vector(19 DOWNTO 0) := (others => 0);
BEGIN
File_open(output_file,output.txt,WRITE_MODE);
Wait until reset=0;
LOOP
Wait until clkevent and clk=1;
DataOutV:=fout;
Writeline(output_file,lout);
Hwrite(lout,DataOutV);
END LOOP;
Wait;
END PROCESS write;
IF-SC
58