El sistema de datos de radio ( RDS ) es un estándar de protocolo de comunicaciones para incorporar pequeñas cantidades de información digital en transmisiones de radio FM convencionales . RDS estandariza varios tipos de información transmitida, incluida la hora , la identificación de la estación y la información del programa.
El estándar comenzó como un proyecto de la Unión Europea de Radiodifusión (UER), pero desde entonces se ha convertido en un estándar internacional de la Comisión Electrotécnica Internacional (CEI). Radio Broadcast Data System ( RBDS ) es el nombre oficial utilizado para la versión estadounidense de RDS. [1] Los dos estándares son solo ligeramente diferentes, y los receptores pueden funcionar con cualquiera de los dos sistemas con solo pequeñas inconsistencias en los datos mostrados.
Ambas versiones transportan datos a 1.187,5 bits por segundo (aproximadamente 1,2 kbit/s ) en una subportadora de 57 kHz , por lo que hay exactamente 48 ciclos de subportadora durante cada bit de datos. La subportadora RBDS/RDS se ajustó al tercer armónico del tono piloto estéreo de FM de 19 kHz para minimizar la interferencia y la intermodulación entre la señal de datos, el piloto estéreo y la señal de diferencia estéreo DSB-SC de 38 kHz . (La señal de diferencia estéreo se extiende hasta 38 kHz + 15 kHz = 53 kHz, dejando 4 kHz para la banda lateral inferior de la señal RDS).
Los datos se envían con un código de corrección de errores , pero los receptores pueden optar por utilizarlo solo para la detección de errores sin corrección. RDS define muchas funciones, incluida la forma en que las funciones privadas (internas) u otras funciones no definidas se pueden "empaquetar" en grupos de programas no utilizados.
El RDS solo se utiliza en estaciones analógicas. El equivalente de HD Radio son los datos asociados al programa (PAD).
El RDS se inspiró en el desarrollo del Autofahrer-Rundfunk-Informationssystem (ARI) en Alemania por parte del Institut für Rundfunktechnik (IRT) y el fabricante de radio Blaupunkt . [2] ARI utilizó una subportadora de 57 kHz para indicar la presencia de información de tráfico en una transmisión de radio FM. [3]
El Comité Técnico de la UER lanzó un proyecto en su reunión de París de 1974 para desarrollar una tecnología con fines similares a la ARI, pero que fuera más flexible y permitiera la resintonización automática de un receptor en el que una cadena de radiodifusión transmitiera el mismo programa de radio en varias frecuencias diferentes. El sistema de modulación se basaba en el utilizado en un sistema de búsqueda sueco y la codificación de banda base era un diseño nuevo, desarrollado principalmente por la British Broadcasting Corporation (BBC) y el IRT. La UER publicó la primera especificación RDS en 1984. [2]
De los tres socios de radiodifusión de la UER, la BBC era la que, según se informa, estaba más interesada en la aplicación de la tecnología RDS y buscaba atraer ofertas de fabricantes para fabricar una "radio acreditada por la BBC" que admitiera funciones RDS. Sin embargo, al no recibir ningún interés de los fabricantes, la corporación contrató a diseñadores de Kinneir Dufort para que produjeran un prototipo que mostrara estas funciones. Este prototipo, presentado en 1989, incorporaba una pantalla de cristal líquido capaz de mostrar imágenes como mapas meteorológicos, acompañada de "un lápiz óptico con el que se puede programar la radio a partir de códigos de barras", códigos de barras que codificaban la información del programa, y admitía módulos desmontables, de los cuales se desarrollaron un módulo de reproductor de casetes y un módulo de impresora. A pesar de la reticencia a desarrollar una funcionalidad basada en pantalla que pudiera hacer que el RDS compitiera con la televisión, la utilidad de poder imprimir información como mapas meteorológicos o incluso publicidad se consideró potencialmente interesante tanto para los fabricantes de radio como de televisión. [4]
Se agregaron mejoras a la funcionalidad de frecuencias alternativas al estándar y posteriormente se publicó como estándar del Comité Europeo de Normalización Electrotécnica (CENELEC) en 1990. [2]
En 1992, el Comité Nacional de Sistemas de Radio de los Estados Unidos publicó la versión norteamericana del estándar RDS, llamado Sistema de Datos de Transmisión de Radio. El estándar CENELEC se actualizó en 1992 con la incorporación del Canal de Mensajes de Tráfico y en 1998 con Aplicaciones de Datos Abiertos [2] y, en 2000, el RDS se publicó en todo el mundo como estándar IEC 62106. [5]
El RDS-Forum (Ginebra/Suiza) decidió en su reunión anual (8 y 9 de junio de 2015) en Glion/Montreux poner en marcha el nuevo estándar RDS2. El estándar se creará en estrecha colaboración con colegas estadounidenses del Subcomité RBDS del NRSC y debería ofrecer una plataforma unificada para la transmisión de FM y los servicios de datos en todo el mundo.
Los siguientes campos de información normalmente están contenidos en los datos RDS:
En lo que respecta a la implementación, la mayoría de los estéreos de los automóviles admitirán al menos AF, EON, REG, PS y TA/TP.
Hay un número creciente de implementaciones de RDS en dispositivos portátiles de audio y navegación gracias a soluciones de menor precio y tamaño reducido.
La subportadora RDS a 57 kHz ocupa ±2 kHz del espectro compuesto, lo que en teoría la mantiene por encima del límite superior de corte de la subportadora estéreo a 53 kHz. Sin embargo, el límite de corte de 53 kHz depende completamente del rendimiento de los filtros de paso bajo de 15 kHz utilizados antes del codificador estéreo. En equipos más antiguos, estos filtros solo estaban diseñados para proteger el piloto de 19 kHz y, a veces, no brindaban suficiente protección a la subportadora RDS cuando había una cantidad significativa de información estéreo. En esta situación, los dispositivos de mejora estéreo combinados con un procesamiento de audio agresivo podrían hacer que la subportadora RDS no se pudiera recibir.
Los sistemas de recorte compuesto también pueden degradar la subportadora RDS debido a los armónicos creados por el recorte. Los recortadores compuestos más modernos incluyen un filtrado para proteger la subportadora RDS.
La subportadora RDS normalmente utiliza una desviación de portadora de entre 2 y 4 kHz. Por lo tanto, la desviación disponible para el material del programa se reduce en esta cantidad, suponiendo que no se supere el límite de desviación habitual de 75 kHz.
La siguiente tabla enumera los códigos de tipo de programa (PTY) RDS y RBDS (América del Norte) y sus significados:
Código PTY | Tipo de programa RDS | Tipo de programa RBDS | Código PTY | Tipo de programa RDS | Tipo de programa RBDS | |
---|---|---|---|---|---|---|
0 | Sin tipo de programa o indefinido | 16 | Clima | Ritmo y blues | ||
1 | Noticias | Noticias | 17 | Finanzas | Ritmo suave y blues | |
2 | Actualidad | Información | 18 | Programas para niños | Idioma | |
3 | Información | Deportes | 19 | Asuntos sociales | Música religiosa | |
4 | Deporte | Hablar | 20 | Religión | Charla religiosa | |
5 | Educación | Roca | 21 | Llamada telefónica | Personalidad | |
6 | Drama | Rock clasico | 22 | Viajar | Público | |
7 | Cultura | éxitos para adultos | 23 | Ocio | Colega | |
8 | Ciencia | Roca blanda | 24 | Música jazz | Hablar en español | |
9 | Variado | Los 40 mejores | 25 | Música country | Música española | |
10 | Música pop | País | 26 | Música nacional | Hip-hop | |
11 | Música rock | Viejos | 27 | Música antigua | Sin asignar | |
12 | Fácil de escuchar | Música suave | 28 | Música folklórica | ||
13 | Clásico ligero | Nostalgia | 29 | Documental | Clima | |
14 | Clásico serio | Jazz | 30 | Prueba de alarma | Prueba de emergencia | |
15 | Otra musica | Clásico | 31 | Alarma | Emergencia |
Los códigos PTY han sufrido varias ampliaciones. El primer estándar RDS solo definía los códigos 0–15 y 31. El estándar RBDS posterior implementado en los EE. UU. asignó los mismos significados a los códigos 0, 1 y 31, pero no intentó coincidir con el resto del plan RDS original y creó su propia lista para los códigos 2–22 y 30, [11] incluyendo formatos de radio comercialmente importantes (en los EE. UU.) como top 40, religioso, country, jazz y R&B que no estaban en la lista RDS. Esto incluía códigos no coincidentes para información, deportes y rock. Los estándares RBDS posteriores agregaron los tipos 23 (universidad) y 29 (clima), mientras que la lista de códigos de tipo RDS creció hasta su tamaño actual, [12] importando algunos tipos (por ejemplo, jazz y country) de la lista RDBS. Los tipos RDBS 24 a 26 se agregaron en abril de 2011. [10] [1] : 27 Las discrepancias de código son principalmente un problema para las personas que llevan radios portátiles hacia o desde América del Norte.
El estándar RDS, tal como se especifica en EN 50067:1998 [13] , se divide en estas secciones según el modelo OSI . (Se excluyen las capas de red y transporte, ya que se trata de un estándar de transmisión unidireccional).
La capa física del estándar describe cómo se recupera el flujo de bits de la señal de radio. El hardware RDS primero demodula la señal de subportadora RDS de 57 kHz para extraer una señal con codificación Manchester diferencial que contiene tanto el reloj de bits como el flujo de bits con codificación diferencial . Esto permite que el decodificador RDS tolere la inversión de fase de su entrada.
En la capa de enlace de datos, 26 bits consecutivos forman un "bloque", que consta de 16 bits de datos seguidos de 10 bits de corrección de errores. Cuatro bloques forman un "grupo" de 104 bits. Los bits de corrección de errores también codifican el "desplazamiento" o número de bloque dentro de un grupo de 4 bloques.
La corrección de errores se realiza mediante una comprobación de redundancia cíclica de 10 bits , con el polinomio x 10 + x 8 + x 7 + x 5 + x 4 + x 3 + 1 . [13] : 13 (No se utiliza ni un preajuste ni una inversión posterior, ya que no son necesarios con un campo de datos de tamaño fijo). El CRC también se suma con una de las cinco palabras de "desplazamiento" que identifican el bloque: A, B, C, C′ o D. Cuatro bloques consecutivos (ABCD o ABC′D) forman un "grupo" de 104 bits (64 bits de datos + 40 bits de comprobación). Se transmiten un poco más de 11,4 grupos por segundo.
No hay espacio entre bloques. El receptor se sincroniza con los grupos y bloques comprobando los CRC de cada 26 bits hasta que se logra la sincronización. Una vez sincronizado (la palabra de desplazamiento es predecible), el código es capaz de corregir errores de ráfaga de hasta 5 bits . [13] : 60
Esta modulación básica y estructura de bloques se desarrolló originalmente para el protocolo de "búsqueda móvil" MBS (radio paging)
, con la diferencia de que MBS (o el equivalente norteamericano MMBS "MBS modificado") no utiliza una palabra de desplazamiento. Para permitir que los dos sistemas interoperen (y para permitir que las estaciones de radio FM transmitan datos RBDS mientras mantienen sus contratos de buscapersonas), el estándar RBDS define una sexta palabra de desplazamiento E con todos los ceros. Los grupos de cuatro bloques E pueden mezclarse con grupos RBDS y los receptores RBDS pueden ignorarlos. (De la misma manera, las palabras de desplazamiento RBS se eligen para que aparezcan como errores incorregibles para los receptores MBS).Los datos dentro de cada bloque (y grupo) se transmiten con el bit más significativo primero y, por lo tanto, se numeran desde el bit 15 (transmitido primero) hasta el bit 0 (transmitido último).
La información que se transmite con más frecuencia es un código de "identificación de programa" de 16 bits, que identifica la estación de radio que transmite. Los bloques A y C′ siempre incluyen el código PI; el desplazamiento C se utiliza cuando el tercer bloque contiene algo más.
El bloque 1 siempre contiene el identificador de programa de 16 bits. Los primeros 11 bits (bits 15-5) del bloque 2 también son los mismos en todos los grupos.
Los primeros 4 bits (bits 15-11) del bloque 2 son el "código de tipo de grupo", que describe la interpretación de los datos restantes. Cada tipo de grupo tiene variantes "A" y "B", que se distinguen por el quinto bit "B" (bit 10): si B=0, entonces el grupo es de 0A a 15A y contiene 5+16+16 = 37 bits de datos. Si B=1, el bloque 2 contiene un código PI (y está codificado con la palabra de desplazamiento C'), el grupo es uno de 0B a 15B y contiene 21 bits de datos.
Dentro del Bloque 1 y Bloque 2 hay estructuras que siempre estarán presentes en ambas versiones de grupo, para identificaciones rápidas y ágiles. El primer bloque de cada grupo siempre será el código de identificación del programa. El segundo bloque dedica los primeros 4 bits para el tipo de aplicación/grupo.
Bloque 1 | Bloque 2 | |||||
Significado de bloque | Código de identificación del programa | Tipo G | B0 | TP | PTY | varía |
notación de bits por bloque | b15-b0 | b15–b12 | b11 | b10 | b9–b5 | b4–b0 |
¿Significado fijo por grupo? | Sí | Sí | Sí | Sí | Sí | No |
Significado de los bits del bloque 2
Bloque 1 | Bloque 2 | Bloque 3 | Bloque 4 | |||||
Significado de bloque | Código de identificación del programa | Tipo de grupo | B0 | TP | PTY | APLICACIÓN | Carga útil específica del grupo | Carga útil específica del grupo |
Valor de bit de carga útil del bloque | XXXXXXXXXXXXXXXXXXXXX | xxx | 0 | incógnita | xxxxx | xxxxx | XXXXXXXXXXXXXXXXXXXXX | XXXXXXXXXXXXXXXXXXXXX |
Valor de compensación (sincronización) | Desplazamiento A | Desplazamiento B | Desplazamiento C | Desplazamiento D |
El bloque 3 se utiliza para repetir el código de identificación del programa.
Bloque 1 | Bloque 2 | Bloque 3 | Bloque 4 | |||||
Significado de bloque | Código de identificación del programa | Tipo de grupo | B0 | TP | PTY | APLICACIÓN | Código de identificación del programa | Carga útil específica del grupo |
Valor de bit de carga útil | XXXXXXXXXXXXXXXXXXXXX | xxx | 1 | incógnita | xxxxx | xxxxx | XXXXXXXXXXXXXXXXXXXXX | XXXXXXXXXXXXXXXXXXXXX |
Valor de compensación (sincronización) | Desplazamiento A | Desplazamiento B | Desplazamiento C' | Desplazamiento D |
Esto permite una rápida identificación del tipo de programa de radio, en función del país, el área de cobertura y el número de referencia del programa. Si bien el código de país lo especifica la norma, los bits 11 a 0 los especifican las autoridades locales de cada país.
Código PI | Mordisco 0 | Mordisco 1 | Mordisco 2 | Mordisco 3 | ||||||||||||
Significado | Código del país | Área de Cobertura del Programa | Número de referencia del programa | |||||||||||||
Posición de la broca | b15 | b12 | b11 | b8 | b7 | b4 | b3 | b0 |
Los códigos de país se reutilizan, pero solo en regiones geográficamente distantes más allá del alcance de transmisión FM entre sí. Por ejemplo, el código de país F se asigna a Francia , Noruega , Bielorrusia y Egipto . [13] : 71 Los países vecinos nunca tienen el mismo código de país, lo que significa que no es necesario que los códigos PI se coordinen con los países adyacentes.
Esta es una lista breve de todos los tipos de grupos. Cada tipo de grupo puede tener una versión secundaria disponible.
Tipo de grupo | Valor de bit | Versión del mensaje A | Versión del mensaje B |
0 | 0000 | Solo información básica sobre ajuste y conmutación | |
1 | 0001 | Número de elemento del programa y código de etiquetado lento | Número de artículo del programa |
2 | 0010 | Texto de radio | |
3 | 0011 | Identificación de aplicaciones para aplicaciones de datos abiertos | Aplicaciones de datos abiertos |
4 | 0100 | Hora y fecha del reloj | Aplicaciones de datos abiertos |
etc... | etc... |
Esto puede considerarse un bit de tipo de programa adicional e indica que la estación transmite informes de tráfico periódicos . Al incluirlo en cada grupo, un receptor puede buscar rápidamente una estación que incluya informes de tráfico.
Otro bit, el anuncio de tráfico (TA), se envía en los tipos de bloque 0A, 0B y 15B para indicar que se está realizando un informe de este tipo. Es común que los transmisores que normalmente emiten simultáneamente tengan informes periódicos de tráfico local personalizados para cada transmisor. El bit de anuncio de tráfico le indica al receptor que se está realizando una transmisión específica del transmisor y que debe evitar cambiar de frecuencia mientras se está realizando.
(Hay una forma diferente de bit de anuncio de tráfico en el tipo de bloque 14B, que indica la presencia de un anuncio de tráfico en una frecuencia diferente , de modo que los receptores de radio puedan cambiar automáticamente).
Estos son ejemplos no exhaustivos que cubren solo los mensajes simples como el nombre de la estación, el texto de la radio y la fecha/hora.
Versión | Bloque 1: 26 bits | Bloque 2: 26 bits | Bloque 3: 26 bits | Bloque 4: 26 bits | |||||||||||||
Bloque interno | Código PI | Comprobar + Desplazamiento A | Tipo G | B0 | TP | PTY | ejército de reserva | EM | Yo | C1 | C0 | Cheque + Desplazamiento B | Código PI | Comprobar + Desplazamiento C' | Personaje A | Personaje B | Comprobar + Desplazamiento D |
Valor de bit | 16 bits | 0000 | 1 | incógnita | xxxxx | incógnita | incógnita | incógnita | incógnita | incógnita | 16 bits | Caracteres de 8 bits | Caracteres de 8 bits |
Como ya hemos descrito los campos anteriores arriba, estos puntos a continuación muestran solo los campos específicos de la aplicación.
El nombre de la estación y el código de identificación del decodificador se envían progresivamente a lo largo de 4 grupos, donde el desplazamiento está definido por los bits C1 y C0.
Segmento de personaje | Nombre de la estación: | Código de identificación del decodificador: 4 bits | ||||||||||||
C1 | C0 | Compensar | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | A | B | Yo | |||||||||
0 | 1 | 1 | A | B | Yo | |||||||||
1 | 0 | 2 | A | B | Yo | |||||||||
1 | 1 | 3 | A | B | Yo |
Versión A de RadioText | Bloque 1: 26 bits | Bloque 2: 26 bits | Bloque 3: 26 bits | Bloque 4: 26 bits | ||||||||||||||
Bloque interno | Código PI | Comprobar + Desplazamiento A | Tipo G | B0 | TP | PTY | A/B | C3 | C2 | C1 | C0 | Cheque + Desplazamiento B | Personaje A | Personaje B | Comprobar + Desplazamiento C | Personaje C | Personaje D | Comprobar + Desplazamiento D |
Valor de bit | 16 bits | 0010 | 0 | incógnita | xxxxx | incógnita | incógnita | incógnita | incógnita | incógnita | Caracteres de 8 bits | Caracteres de 8 bits | Caracteres de 8 bits | Caracteres de 8 bits |
RadioText Versión B | Bloque 1: 26 bits | Bloque 2: 26 bits | Bloque 3: 26 bits | Bloque 4: 26 bits | |||||||||||||
Bloque interno | Código PI | Comprobar + Desplazamiento A | Tipo G | B0 | TP | PTY | A/B | C3 | C2 | C1 | C0 | Cheque + Desplazamiento B | Código PI | Comprobar + Desplazamiento C' | Personaje C | Personaje D | Comprobar + Desplazamiento D |
Valor de bit | 16 bits | 0010 | 1 | incógnita | xxxxx | incógnita | incógnita | incógnita | incógnita | incógnita | 16 bits | Caracteres de 8 bits | Caracteres de 8 bits |
Como ya hemos descrito los campos anteriores arriba, estos puntos a continuación muestran solo los campos específicos de la aplicación.
El nombre de la estación y el código de identificación del decodificador se envían progresivamente a lo largo de 4 grupos, donde el desplazamiento está definido por los bits C1 y C0.
Segmento de texto | Versión A | Versión B | ||||||||||
C3 | C2 | C1 | C0 | Compensar | Personaje A | Personaje B | Carácter C | Carácter D | Personaje A | Personaje B | Carácter C | Carácter D |
0 | 0 | 0 | 0 | 0 | 1 | 2 | 3 | 4 | La versión B especifica Para qué sirve este campo Identificación del programa Código | 1 | 2 | |
0 | 0 | 0 | 1 | 1 | 5 | 6 | 7 | 8 | 3 | 4 | ||
0 | 0 | 1 | 0 | 2 | 9 | 10 | 11 | 12 | 5 | 6 | ||
... | ... | ... | ... | etc... | ... | ... | ... | ... | ... | ... | ||
1 | 1 | 1 | 1 | 15 | 61 | 62 | 63 | 64 | 31 | 32 |
Versión | Bloque 1: 26 bits | Bloque 2: 26 bits | Bloque 3: 26 bits | Bloque 4: 26 bits | |||||||||||
Bloque interno | Código PI | Comprobar + Desplazamiento A | Tipo G | B0 | TP | PTY | R | R | R | Datos de hora y fecha | Cheque + Desplazamiento B | Datos de hora y fecha | Comprobar + Desplazamiento C' | Datos de hora y fecha | Comprobar + Desplazamiento D |
Valor de bit | 16 bits | 0100 | 0 | incógnita | xxxxx | 2 bits | 16 bits | 16 bits |
Cuando se utilice el tipo de grupo 4A, se deberá transmitir cada minuto según EN 50067.
El grupo de tiempo del reloj se inserta de manera que el borde de los minutos se produzca dentro de ±0,1 segundos del final del grupo de tiempo del reloj.
La hora y la fecha se empaquetan de la siguiente manera:
Datos de hora y fecha | Carga útil del medio bloque 2 | Bloque 3 Carga Útil | Bloque 4 Carga útil | |||||||||||||||||||||||||||||||||||||
Posición del bit de carga útil | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Posición de bit de campo | etc... | Reservado | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 4 | 3 | 2 | 1 | 0 | 5 | 4 | 3 | 2 | 1 | 0 | ± | 4 | 3 | 2 | 1 | 0 | ||||
Descripción | Reservado | Número de día juliano modificado | Horas UTC (0–23) | Minutos UTC (0–59) | Diferencia horaria local |
Nota: La diferencia horaria local se expresa en múltiplos de media hora dentro del rango de −15,5 h a +15,5 h. Se expresa en forma de magnitud con signo , siendo el bit más significativo el bit de "signo de diferencia horaria local" (LOS), 0 = + (al este de Greenwich ), 1 = −.
Las siguientes imágenes ilustran cómo se puede utilizar el RDS en una estación de radio FM. Las primeras tres imágenes muestran la pantalla de la radio portátil Sony XDR-S1 DAB/FM/MW/LW. La segunda y la tercera se tomaron cuando la radio estaba sintonizada en la estación de radio de Nottingham Trent FM .
Empresas como ST Microelectronics , Skyworks Solutions en Austin, Texas y NXP Semiconductors (antes Philips ) ofrecen soluciones de un solo chip que se encuentran en estos dispositivos.