Mi primer Receptor "Software Defined Radio" (SDR) - 1ª Parte

Etapa de Captura

full-spectrum-peq


1ª Parte - Etapa de Captura
2ª Parte - Downconverter
3ª Parte - Demodulación

Apéndice - Espectrograma

 

English Version

Antecedentes: Existen programas que permiten utilizar el conversor analógico digital (ADC) de nuestra tarjeta de sonido para demodular señales de radio mediante la utilización de un downconverter ("bajador" de frecuencia) o de alguna etapa previa de radio frecuencia. Una de las posibles aplicaciones de un ADC con mas ancho de banda y un PC, es realizar es esa misma función pero sin necesidad de alguna etapa previa, ósea: que la etapa del downconverter, los filtros y la demodulación sean programas dentro del PC. Esto es, a grandes rasgos, Software Defined Radio (SDR).

Con el ADC del Bt878A y el modo de 896000 Sps descrito en mi anterior artículo (Modificación del modulo btaudio.c para la obtención de 896000 muestras por segundo con el ADC del Bt878A), es posible digitalizar señales hasta 443 KHz. Esto permitiría, teóricamente, realizar la recepción directa de señales de radio dentro de este ancho de banda.

Objetivo: En primer lugar: aprender SDR y en segundo: averiguar si con los medios a nuestro alcance es posible realizar recepción de radio mediante conversión directa con la ayuda de un PC. 

Método: La siguiente figura presenta los bloques de mi proceso experimental de SDR en diferido. Cada elemento será explicado a lo largo del presente artículo y sus partes.

non-realtime-sdr-stage-diagram

 

1.1 - ¿Por que el proceso es en diferido?

Por un problema de potencia. Yo realizo mis pruebas con un antiguo PC AMD 400 Mhz. Gracias a la arquitectura del Bt878A, el proceso de captura de la señal no consume mucha CPU (en mi caso 8%) y hay que tener en cuenta que estamos trabajando con 896000 Sps de 16 bits y esto son 1,7 MBytes/segundo. El problema aparece cuando al mismo tiempo ejecutamos en la misma máquina un programa para procesar esta señal y este consume toda la CPU disponible. Esto provoca que el modulo btaudio no disponga de ciclos suficientes para vaciar el buffer (que es de 8 KBytes) y se provocan "buffer overruns". Se producen enormes vacíos en el stream y esto es desastroso para el posterior uso de la señal.

1.2 - Yo tengo una máquina potente ¿Puedo trabajar en tiempo real?

Teóricamente si, dímelo tu :) En la siguiente parte de este artículo describiré un método para hacerlo con la ayuda de "pipes".

1.3 - ¿Que señales de radio se pueden recibir?

Ante todo dejar claro que lo que aquí explicado es una práctica experimental y que no tiene sentido para utilizarse como un sistema "practico" para sintonizar frecuencias de radio. Mi intención es puramente divulgativa.

Dicho esto, podemos sintonizar hasta 443 KHz lo que abarca la LF y una porción de la MF. Dentro de la LF esta la popular Onda Larga donde aun hoy se pueden encontrar emisoras de radio difusión. También podemos encontrar multitud de balizas y radiofaros, ayuda a la navegación, señales horarias y todo un conjunto de exóticas "señales utilitarias". También hay una banda con radio aficionados en activo en modo CW (para saber mas: Experimentación en Onda Larga 137kHz).

 

Fase de Captura

1.4 - Fin de semana en el campo

Tras realizar numerosos intentos en mi piso de Barcelona, no conseguí recibir ninguna señal de forma clara e inequívoca. El problema estaba claro: poco nivel de entrada. Apenas pude desplegar una antena de 4 metros y además estoy rodeado de edificios por todos los lados, en pleno centro de la ciudad.

Aprovechando un fin de semana en casa de mis padres (Tarragona), monté mi máquina de pruebas, una antena grande y realice diversas capturas.

city-countryside-capture-travel

Una de las ventajas del SDR es que podemos analizar la señal mas tarde. Podemos "movernos" por ella en cualquier eje, es decir: podemos analizar una portadora en una determinada frecuencia durante varios minutos, luego retroceder y hacerlo nuevamente o retroceder y analizar otra frecuencia para ver que ocurría justo en mismo momento que analizábamos la señal anterior. La única limitación es el espacio de nuestro disco duro.

 

1.5 - La antena

En la siguiente figura se puede observar el diagrama de la antena que monté. Mas sencillo imposible.

simple-outdoor-antenna

El ADC del Bt878A conectado a la antena formada por unos 30 metros de cable eléctrico normal. La masa del ADC dejada al aire. El chasis del PC conectado a tierra mediante un cable grueso y una piqueta metálica. El monitor del PC apagado durante toda la fase de captura. Teóricamente, cuanto mas largo el cable de la antena, mejor. Para saber mas (Google).

 

1.6 - Captura mediante el comando SOX

Modulo btaudio cargado en memoria con dec = 2 (como lo explicado anteriormente) para digitalizar a 896000 Sps.

Desde Xwindows subimos la ganancia del ADC al máximo mediante el control de volumen:

mandrake-volumen-mixer-btaudio-bt878a-adc

Acto seguido:

# sox -r 896000 -w -t ossdsp /dev/dsp2 -t .wav radio-capture-896000.wav

(nota: el parámetro /dev/dsp2 depende de tu configuración de hardware)

El monitor del PC apagado durante toda la fase de captura. Dejamos que capture durante algunos segundos e interrumpimos con CTRL+C. Es importante no tener programas innecesarios funcionando al mismo tiempo en la maquina que le puedan quitar ciclos de proceso al comando SOX o entorpecer el acceso a disco. Recuerda: 896000 Sps de 16 bits = 1,7 MBytes/segundo.

 

1.7 - Explorando el espectro

Mi primer interés es averiguar si las molestias del traslado han valido la pena. La siguiente imagen es el espectro de la señal que acabo de capturar (línea amarilla). La línea de color cian es la señal capturada en la ciudad y la roja el ruido de la etapa ADC (explicado anteriormente). Average = 10 y Spectraplus. Todo parece indicar que la entrada es superior en la mayoría de las frecuencias. Bien.

homebrew-sdr-spectrum-noise-city-countryside

Realicé diversas capturas. Unas durante el día (a las 12:30 horas) y otras de noche (a las 00:30 horas). La siguiente figura es una comparación de ambas. Gráfico línea amarilla noche y gráfico línea púrpura día. Se observa una ligera mejora de la señal capturada durante la noche.

homebrew-sdr-spectrum-day-night

 

full-spectrogram-440-khz-little

 

 

 

La siguiente imagen es un espectrograma de la señal que es posible obtener con el ADC del Bt878 en el modo de 896000 Sps. El gráfico es el resultado de realizar diversos espectrogramas y juntarlos mediante un editor gráfico.

Haz clic en la imagen de la derecha para ver la versión completa. Advertencia: se trata de una imagen de 3 MBytes.

Hay un buen numero de señales claramente visibles. Entre ellas destacan: La banda de radio difusión Onda Larga, entre 150 y 260 Khz., señales horarias entre 60 y 80 Khz., una misteriosa señal que se desplaza entre este mismo rango de frecuencias, el sistema de navegación LORAN-C en 100 Khz. y diversos radiofaros entre 280 y 430 Khz.

Precisamente estos radiofaros nos servirán en la siguiente sección para realizar una prueba practica de recepción de radio.

 

 

 

 

 

1.8 - Radiofaros

Creo que un radiofaro (o baliza), es una de las señales de radio mas sencillas que nos podemos encontrar y por este motivo son ideales para realizar la primera prueba de recepción.

Un radiofaro es una señal Morse (CW) que repite un indicativo a intervalos regulares desde un punto fijo de la geografía y en una determinada frecuencia. Su misión es ayudar a localizarse en un mapa a aviones y navíos. Hoy en día, con la implantación masiva del sistema GPS, estas ayudas a la navegación han queda en un segundo plano pero algunas siguen operativas y pueden interpretarse con un sencillo espectrograma.

Tras el análisis en diferido de las señales capturas, se han recibido e identificado los siguientes ocho radiofaros:

Frecuencia: 285,8 Khz. Indicativo: AS AS Pausa: 50 Segundos Situación: Castelló
spectrogram-beacon-285-8-khz-50-gap-AS-AS-Castello
Frecuencia: 293,8 Khz. Indicativo: MH MH Pausa: 60 Segundos Situación: Mao
spectrogram-beacon-293-8-khz-60-gap-MH-MH-Mahon
Frecuencia: 294,3 Khz. Indicativo: FI FI Pausa: 60 Segundos Situación: Cala Figuera
spectrogram-beacon-294-3-khz-60-gap-FI-FI-Cala-Figuera
Frecuencia: 338,4 Khz. Indicativo: QA QA Pausa: 2 Segundos Situación: Barcelona
spectrogram-beacon-338-4-khz-2-gap-QA-QA-Barcelona
Frecuencia: 356,4 Khz. Indicativo: SGO Pausa: 10 Segundos Situación: Sagunt
spectrogram-beacon-356-4-khz-10-gap-SGO-Sagunto
Frecuencia: 380,4 Khz. Indicativo: VNV Pausa: 6 Segundos Situación: Vilanova i La Geltrú
spectrogram-beacon-380-4-khz-6-gap-VNV-Vilanova-i-La-Geltru
Frecuencia: 384,4 Khz. Indicativo: ADX Pausa: 4 Segundos Situación: Andraitx
spectrogram-beacon-384-4-khz-4-gap-ADX-Andraitx
Frecuencia: 424,6 Khz. Indicativo: RES Pausa: 18 Segundos Situación: Reus
spectrogram-beacon-424-6-khz-18-gap-RES-Reus

Mediante la información obtenida de esta magnifica colección de radiofaros: http://www.xs4all.nl/~cisquet/NDB.htm, he podido obtener las correspondencias entre los indicativos y la ubicación de cada radiofaro. La siguiente imagen muestra el resultado:

map-east-coast-spain-beacom-reception

A mi entender, toda esta información tiene sentido. La proximidad al mar de la estación receptora me ha permitido recibir radiofaros a una distancia de mas de 250 Kilómetros en las islas vecinas de Mallorca y Menorca.

Update 10-2004
email from Michael Oexner

As NDBs are my special area of interest I'd like to provide some additional info on frequencies, offsets and coordinates. It seems that the frequencies that you show in your screenshots are a little bit off with respect to the listed carrier frequencies.

AS  285.5    0 mar Castellón/Muelle Pesquera      N39 58 12 E000 01 12
MH  293.5    0 mar Mahón/Menorca                  N39 51 48 E004 18 18
FI  294.0    0 mar Punta de Cala Figuera/Mallorca N39 27 30 E002 31 24
QA  338.0 1020     Barcelona                      N41 15 54 E001 59 05
SGO 356.0 1020     Sagunto for Valencia           N39 40 27 W000 12 28
VNV 380.0 1020     Villanueva                     N41 12 38 E001 42 21
ADX 384.0 1020     Andraitx for Palma de Mallorca N39 32 58 E002 23 45
RUS 424.0 1020     Reus                           N41 08 52 E001 08 46

The first three logs are maritime beacons that transmit in A1A mode, i.e. show only one line (the carrier) in the spectrum.

All the other NDBs are aeronautical NDBs that are usually modulated with a tone of 1020 Hz, i. e. you'll see the steady carrier and the two modulated sidebands plus/minus 1020 Hz away from the carrier frequency.

Other countries also use 400 Hz tone frequencies for their aeronautical NDBs, such as Great Britain and nearly all Scandinavian
countries. France on the other hand sticks to A1A modulation for their NDBs.

RES Reus has recently changed its callsign from RES to RUS.
--
vy 73 + gd DX,

Michael

Editor of "The European NDB Handbook" & "The North American NDB Handbook"
cf. http://www.beaconworld.org.uk/datafile.htm
and http://lwca.org/miscdocs/Oexner/OexnerNDB.htm

 

Ya tenemos en nuestro disco duro una porción del espectro de radio. En la próxima parte de este artículo procederemos a manipularla.

->> 2ª Parte - Downconverter ->>

 



- Autor:

Juan Domenech Fernandez

http://www.domenech.org
 

English Version

v0.2 25-octubre-2004
v0 07-junio-2004