¿Estoy obteniendo el ancho de banda de CC correctamente?

Estoy computando Johnson y disparé ruido en un circuito de CC, donde tengo un muestreo Arduino Due con "retraso (100);", es decir, a 10 Hz.

La frecuencia de muestreo y el ancho de banda siguen el teorema de muestreo de Nyquist. Según este teorema, la frecuencia de muestreo debe ser al menos el doble del ancho de banda de la señal de entrada. Dado que nuestra frecuencia de muestreo es de 10 Hz, el ancho de banda debe ser

5 Hz .
¿Es esto correcto? ¿Significa esto que muchas fuentes de ruido simplemente desaparecen si agrego un retraso lo suficientemente grande a mi código? ¿Cuál es la respuesta correcta para el ancho de banda?

No, el ruido solo tendrá un alias.
ay si eso fuera verdad
Tenga en cuenta que retrasar 100 ms no muestreará a 10 Hz, ya que el muestreo en sí lleva algún tiempo.
¿Cuál es el ancho de banda entonces?
Muy poco menos. El uso de un temporizador para activar el ADC le permitirá tener una tasa exacta.
¿A qué te refieres con "tasa exacta"?
Quiere decir exactamente 10 Hz, no 9,98 Hz o algún otro valor.
No hay magia. Las señales a frecuencias más altas (incluido el ruido) se 'envuelven' cuando muestrea. La única forma de eliminar señales fuera de la banda de interés es filtrarlas con un filtro real (hardware).
A menos que desee específicamente 9.98Hz en su lugar. ¿Quiénes somos para juzgar?

Respuestas (1)

Las frecuencias funcionan de manera diferente a eso.

Como se señaló en los comentarios a su pregunta, su ruido solo se convertirá en un alias en el ancho de banda que tiene. Aliasing significa que una frecuencia que debería estar viendo se interpreta como una frecuencia más baja porque su ancho de banda no es lo suficientemente grande.

La frecuencia de nyquist está destinada a determinar lo que podrá ver/detectar de manera significativa, sin confundir la forma de onda. Por supuesto, sólo para un seno. Si desea ver una onda cuadrada de 5 Hz, necesita mucho más que 10 muestras por segundo.

En cuanto a su problema de ruido; no puede "eliminar el muestreo" del ruido simplemente reduciendo su frecuencia de muestreo. De hecho, una excelente manera de deshacerse del ruido por encima de su señal de interés es algo llamado sobremuestreo. Sin submuestreo.

Imagine, si quiere, que haya un componente de ruido sinusoidal puro de 11 Hz. Digamos que en t=0ms cruza el 0 hacia arriba, como una función seno ordenada de t. En t=22.7ms es el valor máximo. A los 45,5 ms vuelve a ser 0. A los 68,1 ms, será el máximo negativo. A los 90,9 ms volverá a ser 0.

Etcétera.

Digamos también que su primera muestra fue en t=0ms.

A los 100 ms, su ruido ha pasado por 1.1 ciclos, por lo que está un poco por encima de 0. Así que prueba eso. Luego, a los 200 ms, pasó por 2.2 ciclos, por lo que está un poco más por encima de 0. y así sucesivamente, hasta que después de 10 muestras lo vio subir una vez, volver a bajar, cruzar 0 y vio que se vuelve negativo y arriba de nuevo En efecto, en 10 muestras, su sistema ha visto 1 ciclo completo, mientras que, en efecto, la señal fue de 11 ciclos. Entonces su sistema dice "¡Oh, esa es una señal de 1Hz!"

Ahora imagina que hay infinitas frecuencias diferentes.

¿Puedes ver cómo todos se confundirán con diferentes frecuencias que existen dentro de tu banda de muestreo de 5 Hz? En efecto, está comprimiendo las frecuencias de ruido en una banda más pequeña, por lo que el nivel de ruido permanecerá más o menos igual, pero el ruido será "más denso".

Si realiza un muestreo excesivo y luego toma el promedio, debido a que el ruido es aleatorio en su sistema de muestreo, efectivamente sumará/restará el ruido a sí mismo. Entonces, por cada muestra que desee, tome 100 y obtenga el promedio.

Si vuelve a simplificar el ruido, digamos que toma 30 muestras y las promedia para obtener un valor, muestrea exactamente 10 veces por segundo. Entonces obtienes 1 valor promedio por cada tres segundos que usas. Digamos ahora que tiene una señal de 1 V CC y un ruido de 1 V CA.

Tomemos un ruido de 15 Hz, que está en 0 exactamente en la muestra 1):

  • Muestra 1: 1V + 0V = 1V
  • Muestra 2: 1 V + 0,40 V = 1,4 V (ruido = sin ((n/15) * 2 * pi) con n = número de muestra)
  • Muestra 3: 1V + 0,74V = 1,74V
  • Muestra 4: 1V + 0,95V = 1,95V
  • Muestra 5: 1V + 0,87V = 1,87V
  • Muestra 6: 1V + 0,59V = 1,59V
  • Muestra 7: 1V + 0,21V = 1,21V
  • Muestra 8: 1V - 0,21V = 0,89V
  • Muestra 9: 1V - 0,59V = 0,41V
  • Muestra 10: 1V - 0,87V = 0,13V
  • Muestra 11: 1V - 0,99V = 0,01V
  • Muestra 12: 1V - 0,95V = 0,05V
  • Muestra 13: 1V - 0,74V = 0,26V
  • Muestra 14: 1V - 0,41V = 0,59V
  • Muestra 15: 1V - 0V = 1V

Esto se repite para las próximas 30 muestras, por lo que 30 muestras sumadas le dan un valor de aproximadamente 29. (Olvidé presionar M+ en mi calculadora al calcular los valores del seno, así que sumé los números redondeados anteriores para llegar a 14.1 para un conjunto de 15 muestras, es 28,2 para 30 muestras y simplemente redondeado generosamente por si acaso).

Ese 29 dividido por 30 le da una buena aproximación del voltaje de CC de 0,9667 V sin reflejar nunca ninguno de esos molestos 15 Hz. ¡Y los 15 Hz incluso suprimen completamente su CC en su pico negativo!

Si sobremuestrea por un factor de 100 o 1000, estará aún mejor, pero incluso con un factor de 4 o 10 ya estará suprimiendo una gran cantidad de ruido.

Luego, al aumentar la frecuencia de muestreo, abre un poco el ancho de banda para su ruido, pero aún así estará mucho mejor que muestreando a sus 10 Hz originales y sin sobremuestreo, porque sin sobremuestreo solo obtiene todo el ruido con alias en su Banda de señal de 5 Hz, sobremuestreada, su banda de señal inicial se vuelve más ancha, lo que permite más componentes de ruido, pero el promedio elimina la gran mayoría más la mayor parte del ruido en el que previamente hizo un alias.

Básicamente, el mejor muestreador de CC sin ruido sería un muestreo de ADC a infinitos terrahercios y un promedio de infinitos segundos. Porque todo el ruido se muestrearía y representaría perfectamente, pero luego se promediaría sobre sí mismo, de yocto-herz a yotta-herz.

Pero no creo que desee esperar infinitos segundos para ver su señal, por lo que su mejor opción será sobremuestrear un poco y aceptar algunos mV de error.

Una nota importante: si su ruido es tan fuerte que se corta, es decir, alcanza el valor mínimo o máximo de su ADC, pero no tanto, obtendrá una compensación.

Pero esta respuesta ya es demasiado larga, por lo que lo dejaré solo con la advertencia: asegúrese de que su ruido sea lo suficientemente pequeño como para caber dentro del rango de voltaje de muestreo de su ADC y el promedio se encargará de la gran mayoría.

Muy bien hecho.