Conversión de I / Q sin formato a dB

8

Estoy obteniendo datos I / Q de una radio definida por software. Quiero hacer algunas cosas sobre las señales en los datos, pero solo si excede un cierto rango. ¿Cuál es el procedimiento general para obtener dB (dBm, o cualquier cosa) de este tipo de datos? Programas como SDR # lo hacen, pero no sé qué hacen exactamente para poder imitarlos.

cabello de caballo
fuente
¿Qué tal 10 * log10 (I ^ 2 + Q ^ 2)?
Hilmar
@Hilmar Me preguntaba si eso era todo. ¿Qué unidades usaría?
pelo de caballo
1
Comience con las unidades de sus señales I y Q. Si eso está en voltios, la fórmula anterior le proporciona dBV.
Hilmar
@Hilmar ¿Puede decirme qué debería considerar el valor de I y Q respectivamente?
Pritam
@Pritam: ¿qué quieres decir?
pelo de caballo

Respuestas:

16

Lo esencial

La amplitud de una señal IQ es solo la magnitud del vector, .I2+Q2

El poder de una señal IQ es la magnitud al cuadrado, .I2+Q2

Cuando ve un medidor logarítmico (dB), generalmente mide el registro de la potencia, es decir, . (Esto también se puede calcular como de la amplitud, pero a menos que ya tenga la amplitud que desperdicia una operación de raíz cuadrada).10log10(I2+Q2)20log10

Unidades

Recuerde, dB es una cifra relativa. Si solo toma , entonces 0 dB corresponde a una amplitud de exactamente 1. Si su controlador de hardware toma la convención de punto flotante habitual de los valores de muestra extremos absolutos de −1 a +1, entonces puede decir que sus valores de potencia en dB son dBFS - decibelios en relación con la escala completa . Cualquier señal más fuerte que ese nivel se recortará , distorsionando la señal.10log10(I2+Q2)

dBm , decibelios en relación con un milivatio de potencia, solo usa un nivel de referencia diferente. Puede convertir a dBm simplemente sumando o restando el valor de calibración adecuado del valor de dBFS, pero necesita saber esa calibración para su hardware a la frecuencia de interés, como midiéndola (utilizando una fuente de señal de salida de potencia conocida) ; Es imposible realizar esa calibración puramente en software ya que las muestras digitales son solo números sin unidades inherentes.

(Un error que he visto es referirme a los valores de la muestra, o parámetros que se escalan de acuerdo con ellos, como un umbral de amplitud, como estar en "voltios"; esto no tiene sentido a menos que su ADC (y otro hardware) esté realmente calibrado a un voltio. Esto es irracionalmente grande para un receptor de radio).

Aplicación práctica

Si solo busca ignorar las señales que no son lo suficientemente fuertes (esto se conoce como silenciador de portador o silenciador de potencia ), no importa qué unidades use, o incluso si son logarítmicas o lineales, porque solo haciendo una comparación mayor que. El único componente crítico es que comienzas con (a diferencia de, por ejemplo, , que sería simplemente incorrecto).I2+Q2I+Q

Nota sobre el ancho de banda que probablemente no necesite leer

También puede ser relevante tener en cuenta que si filtra una señal, por definición está eliminando parte de la potencia de la señal, por lo que la medición será menor.

En particular, una FFT (como la pantalla visual principal en herramientas como SDR #) puede considerarse libremente como una gran colección de filtros extremadamente nítidos; cada salida "bin" recoge una fracción de la potencia de entrada. En consecuencia, la potencia en cada contenedor depende del ancho del contenedor. Si divide por el ancho del contenedor en hercios (ese valor es ) antes de tomar el logaritmo, entonces, en lugar de dB de potencia, mide la densidad espectral de potencia de dB , que tiene el ventaja de ser independiente del ancho del contenedor FFT si las características que le interesan son más amplias que un contenedor (por ejemplo, una señal modulada de banda ancha); si son más estrechos (p. ej., tonos puros), entonces el valor de potencia es más útil.sample rate/FFT length

Kevin Reid
fuente
3
Una de las mejores y más relevantes respuestas que he visto a una pregunta que he hecho. Gracias
pelo de caballo