Como posso aumentar a resolução ADC do meu processador?

8

Eu tenho um Atmel SAM4S MCU com um ADC interno de 12 bits. Gostaria de obter uma resolução de 16 bits a uma taxa de amostragem de 500 Hz. A entrada para o ADC é de frequência bastante baixa (conteúdo de frequência máxima de aproximadamente 20 Hz) e baixo ruído (menos de um RMS lsb de 12 bits).

Como posso obter uma resolução de 16 bits com o ADC deste processador?

Patrick
fonte

Respostas:

6

Você pode aumentar a resolução efetiva sobredimensionando intencionalmente o sinal de entrada. Aqui está um breve resumo da idéia em uma nota de aplicação sobre o tópico fornecido pela Atmel:

A teoria por trás de 'Oversampling e dizimação' é bastante complexa, mas o uso do método é bastante fácil. A técnica requer uma quantidade maior de amostras. Essas amostras extras podem ser obtidas superamostrando o sinal. Para cada bit adicional de resolução, n, o sinal deve ser super-amostrado quatro vezes. Com qual frequência a amostra do sinal de entrada é dada pela Equação 3-1. Para obter a melhor representação possível de um sinal de entrada analógico, é necessário fazer uma amostragem excessiva do sinal, pois uma quantidade maior de amostras fornecerá uma melhor representação do sinal de entrada, quando a média for calculada.

A nota de inscrição completa pode ser obtida aqui: http://www.atmel.com/images/doc8003.pdf .

No seu caso específico, você precisaria amostrar em cerca de 8KHz para obter o equivalente a 16 bits de resolução do seu ADC de 12 bits.

Aqui está como cheguei a esse número:

f_oversample_rate = f_current_sample_rate * (4 * (desired_bits - current_bits))
f_oversample_rate = 500Hz * (4 * (16 - 12))
f_oversample_rate = 500Hz * (4 * 4)
f_oversample_rate = 500Hz * 16
f_oversample_rate = 8KHz
skrrgwasme
fonte
Isso requer algum ruído para funcionar? Recebemos um valor máximo para o ruído, o que seria suficiente, mas não mínimo.
2
@SimonJenkins Sim, sim. A Seção 3.2 das notas de aplicação cobre o ruído e especifica que o nível de ruído deve ser no mínimo 1 LSB, mas pouco mais de 0,5LSB é o mínimo mais difícil, porque isso será suficiente para alternar o LSB. Se o seu sistema não atender a essa especificação, você poderá adicionar ruído artificial com o pontilhamento .
Skrrgwasme