9 votos

¿Por qué puede ' t que sólo media ADC muestras para obtener la resolución de un ADC?

Estoy tratando de conseguir más de 10 bits de precisión de mi Arduino ADC pero realmente no puedo averiguar la teoría detrás de ella. A menudo citado Atmel nota de Aplicación (http://www.atmel.com/Images/doc8003.pdf) dice que

Es importante recordar que los normales de un promedio de no aumentar la resolución de de la conversión. La aniquilación, o la Interpolación, es el método de promedio, que combinado con sobremuestreo, lo que aumenta la resolución de

Entonces, ¿qué proponen para la 'Aniquilación' se está moviendo el punto decimal. Lo que equivale a reducir a la mitad el binario de lectura para cada lugar de moverlo, así que podrías dividir la base de valor 10 por 2, 4 o 8 o lo que sea. Soy yo la comprensión de la aniquilación mal?

16voto

Alex Andronov Puntos 178

Si usted le pregunta a alguien para medir un 45,2 cm junta exacta al centímetro más cercano, que podría (o debería) respuesta 45. Si le preguntas a continuación, medir de nuevo, ellos podían responder 45 de nuevo. Repita el ejercicio 8 veces más y el promedio de todas las mediciones deben ser exactamente 45. No importa cuántas veces uno muestras de la entrada, uno va a terminar con un valor de 45. El promedio de todas esas lecturas, por supuesto, ser de 45 (incluso a pesar de que la junta es de 45.2 cm de largo).

Si tuviera la persona ajustar el aparato de medición, así como para leer 0.45 cm de largo antes de la primera medición, de 0.35 cm de largo antes de la segunda, 0.05 cm de largo antes de la quinta, 0.05 cm poco antes de la sexta, etc. hasta 0,45 cm, poco antes de la décima parte, entonces, dos de las mediciones iba a leer, 46 y los otros ocho leía 45. El promedio de todas ellas sería la de 45.2.

En la práctica, la gestión para el sesgo de las cosas de forma tan precisa es difícil. Si uno al azar ajusta la medición del aparato antes de cada medición para leer en algún lugar entre el 0,5 cm de largo y 0,5 cm de corto, alrededor de 1/5 de las mediciones iba a leer, 46 y el resto de los 45, pero debido a que los ajustes son al azar, la fracción real puede ser mayor o menor. Tomando diez mediciones no añadir todo una figura significativa la pena de precisión, pero un promedio de alrededor de 100.

No estoy seguro de entender el papel de la justificación de la distinción entre un promedio y a la derecha el cambio de marchas. Uno debe ser consciente de que la aparente precisión que se logra mediante el promedio puede superar el significativo nivel de precisión, pero desde mi experiencia, la cuestión de cuándo y cuánto a la derecha-cambio debe ser impulsado por los límites del procesador del rango numérico. El trabajo con números que son a escala, como pueden ser, sin causar desbordamiento generalmente minimizar los efectos de los errores de redondeo, a condición de que uno no se fije excesiva importancia a las pequeñas cantidades de ruido.

Por cierto, en el uso original, para "diezmar" un ejército para matar a 1/10 de los soldados en el mismo. Para diezmar los datos de un ADC es el descarte de parte de ella. El prefijo común con la frase "punto decimal" no implica una asociación.

15voto

laptop2d Puntos 331

La respuesta corta es el ruido, y no necesariamente el ruido que importa, sino el tipo de ruido. El otro problema es que los efectos no lineales como INL, que sacuden el valor promedio

Primero en el Ruido:

Si tuviéramos que muestra una distribución de Gauss se vería algo como esto:

enter image description here

La línea roja es la más cercana a la real térmica de distribución (promediado en el tiempo) y el histograma azul representa a muchos de los ADC muestras. Si tuviéramos que continuamente muestra esta distribución nos gustaría obtener mejores estadísticas y que sería capaz de encontrar el valor promedio o media, con la mejor precisión(que suele ser lo que fueron después, Sí me doy cuenta de las señales de moverse, no es el filtrado de la señal y del ruido en función de la frecuencia de contenido, pero sólo permite considerar la DC caso de que la señal no se está moviendo por ahora).

$$ \mu = \frac{1}{n} \sum_{i=1}^{n}{x_i}$$

El problema es el parpadeo de ruido o ruido 1/f, se desplaza el Gaussiano de media de alrededor y hace que las estadísticas de romper hacia abajo, porque la distribución no gaussiana.

Este es un mal modelo, pero usted podría considerar la posibilidad de que buscando algo como esto INL también es un problema porque puede introducir unos bits de error que también se produce fuera de la media.

$$ \mu = \frac{1}{n} \sum_{i=1}^{n}{x_i}+error$$

Que es, probablemente, confuso, vamos a analizar en el dominio del tiempo como se muestra a continuación

En la imagen superior se puede ver una señal con ruido gaussiano sería fácil "trazar una línea" a través de la media y calcula la media. El mayor ejemplo de una señal como esta, la mejor precisión y el conocimiento que tienen de la media.

En la imagen inferior se puede ver lo que el parpadeo de ruido, con un promedio no va a ayudar aquí.

El problema es que la mayoría de la electrónica de parpadeo de ruido, las resistencias no (suponiendo que no hay influencia de la temperatura de la habitación), pero los transistores y de IC hacer. Hay amplificadores llamados picar los amplificadores que hacer superar estos efectos.

Otra cosa a saber es que hay ADC (lineal tiene un nuevo SAR core), donde los ingenieros han trabajado para eliminar los efectos del ruido 1/f (y otros efectos no lineales de ADC como INL ) a un nivel mucho menor que el de los ADCs de poco valor. Se puede emplear la pesada sobremuestreo y salir de 32 bits de los valores de una de 14 bits core.

Fuente: EDN - Ruido 1/f-la vela enter image description here

7voto

Alan Storm Puntos 506

Eché un vistazo a la nota y que es de hecho un extraño demanda (o una confusa forma de decir lo que realmente significan).

Tal vez lo que significan en realidad es el punto de que si usted quiere conseguir más resolución, no puedes dividir el cambio/el número después a la misma escala como una sola muestra, debido a que (en aritmética de enteros) que lanzaría los bits que usted ha ganado.

Si su ADC muestras son ruidosos, entonces, por supuesto, usted puede dividir para obtener una menos ruidosa valor en la escala original.


La otra cosa que he pensado desde simplemente su pregunta fue el punto de que para hacer la corrección a la derecha, necesita utilizar un eficaz filtro de paso bajo, y un simple promedio móvil no es tan bueno ser un filtro de paso bajo como un diseño adecuado y el ABETO (o IIR) filtro - pero eso no parece ser compatible con el texto de la nota.

6voto

Jeremy Puntos 424

Entonces, ¿qué proponen para la 'Aniquilación' se está moviendo el punto decimal.

no exactamente. la aniquilación de parte de ella está argumentando que, correctamente en mi opinión, eso es normal "promedio" de varias muestras, pero conservando el ancho de bits, no retener tanta información. Así que si usted promedio de m n-bit ADC lecturas, el resultado promedio es todavía un n-bit adc lectura.

el enfoque propuesto es, por decirlo suavemente, es el promedio de n-bit ADC lecturas, de modo que el resultado de la media tiene una mayor anchura de bits. Por ejemplo, sumando las 4 de 10-bit adc lecturas y dividiendo la suma por 2 se obtiene un 11 bits adc lectura.

Pensé que siempre ha sido la forma en que la corrección se ha hecho profesionalmente. Este un simple promedio de la gente en la red es ampliamente entendida como el enfoque equivocado.

el otro punto que con el fin de reducir el ruido, la corrección sólo es eficaz si hay ruido es el de la derecha. Si usted tenía un 10-bit ADC diseñado por Dios (es decir, cada lectura es la verdad absoluta, de la lectura, sin variación), la corrección no hubiera funcionado.

el particular circuitos hacia el final del artículo sobre el uso de un pwm para añadir ruido es incorrecta: el pin de la adición de ruido debe tener un bloqueo de DC condensador. y menos sustantivas punto es que no tiene que ser un PWM pin. Normal pin GPIO iba a funcionar.

5voto

ShaneB Puntos 1384

En primer lugar, un ADC es sólo tan bueno como su voltaje de referencia. Si tu arduino utiliza la salida de +5V como referencia, usted puede olvidarse de cualquier tipo de precisión, ya que la salida de +5V del regulador es bastante ruidoso, baja precisión, como un 1-5%, y su voltaje de salida dependerá de la cantidad de corriente consumida de la misma, tanto en el momento de la medición y también en el último par de milisegundos.

Por lo tanto, si usted necesita exactitud o precisión, por favor, seleccione una referencia de voltaje que coincida con tus necesidades. Si usted no necesita la precisión absoluta en tensión, que va a ser más barato, ya que lo único que necesita es que sea estable, en lugar de preciso y estable.

No he probado el ADC SAR en el interior de la placa arduino. Tengo experiencia con el uno en AT90PWM3B que es un pariente cercano. Es bastante buena. Con una constante tensión de entrada, se obtiene la misma ADC de lectura, una y otra vez, con 1 LSB fluctuantes si la tensión se encuentra entre los valores. No se puede esperar un mejor resultado de un SAR ADC. (Me hizo uso de una buena calidad externo voltaje de referencia)

Así, el ruido no es un problema aquí...

De hecho, el ruido es tu amigo...

Supongamos que el voltaje que se desea medir cae en ADC valor de 100.1

Usted hace 10 mediciones, pero desde el ADC es bueno, usted consigue 100 en cada momento!

Por lo que necesita un poco de ruido en la señal, como uno LSB de ruido, para asegurarse de si la medida 100.1, a continuación, obtendrá 100 nueve de cada diez veces, y 101 una vez de diez. Por lo que se media a 100.1, la idea?

Si se trata de un sensor, por lo general, usted tendrá suficiente ruido para que los libre.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X