Correção Medição
Ferramenta para calibração de smartphones destinados à medição de ruído ambiental, desenvolvida como parte da proposta de zoneamento acústico de Belo Horizonte.
1. Introdução
O Calibrador Web é uma aplicação progressiva (PWA) desenvolvida para viabilizar a utilização de smartphones como instrumentos de medição de nível sonoro em campo aberto. O objetivo central é expandir a capacidade de coleta de dados acústicos para o mapeamento de ruído de Belo Horizonte, complementando as medições realizadas com equipamento profissional Classe 1.
A ferramenta opera inteiramente no navegador, sem necessidade de instalação, e funciona offline após o primeiro acesso. Cada dispositivo é identificado de forma única, e as medições são georreferenciadas automaticamente via GPS do celular.
O problema do microfone interno
Estudos do NIOSH mostraram que apps Android não calibrados apresentam desvio médio de até 12 dB em relação a sonômetros Tipo 1, e a variabilidade entre dispositivos pode ter desvio padrão de quase 7 dB. A principal fraqueza é o microfone MEMS embutido, limitado em faixa dinâmica e relação sinal-ruído devido ao tamanho miniaturizado e posicionamento na placa do circuito.
As limitações conhecidas dos microfones MEMS incluem:
- Faixa útil típica: 35–95 dB(A) — abaixo de 35 dB(A), ruído eletrônico domina; acima de 95–100 dB(A), sinal satura
- Resposta de frequência não plana — sem ponderação de curva A nativa
- Variação intra-modelo — calibração é específica por unidade, não apenas por modelo
A boa notícia: utilizar microfones externos calibrados melhora significativamente a precisão e a consistência das medições, reduzindo a diferença para ±1 dB em relação ao sistema de referência. A calibração cruzada com um equipamento de referência permite corrigir as discrepâncias, tornando as leituras comparáveis às de um sonômetro profissional.
2. Objetivos
Objetivo geral
Viabilizar a calibração de smartphones para medição de ruído ambiental, permitindo que dispositivos de uso cotidiano contribuam com dados confiáveis para o mapeamento sonoro municipal.
Objetivos específicos
- Detecção automática de hardware — identificar modelo do dispositivo, microfone, sample rate e configurações de processamento de áudio (AGC, supressão de ruído, cancelamento de eco)
- Medição em tempo real — capturar nível sonoro continuamente via Web Audio API, exibindo valores instantâneos, LEQ, mínimo e máximo com gráfico temporal
- Gravação georreferenciada — salvar sessões de medição com leituras por segundo, coordenadas GPS e metadados do dispositivo, armazenadas localmente no IndexedDB
- Calibração cruzada — correlacionar leituras do smartphone com dados de um sonômetro de referência, gerando fatores de correção por dispositivo
- Operação offline (PWA) — funcionar sem conexão após o primeiro carregamento, com sincronização posterior ao servidor
3. Contexto
O mapeamento de ruído de Belo Horizonte cobre 331 km² com aproximadamente 7.700 medições de campo coletadas com sonômetro Classe 1, distribuídas em 10 cenários temporais. Isso resulta em uma densidade amostral de ~2,3 pontos/km² — suficiente para interpolação geoestatística em escala municipal, mas insuficiente para capturar variações locais em áreas de interesse.
O mapeamento acústico de uma cidade de 331 km² requer monitoramento distribuído, mas sonômetros homologados Tipo 1 custam R$ 15.000–50.000 e o número de equipamentos disponíveis é limitado. Não existe infraestrutura para monitoramento contínuo em escala urbana.
A expansão da base amostral com smartphones calibrados permitiria:
- Adensamento em áreas críticas — corredores viários, zonas industriais e áreas residenciais próximas a fontes de ruído
- Monitoramento temporal — coletas em horários e dias não cobertos pelos cenários atuais (ex: domingos, madrugadas)
- Participação cidadã — moradores podem contribuir com medições do seu entorno, ampliando a cobertura sem custo operacional
Cenários de uso por equipamento
| Cenário | Microfone | Precisão esperada | Uso |
|---|---|---|---|
| Triagem rápida | Interno do celular (MEMS) | ±5–12 dB(A) | Identificação preliminar de áreas críticas |
| Monitoramento calibrado | Interno + calibração cruzada | ±3–5 dB(A) | Mapeamento urbano complementar |
| Medição de referência | Dayton iMM-6C + calibração | ±1 dB(A) | Monitoramento contínuo, dados para zoneamento |
Métricas de sucesso
| Métrica | Meta |
|---|---|
| Desvio médio vs. sonômetro Tipo 1 | ≤ 2 dB(A) (com microfone externo) |
| R² da calibração por cruzamento | > 0.95 |
| Tempo para calibrar novo dispositivo | < 2 horas |
| Custo por ponto de monitoramento | < R$ 500 (celular + microfone) |
| Autonomia de gravação | 8+ horas contínuas |
Limitação importante: smartphones calibrados não substituem equipamentos profissionais. A norma IEC 61672-1 (2013) especifica tolerâncias de ±1,0 dB para Classe 1, inatingíveis por microfones MEMS de celulares. O app não substitui sonômetros homologados para fins normativos — é ferramenta de pesquisa para mapeamento e triagem.
No modelo de interpolação (Regression Kriging com 14 covariáveis), mais pontos amostrais reduzem o efeito nugget e melhoram a predição em regiões com gradientes sonoros acentuados — exatamente onde as covariáveis geográficas têm maior poder explicativo.
4. Equipamento
Configuração recomendada
| Componente | Especificação |
|---|---|
| Celular | Android com Chrome 76+, USB-C |
| Microfone | Dayton Audio iMM-6C (USB-C) |
| Sonômetro de referência | Tipo 1 ou 2 com datalogger (para calibração) |
| Calibrador acústico | 94 dB(A) (para verificação do sonômetro) |
| Power bank | 10.000+ mAh (gravações longas) |
Microfone recomendado: Dayton Audio iMM-6C
Dayton Audio iMM-6C — microfone de medição USB-C com ADC embutido (~R$ 240)
O iMM-6C é um microfone de medição projetado para conexão USB-C em dispositivos Android, Apple e Windows. Cada unidade é individualmente calibrada em laboratório usando microfones de referência, garantindo medições consistentes e repetíveis.
| Parâmetro | Valor |
|---|---|
| Conexão | USB-C (plug and play) |
| ADC/DAC | CM6542 embutido |
| THD+N | 0.001% |
| Cápsula | Condensadora eletret omnidirecional |
| Calibração | Individual por número de série (arquivo incluso) |
| Preço | ~US$ 40 (~R$ 240 com importação) |
Por que este microfone é ideal para o projeto:
- ADC embutido — o conversor analógico-digital está dentro do microfone, bypassa completamente o circuito de áudio do celular, eliminando a maior fonte de variabilidade entre dispositivos
- Calibração individual — cada unidade vem com arquivo de calibração por número de série, eliminando a variação intra-modelo
- Omnidirecional — padrão polar ideal para medição ambiental (captura som de todas as direções igualmente)
- Plug and play — USB-C funciona nativamente no Android sem drivers ou adaptadores
- Custo — ~R$ 240 por unidade viabiliza uma rede de múltiplos pontos de monitoramento
5. Implementação do Software
Stack tecnológica
| Componente | Tecnologia | Função |
|---|---|---|
| Captura de áudio | Web Audio API | Acesso ao microfone, processamento de sinal (FFT, ponderação A) |
| Armazenamento local | IndexedDB | Sessões, leituras e calibrações salvas offline no dispositivo |
| Operação offline | Service Worker | Cache de assets, funcionamento sem conexão (PWA) |
| Geolocalização | Geolocation API | Coordenadas GPS para cada sessão de medição |
| Tela ativa | Wake Lock API | Impede desligamento da tela durante gravações longas |
| Mapa interativo | Leaflet.js | Visualização da posição do ponto de medição |
| Interface | CSS puro | Design mobile-first, tema escuro, responsivo |
| Backend | Laravel 12 | API REST para sincronização de sessões e calibrações |
Decisões de arquitetura
| Decisão | Justificativa |
|---|---|
| Página standalone (não estende layout do app) | Máximo espaço em tela no celular em campo |
| Sem autenticação | Acesso rápido em campo, sem login |
| UUID nas sessions (gerado no client) | Sem conflito no sync offline → servidor |
| IndexedDB como primário | Offline-first — servidor é opcional |
| Vanilla JS (sem Alpine.js) | Web Audio API e Canvas não combinam com reatividade declarativa |
| Entry Vite separado | Bundle do sonômetro não infla as outras páginas |
Configuração de captura de áudio
O processamento de áudio desativa todos os pós-processamentos do navegador que distorceriam as medições:
- echoCancellation: false — alteraria o sinal
- noiseSuppression: false — removeria ruído ambiental (que é o sinal!)
- autoGainControl: false — alteraria a amplitude
O AnalyserNode opera com fftSize = 4096 e smoothingTimeConstant = 0.3. O cálculo segue: RMS do domínio temporal → dBFS = 20 × log₁₀(rms).
Fluxo de dados
O processamento de áudio segue o caminho:
- Microfone → dBFS — a Web Audio API captura amostras de áudio e calcula o nível RMS em decibéis relativos ao fundo de escala digital (dBFS)
- dBFS → calibração — se o dispositivo possui calibração armazenada, aplica-se o offset de correção (diferença entre a leitura do smartphone e do equipamento de referência)
- Calibração → dB(A) — a ponderação A é aplicada via filtros digitais, aproximando a resposta em frequência à percepção do ouvido humano
Armazenamento local
Cada leitura ocupa ~200 bytes no IndexedDB:
| Duração | Leituras | Tamanho estimado |
|---|---|---|
| 1 hora | 3.600 | ~700 KB |
| 8 horas | 28.800 | ~5.5 MB |
| 24 horas | 86.400 | ~17 MB |
6. Funcionamento Prático
O Calibrador é organizado em cinco abas, cada uma com uma função específica no fluxo de medição. A seguir, cada aba é apresentada com uma captura de tela e descrição de suas funcionalidades.
Dispositivo
A primeira aba identifica automaticamente o hardware do dispositivo: modelo, plataforma, navegador e um ID único persistente. Ao detectar o microfone, exibe sample rate, número de canais, latência e confirma se AGC, supressão de ruído e cancelamento de eco foram desativados — condição necessária para medições confiáveis.
Aba Dispositivo — metadados do celular e configuração do microfone
Preparativos
Exibe um mapa interativo com a posição GPS do dispositivo. O operador pode verificar e corrigir a localização antes de iniciar a gravação, garantindo que as coordenadas associadas à medição sejam precisas. A acurácia do GPS é exibida em metros.
Aba Preparativos — mapa com localização GPS do ponto de medição
Medidor
A aba principal do Calibrador. Exibe o nível sonoro instantâneo em decibéis, com estatísticas de mínimo, LEQ (nível equivalente contínuo) e máximo. Um gráfico temporal mostra a evolução do nível nos últimos 60 segundos. O botão Iniciar ativa o microfone para monitoramento; o botão Gravar inicia o registro das leituras (1 por segundo) com coordenadas GPS.
Aba Medidor — nível sonoro em tempo real com gráfico temporal
Sessões
Lista todas as sessões de gravação armazenadas no dispositivo. Cada sessão exibe data/hora, duração, LEQ calculado, número de leituras e localização. As sessões podem ser exportadas em CSV ou sincronizadas com o servidor para inclusão no banco de dados do mapeamento.
Aba Sessões — gravações salvas no dispositivo
Cruzamento
Permite calibrar o dispositivo cruzando dados com um equipamento de referência. O fluxo consiste em: gravar uma sessão no celular simultaneamente ao sonômetro profissional, importar o CSV do equipamento, selecionar a sessão correspondente e alinhar temporalmente as séries. O sistema calcula o offset de correção (em dB) e armazena a calibração associada ao ID do dispositivo.
Aba Cruzamento — calibração por comparação com equipamento de referência
7. Protocolo de Calibração
Procedimento
- Calibrar o sonômetro com o calibrador acústico em 94 dB(A)
- Posicionar celular e sonômetro lado a lado, microfones equidistantes da fonte, distância máxima de 10 cm entre os microfones
- Configurar datalogger do sonômetro para registrar a cada 1 segundo
- No app, criar sessão com nome descritivo (ex: "Cal iMM-6C #0042 2026-02-25")
- Iniciar gravação em ambos simultaneamente
- Expor a variações de ruído cobrindo a faixa desejada (35–95 dB(A))
- Duração recomendada: mínimo 1 hora, ideal 2+ horas com variações naturais
- Parar gravações, exportar CSV do sonômetro
- No app, aba "Cruzamento" → seguir as 4 etapas
Critérios de qualidade
| Métrica | Mínimo | Ideal |
|---|---|---|
| R² | > 0.90 | > 0.98 |
| Pares válidos | > 500 | > 3.000 |
| Faixa coberta | 20 dB | 40+ dB |
| MAE | < 3 dB | < 1 dB |
Formatos CSV suportados
O parser auto-detecta separador (vírgula, ponto-e-vírgula, tab) e formato de data:
| Formato | Exemplo |
|---|---|
| ISO 8601 | 2026-02-25T10:30:00 |
| BR completo | 25/02/2026 10:30:00 |
| BR curto | 25/02/2026 10:30 |
| US | 02/25/2026 10:30:00 |
| Unix (ms) | 1772134200000 |
| Unix (s) | 1772134200 |
| Hora (mesmo dia) | 10:30:00 |
8. Conclusão
O Calibrador Web demonstra que é possível utilizar tecnologias abertas do navegador (Web Audio API, IndexedDB, Service Workers) para transformar smartphones em instrumentos de medição acústica com rastreabilidade e controle de qualidade.
A ferramenta contribui para a democratização do monitoramento de ruído urbano em três frentes:
- Acessibilidade — qualquer smartphone com navegador moderno pode ser utilizado, sem instalação de aplicativos nativos
- Rastreabilidade — cada medição carrega metadados completos do dispositivo, condições do microfone e calibração aplicada
- Escalabilidade — o modelo offline-first permite coletas em áreas sem cobertura de dados, com sincronização posterior
No contexto do mapeamento de ruído de Belo Horizonte, o adensamento amostral com smartphones calibrados pode melhorar a resolução dos mapas em áreas atualmente sub-representadas, reduzindo a incerteza da interpolação geoestatística onde as covariáveis geográficas indicam gradientes sonoros que a rede amostral atual não captura.