8 — Calibração prática, boas escolhas vs. más escolhas, encerramento e SEO
8.1 Guia rápido de calibração (passo a passo)
A calibração correta faz toda a diferença entre um detector “de demo” e um detector confiável em campo. Siga esta ordem:
- Confirme a amostragem
- Verifique se
FS_HZestá realmente em ~8 kHz (timer repetitivo). - Jitter excessivo degrada o cepstrum.
- Verifique se
- Ajuste o ganho analógico (se existir)
- O ADC deve usar bem a faixa dinâmica, sem saturar.
- Se o sinal for muito baixo, o gate por energia (
E_MIN) vai bloquear tudo.
- Calibre o gate por energia (
E_MIN)- Em silêncio total, observe o valor típico de energia.
- Defina
E_MINligeiramente acima desse valor. - Objetivo: não rodar cepstrum em ruído puro.
- Calibre os limiares (
TH_ON,Palavras-chave -
TPalavras-chave H_OFF)- Assobie continuamente e observe quando o LED liga.
- Ajuste
TH_ONpara ligar com segurança. - Ajuste
TH_OFFpara desligar suavemente ao parar. - Mantenha
TH_OFF < TH_ON(histerese).
- Ajuste a suavização (
EMA_ALPHA)- Ambiente ruidoso → aumente (0,9–0,95).
- Resposta rápida → diminua (0,75–0,85).
- Ajuste fino do filtro Taylor
TAYLOR_A1controla rejeição de DC/baixas.TAYLOR_A2controla reforço da banda média.- Pequenas variações (±0,1) já fazem diferença.
Regra prática: calibre sempre começando do domínio do tempo para o domínio do cepstrum, nunca o contrário.
8.2 Boas escolhas vs. más escolhas (engenharia real)
Boas escolhas
- Filtro passa-faixa antes do cepstrum
- Gate de energia simples (RMS)
- Janela Hann no frame
- Histerese + EMA no decisor
- FFT pequena (256 pontos) com taxa estável
Más escolhas
- Rodar cepstrum em sinal bruto do ADC
- Usar apenas “energia na banda” sem periodicidade
- FFT grande demais (latência alta)
- Limiares fixos sem histerese
- Usar
logf()pesado em loop de tempo real sem necessidade
Armadilha comum
“Meu LED acende quando bato palma.”
Isso quase sempre indica ausência de gate por energia ou faixa de quefrência mal definida.
8.3 Por que essa arquitetura funciona tão bem em MCU
Este projeto é interessante porque ele escala conceitualmente:
- Em um RP2040: FFT 256 + Taylor + cepstrum simples
- Em um Cortex-M7: FFT maior, mais resolução
- Em um SoC Linux: mesma lógica, só muda o tamanho dos buffers
Além disso, o uso de Séries de Taylor:
- Remove dependência de bibliotecas pesadas
- Mantém controle matemático total
- Ensina DSP “de verdade”, não só receitas prontas
Você não apenas detecta um assobio — você entende por que ele foi detectado.
8.4 Encerramento
Neste artigo você construiu, passo a passo:
- Um filtro digital baseado em Séries de Taylor
- Um pipeline completo de cepstrum
- Um detector robusto de assobio humano
- Um firmware 100% funcional para RP2040 / BitDogLab
Mais importante que o código final é o caminho:
tempo → derivadas → banda → periodicidade → decisão
Essa mesma arquitetura pode ser reutilizada para:
- Detecção de motores
- Monitoramento de vibração
- Análise acústica industrial
- Interfaces homem-máquina por som