You are on page 1of 64

UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA

DEPARTAMENTO ACADEMICO
DE ELETRICA

CURSO DE ENGENHARIA DE CONTROLE E AUTOMACAO

HERMAN LUCAS DOS SANTOS

ESPECIFICAC
OES DE PROJETO E DESENVOLVIMENTO DE
PLATAFORMA PARA ARRAY PROCESSING

DE CURSO
TRABALHO DE CONCLUSAO


CORNELIO
PROCOPIO

2016
HERMAN LUCAS DOS SANTOS

ESPECIFICAC
OES DE PROJETO E DESENVOLVIMENTO DE
PLATAFORMA PARA ARRAY PROCESSING

Trabalho de conclusao de curso apresentada ao


Curso Superior de Engenharia de Controle e
Automaca o da Universidade Tecnologica Federal
do Parana como requisito parcial para obtenca o do
ttulo de Engenheiro de Controle e Automaca o.

Orientador: Prof. Dr. Wagner Endo


Co-orientador: Prof. Dr. Vander Teixeira Prado


CORNELIO
PROCOPIO
2016
Universidade Tecnolgica Federal do Paran
Campus Cornlio Procpio
Departamento Acadmico de Eltrica
Curso de Engenharia de Controle e Automao

FOLHA DE APROVAO

Herman Lucas dos Santos

Especificaes de projeto e desenvolvimento de plataforma para array processing

Trabalho de concluso de curso apresentado s 15:50hs do dia


18/11/2016 como requisito parcial para a obteno do ttulo de
Engenheiro de Controle e Automao no programa de Graduao
em Engenharia de Controle e Automao da Universidade
Tecnolgica Federal do Paran. O candidato foi arguido pela Banca
Avaliadora composta pelos professores abaixo assinados. Aps
deliberao, a Banca Avaliadora considerou o trabalho aprovado.

______________________________________________
Prof(a). Dr(a). Wagner Endo - Presidente (Orientador)

______________________________________________
Prof(a). Dr(a). Vander Teixeira Prado - (Coorientador)

______________________________________________
Prof(a). Dr(a). Cristiano Marcos Agulhari - (Membro)

______________________________________________
Prof(a). Dr(a). Mara Eugenia Dajer - (Membro)

A folha de aprovao assinada encontra-se na coordenao do curso.


Dedico este trabalho a` todas as pessoas que me apoiaram e inspiraram;
minha famlia, professores, namorada e amigos. Todas estas pessoas
foram fundamentais para que meu aprendizado fosse aprimorado e tor-
naste possvel este trabalho. Sem os mesmos eu nada seria.
AGRADECIMENTOS

Eu, Herman, gostaria de agradecer a` todos que participaram de forma direta ou indireta
da minha formaca o academica de graduaca o em Engenharia de Controle e Automaca o.

Em primeiro lugar agradeco ao professor Wagner Endo que depositou sua confianca
em orientar-me desde o incio de 2014, culminando neste trabalho.

Agradeco aos professores que participaram deste perodo, em especial ao Cristiano


Agulhari e Paulo Scalassara, os quais considero amigos pessoais, pelo apoio durante grande
parte do perodo de graduaca o, auxiliando com a grande carga de conhecimento que possuem,
alem dos momentos de descontraca o. Agradeco fortemente tambem a` professora Maria Eugenia
e o professor Vander Prado, a primeira por aceitar ser parte de minha banca e o segundo por ter
aceitado a` coorientaca o de meu TCC.

Aos meus colegas do Laboratorio de Processamento de Sinais e Aplicaco es, LPSA,


em especial ao Murilo Cinel, que foram companhia em grande parte do trabalho, alem do de-
senvolvimento de outras atividades academicas conjuntas.

Gostaria de agradecer tambem aos colegas da primeira turma de Engenharia de Con-


trole e Automaca o, sobretudo a` Veridiana, Guilherme Pelz e Thiago Honorato, que prestaram
auxlio em momentos mais difceis da graduaca o e se tornaram grandes amigos meus.

Aos meus pais, Sonia e Pedro, dos quais dispensa comentarios a gratidao que tenho por
tudo que fizeram, e meus irmaos, Lincoln e Raiza, que sempre estiveram presentes e prestaram
apoio em todos aspectos de minha vida.

` minha querida namorada e companheira, Thas Maciel Navarro, pelo apoio moral,
A
psicologico e companhia prestada nesta fase final, que fora fundamental para meu crescimento
pessoal e, consequentemente, deste trabalho.

Meus amigos que estiveram presentes durante estes cinco anos, sobretudo a` meu amigo
Joao Ricardo a.k.a. Parkour, que fizeste companhia em diversos dias e auxiliou em varios
aspectos da vida pessoal.

Que esta sntese de meus conhecimentos adquiridos e esforcos realizados nao seja rela-
cionado apenas a mim, mas cada uma das pessoas citadas que contriburam com esta realizaca o.
O acaso nao existe. Quando alguem encontra algo de que verdadeira-
mente necessita, nao e o acaso que tal proporciona, mas a propria pes-
soa; seu proprio desejo e sua propria necessidade o conduzem a isso.
Hermann Hesse
RESUMO

SANTOS, Herman L.. ESPECIFICACOES DE PROJETO E DESENVOLVIMENTO DE PLA-


TAFORMA PARA ARRAY PROCESSING. 63 f. Trabalho de conclusao de curso Departa-
mento academico de Eletrica , Universidade Tecnologica Federal do Parana. Cornelio Procopio,
2016.

Neste trabalho busca-se aplicar tecnicas de processamento de sinais para multiplos sensores,
Array Processing. Sao apresentados conceitos e motivaco es da utilizaca o destes sensores em
cenarios reais, assim como exposta uma fundamentaca o teorica descritiva da utilizaca o des-
tes sistemas. A partir de entao, o trabalho se divide em duas partes: simulaco es e praticas,
com a exposica o das operaco es mais triviais que sao realizadas com este sistema. Propoe-se a
implementaca o de um sistema a partir de um kit FPGA, com confecca o de sistemas de aquisica o
de dados e transmissao a` um processador offline, assim como explcitos os circuitos utilizados.
Como resultados, sao apresentadas as operaco es realizadas tanto no sistema simulado quanto no
sistema real. Ao fim, sao estabelecidos comentarios acerca dos resultados obtidos no trabalho.

Palavras-chave: Processamento de Sinais, Array Processing, Aquisica o de dados


LISTA DE FIGURAS
FIGURA 1 Representaca o grafica de um Arranjo Linear Uniforme . . . . . . . . . . . . . . . 16
FIGURA 2 Operaca o de multiplicaco es e soma para gerar a sada y do filtro espacial 19
FIGURA 3 Circuito somador 8 bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIGURA 4 Kit ALTERA DE2-115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
FIGURA 5 Microfone de eletreto 2 terminais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FIGURA 6 Polarizaca o simples de microfone de eletreto . . . . . . . . . . . . . . . . . . . . . . . . 29
FIGURA 7 Pinagem ADC0832. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
FIGURA 8 Carta de tempos do dispositivo ADC0832. . . . . . . . . . . . . . . . . . . . . . . . . . . 30
FIGURA 9 Diagrama de fluxo do sistema proposto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
FIGURA 10 Analise grafica da resoluca o de Beampattern para (a) 2 elementos, (b) 8
elementos, (c) 32 elementos e (d) 128 elementos para a ngulos de -90 a 90. 34
FIGURA 11 Analise grafica da resoluca o de Beampattern para espacamento de (a)
1 , (b) 12 , (c) 14 e (d) 41 para a ngulos de -90 a 90. . . . . . . . . . . . . . . . . . . 35
FIGURA 12 Fluxograma do algoritmo de implementaca o de filtragem espacial por
Tapered Beamformer proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
FIGURA 13 Sinais atrasados sinteticamente em perspectiva aumentada para aplicaca o
virtual de filtragem por Tapered Beamformer. Acima: sinal de interesse.
Abaixo: sinal de interferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
FIGURA 14 Acima: Beampattern do filtro projetado. Abaixo: Representaca o com-
pleta dos sinais de origem gravados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
FIGURA 15 Resultado grafico para aplicaca o de Tapered Beamformer em uma composica o
de sinal de interesse a 45 e sinal de interferencia a -20 com passos de 45 39
FIGURA 16 Comparaca o de sada de aplicaca o de Tapered Beamformer para 16, 64,
256 e 1024 elementos na extraca o de um sinal de interesse utilizando uma
janela de Chebychev com atenuaca o de 300 dB . . . . . . . . . . . . . . . . . . . . . . . . . 40
FIGURA 17 Circuito de amplificaca o para microfone de eletretos utilizando BC547. 42
FIGURA 18 Circuito para impressao de offset de tensao utilizando TL081. . . . . . . . . . 43
FIGURA 19 Esquematico de ligaca o a ser utilizado no ADC0832. . . . . . . . . . . . . . . . . . 44
FIGURA 20 Ligaca o do transceptor ZT232 com o chip FPGA. . . . . . . . . . . . . . . . . . . . . 44
FIGURA 21 Sinal de clock gerado pelo FPGA visto no osciloscopio. . . . . . . . . . . . . . . 45
FIGURA 22 Sinal de CS gerado pelo FPGA visto no osciloscopio . . . . . . . . . . . . . . . . . 46
FIGURA 23 Placa de circuito impresso gerada para funcionamento e amplificaca o do
sinal dos microfones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
FIGURA 24 Placa de circuito impresso gerada para condicionamento do sinal dos
microfones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
FIGURA 25 Placa de circuito impresso gerada para ligaca o dos conversores A/D . . . 49
FIGURA 26 Fluxo do programa embarcado no FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
FIGURA 27 Sinais adquiridos no primeiro experimento . . . . . . . . . . . . . . . . . . . . . . . . . . 51
FIGURA 28 Sinais adquiridos no segundo experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
FIGURA 29 Sinais adquiridos no terceiro experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
LISTA DE TABELAS
TABELA 1 Conexoes FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
TABELA 2 Experimentos realizados para aquisica o dos dados . . . . . . . . . . . . . . . . . . . 51
LISTA DE SIGLAS
ADC Analog-to-Digital Converter
DOA Direction of Arrival
DSP Digital Signal Processor
FPGA Field Programable Gate Array
FIR Finite Impulse Response
LPSA Laboratorio de Processamento de Sinais e Aplicaco es
LSB Less Significant Bit
MSB Most Significant Bit
MUSIC Multiple Signal Classification
SDRAM Synchronous Dynamic Random Access Memory
SNR Signal-to-Noise Ratio
SRAM Static Random Access Memory
ULA Uniform Linear Array

SUMARIO

1 INTRODUC
AO .............................................................. 10
2 PROBLEMA DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1 OBJETIVO GERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 OBJETIVOS ESPECIFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5 FUNDAMENTAC TEORICA
AO ............................................. 15
5.1 ARRAY PROCESSING APLICADO A ULA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 MODELAGEM DO ULA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3 FORMACAO DO BEAMPATTERN E RELACAO SINAL-RUIDO (SNR) . . . . . . . . . 18
5.3.1 Computaca o da relaca o sinal-rudo do arranjo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.4 TECNICAS DE FILTRAGEM ESPACIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.4.1 Conceitos de Spatial Matched Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.4.2 Tapered Beamformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.5 VOZ HUMANA: CONCEITOS E CAPTACAO ................................. 23
5.6 ESTIMATIVA DE DIRECAO DE CHEGADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.7 DEFINICAO DE ARQUITETURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 MATERIAIS E METODOS ................................................... 27
6.1 MATERIAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.1 Plataforma de aquisica o e processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2 MICROFONES DE ELETRETO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.3 CONVERSORES A/D ADC0832 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.4 METODOS .................................................................. 30
7 TESTES E ENSAIOS PRELIMINARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.1 NUMERO DE ELEMENTOS E ESPACAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.2 APLICACAO VIRTUAL DE TAPERED BEAMFORMER . . . . . . . . . . . . . . . . . . . . . . . . 34
7.3 APLICACAO VIRTUAL DA CORRELACAO CRUZADA PARA ESTIMAR DOA 39
8 IMPLEMENTAC
AO PRATICA DO SISTEMA PROPOSTO . . . . . . . . . . . . . . . . . . 41
8.1 CONDICIONAMENTO DO SINAL E INTERFACE SENSOR-CONVERSOR . . . . . 41
8.1.1 Condicionamento do Sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.1.2 Esquematico de Ligaca o ADC0832 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.1.3 Protocolo serial RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.1.4 Interfaceamento dos conversores A/D com o FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9 RESULTADOS E DISCUSSOES .............................................. 47
9.1 DESCRICAO DO EXPERIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.1.1 Configuraca o do FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.2 SINAIS CAPTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.3 DISCUSSOES ACERCA DOS RESULTADOS OBTIDOS . . . . . . . . . . . . . . . . . . . . . . . 52
10 CONCLUSAO ............................................................... 54

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Apendice A -- ALGORITMOS UTILIZADOS NAS SIMULAC
OES ................ 58
10

1 INTRODUC
AO

O estudo da tecnica de Beamforming tem se intensificado com as inumeras aplicaco es


possveis que estas possuem. Esta tecnica e proveniente do arranjo entre varios sensores que
captam sinais simultaneamente, e tal modelagem e denominada Array Processing. As proprie-
dades desta tecnica possibilitam a aplicaca o em diversas a reas, como em radares, sonares, esti-
mativa de direca o de chegada fontes emissoras de sinais, sismologia e bioengenharia (TREES,
2004).

As informaco es que podem ser extradas por meio deste metodo sao diversas, como
um sinal de interesse em um meio ruidoso, ou a localizaca o de uma fonte emissora deste sinal
dentre outras fontes de interferencia (NAIDU, 2009). Esta tecnica pode ser implementada em
diversas geometrias para os sensores, denominados elementos, no espaco e cada uma destas
possui particularidades, dependendo da aplicaca o com que esta sera utilizada.

O estudo recente da tecnica se mostra muito u til principalmente na bioengenharia


(YAN et al., 2015), (JAISWAL et al., 2009), (ROFFEH; EINAV, 1995) e telecomunicaco es
(WINTERS, 1993), (CHOI et al., 2013), (QI et al., 2011). Com o avanco computacional tem-se
tecnicas cada vez mais requintadas para filtragem espacial e detecca o de direca o de chegada,
que sao dois dos escopos deste trabalho.

Em ambientes industriais, comerciais ou domiciliares existem diversos elementos que


podem emitir rudos, que costumam ser estacionarios, como o rudo de uma maquina eletrica,
de um motor de combustao, conversas, sendo estas sinais emitidos por pessoas, e diversas outras
fontes. Os rudos que sao emitidos periodicamente ou a mudanca de um rudo conhecido pode
trazer diversas informaco es sobre o funcionamento de maquinas, por exemplo. Porem, para o
caso de uma maquina, simplesmente o rudo pode ser suficiente para extraca o do componente
que causa uma falha mecanica por um indivduo com grande experiencia, alem de uma boa
audica o. Aplicando este metodo de processamento a detecca o e feita de forma computacional,
com precisao da localizaca o da peca que causou a falha.

Outro exemplo de aplicaca o e encontrar a posica o de um atirador em um campo de


batalha. Ao apertar o gatilho o estouro da polvora ira gerar uma grande onda sonora que pode
11

ser captada, processada e entao obter a localizaca o aproximada de onde houve o disparo. A
aplicaca o pode tambem ser muito u til para seguranca, como em um ambiente onde ha diversos
sinais sonoros e deseja-se monitorar o conteudo de uma direca o especfica,e possvel isolar os
sinais desta direca o e ate mesmo localizar algum que seja de desejo.

Visa-se neste trabalho o estudo e construca o de um ULA - Uniform Linear Array. Esta
geometria linear traz os elementos dispostos em linha com espacamentos iguais, onde tem-se
como entrada os sinais captados pelos diversos sensores e como sada a soma dos sinais des-
locados e ponderados. Sao consideradas diferencas na modelagem para cada a rea de aplicaca o
(TREES, 2004), mas os fundamentos da construca o do arranjo e a aplicaca o do Beamformer
obedecem a um padrao.

O estudo sera feito atraves de sinais de a udio. Estes sinais sao captados por micro-
fones e atuam em uma certa banda de frequencia. Fontes emissoras de sinais sonoros podem
ser diversas, como a voz humana, rudos de um motor ou reverberaca o em um construto. Exis-
tem diversos modos de se tratar estes problemas, como em Otsuka et al. (2014), que aplicam
inferencias de Bayes em um problema de analise de auditorio. E apresentada tambem em Ger-
men et al. (2014) a aplicaca o desta tecnica para analise de falhas em maquinas de induca o, onde
utiliza-se um arranjo de microfones circulares.

As diversas aplicaco es em que podem ser empregadas Array Processing fica depen-
dente apenas da habilidade e imaginaca o do projetista e ha uma grande quantidade de tecnicas
que torna viavel a utilizaca o da mesma, seja para processamento em tempo real ou posterior,
como criaca o de imagens 2D e ate 3D baseadas nos sinais recebidos.
Este trabalho esta organizado da seguinte forma: nos Captulos 2 e 3 traz-se a motivaca o e justi-
ficativa do estudo proposto. No Captulo 4 tem-se os objetivos finais a serem alcancados com o
projeto. O Captulo 5 e dedicado a fundamentaca o teorica para o desenvolvimento e embarque
do projeto. Os materiais e metodologia de construca o propostos sao estudados no Captulo 6.
Tem-se alguns resultados teoricos desenvolvidos por simulaco es para consolidaca o do funcio-
namento da proposta no Captulo 7. O Captulo 8 apresenta caractersticas acerca do sistema
desenvolvido e no captulo seguinte, 9, sao mostrados os resultados obtidos. Ao fim, Captulo
10, sao tecidas as conclusoes acerca do trabalho realizado.
12

2 PROBLEMA DE PESQUISA

Problemas de localizaca o de fontes emissoras de sinal sao comuns em aplicaco es reais.


Em ambientes industriais tem-se diversos rudos que sao dificilmente distinguveis por um ser
humano ou por um simples sensor. Estes rudos podem indicar anomalias de funcionamento em
processos e a localizaca o de anormalidades podem otimizar o custo e eficiencia de manutenca o.
Outro ambiente com grande aplicaca o e na formaca o de imagens 2D e 3D. Utilizando diver-
sos sensores ultrassonicos faz-se imagens com precisao muito maior do que quando utiliza-se
apenas um destes e desloca-o manualmente. A aplicaca o de arrays tambem traz grandes vanta-
gens no campo de telecomunicaco es, uma vez que estas utilizam antenas. Antenas direcionadas
mecanicamente tem precisao reduzida quando comparado ao direcionamento eletronico que e
possvel com um arranjo de elementos. Portanto, devida a suas diversas aplicaco es em diversos
campos, a aplicaca o de arranjos de sensores se mostra muito vantajosa em relaca o a metodos
que utilizam um simples sensor e possibilita outras aplicaco es alem da melhoria da resoluca o.
13

3 JUSTIFICATIVA

A grande aplicaca o em diversas a reas de Array Processing traz diversas aplicaco es no


mundo real. O emprego desta tecnica aliado a um bom processamento estatstico de dados torna
possvel a utilizaca o da mesma em diversas a reas e possibilidades de localizaca o de fontes emis-
soras, filtragem espacial de sinais e potencializaca o de de sensores. Sao comuns aplicaco es para
estimaca o e prevenca o de falhar mecanicas em maquinas eletricas e automotivas, radares, can-
celamento de eco, definir localizaca o especfica de um emissor em um ambiente extremamente
ruidoso e outras diversas, ficando limitada somente a` habilidade e imaginaca o de um projetista.
14

4 OBJETIVOS

4.1 OBJETIVO GERAL

Desenvolver uma plataforma para aquisica o e processamento de dados que garanta


paralelismo de aquisica o de diversos sensores e processamento offline para aplicaca o de Array
Processing.

4.2 OBJETIVOS ESPECIFICOS

Estudar tecnicas e metodos de aquisica o de dados;

Estudar tecnicas de Beamforming convencional para realizaca o de filtragem;

Estabelecer tecnicas para detecca o de estimativa de localizaca o de fonte emissora sonora;

Aplicar de tecnicas de filtragem e detecca o de direca o de chegada em sinais sinteticos


produzidos atraves de um sinal real;

Estudar e estabelecer arquiteturas para aquisica o paralela e processamento de sinais em


tempo real;

Adquirir dados reais para pos processamento em computador a fim de viabilizar o em-
prego da tecnica no arranjo montado;

Embarcar processamento em um sistema;

Elaborar de relatorio contendo as descrico es, especificaco es e os resultados obtidos.


15

5 FUNDAMENTAC TEORICA
AO

Neste captulo sao apresentados conceitos de processamento paralelo de dados. Sao


vistas nas seco es aqui presentes conceitos de Array Processing direcionados a um arranjo de
sensores em linha igualmente espacados, aplicaca o de filtragem espacial, conceitos de aquisica o
de dados sonoros e arquiteturas computacionais.

5.1 ARRAY PROCESSING APLICADO A ULA

Um sinal e uma onda que se propaga em um meio com uma velocidade c e tem um
comprimento de onda . Um sinal contem informaco es de sua fonte emissora e atraves da
utilizaca o de arranjos de sensores pode-se extrair a localizaca o desta fonte (MANOLAKIS et
al., 2005). Em ambientes reais um sinal dificilmente se propaga de forma livre sem rudos e
interferencias, estes podendo ter magnitude muito maior que um sinal de interesse, fazendo
com que o mesmo fique mascarado. Para extraca o do sinal em um meio, utiliza-se a filtragem
espacial por meio de um arranjo linear uniforme.

Um Arranjo Linear Uniforme, ou ULA (Uniform Linear Array), pode ser descrito
como uma configuraca o em que diversos sensores sao dispostos com espacamentos iguais em
linha. Estes sensores captam um sinal de interesse e possuem um atraso entre os sinais cap-
tados por cada elemento de acordo com o a ngulo entre a fronte de onda da fonte emissora
de sinal e o vetor normal do arranjo. A Figura 1 representa a disposica o de sensores nesta
configuraca o, onde d e o espacamento em metros entre os sensores.

O arranjo de sensores funciona como um simples sensor que pode ser direcionado a`
qualquer a ngulo que se deseje, como uma antena. Na antena direciona-se o u nico sensor para
o ponto que se consegue a melhor definica o do sinal. No ULA atribuem-se diferentes pesos a
cada sensor de forma a enfatizar o sinal de uma certa direca o. Para projeto do ULA e necessario
conhecer os parametros dos sinais a serem trabalhados para estabelecer-se as configuraco es do
mesmo.

O principal parametro a ser considerado e o comprimento de onda do sinal a ser


processado. Atraves deste parametro tem-se o espacamento maximo entre os sensores e a
16

1
d
2 3
... n
Arranjo Linear Uniforme

Figura 1: Representaca o grafica de um Arranjo Linear Uniforme


Fonte: Adaptado de (MANOLAKIS et al., 2005)

frequencia de amostragem necessaria para o sistema. O comprimento de onda de um sinal e


calculado segundo a Equaca o (1). A Equaca o (2) apresenta o espacamento necessario entre
os sensores (MANOLAKIS et al., 2005). Esta equaca o e similar ao teorema de Nyquist para
frequencias temporais apresentados em (OPPENHEIM et al., 1989).

c
= (1)
fmax
sendo fmax a frequencia maxima do sinal de interesse.


d (2)
2

Estas ondas espaciais propagam-se como um arco que aumenta sua envergadura con-
forme a distancia entre a fonte emissora e a fronte da onda. Pode-se assumir a detecca o como
espacada o suficiente, fazendo com que o sinal seja tratado como uma onda plana. Esta fronte
de onda dara um atraso temporal ao sensor de acordo com a equaca o (3). Portanto, a menos que
a fonte emissora esteja posicionada a` frente do array, havera atrasos temporais entre os sinais
captados por cada elemento.
17

d
= sen( ) (3)
c

5.2 MODELAGEM DO ULA

Denota-se M a quantidade de elementos e N a quantidade de amostras para processa-


mento. Todo sinal x[n] sera constitudo por um sinal de interesse s[n], um rudo termico, ou
rudo branco, proveniente do sensor, w[n] e um sinal i[n] proveniente da soma das interferencias
recebidas no sensor. Os sinais x j [n], com j variando de 1 a M, sao definidos pela Equaca o (4).
Tem-se a soma dos sinais recebidos por cada elemento a cada amostra. Para propositos de fil-
tragem e estimativa de direca o de chegada deseja-se atenuar os rudos e interferencias de forma
a manter apenas o sinal s[n] na sada do arranjo.

x j [n] = s j [n] + w j [n] + i j [n]. (4)

Denota-se x[n] como a representaca o de todos os sinais recebidos pelo ULA segundo
a Equaca o (5). Denomina-se array snapshot o conjunto de amostras temporais de todos os
elementos num instante de tempo.

x[n] = [x1 [n] x2 [n] . . . xM [n]]T . (5)

sendo x1 o elemento de referencia e xM o elemento mais espacado do primeiro.

E proposta a utilizaca o da Equaca o (2) para definir o espacamento entre os elementos.


Cada sinal tera um atraso de fase em relaca o aos outros baseado na distancia entre os elementos
e na frequencia temporal do sinal. Estes atrasos na chegada do som pode ser entendido como
frequencia de amostragem espacial e, portanto, a disposica o dos elementos esta diretamente
ligada a` frequencia de amostragem espacial e pode ser normalizada. O atraso de fase e definido
por e j2u , com u definido pela Equaca o (6) como frequencia espacial normalizada.

dsen
u= (6)

sendo dependente do a ngulo de incidencia do sinal no ULA. Tem-se entao um vetor de di-
recionamento do arranjo descrito pela Equaca o (7). Essa equaca o e obtida relacionando os
18

atrasos de fase com o numero de elementos. Este vetor sera utilizado em todos os processos
que envolverao Beamformers.

1
v(u) = [1 e j2u . . . e j2u(M1) ]T (7)
M

5.3 DO BEAMPATTERN E RELACAO


FORMACAO SINAL-RUIDO (SNR)

Foi definida na seca o anterior a distancia maxima entre os elementos de um array e a


dependencia da resposta do mesmo baseado em sua quantidade de elementos e espacamentos.
Similar a um filtro de resposta impulsiva finita (FIR) (VEEN; BUCKLEY, 1988), onde os pesos
de cada elemento e numeros de elementos mudam a sada, o espacamento e quantidade de
sensores no arranjo proporcionam uma abertura ou fechamento do a ngulo de filtragem.

Da-se a denominaca o de filtro espacial para a utilizaca o de um arranjo para extraca o


de sinais no espaco. A sada do filtro espacial e dado pela soma dos sinais captados pelos
elementos associados a um peso c j , com j variando de 1 a M. A maneira de estipular estes
pesos sao diversas e e objeto de estudo. Dentre as tecnicas que envolvem a obtenca o destes
pesos tem-se metodos convencionais, que serao abordados neste trabalho, e metodos adaptati-
vos. Uma ilustraca o do metodo de multiplicaco es e somas dos sinais encontra-se na Figura 2.
A formulaca o matematica desta situaca o e descrita pela Equaca o (8).

M
y[n] = cmxm[n] = cH x[n] (8)
m=1
onde
c = [c1 c2 . . . cM ]T (9)

sao os pesos c j incorporado nos sinais pelos elementos do arranjo.

A obtenca o do Beampattern pode ser entendida como a realizaca o de uma transfor-


mada de Fourier no espaco com os limites definidos entre 90 90. Analogamente a` trans-
formada Fourier aplicada a um filtro, que retorna as magnitudes de atenuaca o de um sinal em
cada uma de suas frequencias componentes, o Beampattern da a informaca o das direco es onde
serao atenuados os sinais que chegam a um arranjo. Esta tecnica e empregada pela multiplicaca o
presente na Equaca o (10).
19

c*
1

x1(n) x

x2(n) x
+ y(n)

c*
2

xM(n) x

c*
M

Figura 2: Operaca o de multiplicaco es e soma para gerar a sada y do filtro espacial


Fonte: Autoria Propria

C( ) = cH v( ) (10)

5.3.1 DA RELACAO
COMPUTACAO SINAL-RUIDO DO ARRANJO

Um atributo importante na sada do ULA e sua relaca o sinal-rudo (SNR). Esta relaca o
e utilizada para quantificar a eficiencia dos ganhos aplicados e e verificada na sada total do
arranjo e em cada um dos elementos. A aplicaca o em cada um dos elementos serve em mui-
tos processos adaptativos onde o ajuste de ganhos e feito durante a execuca o do filtro. Das
Equaco es (8), (7) e (4), desprezando o sinal de interferencia, tem-se a relaca o sinal-rudo dada
pela Equaca o (11).


y[n] = cH [ Mv(s )s[n] + w[n]] (11)

A potencia na sada do arranjo pode ser conferida na Equaca o (12), sendo definida pela
matriz de correlaca o Rx = Ex[n]xH n (MANOLAKIS et al., 2005), onde E representa o operador
valor esperado.
20

Py = E{|y[n]2 |} = cH Rx c (12)

E interessante analisar entao a relaca o sinal-rudo de cada elemento do arranjo, deno-


minada SNRelem . Da Equaca o 7 tem-se que o atraso de fase entre cada um dos elementos e dado
por e j2us , onde us e a normalizaca o do a ngulo de direcionamento do ULA. Novamente, des-
prezando sinais de interferencia, reescreve-se a equaca o de cada um dos elementos da seguinte
forma

x j [n] = e j2(M1)us s[n] + w j [n] (13)

com j de 1 a M 1, sendo M e o numero de elementos no arranjo. Analisando o desvio padrao


dos mesmos, tem-se que a relaca o sinal-rudo e dada pela Equaca o 14. Considera-se que todos
os elementos tenham a mesma potencia, em modulo, de rudo, fazendo com que o SNR seja
estacionario de elemento para elemento.

s2 |e j2(m1)us s[n]|2

SNRelem = 2 = (14)
w E{|wm [n]|2 }

Define-se entao a relaca o sinal-rudo total, SNRarray , de sada do arranjo. Esta relaca o,
analoga a` SNR de cada um dos elementos, e dada pela potencia de sada do sinal de interesse do
array dividida pela potencia de sada do rudo presente. Matematicamente, quantifica-se esta
relaca o como descrito na Equaca o (15).

Ps M|cH v(s )|2 s2 |cH v(s )2


SNRarray = = = M SNRelem (15)
Pn ||c||2 w2 ||c||2

Estes sao os conceitos basicos para a atribuica o de tecnicas usadas com fim de encon-
trar os pesos c, que definirao os criterios de performance do arranjo. Como nao sera estudada a
parte adaptativa, a SNR tem objetivo puramente estatstico. Porem, a mesma e essencial para a
aplicaco es online na presenca de sinais em que nao se tenha dados previos.
21

5.4
TECNICAS DE FILTRAGEM ESPACIAL

Manolakis et al. (2005) define as tecnicas mais comuns e simples computacionalmente


de filtragem sendo Spatial Matched Filter e Tapered Beamformer. Estas tecnicas se baseiam em
princpios parecidos e diferem-se em alguns criterios de desempenho. Para emprego das mes-
mas, fixa-se uma direca o de filtragem, necessitando conhecimento previo deste dado do sinal.
Quando tratam-se sinais que possuem apenas o rudo termico w[n] somado ao sinal s[n] pode-se
utilizar apenas a primeira e mais simples opca o. O emprego do Tapered Beamformer se da para
casos que haja uma interferencia, ou sinal i[n] vindo de uma direca o de chegada diferente do
sinal de interesse. Para utilizaca o de Tapered Beamformer sao empregados conceitos do Spatial
Matched Filter, portanto, serao apresentados de formas sequentes.

5.4.1 CONCEITOS DE SPATIAL MATCHED FILTER

Das Equaco es (4) e (7), desprezando-se a parcela relaca o a` interferencia, cuja tecnica
abordada nesta subseca o e incapaz de tratar, tem-se que um sinal x[n] com seus atrasos de fase
e j tera sua equaca o descrita por

x[n] = [s[n] e j2us . . . e j2(M1)us ]T + w[n]. (16)

O vetor de pesos deste metodo e descrito como um vetor que apenas alinhe as fases do
sinal principal entre todos os sensores, isto e , soma-se o sinal principal com uma replica de si
mesmo, e com norma unitaria. O conjugado complexo do vetor de direcionamento, Equaca o (7),
escolhendo-se um a ngulo de direcionamento s para u que corresponda ao a ngulo de chegada
do sinal, e o vetor que faz as fases do sinal s[n] se alinharem. Portanto, realiza-se a operaca o
descrita pela Equaca o (17),




s[n]





1 h j2us i e j2us s[n]


y[n] = vH (s )x[n] = 1e e j2(M1)us


..
+ w[n] . (17)
M

.







e j2(M1)us s[n]


22

O Spatial Matched Filter esta limitado a seus pesos sendo definidos como unitarios,
de forma apenas a somar os sinais de interesse, criando uma sada que seu filtro atenua apenas
sinais oriundos de direco es de chegada diferentes, nao anulando-os. Para o aprimoramento
deste filtro, atribui-se pesos a cada um dos elementos alem do peso do conjugado do vetor de
direcionamento. Esta atribuica o e o topico da proxima subseca o, Tapered Beamformer.

5.4.2 TAPERED BEAMFORMER

A presenca de outros sinais que nao tem a caracterstica de media zero e nao correla-
cionado (rudo branco) faz com que a utilizaca o da tecnica demonstrada anteriormente, Spatial
Matched Filter, seja insuficiente para que a extraca o de um sinal tenha e xito. Sinais que nao
possuem a caracterstica de rudo branco sao tratados como uma interferencia no sistema e suas
causas podem ser diversas. No geral, deseja-se anular estes sinais na sada do array.

Nestes filtros associa-se um vetor de pesos ctb f multiplicados ponto a ponto ao vetor de
direcionamento que alinha as fases do Matched Filter. Tais pesos podem ser diversos e devem
ser designados de acordo com a necessidade de projeto, conhecendo-se dados dos sinais tanto
de interesse como de interferencia, lembrando que este e um processo nao-adaptativo. Portanto,
tem-se que o vetor de pesos ctb f deste metodo e dado pela Equaca o (18), que possui norma
unitaria. O objetivo deste filtro, assim como o descrito anteriormente, e maximizar a relaca o
sinal-rudo, agora denominada relaca o sinal-rudo-mais-interferencia (SINR).

ctb f (s ) = t vH (s ), (18)

sendo o operador de Hadamard.

Semelhante aos filtros FIR, o vetor de pesos t sao iguais a` s janelas classicas utilizadas
em filtros apresentadas na bibliografia e e escolhido de acordo com a preferencia do projetista.
Percebe-se que o Spatial Matched Filter e um Tapered Beamformer em que se aplica o vetor de
pesos equivalente a janela retangular. A desvantagem da utilizaca o deste metodo esta na perda
de potencia em todos os a ngulos, inclusive o de direcionamento, na sada do Beamformer.
Portanto, a utilizaca o do mesmo ou da tecnica apresentada anteriormente deve ser de acordo
23

com caractersticas sensveis do projeto.

5.5
VOZ HUMANA: CONCEITOS E CAPTACAO

Este trabalho e direcionado para a estimaca o de direca o de chegada e filtragem espacial


de sinais sonoros, sobretudo, a voz humana. Ondas sonoras emitidas e captadas por seres hu-
manos sao sinais de baixa frequencia, tendo no espectro auditivo 20 ate 20000 Hz e na emissao,
comumente, 50-4000 Hz (LI et al., 2003). Estes sinais trazem juntos de sua frequencia fun-
damental uma serie de harmonicos que constituem a diferenciaca o do som de cada elemento.
Com bases estatsticas de cada sinal pode-se estimar sua fonte de origem.

Na aplicaca o escolhida de Array Processing e importante apenas ter-se base das frequencias
presentes na voz humana para quantizaca o da taxa de amostragem necessaria. Pelo teorema de
Nyquist o sinal deve ser ser amostrado numa frequencia no mnimo duas vezes superior a` de
limite de informaco es do sinal. Limitando o a frequencia do sinal de interesse a 4 kHz pode-
se utilizar a frequencia maxima do espectro audvel, 20 kHz, para captaca o. Por convenca o
utiliza-se 44.1 kHz, que e um padrao utilizado, referente a` qualidade de um CD.

O sensor referente a` captaca o de sinais sonoros e o microfone. Existem diversos tipos,


sendo o mais comuns microfones dinamicos, unidirecional, mais robustos e com funcionamento
por induca o magnetica, sem necessitar de alimentaca o externa, e os microfones condensadores,
omnidirecionais, mais sensveis e composto por eletretos, que necessitam de polarizaca o. A
segunda opca o tem tambem a vantagem de ser mais compacto, leve e de menor custo. A escolha
de utilizaca o do tipo de microfone varia de acordo com parametros da aplicaca o e pode-se
aproveitar das caractersticas do mesmo no processamento estatstico de sinais.

A sada de um microfone e uma tensao alternada na ordem de milivolts. Para inter-


facear os mesmos com um processador de sinal, como microcontrolador, DSP ou FPGA, e
necessario o condicionamento do sinal. O sinal de sada destes sensores possuirao nveis po-
sitivos e negativos, tornando necessario a aplicaca o de uma elevaca o contnua, offset, no sinal
amplificado. Os dispositivos de aquisica o normalmente trabalham com 3.3 ou 5 V. Portanto, o
circuito de amplificaca o deve levar em consideraca o estes limitantes.
24

5.6 DE CHEGADA
ESTIMATIVA DE DIRECAO

Para a aplicaca o de tecnicas nao adaptativas de filtros e necessario conhecimento da


direca o de chegada, DOA, do sinal. O vetor de direcionamento de um filtro ajustara as fases
dos sinais de forma a maximizar o lobulo central em relaca o aos lobulos laterais de uma dada
direca o. E necessario entao estimar a direca o de chegada do sinal de interesse para a extraca o
do mesmo.

Existem diversas tecnicas para estimar a direca o de chegada de um sinal (DHOPE et


al., 2013). O ponto de maxima similaridade entre dois ou mais sinais pode ser entendido como
o atraso entre os mesmos. Do atraso, manipulando a Equaca o (3), tem-se a direca o de chegada
do mesmo. A similaridade entre sinais e calculada pelo vetor de correlaca o, que e apresentada
na Equaca o (19).

N
(x j x j+1 )[n] = xj [n]x j+1 [m + n] (19)
m=N

A sada desta operaca o e um vetor de comprimento 2m 1, considerando que os sinais


tenham o mesmo numero de amostras. Obtem-se o atraso temporal do sinal atraves da quan-
tidade de amostras do pico do sinal ate seu centro divididos pela frequencia de amostragem,
Equaca o (20)

max (x j x j+1 )[n] N


= (20)
fs
sendo N o comprimento dos vetores. Deste resultado pode-se calcular o a ngulo s , que e a
direca o de chegada do sinal. Espera-se que as matrizes de correlaca o cruzada dois a dois
do arranjo possuam o mesmo tempo de atraso, mostrando que os sensores estao igualmente
espacados e que a fronte de onda detectada e , de fato, plana.

E proposto para este trabalho o estudo de tecnicas de calculo de DOA que possam ser
aplicados em tempo real sem necessidade de computar uma matriz de correlaca o com varios
pontos, que e um obstaculo ao embarcar o sistema. (WANG; XIA, 2000) traz abordagens utili-
zando o algoritmo MUSIC - MUltiple SIgnal Classification - que pode ser utilizado iteraca o a
iteraca o. Alem desta, sao utilizadas diversas tecnicas que serao estudadas para a implementaca o
em tempo real, como as apresentadas em (XI et al., 2011), (GUO et al., 2014) e (ZOU et al.,
25

2013).

5.7 DE ARQUITETURA
DEFINICAO

Na aplicaca o de um processador de sinais necessita-se a definica o de uma arquitetura


que satisfaca as necessidades de captaca o, com os conversores analogico digital, e organizaca o
dos dados, alem das aplicaco es de soma, multiplicaca o e deslocamento dos sinais. Trabalhando-
se com sinais digitais, representados por bits em posico es de memoria, deve ter-se grande
organizaca o dos dados para a soma a fim de alinhar as fases dos sinais. Como os converso-
res A/D propostos para utilizaca o sao de 8 bits, constroi-se circuitos digitais que realizam estas
operaco es a serem replicados. A necessidade de quantizaca o destes circuitos e importante para
implementaca o e calculo de tempo para garantir otimizaca o da execuca o.

Os circuitos somadores sao constitudos apenas de portas logicas. Estas portas logicas
realizam operaco es instantaneamente em circuitos de logica reconfiguravel. Devido a esta ca-
racterstica considera-se que a ocorrencia da soma e assncrona e instantanea (apesar de nao ser,
ocorre em uma velocidade muito superior a` velocidade dos processos). Um circuito somador
de 8 bits e a composica o de 8 somadores completos de 2 bits com 3 entradas e 2 sadas, sendo
uma destas o bit de sada e a outra o bit de carry. O circuito somador 8 bits pode ser conferido
na figura 3, que utiliza-se apenas de porta OR, AND e XOR, totalizando 44 elementos logicos.

Para o circuito multiplicador sao utilizados somadores completos (full adder) como
os mostrados anteriormente e meio somadores, e meio-somadores (half adder). Um somador
completo e constitudo de 2 meio-somadores com adica o de uma porta logica AND. Novamente,
por utilizar apenas portas logicas, considera-se a multiplicaca o como feita instantaneamente. A
sada de um multiplicador vai ser um numero de 2na +nb bits, onde na e nb e a quantidade de bits
de a e b, respectivamente.
26

B0
0
?

A0
0
?

B1
0

A1
0 ?

B2
0

A2
0
?

B3
0

A3
0 ?

B4
0
?
A4
0

B5
0

A5 ?
0

B6
0
?
A6
0

B7
1
?
A7
1

Figura 3: Circuito somador 8 bits.


Fonte: Autoria Propria
27

6
MATERIAIS E METODOS

Neste captulo serao apresentados os materiais a serem utilizados para a construca o


final do arranjo e os metodos que serao aplicados. Os metodos a serem utilizados serao descritos
com fluxogramas e diagramas de blocos.

6.1 MATERIAIS

6.1.1 E PROCESSAMENTO
PLATAFORMA DE AQUISICAO

A plataforma de aquisica o e o problema central e a motivaca o final deste trabalho. As


aplicaco es de Array Processing so serao possveis se houver garantia de que os sinais captados
entre os sensores estarao em fase apos a aplicaca o do vetor de direcionamento. Este problema e
sanado com a utilizaca o de conversores A/D sincronizados. Portanto, necessita-se de processa-
mento paralelo da execuca o de aquisica o dos sinais discretizados do mesmo. O dispositivo que
permite a execuca o paralela de instruco es e o FPGA e, baseado nisto, e feita a escolha deste kit
para esta aplicaca o.

O kit DE2-115 conta com um FPGA Altera CycloneIV 4CE115, Figura 4, que e
configurado pelo USB Blaster. Para armazenamento dos dados possui memoria SRAM de
2MB, duas memorias SDRAM de 64MB e 8MB de memoria Flash e a memoria interna do
FPGA de 432 M9K blocos. Tem-se acesso a 36 pinos da GPIO da placa, que conta com um
oscilador de 50 MHz, podendo ser usado como sada de clock externo ou alterar este valor
com um clock externo. Para processamento offline possui-se soquete para cartao SD e para
aplicaco es que exijam complexidade de calculos, ou simplesmente para testes, o modulo conta
com um transceptor RS-232. A placa conta com sadas de alimentaca o de 5 e 3.3V.

6.2 MICROFONES DE ELETRETO

Microfones de eletreto, como os da Figura 5 tao uma opca o viavel de projeto en-
volvendo diversos sensores por serem baratos e de simples funcionamento. Estes microfones
atuam como um capacitor, possuindo duas placas metalicas espacadas que alteram sua distancia
28

Figura 4: Kit ALTERA DE2-115

com a pressao do ar gerada por ondas sonoras. Como estas placas estao polarizadas por uma
alimentaca o externa, que pode variar de 1.5 V a tensoes maiores que 10 V, a variaca o de
distancia entre as placas gera uma mudanca equivalente na capacitancia interna do dispositivo.
Com isto, cria-se uma tensao na sada referente ao sinal captado.

Diversas sao as formas de ligar estes microfones e este e um objeto de estudo neste
trabalho. As mais simples incluem apenas a limitaca o de corrente com um resistor ao micro-
fone e um capacitor de sada, como na Figura 6. Esta forma de polarizaca o, a mais simples e
sem amplificaca o, e inadequada para aplicaco es que se precise de uma amostragem de tensao
onde nao se utilizam varios bits. Portanto, sera estudado a implementaca o de um circuito de
amplificaca o de sinal.

6.3 CONVERSORES A/D ADC0832

Para economia de pinos no FPGA utilizaremos ADC que atuam de forma serial. Uma
dificuldade encontrada na escolha dos conversores A/D para o projeto e a disponibilidade em
29

Figura 5: Microfone de eletreto 2 terminais


Fonte:
https://www.sparkfun.com/products/

ADC

Figura 6: Polarizaca o simples de


microfone de eletreto.
Fonte: Autoria propria

mercado de conversores que possuam amostragem igual ou superior a 44,1 kHz. Por considerar
sinais que atuam ate 4 kHz, desprezando parte de seus harmonicos mais altos, como sua terceira
oitava, encontra-se disponvel o ADC0832, com frequencia de amostragem para apenas um de
seus canais em 20 kHz. Este conversor possui 8 pinos e e descrito pela Figura 7.

Segundo a folha de dados e apos teste no software Proteus 8 a conversao sera iniciada
de alto para baixo. Apos a
apos 3 pulsos de clock da mudanca de nvel logico do pino CS
conversao dos 8 bits, que e mostrada de forma serial do MSB para o LSB em 15 pulsos de
clock, o circuito necessita de 2 ciclos de clock para estabilizar-se e iniciar uma nova conversao.
Portanto, sao utilizados 20 pulsos de clock para a conversao completa de um sinal.

Dados estes modos de operaca o temos

fclk
fs = (21)
20

onde fs e a frequencia de amostragem do sinal.


30

Figura 7: Pinagem ADC0832.


Fonte: Manual do fabricante

Para desempenho maximo sera utilizada a maior frequencia de amostragem possvel,


sendo fclk = 400 kHz e fs = 20 kS/s, satisfazendo a condica o de Nyquist considerando a maior
componente como 4 kHz. Considera-se tambem que fs tenha apenas 5,33% de tempo em nvel
alto, ou seja, atuara por 2,67 s por ciclo. A carta de tempos do circuito e descrita na Figura 8.

Figura 8: Carta de tempos do dispositivo ADC0832.


Fonte: Manual do fabricante

6.4
METODOS

Com a escolha dos componentes do prototipo final do projeto cria-se o diagrama de


fluxo, Figura 9 que sera implementado entre FPGA e MATLAB. O FPGA deve implementar
um clock de 400 kHz com 50% de razao cclica para o funcionamento do sistema. Utilizando
esta configuraca o adquire-se uma taxa de conversao de 20k amostras/segundo. A geraca o do
e DI deve ser feita pelo FPGA.
clock, assim como os sinais CS

Em etapas, o sistema funcionara por iteraco es. Na primeira iteraca o o MATLAB estara
31

em um estado de espera enquanto o FPGA converte a primeira amostra de dados. A seguir vem
o estagio de comunicaca o, onde os dados dos M sensores serao transferidos pela porta serial RS-
232 para o MATLAB. Simultaneamente, enquanto sao transmitidos os dados, o MATLAB ira
organiza-los em M vetores de dados. Estes dois processos sao concorrentes, ou seja, enquanto os
dados sao transmitidos novos dados sao adquiridos. Este processo ocorrera por um determinado
numero N de vezes, de acordo com a necessidade da massa de dados.

A seguir sao feitos os processamentos necessarios. Como o embarque do sistema e


offline, ou seja, para pos processamento, faz-se uma pre filtragem para aumentar a qualidade
dos sinais recebidos e apos isto o calculo da maxima similaridade entre os sinais para encontrar
a direca o de chegada da fonte emissora.
32

DAQ e Processamento de Multiplos Sensores


MATLAB FPGA

COLETA DE DADOS DOS M


EM ESPERA
SENSORES
DAQ
Pr-Processamento Comunicao

ENVIO DOS DADOS


RECEBIMENTO DOS PELA PORTA
DADOS E DIVISO EM N SERIAL COM BAUD
VETORES DE SINAIS RATE MNIMO DE
19K*M
Repete por N
vezes.

PR-FILTRAGEM
EM ESPERA
DOS DADOS

CLCULO DA
MXIMA
SIMILARIDADE
Array Processing

DIREO DE
CHEGADA DO
SINAL
SADA

Figura 9: Diagrama de fluxo do sistema proposto.


Fonte: Autoria propria
33

7 TESTES E ENSAIOS PRELIMINARES

Neste captulo sao apresentados resultados gerados para a especificaca o do projeto.


Para a geraca o destes resultados nao sao consideradas limitaco es fsicas no arranjo. Um obstaculo
presente no desenvolvimento do mesmo e a disponibilidade de componentes, como a escolha
do ADC0832, que nao possui o maximo desempenho requerido. No entanto, para ambien-
tes sinteticos, onde pode-se construir uma solida base para o desenvolvimento de conceitos de
aplicaca o, projeta-se o arranjo de forma a obter o maximo desempenho. Sao apresentados aqui
parametros de projeto desenvolvidos, simulaco es realizadas e implementaco es de teste.

7.1
NUMERO DE ELEMENTOS E ESPACAMENTO

Dos aspectos construtivos tem-se o numero de elementos no arranjo e a distancia entre


os mesmos. Como num filtro FIR, analogia muito presente neste trabalho por se ter carac-
tersticas muito similares, quanto mais taps tiver no filtro maior sera a resoluca o do mesmo.
Para a formaca o de feixe funciona de forma similar. Quanto maior for o numero de elemen-
tos melhor sera a resoluca o de sada do arranjo para o a ngulo projetado, com atenuaca o na
magnitude dos lobulos laterais e na banda do lobulo principal. Na Figura 10 pode-se obser-
var a variaca o na resoluca o para 2, 8, 32 e 128 elementos, espacados com 1/ entre si. Estes
beampatterns foram calculados segundo a Equaca o (7).

Percebe-se que a variaca o no numero de elementos traz melhorias significativas para


o arranjo. Para sinais de media frequencia, como ondas sonoras vocais, arranjos com muitos
elementos pode ser inviavel pelo tamanho fsico da construca o. Para o continuamento deste
trabalho sera desenvolvido um arranjo com 8 elementos. visando a possibilidade de aplicaca o.

Os elementos estarao espacados igualmente no ambiente. Deve-se definir para estes


um espacamento entre estes sendo metade do seu comprimento de onda. Porem, levanta-se
aqui novamente construco es fsicas com o espacamento entre os mesmos. Na Figura 11 pode-
se perceber como e afetada a qualidade da filtragem com a variaca o do valor definido. Foram
considerado 16 elementos para a criaca o destes graficos.

Para o espacamento de , Figura 11 (a), percebe-se que os lobulos laterais mais ex-
34

Figura 10: Analise grafica da resoluca o de Beampattern para (a) 2 elementos,


(b) 8 elementos, (c) 32 elementos e (d) 128 elementos para a ngulos de -90 a 90.
Fonte: Autoria propria

tremos terao a mesma resoluca o do lobulo central, o que pode gerar ambiguidade na extraca o
do sinal de interesse caso haja interferencias localizadas nestas regioes. Nas resoluco es abaixo
da recomendada, Figuras 11(c) e 11(d), pode-se notar um alargamento dos lobulos em relaca o
a` s demais configuraco es. Esta situaca o mostra uma diminuica o do fator de qualidade do fil-
tro. Portanto a alternativa mais viavel e a escolha do espacamento sendo o mostrado na Figura
11(b), 21 .

7.2 VIRTUAL DE TAPERED BEAMFORMER


APLICACAO

Deseja-se estudar a sada de um filtro atraves da aplicaca o da tecnica de Tapered Be-


amformer. Captou-se dois sinais reais atraves de um microfone em duas instancias. Estes sinais
contem o sinal de interesse e o sinal de interferencia, somados ao rudo termico do proprio
microfone. Foi projetado um algoritmo que possui a sequencia de funcionamento descrito no
fluxograma da Figura 12.

Definiu-se que estes sinais estariam a 45 e -20 do arranjo, respectivamente. Definidos


os a ngulos gera-se outros sinais sinteticos contendo estes sinais com atrasos que seriam captados
pelos elementos atraves de um algoritmo desenvolvido em MATLAB. O estudo sera feito com
35

Figura 11: Analise grafica da resoluca o de Beampattern para espacamento de


(a) 1 , (b) 12 , (c) 41 e (d) 41 para a ngulos de -90 a 90.
Fonte: Autoria propria

16 elementos. O resultado do atraso dos sinais entre o primeiro e o sensor mais espacado do
arranjo encontra-se na Figura 13.

Atraves da analise da perspectiva aumentada dos sinais pode-se perceber que ha um


atraso no sinal de interesse, com o sinal do u ltimo sensor sendo captado posteriormente em
relaca o ao primeiro, e avanco no sinal de interferencia, com o sinal do u ltimo sensor adiantado
do primeiro. Percebe-se entao que estes sinais estao corretamente atrasados. Ambos os sinais
sao normalizados, portanto, possuem a mesma magnitude.

Vai ser aplicado entao o Tapered Beamformer a` soma desdes sinais, sendo ambos ma-
trizes de dimensoes 86076x16. Sera utilizada uma janela de Chebychev com atenuaca o de 200
dB para demonstraca o. Em termos praticos pode-se projetar estas janelas com qualquer valor
de atenuaca o, uma vez que sao vetores de pesos a serem aplicados. O Beampattern para esta
configuraca o e os sinais completos estao presente na Figura 14.

Pelo Beampattern projetado percebe-se que o sinal atrasado para -20 estara com uma
atenuaca o maior que 150 dB. Esta configuraca o de janela aplicada ao filtro espacial mostra
que o lobulo principal sofre uma pequena atenuaca o e faz com que os lobulos laterais tenham
baixa atenuaca o, com exceca o da faixa de aproximadamente -35 a 0. Para esta proposta sera
36

CONFIGURAES INICIAIS
Carregar sinal de interesse
Carregar sinal de rudo
Definio da configurao do array

Escolha da janela para o filtro


Computao do Beamformer

Para PHI = -90:45:90


Clculo da quantidade de
amostras que representa o
direcionemento atual
sada = 0

>0 <0
Atraso entre amostras

sada = sada +(sinais atrasados)*(vetor sada = sada+(sinais


de pesos) adiantados)*(vetor de pesos)

SIM
PHI = 90? FIM

NO

Figura 12: Fluxograma do algoritmo de implementaca o de filtragem espacial por Tapered Beamformer proposto.
Fonte: Autoria propria

mantida tal configuraca o por ser aplicavel. Abaixo na figura estao representados os dois sinais,
na esquerda o de interesse e na direita o de interferencia. A representaca o de tais sinais e
importante para visualizar o resultado da aplicaca o do filtro. O resultado fica mais claro quando
se houve cada um dos sinais e a sada de cada direcionamento do filtro.

Neste ponto o algoritmo ira aplicar direcionamento em 5 a ngulos distintos, de -90


a 90 com passos de 45 graus. O objetivo e verificar como os sinais irao isolar-se quando o
array estiver corretamente direcionado. Para cada uma das iteraco es calcula-se o atraso que
representa o a ngulo atual e quantas amostras estes representam para um tempo de amostragem
37

Figura 13: Sinais atrasados sinteticamente em perspectiva aumentada para


aplicaca o virtual de filtragem por Tapered Beamformer.Acima: sinal de
interesse. Abaixo: sinal de interferencia.
Fonte: Autoria propria

de 44100 kHz. Um erro proveniente da amostragem dos sinais e espacamento entre os sensores
existe nesta etapa. Para 90 tem-se 18 amostras de diferenca e para 70 tem-se o mesmo
valor. Portanto, o calculo das amostras propaga erros por processar apenas nveis inteiros em
18 etapas de carater senoidal, para esta amostragem. Quanto maior for a amostragem, melhor
sera a resoluca o nesta etapa.

Calculado o numero de amostras desloca-se o sinal x(n), que e a composica o de s(n) +


i(n), atraves de atrasos ou amostras e multiplica-os pelos pesos c da janela de Chebychev. Feito
isto, o filtro esta aplicado. Pode-se pausar o programa para verificar o resultado sonoro do vetor
y, que e a sada da aplicaca o do filtro, atraves da funca o sound presente no MATLAB. A
Figura 15 mostra o resultado grafico da sada.

Pode-se perceber que para os primeiros graficos, direcionados de -90 a 0, o sinal de


interferencia e muito mais aparente que o sinal de interesse. Para o direcionamento de 45 o
sinal de interesse fica bem aparente, apesar da modificaca o no sinal causada pelo sinal de inter-
ferencia. Este e o resultado esperado, com extraca o do sinal apesar de uma descaracterizaca o
do mesmo pela interferencia. Auditivamente, e possvel perceber que a diminuica o do sinal de
rudo de forma com que este se torna apenas rudos de fundo e que o sinal principal aparece
38

Figura 14: Acima: Beampattern do filtro projetado. Abaixo: Representaca o


completa dos sinais de origem gravados
Fonte: Autoria propria

claramente frente a este rudo.Apesar do resultado que pode ser considerado satisfatorio, ja que
nao houve otimizaca o da janela de pesos e aplicou-se uma tecnica simples de filtragem, pode-se
melhorar a resoluca o acrescentando mais elementos no array.

O aumento de elementos, como demonstrado na Figura 10, estreita a banda do lobulo


central e diminui a magnitude dos lobulos laterais. Espera-se que a filtragem, nesta situaca o,
consiga extrair o sinal de interesse com maior exatidao. Portanto, sera comparada a resposta do
filtro ajustado para 45 graus para 16, 64, 256 e 1024 elementos com as mesmas configuraco es
de janela, demonstrado na Figura 16.

Conforme aumenta-se o numero de elementos pode-se ver uma extraca o mais clara do
sinal de interesse. Apesar da resoluca o satisfatoria para 16 elementos, com o aumento extremo
de elementos, como no caso do u ltimo grafico na Figura 16, onde utiliza-se 1024 elementos,
percebe-se uma extraca o muito mais clara do sinal. Em um plano ideal utiliza-se um numero
infinito de elementos e uma frequencia de amostragem infinita, extraindo o sinal continuo, o
que possibilitaria a extraca o perfeita de um sinal.
39

Figura 15: Resultado grafico para aplicaca o de Tapered Beamformer em uma composica o de sinal de
interesse a 45 e sinal de interferencia a -20 com passos de 45
Fonte: Autoria propria

7.3 VIRTUAL DA CORRELACAO


APLICACAO CRUZADA PARA ESTIMAR DOA

Criou-se tambem um algoritmo para calcular o a ngulo de chegada de um sinal. Este


algoritmo tem por objetivo analisar qual e a resposta da aplicaca o da correlaca o cruzada na esti-
mativa da direca o de chegada. Para utilizar este algoritmo atrasa ou adianta-se o sinal principal
com a mesma tecnica mostrada anteriormente, atraves do algoritmo delays ig, presente no
apendice deste trabalho. Com a obtenca o dos sinais sinteticos identicos, porem com diferencas
lineares de amostras entre si, aplica-se a correlaca o cruzada, funca o xcorr, calculando a funca o
entre dois elementos sequentes. Para cada iteraca o, havendo M 1 ao total, onde M e o numero
de elementos, extrai-se entao o pico da funca o de correlaca o e sua posica o amostral. Tendo a
localizaca o do pico de amostra, subtraindo este valor do comprimento do vetor de correlaca o.
Extrai-se entao a media entre todas estas correlaco es e aplica-a na Equaca o (3). Obtem-se na
sada deste algoritmo a estimativa do a ngulo da direca o de chegada da fonte emissora sintetica,
gerada pelos atrasos entre o sinais.
40

Figura 16: Comparaca o de sada de aplicaca o de Tapered Beamformer para 16, 64, 256 e
1024 elementos na extraca o de um sinal de interesse utilizando uma janela de Chebychev
com atenuaca o de 300 dB
Fonte: Autoria propria

Para testes com 16 elementos e direca o de chegada escolhida como 45, utilizando o
sinal completo, sendo este o mesmo da aplicaca o anterior com 86016 pontos, obteve-se como
resposta 45,0305, ou seja, com erro de 6,8.104 . Diminuiu-se entao o espaco amostral para o
calculo de amostras necessarias para acerto de direca o de chegada. O algoritmo da correlaca o
cruzada so se mostrou eficaz a partir de 850 amostras para a regiao com presenca de sinal. Nas
regioes onde nao ha sinal, apenas presenca de rudo, foi necessario ao mnimo 2000 amostras.
Esta resoluca o e importante para calculos de parametros de projeto.
41

8 IMPLEMENTAC PRATICA
AO DO SISTEMA PROPOSTO

Este captulo descreve a implementaca o pratica do sistema de aquisica o de dados para


o processamento descrito nos captulos anteriores. Fora descrito anteriormente o funcionamento
do sistema e os materiais a serem utilizados. Como especificado no Captulo 6, e necessario
a utilizaca o de circuitos para condicionamento dos sinais, para que estes possam ser interpre-
tados pela placa de aquisica o, e processos a serem embarcados na placa para a aquisica o e
comunicaca o do kit com o computador.

8.1 CONDICIONAMENTO DO SINAL E INTERFACE SENSOR-CONVERSOR

Nesta seca o e descrito a forma de condicionamento do sinal vindo do microfone de


eletreto polarizado para ser interpretado pelos conversores A/D. Os circuitos foram testados
para verificar sua aplicabilidade e limitar o sistema de forma a ser implementado o mais simples
possvel

8.1.1 CONDICIONAMENTO DO SINAL

Na Figura 6 e demonstrado o circuito basico para polarizaca o, utilizando apenas um


resistor entre a fonte de tensao e o microfone, limitando assim a corrente maxima, e um ca-
pacitor na sada para condicionamento do sinal. Foi constatado por testes em laboratorio uma
pequena variaca o na tensao de sada, na ordem de milivolts. Portanto, deve-se condicionar o
sinal para que este seja aplicado ao conversor A/D.

O conversor A/D ADC0832 opera tanto em 3.3 quanto 5 V. Para simplificaca o dos
circuitos, escolheu-se utilizar 3.3 V. Portanto, os microfones de eletreto serao alimentados com
este valor de tensao, para que o sinal excursione no maximo ate este valor. A seguir amplifica-se
o sinal para que este possa ser melhor interpretado. O circuito de amplificaca o escolhido utiliza
um transistor BC547.

O transistor BC547 e um amplificador de corrente de baixo rudo que opera com cor-
rente maxima de 100 mA no coletor, tensao maxima de 5V entre emissor e base e tensoes
superiores a 40 V entre coletor e emissor e coletor e base. A temperatura de operaca o pode va-
42

riar de -65 a 150 C (FAIRCHILD SEMICONDUCTOR, 2002). Como trabalha-se com apenas
3.3 V para os microfones e para resoluca o do conversor A/D, a alimentaca o do transistor sera
oriunda da mesma fonte. Um ponto importante e limitar a corrente de sada do microfone em,
no maximo, 100 mA.

Sera utilizado um resistor de 10 K entre a fonte de tensao e o coletor. Isto garante que
a corrente maxima ficara limitada a 0,33 mA, muito inferior ao limite. Outro resistor identico e
utilizado entre a fonte e o microfone, para limitar a corrente que passa pelo mesmo. E utilizado
um resistor de 100 K entre o coletor e a base e capacitores de 0,1 F na sada do eletreto e na
sada do coletor para os conversores. Este circuito e ilustrado pela Figura 17.

R101
10k
R102
10k

C3 MIC
R100
100k
100nF

MIC

Q2
BC547

C1 ADC
CONN-H2
100nF
1
2

Figura 17: Circuito de amplificaca o para microfone


de eletretos utilizando BC547.
Fonte: Autoria propria

Com este circuito constatou-se que os sinais de sada variavam de -3.3 a 3.3 V quando
inserida grande pressao de ar no sistema, falando muito proximo do microfone ou assoprando-o.
A parte negativa de tensao e indesejada no sistema e, como este esta sendo desenvolvido para
um ULA, a fonte emissora deve estar a uma grande distancia. Portanto, pode-se considerar que
o sinal dificilmente atingira o pico maximo. Dada esta condica o, deve-se criar um circuito de
offset, onde o nvel de stand-by esteja por volta de 1.65 V, para aquisica o pelo conversor A/D.

Sera utilizado entao o circuito integrado TL081 para construca o do circuito de offset a
ser utilizado. O TL081 e um amplificador operacional JFET. E escolhido este dispositivo pela
43

acessibilidade ao mesmo e por suas caractersticas de funcionamento serem compatveis com


os requerimentos do projeto. O circuito montado e ilustrado na Figura 18.

R4
10k
R1(1)
R1
U1

4
10k

R2(1) 2
R2
6
A/D
3
10k

7
1
5
TL081
R3
10k

R5
10k

Figura 18: Circuito para impressao de offset de tensao utilizando


TL081.
Fonte: Autoria propria

Utilizando estes circuitos constatou-se que o sinal proveniente dos sensores excursiona
entre 0 e 3.3 V, tornando entao possvel a comunicaca o com o conversor A/D sem perda de
partes do sinal. O proximo passo e criar um circuito para o funcionamento eletrico do conversor
A/D e entao embarcar estes subsistemas com a placa de aquisica o.

8.1.2
ESQUEMATICO ADC0832
DE LIGACAO

O circuito integrado ADC0832, descrito no Captulo 6, necessita de inserca o de pulsos


de clock e pulsos periodicos para seu funcionamento segundo sua carta de tempos, Figura 8.
Estes sinais sao gerados pelo FPGA e serao descritos na proxima seca o. Por simplicidade de
projeto, sera escolhido a utilizaca o do canal 1 (CH1), por poder imprimir nvel logico alto no
pino DI e nao ser necessario a utilizaca o de variaca o no nvel logico para seleca o de canal. O
circuito implementado e descrito na Figura 19.

Os sinais a serem inseridos nos pinos CLK e CS sao provenientes do FPGA, com
tensao de 0 e 3.3 V. O sinal analogico no pino CH1 e o sinal de sada do circuito ilustrado na Fi-
gura 18. A tensao de alimentaca o, assim como o comum, pinos VCC e GND, respectivamente,
e proveniente do FPGA. Mais detalhes acerca dos tempos e razoes cclicas destes sinais serao
mostrados na proxima subseca o.
44

U2(CS) U2(CLK)

U2
1 8
CS VCC
(+) 2 7
CH0 CLK
3 5
CH1 DI
4 6
GND DO A

ADC0832
B

Figura 19: Esquematico de ligaca o a ser utilizado no


ADC0832.
Fonte: Autoria propria

8.1.3 PROTOCOLO SERIAL RS-232

O protocolo serial RS-232 e um padrao de troca de dados de forma serial entre dis-
positivos. No kit DE2-115 da Altera, utilizado neste trabalho, tem-se o modulo serial pelo
transceptor ZT232 incorporado ao kit. Este transceptor aceita velocidades de transmissao de
9600, 19200, 38400, 57600, 74880 e 115200 baud-por-segundo, sendo cada baud de 8 bits de
dado, mais os start e stop bits. Em seu desempenho maximo em relaca o a velocidade, este
modulo envia 115200 dados por segundo, ou seja, um dado a cada 8,681 s. A ligaca o entre o
chip, transceptor e pinos externos e mostrada na Figura 20.

Figura 20: Ligaca o do transceptor ZT232 com o chip FPGA.


Fonte:(ALTERA; TERASIC, 2012)

Para a recepca o de dados pelo computador, ou seja, transmissao pelo FPGA, serao
utilizados os pinos CTS, RTS e TXD. O controle e feito pelo programa a ser embarcado no
FPGA, pelos pinos UART RXD, UART RTS, UART TXD e UART CTS. Comunicando este
modulo com o computador para apenas recebimento de dados, sera utilizado apenas o pino
UART TXD.
45

8.1.4 INTERFACEAMENTO DOS CONVERSORES A/D COM O FPGA

Anteriormente, foi dito que o controle dos tempos de conversao dos conversores A/D
seriam baseados em sua carta de tempos, Figura 8, e os sinais gerados pelo dispositivo FPGA.
Do manual do fabricante, (INSTRUMENTS, 1999), tem-se que a a maior frequencia de clock
aceita pelo sistema e de 400 kHz, o que, interpretando a carta de tempos, gera uma frequencia
de amostragem de 20 kHz.

Sera gerado entao o sinal de clock de 400 kHz para entrada no pino CLK do FPGA.
Isto pode ser feito dividindo o clock de funcionamento do FPGA, original de 50 MHz, em 1250
vezes, gerando a frequencia desejada de 400 kHz. A Figura 21 demonstra o sinal gerado, junto
de seus dados.

Figura 21: Sinal de clock gerado pelo FPGA visto no osciloscopio.


Fonte: Autoria propria

O FPGA conseguiu gerar uma frequencia aproximada de 396,7 kHz. O sinal CS, que
controla o incio de conversao, e gerado a partir deste sinal de clock, espera-se uma pequena
deduca o na amostragem, porem havera sincronia entre ambos. O proximo passo e a geraca o
deste sinal, que e feita atraves de um loop no algoritmo com contador, que sera explicado
adiante. A Figura 22 apresenta o sinal gerado.

Tem-se, entao, os sinais em sincronia, onde, a cada 20 perodos de clock, o sinal CS


altera seu nvel. O proximo passo para o interfaceamento e a aquisica o dos sinais pelo modulo
46

Figura 22: Sinal de CS gerado pelo FPGA visto no osciloscopio.


Fonte: Autoria propria

FPGA e transmissao para o computador, onde sera adquirido pelo software MATLAB e proces-
sado. Sequencialmente, tem-se:

1. Conversao da amostra n dos sensores 0 a M, sendo M o u ltimo sensor disposto na linha


para um numero de 8 bits, acontecendo de forma simultanea;

2. Transmissao da amostra n dos sensores 0 a M pela porta serial do computador para o


MATLAB, ocorrendo de forma serial do sensor 0 a M;

3. Recepca o da amostra n0 a nM pelo MATLAB, onde o identificador subscrito representa a


posica o do sensor;

4. Apos um numero N pre definido de amostras, organizadas em um vetor de M N posico es,


divide-se este vetor em M vetores menores, contendo os sinais;

5. Pre-processamento dos sinais para eliminaca o de rudos indesejados;

6. Aplicaca o da correlaca o cruzada, xcorr, para detecca o de direca o de chegada do sinal


47

9
RESULTADOS E DISCUSSOES

Neste captulo serao demonstrados os resultados obtidos neste trabalho. Dentre os


resultados analisa-se a viabilidade do sistema e materiais propostos, a performance do tipo
de comunicaca o escolhida em relaca o ao desempenho do sistema e comparaco es com outras
formas de aquisica o. Este captulo se organiza da seguinte forma. Primeiro e mostrado o expe-
rimento realizado. Entao, sao mostrado os sinais reais adquiridos pelos sensores e as operaco es
propostas, assim como descrito o experimento. Apos, discute-se o desempenho do sistema, ex-
pondo a qualidade dos sinais adquiridos e captaca o dos mesmos pelo sistema. Por fim, compara-
se ambos com as simulaco es feitas anteriormente.

9.1 DO EXPERIMENTO
DESCRICAO

O experimento foi realizado da seguinte forma. Foram escolhidos 4 sensores para


este sistema, portanto, foi necessario a construca o de 4 circuitos de cada um dos propostos,
sendo: Circuito para funcionamento do microfone, tratamento do sinal e conversor A/D. Os
circuitos dos microfones, feitos em placa de circuito impresso, foram dispostos em linha com
espacamento aproximado de 14,3 cm, medidos em uma regua. A Figura 23 demonstra o es-
quema da placa de circuito impresso gerada.

Figura 23: Placa de circuito impresso


gerada para funcionamento e amplificaca o
do sinal dos microfones
Fonte: Autoria propria
48

Estas placas sao interligadas com a placa de inserca o de offset no sinal. Para estas
tambem cria-se uma placa de circuito impresso (PCI) contendo o circuito amplificador ope-
racional TL081. A ligaca o entre ambas e feita por fios, assim como com as demais placas.
Atribui-se pinos para estas entradas e sadas. O circuito de offset esta representado na Figura 24

Figura 24: Placa de circuito impresso gerada para


condicionamento do sinal dos microfones
Fonte: Autoria propria

O u ltimo componente entre os microfones e o FPGA e o conversor A/D. Confeccionou-


se uma placa PCI para este circuito integrado, realizando as conexoes necessarias entre o kit,
esta placa e circuitos de condicionamento. Utilizou-se tambem de pinos para interface com as
outras placas e FPGA. Esta placa e mostrada na Figura 25. Por fim, como os sinais do FPGA,
clock e CS, sao compartilhados entre todos os conversores A/D, utilizou-se o protoboard para
fornecer essa ligaca o.

Desta forma, realizando o posicionamento e ligaco es para todos os circuitos, tem-se o


sistema completo, pronto para testes. Para alimentas os componentes utilizou-se a fonte da ban-
cada, configurada para fornecer 3.3 V para os microfones e 1.6 V para o offset. A alimentaca o
dos conversores e feito pelo FPGA, que fornece 3.3 V em seu GPIO. Todos os terras sao in-
terligados. O u ltimo elemento do sistema e o FPGA, que realizara o controle das conversoes,
aquisica o dos dados e transmissao para o computador. A Tabela 1 mostra as funco es do GPIO
do kit no sistema.
49

Figura 25: Placa de circuito


impresso gerada para ligaca o
dos conversores A/D]
Fonte: Autoria propria

Tabela 1: Conexoes FPGA

PINO Funca o
GPIO[0] Inutilizado
GPIO[1] clock 400 kHz
GPIO[2] CS
GPIO[3] Sensor1
GPIO[4] Sensor2
GPIO[5] Sensor3
GPIO[6] Sensor4

9.1.1 DO FPGA
CONFIGURACAO

Pode-se entao relacionar o fluxo do programa implementado no FPGA. Serao utili-


zados dois processos VHDL, onde um faz o controle do fluxo de dados serial para o FPGA
e outro transmite estes dados para o computador. Sao utilizados componentes de divisao do
clock da placa, em 50 MHz para aproximadamente 400 kHz, denominado clock divider e o
componente TX, para transmissao pelo RS-232.

O fluxo do programa dado da seguinte forma. Gera-se o sinal CS, no pino GPIO[2], a
partir de um contador I que altera seu nvel apenas uma vez a cada 20 pulsos do clock. Espera-
se outros 3 pulsos do clock para que seja iniciada a conversao do sinal pelo conversor A/D,
segundo sua carta de tempos. Extrai-se entao os 8 bits de cada sinal, ficando este armazenado
em um registrador DATA[M] do FPGA, onde varia de 1 a 4 e representa cada um dos sensores.
A partir da aquisica o do u ltimo bit, habilita-se o modulo de transmissao. Este fluxo e descrito
na Figura 26.
50

PROCESSOS EMBARCADOS EM FPGA


MAIN TRANSMISSO

Se houver borda de subida em


Se houver borda de descida em GPIO[1] CLOCK_50MHz

LOOP I = 1 at 20 LOOP J = 1 at 4

Se I=1; GPIO[2] recebe 1 ; ENVIO DO DADO DATA[J] PARA


Caso contrrio GPIO[2] recebe 0 ; SERIAL
FIM Se.

Se COUNTER > 5 e COUNTER < 14


DATA{1:4}[INDEX-1] <= GPIO{3:6}
INDEX <= INDEX-1
Fim Se;
Se INDEX < 0
INDEX <= 8;
Fim Se

Se COUNTER > 14
Habilita TRANSMISSO;
FIM Se;
Se COUNTER = 19
COUNTER <= 0;
Fim Se

COUNTER <= COUNTER+1

FIM LOOP;

FIM Se;
Phase

Figura 26: Fluxo do programa embarcado no FPGA


Fonte: Autoria propria

9.2 SINAIS CAPTADOS

Realizou-se entao 3 experimentos constitudos basicamente da mesma metodologia.


A fonte emissora de sinal foi posicionada frente ao arranjo e seu a ngulo aproximado calculado
atraves da posica o relativa entre o locutor e o sensor. O experimento foi realizado em um espaco
fechado, sendo este o laboratorio onde fora construdo o arranjo, e limitado. Espera-se entao
reverberaca o do sinal e uma fronte de onda nao totalmente plana. Os experimentos realizados
foram os seguintes, descritos na Tabela 2. Apos adquiridos os sinais pela placa, aplicou-se um
pre processamento nos mesmos, aplicando um filtro FIR com a janela de Blackman ajustada
para 5 taps, o que nao sera discutido neste trabalho, para melhora dos sinais adquirido.
51

Tabela 2: Experimentos realizados para aquisica o dos dados


Experimento Angulo do locutor
1 20
2 10
3 0

Para cada experimento posicionou-se o locutor nas posico es aproximadas e ativou-se o


sistema para incio de coleta dos dados. Apos o recebimento dos dados, utilizou-se do algoritmo
de correlaca o cruzada para extrair o a ngulo proveniente dos atrasos amostrais entre os sinais.
Os sinais encontrados estao descritos nas Figuras 27, 28 e 29.

1 1
Magnitude

Magnitude

0.5 0.5

0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]
#10 -3
8 1

6 0.8
Magnitude

Magnitude

4 0.6

2 0.4

0 0.2
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]

Figura 27: Sinais adquiridos no primeiro experimento


Fonte: Autoria propria

Foi encontrado, para o primeiro experimento, um a ngulo aproximado de 15,7945,


diferindo do valor real em 4,2055. Este erro se deve a amostragem baixa do sistema e por os
sinais nao terem exatamente o mesmo tempo de atraso entre si.

Foi encontrado, para o segundo experimento, um a ngulo aproximado de 7,2975, dife-


rindo do valor real em 2,7025.. Este erro se deve a amostragem baixa do sistema e por os sinais
nao terem exatamente o mesmo tempo de atraso entre si.

Foi encontrado, para o terceiro experimento, um a ngulo aproximado de 4,1624, dife-


rindo do valor real em 4,1624, erro de aproximadamente 5%. Este erro se deve a amostragem
52

1 1

0.8

Magnitude

Magnitude
0.6 0.5

0.4

0.2 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]
1 1
Magnitude

Magnitude
0.8 0.8

0.6 0.6

0.4 0.4
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]

Figura 28: Sinais adquiridos no segundo experimento


Fonte: Autoria propria

baixa do sistema e por os sinais nao terem exatamente o mesmo tempo de atraso entre si.

9.3
DISCUSSOES ACERCA DOS RESULTADOS OBTIDOS

Apenas pela observaca o dos graficos, pode-se reparar em uma baixa qualidade nos
sinais obtidos. Isto se deve a` baixa qualidade do sinal proveniente dos microfones de eletreto,
alem da reverberaca o presente no ambiente. Foi possvel de se notar tambem uma reduca o na
amostragem do sinal, a qual e atribuda pela aquisica o diretamente pelo software MATLAB,
que toma controle da porta serial e tem processamento lento.

A reduca o na amostragem fora percebida ao ouvir-se o sinal gerado e comparado com o


sinal de origem, atraves da funca o sound, onde, comparando o sinal emitido, com cerca de 430
Hz, constatado pela gravaca o do sinal primariamente pelo microfone do computador utilizado
no experimento e aplicando a transformada de Fourier, obteve-se um valor aproximado quando
aplicou-se novamente a transformada nos sinais obtidos ajustando-a para 12,5 kHz.

Os sinais excursionaram na faixa desejada, de 0 a 3.3 volts, para a distancia projetada,


de cerca de 3m, entre o locutor e o arranjo. Espera-se que se fosse gerada maior pressao de ar,
ou seja, com o locutor emitindo o sinal mais proximo ao arranjo, houvesse estouro nos nveis do
53

1 1

Magnitude

Magnitude
0.5 0.5

0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]
1 1

0.8
Magnitude

Magnitude
0.8
0.6
0.6
0.4

0.4 0.2
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Tempo [s] Tempo [s]

Figura 29: Sinais adquiridos no terceiro experimento


Fonte: Autoria propria

sinal e, portanto, descaraterizaca o do mesmo. Como trabalha-se com cenarios em que o locutor
esta suficientemente longe, esta restrica o nao se aplica.

A qualidade de obtenca o da direca o de chegada tambem fora prejudicada pelo sistema


proposto, pois a mesma depende diretamente da amostragem do sistema, a qual pode ser consi-
derada baixa, com apenas 20 kHz mais a deduca o do MATLAB, totalizando cerca de 12,5 kHz
mesmo na maior velocidade possvel de transmissao.
54


10 CONCLUSAO

Como conclusao deste trabalho, analisa-se a qualidade dos resultados obtidos. Buscou-
se, atraves da aplicaca o de operaco es de Array Processing em um arranjo destinado a sinais
sonoros, a generalizaca o de um sistema que pudesse captar sinais para pos processamento.
Portanto, fora possvel realizar a captura em um arranjo pequeno, com apenas 4 elementos e
encontrar a direca o de chegada aproximada, ainda que com erros.

Constatou-se que os sinais provenientes de microfones de eletreto com circuitos sim-


ples de condicionamento e amplificaca o sao limitados e poderiam ser substitudos por equi-
pamentos de maior qualidade. Os sinais adquiridos possuem uma baixa resoluca o, alem de
interferencias oriundas dos circuitos utilizados.

Os conversores A/D utilizados neste trabalho tambem apresentaram baixo desempe-


nho por sua baixa resoluca o, 8 bits, e baixa amostragem, maxima em 20 kHz, desconsiderando
a deduca o aferida pelo MATLAB. As operaco es realizadas para encontrar direca o de chegada
sao diretamente proporcionais a` amostragem do sinal, portanto, apesar de ter sido possvel a
utilizaca o dos mesmos, e recomendada a troca destes componentes por outro de maior perfor-
mance.

Como ponto positivo ao final deste trabalho tem-se a programaca o gerada no FPGA,
onde esta torna possvel a generalizaca o para sensores que operem em alta frequencia e alta
resoluca o. E previsto para trabalhos futuros o aumento da complexidade da mesma, utilizando
sinais inteiros, ou seja, utilizaca o das memorias presentes no kit, e processamento online, ex-
cluindo a necessidade de utilizaca o do MATLAB, que degrada o desempenho do sistema.
55


REFERENCIAS
ALTERA; TERASIC. DE2-115 User Manual. [S.l.], 2012.

CHOI, J. H.; SUN, J. S.; ITOH, T. Frequency-scanning phased-array feed network based on
composite right/left-handed transmission lines. IEEE Transactions on Microwave Theory
and Techniques, v. 61, n. 8, p. 31483157, Aug 2013. ISSN 0018-9480.

DHOPE, T. S.; SIMUNIC, D.; ZENTNER, R. Comparison of doa estimation algorithms in sdma
system. AUTOMATIKA: c asopis za automatiku, mjerenje, elektroniku, racunarstvo i ko-
munikacije, KoREMA-Hrvatsko drustvo za komunikacije, racunarstvo, elektroniku, mjerenja
i automatiku, v. 54, n. 2, p. 199209, 2013.

FAIRCHILD SEMICONDUCTOR. BC546/547/548/549/550. [S.l.], 8 2002. Revisado em


agosto 2002.

GERMEN, E.; BASARAN, M.; FIDAN, M. Sound based induction motor fault diagnosis using
kohonen self-organizing map. Mechanical Systems and Signal Processing, Elsevier, v. 46,
n. 1, p. 4558, 2014.

GUO, Y.; ZOU, Y. X.; WANG, Y. A robust high resolution speaker doa estimation under rever-
berant environment. In: Chinese Spoken Language Processing (ISCSLP), 2014 9th Interna-
tional Symposium on. [S.l.: s.n.], 2014. p. 400400.

INSTRUMENTS, T. ADC0831-N/ADC0832-N/ADC0834-N/ADC0838-N 8-Bit Serial I/O


2013.
A/D Converters with Multiplexer Options. [S.l.], 8 1999. Revisado em marAo

JAISWAL, D. et al. Design and evaluations of a phased ultrasound array for transesophageal
cardiac ablation. In: 2009 IEEE International Ultrasonics Symposium. [S.l.: s.n.], 2009. p.
12981301. ISSN 1051-0117.

LI, Y.; HO, K. C.; KWAN, C. Design of broad-band circular ring microphone array for spe-
ech acquisition in 3-d. In: Acoustics, Speech, and Signal Processing, 2003. Proceedings.
(ICASSP 03). 2003 IEEE International Conference on. [S.l.: s.n.], 2003. v. 5, p. V2214
vol.5. ISSN 1520-6149.

MANOLAKIS, D. G.; INGLE, V. K.; KOGON, S. M. Statistical and adaptive signal proces-
sing: spectral estimation, signal modeling, adaptive filtering, and array processing. [S.l.]:
Artech House Norwood, 2005.

NAIDU, P. S. Sensor array signal processing. [S.l.]: CRC press, 2009.

OPPENHEIM, A. V. et al. Discrete-time signal processing. [S.l.]: Prentice hall Englewood


Cliffs, NJ, 1989.

OTSUKA, T. et al. Bayesian nonparametrics for microphone array processing. IEEE/ACM


Transactions on Audio, Speech, and Language Processing, v. 22, n. 2, p. 493504, Feb
2014. ISSN 2329-9290.
56

QI, Z. S.; GUO, Y.; WANG, B. H. Blind direction-of-arrival estimation algorithm for conformal
array antenna with respect to polarisation diversity. IET Microwaves, Antennas Propagation,
v. 5, n. 4, p. 433442, March 2011. ISSN 1751-8725.

ROFFEH, Y.; EINAV, S. Analysis of sounds from occluded arteries by using a linear array of
microphones. In: Electrical and Electronics Engineers in Israel, 1995., Eighteenth Conven-
tion of. [S.l.: s.n.], 1995. p. 4.2.1/14.2.1/5.

TREES, H. L. V. Detection, estimation, and modulation theory, optimum array processing.


[S.l.]: John Wiley & Sons, 2004.

VEEN, B. V.; BUCKLEY, K. Beamforming: A versatile approach to spatial filtering. IEEE


ASSP Magazine, v. 5, n. 2, p. 424, 1988. Cited By 1319.

WANG, G.; XIA, X. G. Iterative algorithm for direction of arrival estimation with wideband
chirp signals. IEE Proceedings - Radar, Sonar and Navigation, v. 147, n. 5, p. 233238, Oct
2000. ISSN 1350-2395.

WINTERS, J. H. Signal acquisition and tracking with adaptive arrays in the digital mobile
radio system is-54 with flat fading. IEEE Transactions on Vehicular Technology, v. 42, n. 4,
p. 377384, Nov 1993. ISSN 0018-9545.

XI, Z. et al. Doa estimation of multiple sources based on multiset canonical correlation analysis.
In: Proceedings of 2011 IEEE CIE International Conference on Radar. [S.l.: s.n.], 2011.
v. 2, p. 14101413. ISSN 1097-5764.

YAN, X. et al. Multichannel double-row transmission line array for human mr imaging at ul-
trahigh fields. IEEE Transactions on Biomedical Engineering, v. 62, n. 6, p. 16521659, June
2015. ISSN 0018-9294.

ZOU, Y. X. et al. Multisource doa estimation based on time-frequency sparsity and joint inter-
sensor data ratio with single acoustic vector sensor. In: 2013 IEEE International Conference
on Acoustics, Speech and Signal Processing. [S.l.: s.n.], 2013. p. 40114015. ISSN 1520-
6149.
58


APENDICE A -- ALGORITMOS UTILIZADOS NAS SIMULAC
OES

aplic tapered


% Func ao aplic_tapered
% Algoritmo utilizado para aplicar o filtro Tapered Beamformer em sinais
% sint
eticos. Os par
ametros das configurac oes iniciais definem como ser
a
% utilizado o filtro.

clear; clc; close all


%% CONFIGURAC OES INICIAIS
load('matlab.mat') % carregar vetor de
audio
load('ruido.mat') % vetor do ru
do/interfer
encia

c = 343.3; % velocidade do som [m/s]


lambda = c/4000; % c
alculo do comprimento de onda [m]
d = lambda/2; % dist
ancia entre os sensores
f_amost = 44100; % frequ
encia de amostragem do sinal
M = 256; % n
umero de elementos no arranjo
f_max = 4000; % frequ
encia m
axima dos sinais
T_amost = 1/f_amost; % per
odo de amostragem
phi_s = 45; % direcionamento do sinal de interesse
phi_si = -45; % direcionamento do sinal de interfere


%Gerac ao dos sinais atrasados
ss = delay_sig(data,M,phi_s,c,f_max,f_amost);
si = delay_sig(a1,M,phi_si,c,f_max,f_amost);
si = [zeros(length(ss)-length(si),M); si];
% normalizac ao do tamanho dos
% vetores

close all
L = chebwin(M,200); % gerar janela para aplicaco no filtro
a
59

c_tbf = L;
% c_tbf = ones(1,M)'; % Matched Filter


%% Computac ao do BeamPattern
u_steer=(d/lambda)*sind(phi_s);
phi = -90:0.01:90;
V = exp(-j*2*pi*(d/lambda)*[0:(M-1)]'*sind(phi))/sqrt(M);
V_elec = V'*(c_tbf.*((1/sqrt(M))*exp(-j*2*pi*[0:(M-1)]'*u_steer)));

figure(1)
plot(phi,20*log10(abs(V_elec)),'k','linewidth',1.5);
title('Beampattern do filtro espacial projetado')
xlabel('
Angulo (graus)','fontsize',10);
ylabel('Magnitude (dB)','fontsize',10);
set(gca,'fontsize',10);
axis([-90 90 -160 0]);
grid;
set(gca,'xtick',-90:15:90);

x=ss+si;

k=511;

for q=1:1:5

phi_steer = -90+45*(q-1);
tau_steer=d/c*sind(phi_steer);
N_amost = round(tau_steer/T_amost); %calculo da quantidade de amostr

y=0;

if N_amost >= 0
for i = 1:size(x,2)
y = y + [x(1+(N_amost*(i-1)):end,i) ;zeros(abs(N_amost*(i-1)),1)]*c_tbf(i);
end
end
60

if N_amost < 0
for i = 1:size(x,2)
y = y + [zeros(abs(N_amost*(i-1)),1) ; x(1:length(x)+N_amost*(i-1),i)]*c_tbf(i);
end
end
t=0:1/44100:(length(y)-1)/44100;
T=num2str(i);
figure(2)
subplot(k)
plot(t,real(y));
xlabel('Tempo [s]','fontsize',12)
title(['Tapered ajustado para
angulo ',int2str(phi_steer) ''],'FontSize',12);
grid
k=k+1;
set(gca,'fontsize',10);
end
61

delay sig

% Programa desenvolvido para atrasar sinais temporalmente de forma


% sint
etica
%==========================================================================
% DADOS A SEREM INSERIDOS
%==========================================================================.
% data = vetor de dados do sinal original
% M = quantidade de elementos no Array
% c = velocidade do som [m/s]
% fmax = frequ
encia m
axima do sinal de interesse

function [ss,t,d] = delay_sig(data,M,phi_s,c,f_max,f_amost)


lambda = c/f_max; % Comprimento de onda
d = lambda/2; % Espac
amento entre sensores
tau=d/c*sind(phi_s); % Tempo de atraso entre as amostras dos
% sensores no array
data = data/max(abs(data));
% Normalizac ao do vetor de entrada

T_amost = 1/f_amost;
N_amost = abs(round(tau/T_amost)); % Quantidade de amostras que representa
% \tau{}

% Condicionais para o lac


o for
f=M-1;
n=0;
i=1;

if tau > 0
% Condicionais para o lac
o for
f=M-1;
n=0;
i=1;
for i = 1:M
ss(:,i) = [randn(1,round(abs(N_amost))*n)/100 data' randn(1,round(abs(N_amost))*f)/100
n = n+1;
62

f = f-1;
end
end

if tau < 0
f=M-1;
n=0;
i=1;
for i = 1:M
ss(:,i) = [rand(1,round(abs(N_amost))*f)/100 data' randn(1,round(abs(N_amost))*n)/100]
n = n+1;
f = f-1;
end
end

if tau == 0
for i = 1:M
ss(:,i) = data';
end
end

t = 0 :T_amost: (length(ss)/f_amost-T_amost);
plot(t,ss(:,1)); hold on;
plot(t,ss(:,M),'r');
xlabel('Tempo [s]','FontSize',12)
ylabel('Magnitude Normalizada','FontSize',12)

title('Sobreposic ao dos sinais do sensor 0 e sensor M','FontSize',12)
legend('Sensor 0','Sensor M')
set(gca,'FontSize',12)
end
63

doa ula


% Func
ao DOA_ULA. Esta func ao
e utilizada para estimar a chegada de um
% sinal que se propaga no espac
o com velocidade c e com espac
amento d entre
% os sensores do arranjo.

function theta = doa_ula(ss,c,d);

for k = 1:size(ss,2)-1
y(:,k) = xcorr(ss(:,k),ss(:,k+1));
qtde_amost(k) = length(ss) - find(y(:,k)==max(y(:,k)));
end

delay = mean(qtde_amost/44100);
senotheta = c*delay/d;
theta = real(asind(senotheta));

end

You might also like