viernes, 2 de junio de 2023

Switch RSPduo


Hace algún tiempo, adquirí un receptor SDR llamado RSPduo, un dispositivo sofisticado y excepcional que cuenta con dos canales o receptores de entrada completamente independientes. Este receptor SDR permite trabajar simultáneamente con dos antenas, y seguramente muchos de ustedes ya han oído hablar de este tipo de receptores.


Acá dejo algunas caracteristicas de RSPduo:

 

El RSPlay RSPduo es un receptor de radio definido por software (SDR) que ofrece una serie de características técnicas avanzadas. A continuación, se presentan algunas de las especificaciones técnicas clave del RSPduo:

 

1.- Rango de frecuencia: El RSPduo cubre un amplio rango de frecuencia desde 1 kHz hasta 2 GHz, lo que permite capturar señales en una amplia variedad de bandas de frecuencia, incluyendo HF, VHF, UHF y frecuencias de microondas.

 

2.- Doble canal: El RSPduo cuenta con dos receptores independientes que pueden operar simultáneamente en diferentes frecuencias y modos, lo que permite recibir y procesar dos señales de radio al mismo tiempo.

 

3.- Sincronización: Los dos canales del RSPduo están sincronizados internamente para evitar la interferencia entre ellos y proporcionar un rendimiento óptimo.

 

4.- Rango dinámico: El receptor ofrece un rango dinámico de hasta 116 dB, lo que permite capturar tanto señales fuertes como débiles con alta precisión.

 

5. Conexión USB: El RSPduo se conecta a través de USB a una computadora, lo que facilita su integración y uso con software compatible.

 

6.- Software compatible: El RSPduo es compatible con una variedad de software SDR, incluyendo SDRUno, HDSDR, SDR# y CubicSDR, entre otros. Estos programas proporcionan una interfaz para controlar el receptor, visualizar las señales recibidas, demodular y decodificar diferentes modos de transmisión, y mucho más.

 

7.- Filtro de RF ajustable: El receptor cuenta con un filtro de RF ajustable para permitir un mejor manejo de señales fuertes y evitar la saturación del receptor.

 

8.- Modos de recepción: El RSPduo es capaz de recibir una amplia variedad de modos de transmisión, incluyendo AM, FM, SSB, CW, RTTY, DRM, DAB y varios modos digitales.

 

Otras Características:

 

El RSPlay RSPduo es capaz de realizar diversity y cancelación de ruido por oposición de fase gracias a sus dos receptores independientes y sincronizados. Estas técnicas son utilizadas para mejorar la calidad de la señal recibida y reducir el ruido.

 

1.- Diversity: El RSPduo puede aprovechar sus dos canales receptores para implementar la técnica de diversity. Esto implica recibir la misma señal en ambos canales y luego combinarlas para obtener una señal más limpia y mejorar la calidad de recepción. Al tener dos receptores independientes, el RSPduo puede recibir señales desde diferentes ángulos o trayectorias y seleccionar automáticamente la señal con mejor calidad para mejorar la recepción en entornos difíciles.


 

2.- La cancelación de ruido por oposición de fase es una técnica utilizada para reducir el ruido no deseado en una señal de radio. El RSPlay RSPduo, al ser un receptor de radio definido por software (SDR) de doble canal, puede aprovechar esta técnica para mejorar la calidad de la señal recibida.

 

La cancelación de ruido por oposición de fase se basa en el principio de que el ruido no deseado es captado por ambos canales del receptor de manera similar, mientras que la señal deseada varía en fase y amplitud. Al generar una señal invertida en fase del ruido en uno de los canales y combinarla con la señal original, se produce una cancelación parcial o total del ruido no deseado.

 

Esta técnica es especialmente útil en situaciones en las que hay fuentes de interferencia cercanas o señales de radio fuertes en frecuencias adyacentes que pueden introducir ruido en la señal de interés. Al aplicar la cancelación de ruido por oposición de fase, se puede reducir significativamente el ruido no deseado y mejorar la relación señal-ruido.

 

Es importante tener en cuenta que la cancelación de ruido por oposición de fase tiene sus limitaciones y depende de varios factores, como la calidad de la señal original, la precisión en la generación de la señal invertida en fase y la alineación de las dos señales. También puede haber casos en los que la cancelación no sea total y queden residuos de ruido.

 

La implementación de la cancelación de ruido por oposición de fase en el RSPduo generalmente se realiza a través del software SDR compatible utilizado junto con el receptor. El software puede proporcionar herramientas y configuraciones específicas para generar la señal invertida en fase y combinarla con la señal original. Es recomendable explorar las opciones disponibles en el software SDR utilizado con el RSPduo para aprovechar al máximo esta técnica y optimizar la calidad de la señal recibida.

 

Estas técnicas de diversity y cancelación de ruido por oposición de fase son particularmente útiles en entornos donde hay múltiples fuentes de interferencia o ruido, como en áreas urbanas densamente pobladas o en presencia de señales fuertes en frecuencias adyacentes. Permiten mejorar la calidad de recepción y la claridad de las señales, lo que resulta en una mejor experiencia de escucha.

 

Es importante tener en cuenta que la implementación de estas técnicas puede depender del software SDR utilizado junto con el RSPduo. Algunos programas de software SDR ofrecen funcionalidades específicas para diversity y cancelación de ruido, mientras que otros pueden requerir la utilización de complementos o configuraciones adicionales. Es recomendable explorar las opciones disponibles en el software compatible para aprovechar al máximo estas capacidades del RSPduo.

 

Ahora bien, una vez tuve este increíble aparato en mis manos, descargué rápidamente el software SDRuno y me aventuré a explorar todas las maravillas que este potente receptor SDR ofrece. Al principio, el software puede parecer un poco complicado de manejar, pero con el tiempo, logré dominarlo y aprovechar muchas de sus funcionalidades.

 

Una de las características que más me impresionó fue la capacidad de utilizar el sistema de diversidad, que permite reducir el ruido de manera notable ajustando la fase de las señales provenientes de ambos receptores. Esto es posible gracias al procesamiento discreto de la señal. Aunque existen sistemas de cancelación de ruido pasivos y activos de buena calidad que ofrecen resultados similares, la precisión del RSPduo es inigualable.

 

Sin embargo, en este relato no me centraré en todas las posibilidades y características del RSPduo, sino en una limitación fundamental que este tipo de receptores no aborda. Desafortunadamente, los fabricantes de este y otros receptores similares no tuvieron en cuenta su uso en estaciones de radio, donde no solo se reciben señales de radiofrecuencia en diferentes bandas, sino que también se transmiten señales para establecer contacto con otros entusiastas de la radioafición en todo el mundo.

 

En el caso de este receptor SDR, el RSPduo, carece de una función que silencie los receptores cuando la estación cambia al modo de transmisión. Esto representa un inconveniente importante, ya que este tipo de receptor es muy sensible en sus etapas de entrada de señales de radio.

 

Inicialmente, me propuse diseñar una interfaz que permitiera conectar el RSPduo a mi estación de radio. El diseño resultó bastante complejo, ya que debía proteger el receptor de posibles daños en todas las circunstancias, garantizando así su integridad y seguridad. Aunque no es el propósito de este relato profundizar en el diseño de esta interfaz, debo mencionar que, personalmente, no quedé completamente satisfecho con los resultados obtenidos. No es que la interfaz no funcionara, porque en realidad lo hizo según lo esperado, pero considero que debería haber una solución más elegante para abordar este desafío.


Interface Previa:



Al adentrarme en el manual de usuario del software SDRuno, descubrí un verdadero tesoro: las teclas de acceso rápido que permiten interactuar directamente con el hardware del RSPduo desde el teclado de mi computadora. Esta funcionalidad resultó ser una conveniencia excepcional, ya que me brindaba la posibilidad de controlar el RSPduo de manera eficiente y ágil, sin tener que depender exclusivamente de un controlador externo.

 

Imagínate la magnificencia de esta característica: simplemente al presionar una tecla en mi teclado, podía silenciar el audio del RSPduo con la tecla "T" y activar o desactivar el receptor con la tecla "P". Estas teclas de acceso rápido se convirtieron en una verdadera bendición, ya que me permitían realizar acciones fundamentales de manera instantánea y sin complicaciones.

 

Esta posibilidad de controlar el hardware del RSPduo directamente desde el software SDRuno, mediante el uso del teclado de mi computadora, destacaba la conveniencia y la integración sin fisuras entre el software y el hardware. Mientras que otros sistemas pueden requerir un control externo adicional o una interfaz separada para manipular las funciones del receptor, el enfoque implementado en el RSPduo y SDRuno brindaba una experiencia de usuario fluida y completa.

 

La capacidad de utilizar el teclado de la computadora como un medio de control para el RSPduo simplificó enormemente mi flujo de trabajo. Ya no tenía que lidiar con dispositivos externos adicionales ni con interfaces complicadas. Todo lo que necesitaba estaba a solo un toque de distancia, justo en mi teclado.

 

Además de la comodidad, esta solución presentaba una ventaja significativa en términos de eficiencia. Al no depender de una interfaz externa, ahorraba tiempo y evitaba posibles inconvenientes al cambiar constantemente entre diferentes dispositivos de control. Todo el proceso se volvía más ágil y fluido, permitiéndome enfocarme en lo realmente importante: disfrutar de la radioafición y aprovechar al máximo las capacidades del RSPduo.

 

Es importante destacar que esta funcionalidad, que combina el software SDRuno y el hardware RSPduo de manera armoniosa, es especialmente valiosa en comparación con otros sistemas que no contemplan el uso de un software dedicado. Al aprovechar la integración perfecta entre el software y el hardware, pude experimentar un control completo y preciso sobre el RSPduo, elevando mi experiencia de radioafición a un nivel superior.

 

 

En resumen, la posibilidad de utilizar las teclas de acceso rápido del software SDRuno para controlar directamente el hardware del RSPduo desde el teclado de mi computadora fue una auténtica revelación. Esta característica potencia la conveniencia, la eficiencia y la integración del sistema en su conjunto, permitiéndome disfrutar plenamente de todas las capacidades del RSPduo sin complicaciones ni limitaciones. Es un ejemplo brillante de cómo el diseño inteligente y la sinergia entre el software y el hardware pueden llevar la experiencia de radioafición a nuevos horizontes.

 

Ahora, permíteme compartir los emocionantes avances de este fascinante proyecto. Quiero recalcar que para mí, el conocimiento es algo invaluable y debe ser compartido de forma abierta y generosa. Por eso, estoy emocionado de revelar los logros alcanzados hasta el momento.

 

En primer lugar, quiero destacar que la interfaz de control del proyecto es operada por un pequeño y poderoso dispositivo llamado Arduino Nano. Este versátil microcontrolador ha sido la pieza clave para lograr la integración perfecta entre el hardware y el software.

 

Hablando del software, permíteme comentarte que ha sido desarrollado en Python, un lenguaje de programación ampliamente utilizado y reconocido por su versatilidad y eficiencia. Por ahora, no puedo compartir el software completo, ya que está en proceso de refinamiento. Sin embargo, en un futuro cercano, estaré encantado de poner a tu disposición el código Python para que puedas explorarlo y aprovecharlo al máximo.

 

Ahora, dejando de lado el software, permíteme brindarte un adelanto emocionante: aquí tienes el diseño actual de la interfase y mas abajo un fragmento de código a modo de ejemplo, que te dará una idea de cómo funciona la interfaz del Arduino Nano:


Interface Actúal:






Ejemplo: Utilizacion puerto USB Arduino Nano y validación dato

//**********************************************

const int ledPin = 13;

char receivedChar;  // Carácter recibido desde el puerto USB

bool isFirstT = true;  // Variable para controlar el primer carácter 'T' o 't'


void setup() {

  pinMode(ledPin, OUTPUT);

  digitalWrite(ledPin, LOW);  // Apagar el LED al iniciar el programa

  Serial.begin(9600, SERIAL_8N1);  // Iniciar comunicación serial a 9600 baudios, 8 bits de datos, sin paridad, 1 bit de parada

}


void loop() {

  if (Serial.available()) {  // Verificar si hay datos disponibles en el puerto USB

    receivedChar = Serial.read();  // Leer el carácter recibido

    if (isFirstT && (receivedChar == 'T' || receivedChar == 't')) {

      isFirstT = false;  // Se marca como falso después de recibir el primer carácter 'T' o 't'

      digitalWrite(ledPin, HIGH);  // Encender el LED

    } else if (!isFirstT && (receivedChar == 'T' || receivedChar == 't')) {

      isFirstT = true;  // Se marca como verdadero después de recibir nuevamente 'T' o 't'

      digitalWrite(ledPin, LOW);  // Apagar el LED

    }

    while (Serial.available()<=0);      

      Serial.read();  // Vaciar el búfer de entrada descartando cualquier dato adicional       

  }

//***************************** Lindo Verdad ?? **************************


Ejemplo: Python para enviar caracter (ya me puse buenito)

import serial
import keyboard

arduino_port = 'COM10'  # Puerto serial donde está conectado Arduino
baud_rate = 9600  # Baudios, debe coincidir con la configuración en Arduino

# Abrir la conexión serial
arduino = serial.Serial(arduino_port, baud_rate)

# Función para enviar el comando a Arduino
def enviar_comando(comando):
    arduino.write(comando.encode())

while True:
    if keyboard.is_pressed('ctrl') and keyboard.is_pressed('esc'):
        # Si se presiona la combinación de teclas Ctrl + Esc,
        # salir del bucle y finalizar el programa
        break

    # Obtener la tecla presionada
    key = keyboard.read_key()

    # Enviar solo la tecla 'T' (mayúscula o minúscula) a Arduino
    if key in ['T', 't']:
        enviar_comando(key.upper())

# Cerrar la conexión serial
arduino.close()


El código que he escrito tiene la función de verificar la entrada de datos a través del puerto USB del Arduino Nano. Si el carácter recibido es una 'T' en mayúscula o una 't' en minúscula, se valida para encender el LED conectado al pin 13 del Arduino Nano. Para apagarlo, simplemente volvemos a pulsar la tecla 'T' o 't'. El resto es pura imaginación, ya que nos permite volar hasta donde queramos y obtener todo lo que deseamos.

 

En el código de Python, se utiliza el puerto de comunicación COM10 (recuerda cambiarlo si es necesario) para establecer la conexión con el Arduino Nano. Es importante tener en cuenta que debes instalar previamente el controlador CH340 para que el puerto del Arduino funcione correctamente. Para compilar y enlazar el código desde la línea de comandos, como experto en Python, seguramente sabrás cómo hacerlo. Recuerda generar un ejecutable y, una vez que se abra la ventana, minimízala para que aparezca en la barra de tareas. A partir de ahí, puedes enviar los datos correspondientes y observar cómo se enciende y apaga el LED del Arduino Nano. Si necesitas cambiar el puerto de comunicación, simplemente conecta el Arduino Nano al puerto USB de tu computadora y, mediante el administrador de dispositivos, localiza la información del dispositivo para conocer el número asignado al puerto y, posteriormente, modifícalo en el código (COM10 en mi caso).

 

Por último, quiero mencionar que utilizo Visual Studio Code como editor o IDE para Python. Sin embargo, te recomiendo que, al probar este programa, no lo hagas directamente desde el entorno de Visual Studio Code. Como se puede observar en el código, el programa se cierra con la combinación de teclas CTRL+ESC. No debes permitir que se cierre solo con la tecla ESC, ya que es una palabra "reservada" cuando se está ejecutando SDRuno. También puedes finalizar el programa cerrándolo desde Windows y haciendo clic con el mouse en el icono minimizado que se encuentra en la barra de tareas.

 

Una de las cosas más interesantes de esta interfaz es que incluye el control para utilizar un sintonizador automático ICOM, que se encarga de sintonizar una antena auxiliar. Esto es útil para recibir dos bandas distintas o, aún mejor, para realizar la cancelación de ruido mediante la oposición de fase. Te aseguro que ni siquiera en tus mejores sueños podrías obtener tantos beneficios del desplazamiento de fase que RSPduo mediante SDRuno puede lograr. Pero eso es otro tema y si deseas más detalles, te invito a buscar información en la red y leer los manuales de usuario, te acosejo buscar y encontrar el manual en inglés.

 

Es importante tener en cuenta que mi sistema de radio incorpora equipos antiguos, tácticos o militares, que disponen de una línea de control Rx/Tx llamada "key line". Cuando esta línea se encuentra activada, el transmisor cambia del modo Rx al modo Tx. Sin embargo, como el interruptor encargado de esta función es Q5 y se trata de un transistor de colector abierto, se puede utilizar convenientemente según tus necesidades específicas.

 

Todo el control y el cambio de estado Rx/Tx se realiza mediante la pulsación de la tecla 'T' o 'P'. Para volver al modo Rx, simplemente se debe presionar nuevamente la tecla correspondiente.


Ahora bien, si no estás muy familiarizado con todo este asunto de la programación, Arduino, microcontroladores, Python, Visual Studio Code y otros, te sugiero que busques ayuda en la red. Incluso podrías conversar con una IA, pero recuerda tratarla con amabilidad y dirigirte a ella como si fuera un ser humano, para evitar que se moleste y te responda de mala gana. Las IAs funcionan, solo que los humanos no siempre sabemos hacer las preguntas adecuadas y, muchas veces, nos dirigimos a las máquinas como si fueran máquinas, lo cual dificulta su comprensión. Además, debes evaluar las respuestas de las IAs para asegurarte de que sean correctas. Una forma de hacerlo es rompiendo el tema principal y planteando una pregunta fuera de contexto, para ver cómo responde la IA. Si la respuesta es muy extensa y la IA se detiene, existen palabras "mágicas" que la animarán a seguir respondiendo, evitando que la respuesta quede incompleta.

 

En resumen, este proyecto de control de Rx/Tx para RSPduo mediante teclas especificas del teclado abre un mundo de posibilidades. Te permite experimentar y obtener resultados asombrosos. Recuerda, la imaginación es el límite. Si te apasiona la electrónica, la programación y la radio, este es el camino perfecto para explorar y aprender. ¡No dudes en aventurarte en este emocionante proyecto!