MCU & FPGA DSP Detecção de Assobio Humano com o Algoritmo de Goertzel no RP2040

Detecção de Assobio Humano com o Algoritmo de Goertzel no RP2040


Continuação da série: Filtragem Digital, Cepstrum e Detecção Acústica em MCU

Table of Contents

1. Introdução — Por que Goertzel?

No artigo anterior desta série, exploramos uma abordagem baseada em filtragem digital construída com Séries de Taylor, seguida pelo cálculo do cepstrum, para identificar a periodicidade característica de um assobio humano. Aquela estratégia privilegiou uma análise global do espectro, permitindo identificar a estrutura harmônica do sinal de forma robusta, mesmo em ambientes com ruído.

Neste novo artigo, damos continuidade direta a essa série, adotando uma estratégia complementar e mais enxuta: o algoritmo de Goertzel. Em vez de calcular todo o espectro via FFT, o Goertzel permite extrair seletivamente a energia de frequências específicas, tornando-o ideal para microcontroladores com recursos limitados — como o RP2040 — quando o interesse está restrito a faixas bem definidas.

O assobio humano típico apresenta uma frequência fundamental relativamente estável, geralmente entre 800 Hz e 3000 Hz, com harmônicos previsíveis. O algoritmo de Goertzel explora exatamente esse cenário:

“Eu sei qual frequência quero detectar — e só ela importa.”


1.1 Estratégia geral adotada neste artigo

A arquitetura de processamento deste artigo será:

  1. Aquisição do sinal acústico (ADC do RP2040)
  2. Pré-processamento simples (remoção de DC e normalização)
  3. Aplicação do algoritmo de Goertzel para:
    • Frequência fundamental
    • Harmônicos selecionados
  4. Construção de um critério de decisão espectral
  5. Confirmação temporal (evitar falsos positivos)
  6. Acionamento de um LED quando o assobio é detectado

Diferentemente do artigo anterior:

  • ❌ Não calcularemos FFT
  • ❌ Não calcularemos cepstrum
  • ✅ Usaremos análise espectral pontual
  • ✅ Menor uso de RAM e CPU
  • ✅ Menor latência

Isso permite uma comparação clara entre duas filosofias de DSP embarcado:

  • FFT + Cepstrum → análise estrutural
  • Goertzel → análise dirigida por frequência

1.2 Quando Goertzel é a escolha correta (e quando não é)

Goertzel é uma excelente escolha quando:

  • Você conhece as frequências de interesse
  • O número de frequências é pequeno
  • O MCU possui RAM limitada
  • A latência precisa ser baixa
  • O sistema é reativo (event-driven)

Goertzel NÃO é a melhor escolha quando:

  • A frequência fundamental varia muito
  • Você precisa analisar o espectro completo
  • O sinal tem múltiplas fontes concorrentes
  • A estrutura harmônica é desconhecida

Este artigo assume explicitamente o caso ideal para Goertzel:
👉 detectar um fenômeno acústico específico e conhecido.


1.3 Relação direta com o artigo anterior

Este artigo não substitui o anterior — ele o complementa.

Artigo anteriorEste artigo
Séries de TaylorGoertzel
FFT + CepstrumAnálise pontual
Estrutura harmônica globalFrequência-alvo
Mais matemáticaMais eficiência
Mais flexívelMais determinístico

A ideia da série é exatamente essa: mostrar estratégias diferentes para o mesmo problema, permitindo ao engenheiro escolher conscientemente.


1.4 O que você terá ao final deste artigo

Ao final deste artigo, você terá:

  • Um detector de assobio funcional
  • Código 100% em C, portátil
  • Execução em tempo real no RP2040
  • Arquitetura reutilizável para:
    • DTMF
    • Tons de controle
    • Alarmes acústicos
    • Interfaces sonoras simples

0 0 votos
Classificação do artigo
Inscrever-se
Notificar de
guest
0 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários

Related Post

LPCC (Linear Prediction Cepstral Coefficients): Fundamentos, Algoritmos e Aplicações em Sistemas EmbarcadosLPCC (Linear Prediction Cepstral Coefficients): Fundamentos, Algoritmos e Aplicações em Sistemas Embarcados

Os coeficientes cepstrais por predição linear (LPCC) são uma técnica clássica e altamente eficiente para extração de características em sinais de fala, vibração e acústica industrial. Neste artigo, apresentamos uma

Quefrequência e Análise Cepstral: Uma Introdução Prática para Sistemas Embarcados (ESP32-P4)Quefrequência e Análise Cepstral: Uma Introdução Prática para Sistemas Embarcados (ESP32-P4)

A análise cepstral e o conceito de quefrequência são técnicas essencialmente poderosas no processamento de sinais de áudio, permitindo separar efeitos de excitação, resposta acústica e periodicidades espectrais que não

0
Adoraria saber sua opinião, comente.x