thumb|Forma da resposta ao impulso de um filtro gaussiano típico Em eletrônica e processamento de sinal, principalmente em processamento digital de sinais, um filtro gaussiano é um filtro cuja resposta ao impulso é uma Função de Gauss (ou uma aproximação dela, já que uma verdadeira resposta gaussiana teria filtro IIR). Filtros gaussianos têm as propriedades de não apresentar overshoot a uma entrada de função degrau, enquanto minimizam o tempo de subida e descida. Este comportamento está intimamente ligado ao fato de que o filtro gaussiano possui o menor group delay possível. Um filtro gaussiano terá a melhor combinação de supressão de altas frequências, ao mesmo tempo que minimiza a dispersão espacial, sendo o ponto crítico do princípio da incerteza. Essas propriedades são importantes em áreas como osciloscópios e sistemas de telecomunicações digitais.
Matematicamente, um filtro gaussiano modifica o sinal de entrada por convolução com uma Função de Gauss; esta transformação também é conhecida como a Transformada de Weierstrass.
Definição O filtro gaussiano unidimensional tem uma resposta ao impulso dada por
e a resposta em frequência é dada pela transformada de Fourier
com a frequência ordinária. Estas equações também podem ser expressas com o desvio padrão como parâmetro
e a resposta em frequência é dada por
Ao escrever como uma função de com as duas equações para e como uma função de com as duas equações para , pode-se mostrar que o produto do desvio padrão e do desvio padrão no domínio da frequência é dado por ,
onde os desvios padrão são expressos em suas unidades físicas, por exemplo, no caso de tempo e frequência em segundos e hertz, respectivamente.
Em duas dimensões, é o produto de duas dessas gaussianas, uma por direção:
R.A. Haddad and A.N. Akansu, "A Class of Fast Gaussian Binomial Filters for Speech and Image Processing," IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 39, pp 723–727, March 1991.Shapiro, L. G. & Stockman, G. C: "Computer Vision", page 137, 150. Prentence Hall, 2001Mark S. Nixon and Alberto S. Aguado. Feature Extraction and Image Processing. Academic Press, 2008, p. 88.
onde x é a distância da origem no eixo horizontal, y é a distância da origem no eixo vertical, e σ é o desvio padrão da distribuição gaussiana.
Sintetizando polinômios de filtro Gaussiano O polinômio Gaussiano da função de transferência pode ser sintetizado usando uma expansão em série de Taylor do quadrado da função Gaussiana na forma , onde é definido de tal forma que (ou seja, ) em . O valor de pode ser calculado com esta restrição, sendo para uma atenuação de corte aproximada de . Se uma atenuação diferente de for desejada, pode ser recalculado usando uma atenuação diferente, .
Para atender a todos os critérios acima, deve ser da forma obtida abaixo, sem zeros na banda de rejeição,
Para completar a função de transferência, pode ser aproximado com uma expansão em série de Taylor em torno de 0. A série de Taylor completa para é mostrada abaixo.
A capacidade do filtro de simular uma verdadeira função gaussiana depende do número de termos retirados da série. O número de termos considerados além de 0 estabelece a ordem N do filtro.
Para o eixo da frequência, é substituído por .
Como apenas metade dos polos estão localizados no semiplano esquerdo (um Polinômio de Hurwitz), selecionar apenas esses polos para construir a função de transferência também serve para tirar a raiz quadrada da equação, como visto acima.
Exemplo simples de 3ª ordem Um filtro gaussiano de 3ª ordem com uma atenuação de corte de em = 1 requer o uso dos termos a na série de Taylor para produzir a função gaussiana ao quadrado.
Absorvendo nos coeficientes, fatorando usando um algoritmo de busca de raízes, e construindo os polinômios usando apenas os polos do semiplano esquerdo, obtém-se a função de transferência para um filtro gaussiano de terceira ordem com a atenuação de corte necessária de .Dr. Byron Bennett's filter design lecture notes, 1985, Montana State University, EE Department, Bozeman, Montana, US
Uma rápida verificação de sanidade ao avaliar resulta em uma magnitude de , o que representa um erro de apenas do desejado . Este erro diminuirá à medida que o número de ordens aumenta. Além disso, o erro em frequências mais altas será mais pronunciado para todos os filtros Gaussianos, mas também diminuirá à medida que a ordem do filtro aumenta.
Filtros de Transição Gaussianos Embora os filtros gaussianos exibam um atraso de grupo desejável, conforme descrito na introdução, a inclinação da atenuação de corte pode ser menor do que o desejado. Para contornar isso, tabelas foram desenvolvidas e publicadas que preservam a resposta desejável de atraso de grupo gaussiano nas frequências baixas e médias, mas mudam para uma atenuação Chebyshev de inclinação mais acentuada nas frequências mais altas.
Implementação digital A função gaussiana é para e teoricamente exigiria um comprimento de janela infinito. No entanto, como ela decai rapidamente, muitas vezes é razoável truncar a janela do filtro e implementar o filtro diretamente para janelas estreitas, na prática, usando uma função de janela retangular simples. Em outros casos, o truncamento pode introduzir erros significativos. Melhores resultados podem ser alcançados usando, em vez disso, uma função de janela diferente.
Filtragem envolve convolução. A função de filtro é o núcleo de uma transformação integral. O núcleo gaussiano é contínuo. Mais comumente, o equivalente discreto é o núcleo gaussiano amostrado que é produzido pela amostragem de pontos da gaussiana contínua. Um método alternativo é usar o núcleo gaussiano discretoLindeberg, T., "Scale-space for discrete signals," PAMI(12), No. 3, March 1990, pp. 234–254. que possui características superiores para alguns propósitos. Ao contrário do núcleo gaussiano amostrado, o núcleo gaussiano discreto é a solução para a discreta equação de difusão.
Quando aplicado em duas dimensões, um kernel de filtro gaussiano consiste em uma superfície gaussiana que tem um máximo na origem, cujos contornos são objetos concêntricos com a origem como centro. Uma convolução matriz bidimensional pode ser pré-calculada a partir da fórmula e convoluída com dados bidimensionais. O novo valor de cada elemento na matriz resultante é definido como uma média ponderada da vizinhança desse elemento. O elemento focal recebe o maior peso (tendo o maior valor gaussiano), e os elementos vizinhos recebem pesos menores à medida que sua distância ao elemento focal aumenta. Em processamento de imagem, cada elemento na matriz representa um atributo de pixel, como brilho ou intensidade de cor, e o efeito geral é chamado de desfoque gaussiano.
Transformada rápida de Fourier O teorema da convolução permite a convolução rápida com um kernel de filtro discreto arbitrário usando a Transformada rápida de Fourier (FFT), e pode ser aplicado para filtragem gaussiana. Como a Transformada de Fourier da função gaussiana resulta em uma função gaussiana (de largura inversa em relação ao kernel espacial), o sinal pode ser transformado por Fourier, multiplicado por uma função gaussiana e transformado de volta. Este é o procedimento padrão para aplicar um filtro filtro FIR arbitrário, com a única diferença sendo que a transformada de Fourier da janela do filtro é explicitamente conhecida. Quando o tamanho do kernel gaussiano é muito menor que o comprimento do sinal, a operação pode ser acelerada processando blocos janelados sobrepostos independentemente.
Existem adaptações especiais para a convolução rápida no caso do filtro gaussiano simétrico para certas condições de contorno. A filtragem geral por FFT pode ser acelerada empregando uma transformada discreta de cosseno ou similar.
Filtragem de caixa repetida Devido ao teorema central do limite (da estatística), a Gaussiana pode ser aproximada por várias aplicações de um filtro muito simples, como a média móvel. A média móvel simples corresponde à convolução com a B-spline constante (um pulso retangular). Por exemplo, quatro iterações de uma média móvel resultam em uma B-spline cúbica como uma janela de filtro, que aproxima a Gaussiana muito bem. Uma média móvel é relativamente barata de calcular, então os níveis podem ser cascateados com bastante facilidade.
No caso discreto, os desvios padrãos do filtro (nos domínios do tempo e da frequência) estão relacionados por
onde os desvios padrão são expressos em número de amostras e N é o número total de amostras. O desvio padrão de um filtro pode ser interpretado como uma medida do seu tamanho. A frequência de corte de um filtro Gaussiano pode ser definida pelo desvio padrão no domínio da frequência:
onde todas as quantidades são expressas nas suas unidades físicas. Se for medido em amostras, a frequência de corte (em unidades físicas) pode ser calculada com
onde é a taxa de amostragem. O valor de resposta do filtro Gaussiano nesta frequência de corte é igual a .
No entanto, é mais comum definir a frequência de corte como o ponto de meia potência: onde a resposta do filtro é reduzida para (isto é, ) no espectro de potência, ou no espectro de amplitude (ver, por exemplo, filtro de Butterworth). Para um valor de corte arbitrário para a resposta do filtro, a frequência de corte é dada por Stefano Bottacchi, Noise and Signal Interference in Optical Fiber Transmission Systems, p. 242, John Wiley & Sons, 2008 Para a constante antes do desvio padrão no domínio da frequência na última equação é aproximadamente , que é metade da largura a meia altura, algumas vezes referida como FWHM (do inglês full width at half maximum). Para esta constante é aproximadamente . Estes valores são bastante próximos de .
Uma média móvel simples corresponde a uma distribuição de probabilidade uniforme e, portanto, sua largura de filtro de tamanho tem desvio padrão . Assim, a aplicação de médias móveis sucessivas com tamanhos resulta em um desvio padrão de
(Note-se que desvios padrão não se somam, mas as variâncias sim.)
Um kernel gaussiano requer valores, por exemplo, para um de , ele precisa de um kernel de comprimento . Um filtro de média móvel de pontos terá um sigma de . Executá-lo três vezes resultará em um de . Na prática, uma aproximação suficientemente boa para uma convolução gaussiana é alcançada com três a cinco passagens.
Filtros recursivos Existem diversos filtros recursivos de resposta impulsional infinita (IIR) que aproximam um filtro Gaussiano. Tais filtros processam o sinal discreto em uma ou poucas passagens, e calculam a resposta do filtro a partir de uma combinação linear da amostra atual e da saída do filtro de amostras anteriores. Isso é computacionalmente eficiente, porque apenas um pequeno número de operações aritméticas é realizado para cada amostra. No entanto, quando o processamento paralelo está disponível, esses métodos exibirão grande latência porque todas as amostras precisam ser calculadas sequencialmente.
O filtro gaussiano é não causal, o que significa que o filtro não é zero para todos os tempos . Isso torna o filtro gaussiano ideal fisicamente irrealizável. Isso geralmente não tem consequências para aplicações onde a largura de banda do filtro é muito maior que a do sinal. Em sistemas em tempo real, um atraso é incorrido porque as amostras de entrada precisam preencher a janela do filtro antes que o filtro possa ser aplicado ao sinal. Embora nenhuma quantidade de atraso possa tornar um filtro gaussiano teórico causal (porque a função gaussiana é não nula em todos os lugares), a função gaussiana converge para zero tão rapidamente que uma aproximação causal pode atingir qualquer tolerância necessária com um atraso modesto, mesmo com a precisão da representação de ponto flutuante.