Pregunta:
¿Cómo reproducir grabaciones de espectro hechas con rtl_sdr en gqrx?
Paul
2014-09-05 16:59:58 UTC
view on stackexchange narkive permalink

Tengo un dongle R820T DVB y el software rtl_sdr en una computadora Linux.

Puedo escuchar varias frecuencias usando el software gqrx que usa la biblioteca rtl_sdr como un controlador de dispositivo para el dongle conectado a USB . También (obviamente) obtengo el alcance del espectro y la visualización en cascada de los canales adyacentes. Por lo tanto, el hardware y el software son funcionales en algún nivel.

Ahora noto que hay un programa separado en el paquete rtl_sdr también llamado "rtl_sdr" que puede grabar una porción del espectro en el disco duro.

Aquí hay un extracto del recordatorio de uso generado al ejecutar rtl_sdr sin parámetros:

  rtl_sdr, una grabadora I / Q para receptores DVB-T basados ​​en RTL2832Uso: -f Frequency_to_tune_to [ Hz] [-s samplerate (predeterminado: 2048000 Hz)] [-d device_index (predeterminado: 0)] [-g ganancia (predeterminado: 0 para automático)] [-p ppm_error (predeterminado: 0)] [-b output_block_size ( predeterminado: 16 * 16384)] [-n número de muestras para leer (predeterminado: 0, infinito)] [-S forzar salida de sincronización (predeterminado: asíncrono)] nombre de archivo (un '-' vuelca las muestras a la salida estándar)  

Para una prueba, quería una señal de voz FM de banda estrecha continua fuerte, así que intenté grabar el transmisor del servicio meteorológico nacional local en 162.55 Mhz con

  rtl_sdr -f 162550000 -g35 -s 1000000 test1.dat  

Observo que esto también registra la muestra de 1 Mhz alrededor de 162.55 Mhz. Los archivos grandes se crean rápidamente. Unos pocos minutos obtuvieron unos 300 MB. Me di cuenta de que el R820T es quisquilloso y no siempre establecerá frecuencias de muestreo bajas, y una vez más, esto es solo para producir un archivo de prueba. Si quisiera dejarlo funcionando toda la noche en algún otro rango de frecuencia, consideraría buscar una frecuencia de muestreo menor.

Una vez grabados, ¿qué programa reproduce estos archivos? Aunque gqrx tiene una opción para reproducir un archivo de muestra I / Q, no parece reproducir archivos creados con rtl_sdr. Obtengo una cascada en blanco y no hay audio cuando intento reproducir el archivo en gqrx.

¿Alguna idea?

relacionado: http://stackoverflow.com/questions/25587959/bin-to-cfile-flowgraph-for-grc-3-7-2-1/25655984#comment41364278_25655984
Dos respuestas:
jcoppens
2014-09-06 03:54:29 UTC
view on stackexchange narkive permalink

Realmente no he probado esto, ¡así que ten cuidado!

Pensé que la salida, tal como se registra en el archivo, serían en realidad las muestras en un formato determinado. Así que intenté buscarlo y encontré esta página:

http://sdr.osmocom.org/trac/wiki/rtl-sdr#rtl_sdr

En la parte inferior de la página hay un diagrama de flujo para gnu-radio, que toma el contenido del archivo y lo desentrelaza (el entrelazado es el truco que usa la grabadora rtl_sdr para grabar alternativamente I y Q).

Aparentemente, las muestras se almacenan como bytes sin firmar en el archivo original, y este diagrama de flujo envía alternativamente un byte a la cadena superior o inferior. Primero se convierten a flotantes, luego se agrega -127 para convertirlos en valores con signo. Finalmente, después de escalarlos, se recombinan en una señal compleja, que probablemente sería la señal que recibirías del dongle en primer lugar.

En el diagrama de flujo, guardan la salida compleja a un formato * .cfile, pero creo que podrías ingresar la señal compleja en el receptor original para decodificarla nuevamente.

enter image description here

Si tu idea original era grabar el audio, probablemente sería más útil enviar el audio del receptor a un receptor wav_file. De esa manera, simplemente lo graba como audio.

Editar: La escala ('8m') es multiplicar las muestras de -128 a +127, en valores flotantes normalizados, entre -1.0 y +1.0. 8 m significa 0,008, que es (más o menos 1/128)

Gracias por enviarme esto. Entonces, el trato es que este diagrama de flujo es un programa que se puede escribir en GNU Radio Companion en media hora aproximadamente. El capture.bin es el archivo de entrada al diagrama de flujo (hecho por rtl_sdr) y el capture.cfile que escupe es el archivo de salida. Ese .cfile se puede alimentar a gqrx y funciona. Y más o menos no. El audio que gqrx escupe está reducido en frecuencia y es muy lento. Grabar ese audio gqrx en un .wav y hacer que un reproductor de audio lo reproduzca a 3 veces la velocidad normal suena casi correcto.
Sí ... Aunque también puede usar gnuradio como una utilidad de línea de comandos (y podría ser más rápido de esa manera), como usuario ocasional, ciertamente es más fácil usar el camino gráfico.
Paul
2014-10-14 10:02:25 UTC
view on stackexchange narkive permalink

La grabación en rtl_sdr se puede reproducir en gqrx siguiendo cuidadosamente el siguiente procedimiento:

  1. Ya sea A o B : (A) Cree un programa de radio GNU con el diagrama de flujo publicado por @jcoppens arriba. Se puede encontrar una copia en el sitio rtl-sdr, pero como se menciona en Stack Overflow, el archivo rtl-sdr .grc usa módulos obsoletos y debe reescribirse en el nuevo complemento de radio gnu (30 minutos para 1 hora de trabajo) O (B) Compile y use el programa Linux GCC que escribí para la conversión de rtlsdr-to-gqrx.
  2. Realice una grabación SDR con rtl_sdr y tome nota de la frecuencia de muestreo real
  3. Ejecute la conversión mencionada en el paso n. ° 1. Nota: el archivo .c de salida será más de 4 veces el tamaño del archivo .raw de entrada.
  4. Inicie gqrx, vaya al cuadro de diálogo "Configurar dispositivos de E / S"
  5. Establezca la "Cadena de dispositivo" para leer el archivo .c generado en el paso 3 y establezca la tasa desde el paso # 2
  6. IMPORTANTE : configure el cuadro "Frecuencia de muestreo" inmediatamente debajo de la cadena del dispositivo con la frecuencia del paso 2. Esto parece redundante (la tasa también está en la cadena del dispositivo) pero aparentemente no lo es (a octubre de 2014). Si se deja en blanco, la frecuencia de muestreo se establecerá en algo que quizás no desee (sospecho que 96k) y anulará la configuración de la cadena del dispositivo aunque la línea aparezca en blanco . Dejar esta línea en blanco puede hacer que el audio sea más lento.
  7. Haga clic en el botón "Encendido" en gqrx y comenzará la reproducción.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...