คุณสามารถเพิ่มความละเอียดที่มีประสิทธิภาพได้โดยการสุ่มสัญญาณอินพุทอย่างตั้งใจ นี่คือบทสรุปโดยย่อของแนวคิดจากบันทึกย่อแอปพลิเคชันในหัวข้อที่จัดทำโดย Atmel:
ทฤษฎีที่อยู่เบื้องหลัง 'Oversampling and Decimation' นั้นค่อนข้างซับซ้อน แต่การใช้วิธีนี้ค่อนข้างง่าย เทคนิคต้องใช้ตัวอย่างจำนวนมากขึ้น ตัวอย่างพิเศษเหล่านี้สามารถทำได้โดยการสุ่มสัญญาณ สำหรับความละเอียดบิตเพิ่มเติมแต่ละสัญญาณ n ต้องมีสัญญาณเกินขนาดสี่ครั้ง ความถี่ที่จะสุ่มสัญญาณอินพุทด้วยสมการ 3-1 เพื่อให้ได้การแสดงสัญญาณอินพุทที่ดีที่สุดเท่าที่เป็นไปได้มีความจำเป็นที่จะต้องใช้สัญญาณมากเกินไปเพราะตัวอย่างที่มีขนาดใหญ่กว่าจะให้การแสดงที่ดีกว่าของสัญญาณอินพุทเมื่อเฉลี่ย
หมายเหตุโปรแกรมเต็มสามารถรับได้ที่นี่: http://www.atmel.com/images/doc8003.pdf
ในกรณีเฉพาะของคุณคุณจะต้องสุ่มตัวอย่างที่ประมาณ 8KHz เพื่อรับความละเอียดเทียบเท่า 16 บิตจาก ADC 12 บิตของคุณ
นี่คือวิธีที่ฉันมาถึงที่หมายเลขนี้:
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