Podemos ter um filtro Digital Anti Aliasing?

12

Estou trabalhando em uma placa que não possui filtro antializante na entrada do ADC. Eu tenho a opção de implementar meu próprio filtro usando o circuito RC + Opamp. Mas também é possível implementar o filtro Anti Aliasing após a amostragem pelo ADC e o processamento no domínio Digital: um filtro digital Anti Aliasing?

gpuguy
fonte

Respostas:

11

Apenas para apoiar a resposta de Matt e fornecer mais alguns detalhes:

A maioria dos ADCs modernos realiza a maior parte do trabalho duro de suavização de borda no domínio digital. A razão é que os filtros digitais tendem a produzir menos subprodutos por um custo muito menor. A cadeia real é:

  • Entrada analógica.
  • Filtro anti-aliasing analógico.
  • Sobre-amostragem (por exemplo, 8x).
  • Filtro digital anti-aliasing.
  • Dizimação (redução para 1x).
  • Saída digital.

A seguir, considere o seguinte:

  • O áudio é amostrado em 44100Hz.
  • Isso fornece uma frequência Nyquist de 22050 Hz.
  • Quaisquer frequências acima de 24100 Hz voltarão à faixa audível (abaixo de 20kHz).
  • 20000Hz a 24100 é cerca de um quarto de oitava.
  • Mesmo com um filtro íngreme de 80dB / 8ve, você reduzirá apenas as frequências de aliasing em 20dB.

Mas com 8x oversampling:

  • O áudio é amostrado em 352,8kHz (44,1kHz x 8).
  • Nyquist é 176,4 kHz.
  • Somente frequências acima de 332,8kHz serão refletidas na faixa audível.
  • Isso é cerca de 4 oitavas.
  • Assim, você pode aplicar um filtro analógico de 24dB / 8ve para reduzir as frequências de aliasing em 96dB.
  • Então oversample.
  • Aplique o filtro digital de fase linear entre 20kHz e 24.1kHz

O livro a seguir é um recurso excelente e claro para esse tipo de coisa.

Izhaki
fonte
1
O que você diz é certamente verdadeiro para aplicativos de áudio (nos quais chips de codec integrados e prontos para uso substituíram o ADC / DAC há muito tempo) - mas há muitos campos de engenharia nos quais a aquisição ainda é feita por ADCs de baunilha SAR (como autônomos chips ou embutidos em microcontroladores) - e com estes você precisa fazer o trabalho duro!
Pichenettes
Esse é um ótimo comentário. No entanto, acredito que a resposta ainda permanece - se você puder pagar, os filtros anti-aliasing digitais trazem muitos benefícios.
Izhaki
Só queria saber se é esse o caminho para garantir que os filtros analógicos tenham pequena geometria e peso?
Gpuguy
1
Se eu entendi a pergunta corretamente, então sim - usar um filtro digital significará um indicador analógico muito mais simples (principalmente se a qualidade for responsável).
Izhaki
Você quer dizer "dizimar" na penúltima etapa do fluxo de trabalho de superamostragem?
Nick T
15

Não, isso não faz sentido. Digamos que sua taxa de amostragem ADC seja de 1kHz. Uma onda senoidal de 100 Hz e uma onda senoidal de 900 Hz produzirá exatamente a mesma sequência de amostras digitais uma vez inseridas no ADC - mas você deseja passar pela primeira e atenuar a posterior. Como você espera que seu filtro digital produza saídas diferentes quando alimentado com a mesma entrada?

A única coisa que poderia funcionar seria amostrar o sinal de entrada o mais rápido que o seu ADC permitir e reduzi-lo no domínio digital para a taxa de amostragem desejada - mas, a menos que você tenha ciclos de CPU desperdiçados, é melhor usar um analógico filtro a montante.

pichenettes
fonte
1
"Uma onda senoidal de 100 Hz e uma onda senoidal de 900 Hz produzirá exatamente a mesma sequência de amostras digitais". Isso geralmente não é verdade (embora eu entenda o que você quer dizer).
Niaren 20/05
3
Ok, isso requer uma condição específica em suas fases para funcionar, mas esse não é o ponto! O ponto é que suas amostras digitais podem parecer provenientes de uma onda senoidal de 100 Hz, enquanto a mesma sequência de dados pode ter sido gerada por uma onda senoidal de 900 Hz.
Pichenettes
você pode dizer qual é essa condição (exatamente para manter)?
Niaren 20/05
1
π
há um erro na sua resposta. 100Hz e 900Hz não têm a mesma saída de amostra. Na verdade, é [100 +/- k * 1000], que dará as mesmas amostras. Assim, -900, 1100, 2100 etc. são as frequências com aliases correspondentes a 100Hz. Na verdade, 900Hz será negativo da onda de tamanho de 100Hz.
15

Concordo com a resposta de pichenettes, mas gostaria de acrescentar que é uma prática bastante comum usar um filtro anti-aliasing analógico de ordem simples de baixo custo e fazer o resto da filtragem anti-aliasing no domínio digital. Isso implica, obviamente, que você não processa na taxa máxima de amostragem, mas reduz a amostragem após o filtro anti-aliasing digital. Resumindo:

  1. Claro que você precisa de um filtro anti-aliasing analógico.

  2. O filtro analógico pode ser mantido muito simples se você puder reduzir a amostra do seu sinal. Nesse caso, você pode fazer mais remoção de alias no domínio digital (antes da redução da amostra).

Matt L.
fonte