Explorando campos electromagnéticos usando un receptor SDR y OpenCV



El receptor SDR, incluso el más barato, es un instrumento altamente sensible. Si le agrega una antena especial y OpenCV, no solo puede escuchar el éter habitualmente, sino también observar la distribución de los campos electromagnéticos en el espacio. Una aplicación tan interesante se discutirá en este artículo. ¡Atención! ¡Debajo del corte muchas imágenes y animaciones!

¿Te gustaría ver campos electromagnéticos? Sí, no hay nada más fácil, aquí están:



estoy de acuerdo, no muy claramente. Incluso si podemos ver la luz (que también se describe en estas ecuaciones), entonces el espectro de radio no es tan accesible para nosotros. Por esta razón, la humanidad ha ideado muchas formas diferentes de espiar este misterio de la naturaleza, utilizando modelado por computadora e instalaciones especializadas.

Este último se puede encontrar dentro de los muros de los institutos científicos, departamentos de investigación de grandes empresas y, por supuesto, los militares. Por lo general, esta es una habitación separada, protegida de la radiación externa por una jaula de Faraday, y desde el interior cubierta con materiales absorbentes de radar. Después de todo, un vecino aficionado o un microondas sin conexión a tierra no deberían molestarnos al realizar tales experimentos. Esta sala se llama cámara anecoica. El nombre, por supuesto, es más consistente con un estudio de grabación, pero en este caso, "eco" se refiere a cualquier reflejo interno y re-reflejo de ondas electromagnéticas que interfieren con la investigación y se apagan sin piedad. Dentro de la cámara, desde el punto de vista de la antena, se encuentra en un vacío absoluto, donde toda la radiación entra en infinitas extensiones simuladas por un absorbente de radio y no vuelve nada.

, -, , - — , , . «» , ---, .


, Panasonic. « » — . — .

Al realizar pruebas de compatibilidad electromagnética, el desarrollo de antenas, así como la investigación científica relacionada con la radiación electromagnética, no se puede prescindir de tales cámaras. Sin embargo, la cámara en sí es solo una parte de la historia. Entre otros elementos clave necesarios para registrar el comportamiento de las ondas electromagnéticas, también se necesitarán antenas especiales, instrumentos de medición caros y, de hecho, un escáner de campo. El escáner no es más que el notorio sistema de coordenadas con CNC. Puede darle al escáner una antena adecuada o una sonda de medición en su "mano", y luego ir a tomar un café mientras camina cuidadosamente por los puntos establecidos por el programa, construyendo una hermosa imagen de la distribución de los campos alrededor de su nuevo tanque o, por ejemplo, un patrón de radiación de radar.

Pero volviendo al punto. Dio la casualidad de que lejos de las fuentes, en el espacio vacío, los campos electromagnéticos se ven bastante aburridos. Algo así:



mientras las cosas más mágicas e interesantes acechan en regiones donde se forman olas (cerca de las fuentes) o interactúan con objetos. Estas áreas generalmente no exceden las dimensiones de la longitud de onda de la emisión de radio, que está involucrada en el experimento, y se denominan zona de campo cercano. Las investigaciones de los campos cercanos son, sin duda, una de las más curiosas y, por supuesto, no podrían permanecer mucho tiempo solo detrás de los muros protegidos de las grandes organizaciones.

Los entusiastas se dieron cuenta rápidamente de que para mapear campos con el mismo principio que en las cámaras profesionales, puede construir su propio escáner de coordenadas o, aún más simple, adaptar las impresoras 3D omnipresentes para este propósito. ¿Por qué, realmente, incluso escribieron un artículo científico al respecto?


Impresoras 3D, donde en lugar de la extrusora (o con ella) están instaladas sondas de medición, antenas. Se muestra arriba cómo el coeficiente de acoplamiento de dos antenas de bucle: el de medición y el que está sobre la mesa de la impresora (el llamado parámetro S21) cambia en el espacio. A continuación se muestra un ejemplo de construcción de la distribución de un campo magnético de alta frecuencia sobre un chal Arduino.

Aunque los escáneres caseros no se encuentran en el entorno electromagnéticamente estéril de las cámaras anecoicas, aún pueden producir resultados interesantes. Y si en el primer ejemplo de la imagen de arriba se usa un analizador profesional costoso para recopilar datos (un artículo científico, después de todo), entonces en el segundo caso cuestan un receptor SDR económico, lo que hace que tales experimentos sean aún más asequibles. Sin embargo, no nos detendremos en las impresoras 3D, ya están cansadas de todo en orden.

El autor del segundo proyecto de la imagen, Charles Grassin , decidió simplificar aún más el proceso y deshacerse por completo de cualquier sistema de coordenadas, como un elemento voluminoso adicional, que ofrezca rastrear el movimiento de la antena de medición utilizando OpenCV. El sistema que concibió se ve así:


Diagrama de instalación para mapear campos electromagnéticos utilizando un receptor SDR y OpenCV.

Se instala una cámara sobre el objeto cuyo campo queremos ver. El guión establece cómo se ve nuestra antena, y luego la dibujamos, como un pincel, en las áreas donde queremos ver el campo. La señal de la antena va al receptor SDR y la secuencia de comandos de Python compara la posición de la antena en el cuadro con el nivel de señal rms del receptor. Después de lo cual obtenemos una hermosa imagen con la distribución de los campos. Por supuesto, este enfoque hasta ahora nos limita a un solo plano, pero esto no lo hace menos interesante. Construyamos este sistema y verifiquemos cómo funciona, ya que no se requieren muchos detalles para esto.

Primero decidimos qué mediremos exactamente. A pesar de que los campos electromagnéticos son un fenómeno único, podemos ver por separado sus componentes eléctricos y magnéticos. Cada tipo requerirá su propia antena de medición especial. Como el autor del original, hice una antena de sonda para un campo magnético de acuerdo con el siguiente esquema:


Un esquema para fabricar una sonda magnética y ejemplos que hice. Si tomaste en serio el mapeo de los campos, entonces haz muchas antenas de diferentes tamaños, son útiles. Incluso si no sale con márgenes, entonces habrá un buen conjunto para soplar pompas de jabón.

Este diseño es bien conocido por los jamones bajo el nombre de una antena de bucle, sin embargo, a diferencia de los hermanos mayores, esta antena no tiene que estar coordinada con el receptor, lo que sin duda simplifica nuestra vida. Como base para una sonda, es mejor usar un cable coaxial duro o semiduro, pero en principio, puede hacer casi cualquier cosa. La impedancia del cable tampoco juega un papel. Lo importante es el tamaño de la antena, como veremos más adelante.

Para demostrar cómo la sonda "siente" los diferentes componentes del campo electromagnético, lo modelé en CST:


, , . — , ( ). . .

Incluso como dos manifestaciones de una sola entidad, los campos eléctricos y magnéticos interactúan con la antena de diferentes maneras. La brecha en la trenza que hicimos desde arriba no es más que un condensador de aire. Como corresponde a un condensador, concentra el campo eléctrico en su espacio. El campo magnético, debido a la simetría de la estructura, tiene un máximo dentro del bucle. Por lo tanto, si queremos medir este último, es suficiente colocar el bucle paralelo al objeto medido. ¡Y esto es justo lo que necesita para capturarlo en el marco con OpenCV! Entonces, una vez que la antena esté lista, agregue el toque final. Mejoraremos su reconocimiento visual mediante el uso de termocontracción negra o cinta aislante. Aquí está mi trabajo:


Para la antena más grande (5 cm de diámetro), no hubo contracción del tamaño requerido. Sin embargo, al final no lo usé. El negro dará un gran contraste al fondo blanco para que OpenCV facilite ver nuestra antena.

A continuación, debe obtener una cámara web e instalarla en una especie de trípode. Si de repente no tenía una cámara web, también es adecuado un teléfono inteligente en Android con la aplicación DroidCam. La antena está conectada al receptor SDR y él, a su vez, a la computadora. El hardware está listo para esto.

Descargue el script camera_emi_mapper.py . Requerirá que las bibliotecas opencv y pyrtlsdr funcionen.. Las instrucciones detalladas de instalación están disponibles en el enlace designado. Tenga en cuenta que si usa Windows, las bibliotecas pyrtlsdr deben tener la misma profundidad de bits que la versión de python en su sistema. El script inicia el comando:

python3 camera_emi_mapper.py -c 1 -f 100

el indicador -c le permite seleccionar una cámara si tiene varias de ellas, y el indicador -f establece la frecuencia con la que se monitorizará el tamaño de la señal (en megahercios). Si todo funciona, veremos la imagen de la cámara web. Para el primer experimento de prueba, coloqué mi dispositivo OSA103 en el marco , encendiéndolo en el modo generador a 100 MHz :



presionamos R para que el script recuerde la imagen de fondo, y luego colocamos un bucle en la zona de escaneo. Luego, usando la tecla S , puede seleccionar nuestra antena de la siguiente manera:



Después de confirmar su elección con la tecla Intro , la captura de datos de la cámara y el receptor SDR comenzarán de inmediato. Bueno, y como siempre, la primera vez que todo sale mal:



Para entender lo que ve OpenCV y por qué la captura no funciona como debería, descomenté las siguientes líneas del script:

# debug only
#cv2.imshow("Thresh", thresh)
#cv2.imshow("Frame Delta", frameDelta)

Abren dos ventanas adicionales donde puede ver qué tan bien la antena contrasta con la imagen de fondo. Este contraste se ajusta por el valor en thresh :

    	
thresh = cv2.threshold(frameDelta, 50, 255, cv2.THRESH_BINARY)[1]

En el original eran 15, aumenté este valor a 50 y la antena comenzó a capturarse con confianza. Este número debe seleccionarse dependiendo de la iluminación en el marco. Al mismo tiempo, experimenté con el brillo de la antena, ya que el negro a veces se confundía con un gran FPGA cuadrado. Después de estas correcciones, todo comenzó a funcionar como un reloj:


cuando se completa el escaneo, debe presionar Q y el script creará la distribución de campo. En este caso, el resultado es el siguiente:


Honestamente, poco se entiende, todo resultó ser borroso y con algún tipo de divorcio. No es que esperaba un resultado súper, pero me gustaría ver algo más específico, por ejemplo, qué circuitos del dispositivo están involucrados en la generación. Aún así, el mapeo de los campos electromagnéticos debería dar respuestas a las preguntas y no crear otras nuevas. Miré nuevamente el código y vi que la imagen del campo estaba muy borrosa durante la construcción. Reduje este efecto cambiando el valor sigma de 7 a 2:


blurred = gaussian_with_nan(powermap, sigma=2)

Además, reemplacé el objeto de medición. Para probar el método, necesita algo más simple como sujeto de prueba, y un dispositivo con una estructura interna compleja no es adecuado para esto. Además, la distribución del campo magnético de radiofrecuencia del nuevo objeto debe conocerse de antemano para que quede claro si el script muestra los campos correctamente o no. El mismo bucle magnético encaja perfectamente con este criterio. Como vimos anteriormente, en un bucle, el campo magnético se concentra dentro de su bucle. Entonces, al escanear, deberíamos verlo. Solde un circuito resonante cuadrado simple en forma de lámina de cobre y condensador:


, . , . , .

Puede que tenga una pregunta: ¿cómo podemos ver el campo de esta manera, si ni siquiera hay una fuente aquí? Y es que estamos rodeados de ruido blanco (el mismo "ruido" que escuchamos cuando no estamos sintonizados en una estación favorita), y su espectro ya contiene casi cualquier frecuencia deseada. Si acercamos la antena de medición al circuito resonante, será más susceptible al ruido a la frecuencia resonante de este circuito. ¡El receptor SDR es tan sensible que incluso puede usarse para medir campos en objetos pasivos! Probemos lo que pasa:



Traté de actuar con mucho cuidado, pero aún en el proceso cambié ligeramente la hoja sobre la que se pegó el contorno. Sin embargo, el resultado no fue malo. Puede conducir nuestra sonda mucho más rápido. Según tengo entendido, la velocidad del procesamiento de datos depende solo del rendimiento de la computadora y del temblor de sus manos. En cualquier caso, la tarjeta de video de mi computadora portátil se tensó notablemente durante el proceso de prueba. Sí, y también cambié el mapa de colores a un plasma más agradable para los ojos:



Parece que la práctica, sin embargo, coincide con la teoría y el método de trabajo. Vemos el campo magnético donde se esperaba: dentro del circuito. Al mismo tiempo, la resolución de nuestra imagen está directamente dictada por el tamaño de la antena de medición, por lo que los campos están un poco fuera de lugar donde están físicamente. Y esta es la razón por la cual el tamaño de la antena es tan importante, porque la magnitud de este cambio dependerá de ello. También se ve claramente que un cambio en la dirección del movimiento de la antena distorsiona la imagen. Esto se debe a que el proceso de tal "dibujo" me recuerda sospechosamente algo:



Por analogía con el ejemplo anterior, el método proporciona una buena resolución en la dirección del movimiento de la antena. Pero con cada cambio en esta dirección, un error se arrastra en los datos en forma de desplazamiento de la imagen de campo. Rodeé el mismo contorno, pero esta vez en diagonal, lo que una vez más demostró este inconveniente. Por cierto, ambos escaneos se llevaron a cabo a una frecuencia de 87 MHz.



Desafortunadamente, soy un programador regular, porque todavía no he descubierto cómo modificar el código para corregir este error. En cambio, puedo ofrecer una breve metodología de autoría para medir campos. Lo llamamos una técnica de un solo golpe:



Todo es simple: si hay una dirección, entonces no hay errores. Por supuesto, si bien esto limita aún más el alcance de las posibles aplicaciones, pero nos aseguraremos de que los campos observados correspondan más o menos a la realidad. Ahora, sabiendo cómo medir correctamente, puede intentar escanear otra cosa. Por ejemplo, ¿sabía que un circuito resonante, como el que ya se muestra, se puede hacer sin conductores? Como ya he argumentado, una corriente de alta frecuencia fluye a través de un condensador, lo que significa que puede ensamblar un circuito resonante utilizando solo él y nada más. Aumente mentalmente el condensador muchas veces y obtenga una pieza de cerámica que también localice el campo magnético cerca de él (gracias a colegas de ITMO por la muestra provista). Frecuencia de escaneo 254 MHz.



Vale la pena mencionar otro inconveniente del método: la distancia desde el objeto a la antena idealmente debería ser la misma, de lo contrario nuestra imagen de los campos ya no estará en el plano, lo que significa que estará distorsionada. Teóricamente, creo que esto también se puede solucionar con OpenCV, siguiendo el cambio en el tamaño de la antena en el marco.

Para la demostración final, armé una cosa más complicada:



este es un filtro de paso bajo de varias etapas, también se puede llamar una línea de transmisión, o incluso metamaterial (con un tramo muy grande). El diagrama del circuito se ve así:



dado que hay muchos elementos resonantes en esta estructura, también tiene muchas frecuencias resonantes (medidas por el dispositivo desde el primer experimento). Cada mínimo del gráfico es una resonancia en el espectro:



Tales resonancias se llaman modos propios. Y cada uno de ellos tiene su propia imagen única de los campos. Sin embargo, todos están conectados por una cierta regularidad, a saber, el número de ondas que se ajustan a la estructura, que es claramente visible al escanear:



Habiendo contado el número de picos de campo, puede nombrar con precisión el número de modo. También es una gran ilustración de cómo los campos electromagnéticos reducen su velocidad dentro de los materiales. Después de todo, la velocidad de la onda es menor: caben más picos de campo en la imagen. En mi opinión, una gran ayuda visual.

Como puede ver, la idea de cruzar SDR y OpenCV resultó ser bastante buena. Y lo más importante, esta unión aporta un toque creativo al proceso de medición aburrido y monótono. Creo que en el futuro puede hacer que el estudio de los campos electromagnéticos sea una experiencia más emocionante, además de convertirse en una buena ayuda para los laboratorios domésticos.

All Articles