Convolução: O Motor Matemático de Sistemas LTI
Convolução (y[n] = x[n] * h[n] = Σ x[k]h[n-k]) é a operação que calcula a saída de qualquer sistema Linear Time-Invariant (LTI) dada sua entrada e resposta ao impulso. É ubíqua porque a maioria dos sistemas reais de processamento de sinais são modelados como LTI.
1. Modelagem de Sistemas LTI — A Razão Fundamental
- Física: Circuitos RLC, ressonadores mecânicos, espaços acústicos, canais sem fio — todos LTI (aproximadamente).
- Resposta ao impulso h[n] caracteriza completamente o sistema.
- Convolução = superposição de respostas ao impulso escaladas/deslocadas.
- Sem convolução → sem forma geral de calcular saída para entrada arbitrária.
2. Filtragem — A Aplicação #1
- Filtros FIR: h[n] = coeficientes do filtro. Convolução = implementação forma direta.
- Filtros IIR: Recursivos, mas ainda convolução com h[n] infinito.
- Visão no domínio da frequência: Y(ω) = X(ω)H(ω). Convolução no tempo = multiplicação na frequência. FFT → O(N log N) vs. O(N²).
- Tipos de filtro: Passa-baixa, passa-alta, passa-faixa, notch, Hilbert, derivador, filtro casado.
3. Processamento de Imagens — Convolução 2D
- Imagem = sinal 2D; kernel = resposta ao impulso 2D.
- Kernels: Blur gaussiano, Sobel/Prewitt (bordas), Laplaciano (nitidez), relevo, personalizado.
- CNNs: Camadas convolucionais aprendem kernels para extração de características (bordas → texturas → objetos).
- Kernels separáveis: 2D → duas passagens 1D (O(N) vs O(N²)).
4. Comunicações
- Formatação de pulso: Convolução raised-cosine raiz → ISI zero nos instantes de amostragem.
- Equalização de canal: Convolução inversa (deconvolução) para desfazer distorção do canal.
- Filtro casado: Convolução com pulso invertido no tempo → detecção max SNR.
- OFDM: Prefixo cíclico transforma convolução linear → circular → FFT diagonaliza.
5. Áudio e Fala
- Reverberação: Convolução com resposta ao impulso (IR) de sala — "reverberação por convolução".
- Correção de alto-falante/amp: Filtro inverso via convolução.
- Redução de ruído: Subtração espectral ≈ convolução no domínio da frequência.
- Reconhecimento de fala: Bancos de filtros front-end (mel) → camadas convolucionais.
6. Computação Eficiente
| Método | Complexidade | Caso de Uso |
| Direto (domínio do tempo) | O(N·M) | Kernels curtos (M < 64), tempo real, baixa latência |
| Baseado em FFT (overlap-add/save) | O(N log N) | Kernels longos, offline, processamento frequência |
| Winograd / FFT-Winograd | O(N log N) constante menor | Inferência CNN (kernels pequenos 3×3) |
| Domínio da frequência (H fixo) | O(N log N) pré-calcula H | Filtragem LTI, reverberação |
Propriedades Que Tornam a Convolução Poderosa
- Comutativa: x*h = h*x — filtro e sinal intercambiáveis.
- Associativa: (x*h₁)*h₂ = x*(h₁*h₂) — cascata de filtros = convolução de kernels.
- Distributiva: x*(h₁+h₂) = x*h₁ + x*h₂ — filtros em paralelo.
- Diferenciação: d/dt(x*h) = (dx/dt)*h = x*(dh/dt).
Ideia Central
Convolução não é apenas um truque matemático — é a lei física de como sistemas LTI respondem. Todo filtro, todo canal, todo processo linear é convolução. Dominá-la (domínio do tempo, domínio da frequência, algoritmos rápidos, questões numéricas) é dominar PDS.