==============================================

SoundObserver

A Vibration Analyzer for Defect Detection
==============================================

Márcio Weck e Hendri Nogueira


Download do arquivo fonte: Codigo Fonte
1. Descrição

   
O propósito do SoundObserver é escutar vibrações acústicas no ambiente ao seu redor, e tentar identificar possíveis problemas pelas características dos sons detectados, utilizando redes neurais e partindo de um conhecimento já adquirido sobre o ambiente durante a fase de treinamento.

2. Características

  
3. Desenvolvimento

3.1. Requisitos


3.2 Interfaces


3.2. Funcionalidade








4. Diagramas



                                                                   Figura 1. Diagrama de Blocos


Obs: Na figura 1, não estão mostrados detalhes de hardware como filtro passa-baixa e amplificador do microfone. O filtro na imagem é o algoritmo que retira as características essenciais das ondas, e que no caso é utilizado o Upscaling



5. Hardware


Foi utilizado uma placa que tenha um poder de processamento e uma capacidade de mémoria  suficientes para suportar um linux leve e roda nossa Implementação em C.

O hardware escolhido foi o NANO-LX-800.



Especificação:







 I/O Interface:
   4 x USB 2.0
   2 x SATA-150
   1 x CFII
   1 x LPT
   6 x RS-232
   1 x RS-422/485
   1 x PS/2 keyboard/mouse
   1 x IDE



  VGA integrated in AMD® LX800
  24-bit single channel TTL
  18-bit single channel LVDS

   Software programmable supports 1~255 sec. system reset


  +12V@0.92A (AMD LX 800 with DDR400 256MB RAM)





Sistema Operacional:

O SO escolhido foi o Voyage Linux, uma distribuição Linux baseada em Debian e customizada para trabalhar em plataformas voltadas para sistemas embarcados. A escolha por essa distribuição deve-se ao fato do bom desempenho no hardware utilizado para o projeto.

API

Foi utilizada a API do Alsa, para desenvolver um driver que fosse capaz de fazer a leitura da entrada PCM.

6. Topologia da Rede Neural

    A rede neural usada no projeto é composta de 10 neurônios na camada intermediária, 1 na camada de saída e 42 (podendo variar) na camada de entrada; O 42 entradas do padrão devem-se ao número de frames que são pré-processados durante o periodo de analise.

Exemplo meramente ilustrativo

7. Classificação

    O resultado da rede retorna um valor entre 0 e 1, oferencendo a possibilidade de analisar o erro com mais profundidade, e saber qual a gravidade do mesmo.




8. Estrutura Código

audio_capture_driver : é o driver feito com o alsa, para acessar o PCM, e definir a configuração do hardware de captura.
analic_tools : faz o pré-processamento do sinal.
neuralshooter : dispara os resultados da rede para cada caracterização do sinal.






  
REFERÊNCIAS

http://www.aoandrade.eletrica.ufu.br/Documents/ProjFinal.pdf
http://www.eps.ufsc.br/disserta/hugo/cap_4/cp4_hug.htm
http://rw4.cs.uni-sb.de/~kaestner/es0203/lecthr07.pdf
http://www.eps.ufsc.br/disserta96/tafner/index/index.htm#sum

http://www.icpamerica.com/products/single_board_computers/EPIC/nano_lx.html

http://www.ieiworld.com/product_groups/industrial/content.aspx?keyword=PE-2sd&gid=00001000010000000001&cid=09050662496936266123&id=08165508789038817846#

http://wwwd.amd.com/catalog/salescat.nsf/doclookupweb/8D28E898323815458725711E0061715D?OpenDocument&id=IEI+Technology+Corp.~NANO-LX-800

http://www.linuxjournal.com/article/6735?page=0,0