프로세서의 ADC 해상도를 높이려면 어떻게해야합니까?


8

12 비트 내부 ADC가있는 Atmel SAM4S MCU가 있습니다. 500Hz의 샘플 속도에서 16 비트 해상도를 달성하고 싶습니다. ADC에 대한 입력은 상당히 낮은 주파수 (약 20Hz의 최대 주파수 내용)와 낮은 노이즈 (12 비트 lsb RMS 미만)입니다.

이 프로세서의 ADC로 16 비트 해상도를 달성하려면 어떻게해야합니까?

답변:


6

입력 신호를 의도적으로 오버 샘플링하여 유효 해상도를 높일 수 있습니다. 다음은 Atmel이 제공하는 주제에 대한 애플리케이션 노트의 아이디어 요약입니다.

'오버 샘플링 및 데시 메이션'의 이론은 다소 복잡하지만이 방법을 사용하는 것은 매우 쉽습니다. 이 기술에는 더 많은 양의 샘플이 필요합니다. 이러한 추가 샘플은 신호를 오버 샘플링하여 얻을 수 있습니다. 각각의 추가 분해능 비트 n에 대해 신호는 4 번 오버 샘플링되어야합니다. 입력 신호를 샘플링 할 주파수는 식 3-1에 의해 주어집니다. 아날로그 입력 신호를 최대한 잘 표현하려면, 많은 양의 샘플이 평균화 될 때 입력 신호를 더 잘 표현할 수 있기 때문에 신호를 너무 많이 샘플링해야합니다.

전체 애플리케이션 노트는 http://www.atmel.com/images/doc8003.pdf에서 확인할 수 있습니다 .

특정한 경우, 12 비트 ADC에서 16 비트 분해능을 얻으려면 약 8KHz로 샘플링해야합니다.

이 번호에 도착한 방법은 다음과 같습니다.

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

작동하려면 약간의 소음이 필요합니까? 노이즈에 대한 최대 값이 주어졌지만 충분하지만 최소값은 아닙니다.

2
@SimonJenkins 그렇습니다. 애플리케이션 노트의 섹션 3.2에서는 노이즈에 대해 다루고 있으며 , 노이즈 레벨 최소 1 LSB 여야한다고 지정 하지만 LSB를 토글하기에 충분하므로 0.5LSB 이상이 최소입니다. 시스템이 해당 사양을 충족하지 않으면 디더링으로 인공 노이즈를 추가 할 수 있습니다 .
skrrgwasme
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.