Adquisición de datos y muestreo: problemas de práctica con soluciones paso a paso

Problemas gratis de Adquisición de datos y muestreo con diagramas, pistas y soluciones completas. Valores nuevos cada vez, en tres niveles: Nyquist, LSB y tasas de datos, aliasing, bits y tramas UART, armónicos, SQNR y diseño de sistemas.

Problema de práctica gratisFácil
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?115200 Bd

Un enlace UART funciona a 115200 baudios. Halla la duración Tb de un bit, en µs.

baud = 115200 Bd
µs
Siguiente problema →

Qué practicas

  1. FácilNyquist, LSB y tasas de datos
  2. Mediaaliasing, bits y tramas UART
  3. Difícilarmónicos, SQNR y diseño de sistemas

Cómo resolver problemas de Adquisición de datos y muestreo

  1. Anota los datos: frecuencia de muestreo, frecuencias de la señal, número de bits, rango de entrada, tasa de baudios.
  2. En las preguntas de muestreo, compara cada frecuencia con fs/2; una frecuencia mayor aparece en fa = |f − k·fs|, con el múltiplo de fs más cercano.
  3. En las preguntas de resolución, halla 1 LSB = VFSR/2ᴺ, o el menor N con 2ᴺ ≥ rango/resolución.
  4. En las tasas de datos y los enlaces UART, cuenta todo lo que se envía: canales, muestras por segundo, bits o bytes completos por muestra, y los bits de inicio, paridad y parada de cada trama.

Errores frecuentes

  • Creer que una frecuencia por encima de fs/2 desaparece: aparece como un alias dentro de la banda.
  • Dividir el rango entre N en lugar de entre 2ᴺ.
  • Redondear el número de bits hacia abajo en lugar de hacia arriba.
  • Olvidar los bits de inicio y de parada: 8N1 envía 10 bits por cada byte.

Fórmulas clave

Criterio de Nyquist
fs > 2·fmax, fN = fs/2
Frecuencia de aliasing
fa = |f − k·fs|, k = round(f/fs)
Tamaño del paso
1 LSB = VFSR/2ᴺ
Error de cuantización (redondeo)
±½ LSB
Código del ADC con truncamiento
D = ⌊Vin/LSB⌋
Bits para una resolución r
2ᴺ ≥ span/r
SQNR ideal, senoide a fondo de escala
SQNR = 6,02·N + 1,76 dB
Tasa de datos
canales × fs × N bit/s
ADC multiplexado
fs = 1/(n·(tc + tset))
UART
Tb = 1/baudios; 8N1 = 10 bits por byte; bytes/s = baudios/bits por trama
Divisor de la tasa de baudios
baud = fclk/(16·D)

Aprende Adquisición de datos y muestreo desde cero

Antes de esto: Sistemas de numeración

1Qué es la adquisición de datos

Un ordenador no puede leer una tensión directamente. Un sistema de adquisición de datos convierte una magnitud física en números: un sensor genera una tensión pequeña, un amplificador la escala y un convertidor analógico-digital (ADC) la mide a intervalos regulares y entrega un número binario.

TG∿01N, fs​0101

Dos decisiones determinan la calidad de los números. La frecuencia de muestreo fs indica con qué frecuencia mide el ADC, y el número de bits N indica con qué finura divide su rango de tensión. Juntos determinan también cuántos datos hay que almacenar o enviar.

Autoevaluación Un ADC muestrea a 2 kHz. ¿Cuántas muestras toma en 0,5 s?
  1. 1000
  2. 2000
  3. 250
  4. 4000

Respuesta: 1000. Muestras = fs·t = 2000·0,5 = 1000. Multiplicar por 2 en lugar de por 0,5 da 4000, e ignorar el tiempo da 2000.

2Muestreo y aliasing

Para captar una onda senoidal hacen falta más de dos muestras por periodo. Por tanto, la frecuencia de muestreo debe ser más del doble de la frecuencia más alta de la señal. La mitad de la frecuencia de muestreo es la frecuencia de Nyquist:

fs > 2·fmax fN = fs/2

Una frecuencia por encima de fs/2 no desaparece. Sus muestras son idénticas a las de una frecuencia menor, el alias. En la figura, una senoide de 7 Hz (línea continua) se muestrea a 10 Hz, y los puntos se ajustan igual de bien a una senoide de 3 Hz (línea discontinua).

tf = 7 Hzfs​ = 10 Hz
fa = |f − k·fs|, k = el número entero más próximo a f/fs

Después del muestreo nada puede distinguir el alias de una señal real. Por eso un filtro antialiasing analógico elimina todo lo que supera fs/2 antes del ADC.

Autoevaluación Un tono de 7 kHz se muestrea a 10 kHz sin filtro. ¿A qué frecuencia aparece?
  1. 17 kHz
  2. 3 kHz
  3. 5 kHz
  4. 7 kHz

Respuesta: 3 kHz. 7 kHz está por encima de fs/2 = 5 kHz, así que se pliega: |7 − 1·10| = 3 kHz. No puede quedarse en 7 kHz, 17 kHz suma en lugar de restar, y 5 kHz es solo la frecuencia de plegamiento.

3Resolución y cuantización

Un ADC de N bits tiene 2ᴺ códigos de salida, de 0 a 2ᴺ − 1. Divide su rango de fondo de escala VFSR en 2ᴺ pasos iguales. Un paso se llama 1 LSB (bit menos significativo):

1 LSB = VFSR/2ᴺ

Un ADC con truncamiento da el código ⌊Vin/LSB⌋, el número entero inferior. Un ADC con redondeo nunca se aparta más de ½ LSB del valor real: ese es su error de cuantización.

Para resolver pasos de tamaño r en un rango, necesitas el menor N con 2ᴺ ≥ rango/r. Cada bit adicional reduce a la mitad el LSB y suma unos 6 dB a la relación señal/ruido de cuantización ideal:

SQNR = 6,02·N + 1,76 dB
Autoevaluación Un ADC de 10 bits tiene un rango de 0 a 5,12 V. ¿Cuánto vale 1 LSB?
  1. 10 mV
  2. 2,5 mV
  3. 5 mV
  4. 512 mV

Respuesta: 5 mV. 210 = 1024, así que 1 LSB = 5,12/1024 = 0,005 V = 5 mV. Dividir entre N = 10 da 512 mV, usar 2⁹ da 10 mV, y 2,5 mV es el error máximo de un ADC con redondeo, medio LSB.

4Tasas de datos y enlaces serie

Cada canal entrega fs muestras por segundo de N bits. La tasa de datos en bruto es canales × fs × N. En memoria una muestra ocupa bytes completos, así que una muestra de 12 bits usa 2 bytes.

Una UART envía cada byte como una trama: un bit de inicio, 8 bits de datos, un bit de paridad opcional y uno o dos bits de parada. En el formato habitual 8N1 son 10 bits por byte. La tasa de baudios cuenta bits por segundo, así que un bit dura 1/baudios.

bytes por segundo = baudios/(bits por trama)

Un multiplexor permite que un solo ADC atienda varios canales por turnos. Si una conversión (con estabilización) tarda t, cada uno de los n canales se muestrea a 1/(n·t).

5Un ejemplo resuelto

Sigue este orden en la mayoría de las preguntas:

  1. Comprueba la frecuencia de muestreo frente a la frecuencia más alta de la señal.
  2. Halla el tamaño del paso a partir del rango y del número de bits.
  3. Cuenta los datos: canales, muestras por segundo, bytes por muestra.
  4. Compara con lo que admite el enlace o la memoria, contando los bits de inicio, paridad y parada.
Ejemplo resuelto

Un registrador mide 4 canales de temperatura con un ADC de 12 bits en un rango de 0 a 4,096 V. Las señales contienen frecuencias de hasta 20 Hz, y cada canal se muestrea a 100 Hz. Cada muestra se envía como 2 bytes por una UART a 9600 baudios, 8N1. ¿Es suficiente la frecuencia de muestreo, cuánto vale 1 LSB y puede el enlace con todo?

1

Comprobación de Nyquist

2·fmax = 2·20 = 40 Hz < 100 Hz

La frecuencia de muestreo es suficiente.

2

Tamaño del paso

1 LSB = 4,096/212 = 4,096/4096 = 0,001 V = 1 mV
3

Datos a enviar

4 canales · 100 muestras/s · 2 bytes = 800 bytes/s
4

Capacidad del enlace

8N1 envía 10 bits por byte.

9600/10 = 960 bytes/s ≥ 800 bytes/s
5

Comprueba la respuesta

En la línea son 800·10 = 8000 bit/s, por debajo de 9600 baudios. El enlace está ocupado al 83 %.

Respuesta

Sí: 100 Hz es más del doble de 20 Hz, 1 LSB = 1 mV, y el enlace necesita 800 de sus 960 bytes/s.

6Errores frecuentes

  • Creer que una frecuencia por encima de fs/2 simplemente se pierde: aparece como un alias dentro de la banda.
  • Dividir el rango entre N en lugar de entre 2ᴺ.
  • Redondear el número de bits hacia abajo: 2ᴺ debe ser al menos rango/resolución.
  • Contar 8 bits por byte en una UART: 8N1 necesita 10.
  • Olvidar que una muestra de 10 o 12 bits se almacena en 2 bytes completos.
Autoevaluación ¿Cuántos bytes por segundo puede enviar una UART de 9600 baudios en formato 8N1?
  1. 1067
  2. 1200
  3. 9600
  4. 960

Respuesta: 960. Cada byte necesita 10 bits (inicio, 8 de datos, parada): 9600/10 = 960. Dividir entre 8 olvida los bits de inicio y de parada, y dividir entre 9 olvida uno de ellos.

7Cómo son las preguntas de examen

  • Fácil: Nyquist, LSB y tasas de datos. Calculas la frecuencia de muestreo mínima, la frecuencia de Nyquist, el tamaño del LSB o el error de cuantización, el tiempo de bit de una UART o la tasa de datos en bruto.
  • Medio: aliasing, bits y tramas UART. Calculas una frecuencia de alias, el número de bits para una resolución, el código de salida para una tensión, la memoria para una grabación, la tasa de bytes de un formato UART o la SQNR ideal.
  • Difícil: armónicos, SQNR y diseño de sistemas. Calculas dónde aparece el alias de un armónico, los bits para una SQNR requerida, la frecuencia más alta que puede captar un ADC transmitido por UART, la tasa de un ADC multiplexado, el error de baudios de un divisor o la resolución de temperatura de una cadena de sensores.

Apréndelo paso a paso en la appApréndelo paso a paso en la app

Ejemplos resueltos

Ejemplo 1Fácil
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?2400 Bd

Un enlace UART funciona a 2400 baudios. Halla la duración Tb de un bit, en µs.

baud = 2400 Bd

Calcula Tb (µs)

Mostrar pistas
  1. La tasa de baudios es el número de bits enviados por segundo.
  2. Tb = 1/baud.
  3. 1 s = 10⁶ µs.
Mostrar la respuesta y la solución paso a paso

UART: un enlace serie asíncrono envía cada byte como una trama: un bit de inicio (nivel bajo), los bits de datos, un bit de paridad opcional y uno o dos bits de parada (nivel alto). La tasa de baudios es el número de bits por segundo, así que un bit dura Tb = 1/baudios y una trama de n bits dura n/baudios. El formato habitual 8N1 tiene 10 bits por byte. El generador de baudios divide el reloj: baudios = fclk/(16·D) con un número entero D, así que la tasa de baudios real difiere ligeramente de la deseada; un error inferior a aproximadamente el 2 % suele ser aceptable.

Tiempo de bit

Tb = 1/2400 s = 416,7 µs

Respuesta

Tb = 416,7 µs
Ejemplo 2Media
Vin​N = 85 V2ᴺ − 101 LSB2,125 V?

Un ADC de 8 bits con un rango de entrada de 0 a 5 V trunca: su código de salida es ⌊Vin/LSB⌋ con 1 LSB = VFSR/2ᴺ. Halla el código de salida decimal D para una entrada de 2,125 V.

N = 8VFSR = 5 VVin = 2,125 V

Calcula D

Mostrar pistas
  1. Halla primero el tamaño de un LSB.
  2. 1 LSB = 5/256 = 19,53 mV.
  3. Divide la entrada entre el LSB y quédate con la parte entera.
Mostrar la respuesta y la solución paso a paso

Resolución del ADC: un convertidor de N bits divide su rango de fondo de escala VFSR en 2ᴺ códigos, de 0 a 2ᴺ − 1. Un paso es 1 LSB = VFSR/2ᴺ: el cambio más pequeño que puede mostrar el convertidor. Un ADC con truncamiento da el código ⌊Vin/LSB⌋; un ADC con redondeo nunca se aparta más de ½ LSB del valor real, que es su error de cuantización. Cada bit adicional reduce a la mitad el LSB y suma unos 6 dB a la relación señal/ruido de cuantización ideal SQNR = 6,02·N + 1,76 dB para una senoide a fondo de escala. Para alcanzar una resolución r en un rango, elige el menor N con 2ᴺ ≥ rango/r.

Tamaño del paso

1 LSB = 5/28 = 19,53 mV

Código

Vin/LSB = 2125/19,53 = 108,8
código = ⌊108,8⌋ = 108

Respuesta

D = 108

En binario es 01101100.

Ejemplo 3Difícil
f0fs​/2fs​1,92 kHz7f₁?

Una onda cuadrada de 1,92 kHz se muestrea a 8 kHz sin filtro antialiasing. Una onda cuadrada contiene los armónicos impares 3f₁, 5f₁, 7f₁, … ¿En qué frecuencia fa aparece su armónico 7f₁ en los datos muestreados? Dala en Hz.

f₁ = 1,92 kHzfs = 8 kHzarmónico: 7f₁

Calcula fa (Hz)

Mostrar pistas
  1. El armónico está en 7·1,92 kHz = 13,44 kHz, por encima de fs/2 = 4 kHz.
  2. Aparece en fa = |f − k·fs| con el múltiplo más cercano de fs.
  3. 13440/8000 = 1,68.
Mostrar la respuesta y la solución paso a paso

Muestreo: un ADC mide la señal fs veces por segundo. Según el teorema de Nyquist–Shannon, una frecuencia f se capta correctamente solo mientras f < fs/2, la frecuencia de Nyquist (de plegamiento), por lo que la frecuencia de muestreo debe superar el doble de la frecuencia más alta de la señal. Una frecuencia mayor no se pierde: aparece como un alias en fa = |f − k·fs|, con el número entero k que lleva el resultado entre 0 y fs/2. Las muestras no permiten distinguir ambas, así que un filtro antialiasing analógico debe eliminar todo lo que supera fs/2 antes del ADC.

Frecuencia del armónico

7f₁ = 7·1,92 kHz = 13,44 kHz

Múltiplo más cercano de la frecuencia de muestreo

m = round(1,68) = 2

Frecuencia de aliasing

fa = |13440 − 2·8000| = 2560 Hz

Respuesta

fa = 2560 Hz

El alias cae dentro de la banda de la señal, donde ningún filtro digital puede eliminarlo. Solo ayuda un filtro analógico antes del ADC.

Preguntas y respuestas

Adquisición de datos y muestreo: ¿qué es?

Un ordenador no puede leer una tensión directamente. Un sistema de adquisición de datos convierte una magnitud física en números: un sensor genera una tensión pequeña, un amplificador la escala y un convertidor analógico-digital (ADC) la mide a intervalos regulares y entrega un número binario.

Dos decisiones determinan la calidad de los números. La frecuencia de muestreo fs indica con qué frecuencia mide el ADC, y el número de bits N indica con qué finura divide su rango de tensión. Juntos determinan también cuántos datos hay que almacenar o enviar.

Adquisición de datos y muestreo: ¿cómo se resuelven los ejercicios paso a paso?
  1. Anota los datos: frecuencia de muestreo, frecuencias de la señal, número de bits, rango de entrada, tasa de baudios.
  2. En las preguntas de muestreo, compara cada frecuencia con fs/2; una frecuencia mayor aparece en fa = |f − k·fs|, con el múltiplo de fs más cercano.
  3. En las preguntas de resolución, halla 1 LSB = VFSR/2ᴺ, o el menor N con 2ᴺ ≥ rango/resolución.
  4. En las tasas de datos y los enlaces UART, cuenta todo lo que se envía: canales, muestras por segundo, bits o bytes completos por muestra, y los bits de inicio, paridad y parada de cada trama.
Adquisición de datos y muestreo: ¿cuáles son los errores más comunes?
  • Creer que una frecuencia por encima de fs/2 desaparece: aparece como un alias dentro de la banda.
  • Dividir el rango entre N en lugar de entre 2ᴺ.
  • Redondear el número de bits hacia abajo en lugar de hacia arriba.
  • Olvidar los bits de inicio y de parada: 8N1 envía 10 bits por cada byte.
Adquisición de datos y muestreo: ¿qué se practica?
  • Fácil: Nyquist, LSB y tasas de datos
  • Media: aliasing, bits y tramas UART
  • Difícil: armónicos, SQNR y diseño de sistemas

Cada problema tiene valores nuevos, así aprendes el método y no una respuesta. ¿Te has atascado? Abre primero una pista pequeña y la explicación completa solo cuando la necesites.

Cómo funciona la práctica

  • Cada problema tiene valores nuevos, así aprendes el método y no una respuesta.
  • ¿Te has atascado? Abre primero una pista pequeña y la explicación completa solo cuando la necesites.
  • Tu progreso, tus errores y tus problemas guardados se conservan para que puedas repasar antes del examen.

Temas antes y después de este

Aprende primero

Asignaturas con este tema

Más temas de Eléctrica

Hoja de ejercicios imprimible