1-Introducción
La monitorización de la señal de televisión es una necesidad que surge desde el mismo momento que la señal está en el aire, convirtiéndose en forma de garantizar un servicio. Tanto con la señal analógica como con la señal digital es preciso tener un control de la calidad de la trasmisión en tiempo real. La televisión digital solo nos impone un cambio de tecnología, pero la necesidad sigue siendo la misma.
Los equipos empleados para las mediciones y seguimiento de las señales de la televisión digital, en su mayoría son equipos multiestándar, es decir que son capaces de caracterizar más de uno de los estándares de televisión digital dígase ATSC (Advanced Television Systems Committee), DVB-T (Digital Video Broadcasting - Terrestrial), ISDB (Integrated Services Digital Broadcasting Terrestrial) y DTMB (Digital Terrestrial Multimedia Broadcast) y sus generaciones. Estos equipos se caracterizan por medir parámetros comunes como son: nivel de potencia, relación señal a ruido (SNR Signal to noise ratio), tipo de modulación (en el caso de detectar la señal digital), EVM (Error Vector Magnitude también conocido por Received Constellation Error RCE), MER (Modulation Error Ratio), BER (Bit Error Rate), máscara espectral, errores de la amplitud y fase de la señal.
En general son pocos los equipos que incluyen la norma DTMB, entre los que podemos mencionar S7000 TV Analyzer [1], DTMB TV Analyzer EA800 [2], DTMB TV Analyzer EA1500 [3], DS2500T CMMB&DTMB [4]. Todos estos equipos están preparados para trabajar en modo portable, ideales para realizar mediciones en exteriores, por lo que incluyen una batería interna que puede durar de 4 a 6 horas. Su punto fuerte es que son equipos pequeños, de poco peso, fáciles de transportar, pero en exteriores no están preparados para largos períodos de conexión.
Otro equipo es el modelo AVQ1020 del fabricante AVATEQ, el cual es un receptor y analizador de señal multiestándar, incluye DTMB. Algunas de las características que posee este equipo son: mediciones de radiofrecuencia, incluida la señal MER/SNR, espectro de frecuencia, ancho de banda de señal y parámetros específicos del estándar, desplazamiento (offset) de frecuencia, y otros. Permite además la visualización de constelaciones, espectro de la señal, registro temporal de SNR/MER/EVM y registro de eventos. El control se puede realizar a través de la interfaz de red Ethernet o puerto serie RS232 [5]. Este equipo presenta un diseño pesado que no posee batería interna por lo que está limitado a trabajar con respaldo energético. Su principal ventaja radica en el control remoto. Está dirigido a la monitorización de los parámetros de la señal de TV digital, por ello dispone de una interfaz web que puede ser accedida de manera remota.
En nuestro país el proveedor de servicios mantiene un seguimiento de la calidad de la señal transmitida con el empleo de 16 centros de monitorización que trabajan las 24 horas y los reportes de la población. Estos centros proveen la información necesaria para la toma de decisiones como por ejemplo: pérdida moméntanea de la recepción de la señal o disminución de alguno de los parematros de la señal, etc., pero no poseen información de los lugares puntales donde se comporta de forma irregular la recepción de la señal y poder realizar un seguimiento o estudio. Esta situación evidencia la conveniencia de aumentar el alcance de los servicios de monitorización de la calidad de la señal transmitida en ubicaciones puntuales. Un despliegue adicional de equipamiento para este propósito constituye un reto, tanto del punto de vista logístico como económico, el cual se encarecería debido a la gran cantidad de emplazamientos que pudieran ser de interés mantener un seguimiento.
Motivados por esta situación, en LACETEL (Instituto de Investigación y Desarrollo de Telecomunicaciones), se dió a la tarea de buscar soluciones más económicas, siendo un caso de estudio el empleo de receptores comerciales de televisión digital.
Desde 2016 en LACETEL se ha venido desarrollado una línea de investigación referente a la monitorización de parámetros asociados a señal de la Televisión Digital. Los resultados de estas investigaciones se han publicado en los artículos [6, 7, 8] y una tesis de maestría [9]. En el 2018 se inició el proyecto “Red de Monitorización de parámetros seleccionados de la señal de Televisión Digital Terrestre”, el cual cuenta con dos soluciones de software para las cajas decodificadoras o STB (Set Top Box). Las soluciones hasta el momento desarrolladas son gracias a un convenio de nuestro instituto con fabricantes chinos de STB, a través del cual le fueron cedidos códigos fuentes de los receptores SOYEA SDP160 y HDP160. Cada modelo fue desarrollado de manera independiente debido a sus características diferentes, tanto en el hardware como en el software.
En [6] se presentan los primeros resultados de las modificaciones al código fuente de las cajas decodificadoras HDP160 y SDP16, centrando la atención en la solución HDP160. Se presentan funcionalidades implementadas para almacenamiento de los parámetros del nivel de señal y relación señal a ruido, creación de las interfaces para su presentación en pantalla y el flujo de trabajo para el procesamiento de estadísticos.
En [7] se aborda la calibración y ajuste de la caja HDP160 para la medición de la potencia de la señal recibida. Luego de realizar una calibración inicial, se analizan los resultados de las mediciones obtenidas para cada canal, se identifica una relación funcional entre los valores, se ajustan las mediciones usando técnicas de regresión matemática y los ajustes obtenidos son incorporados al código.
En [8] se describe la modificación en el código fuente de la caja decodificadora SDP160 de la función de búsqueda de canales, implementando la ejecución automática de dicha función a intervalos periódicos y eliminando todo procesamiento relacionado con la estructura interna de la trama de transporte. En este trabajo se aborda la funcionalidad modificada para el envío de los datos por el puerto serie durante el proceso de búsqueda.
La referencia [9] es la tesis de maestría donde se presentan de todas las modificaciones realizadas al código de la caja decodificadora HDP160 para convertirla en una Herramienta para el análisis de la señal DTMB de los parámetros: nivel de la señal, la relación de bit erróneo y la relación señal a ruido. Registro de eventos adicionados e incorporación del envío por el puerto USB de los parámetros a un dispositivo extraíble conectado.
Ambas soluciones desarrolladas son capaces de realizar un ajuste a los parámetros de nivel de la señal y su relación señal a ruido mostrados, mantener un seguimiento de un canal y mostrar un registro histórico. Actualmente se encaminan los esfuerzos hacia soluciones que le permita ser más flexible, en cuanto la adquisición de parámetros y manejo del hardware.
El objetivo final de este proyecto es lograr desarrollar sensores, ya sea a partir de modificaciones de software de las cajas decodificadoras o con diseños de sensores propios del instituto. Los cuales puedan estar distribuidos convenientemente en las zonas de cobertura cercanos a cada centro transmisor para conformar una red. La información recopilada de ellos puede resultar de gran utilidad en el mantenimiento y optimización continua de la red, permitiendo garantizar una mayor calidad de servicio y minimizar los costos asociados a la operación [1]. El acceso a los datos sensados por las Herramientas SDP160 y HDP160 puede hacerse por tres vías: salida de audio video acoplado a un TV, los ficheros que almacena en la memoria USB conectada y por la interfaz serie.
Esta investigación detalla el proceso de calibración y ajuste de los parámetros de nivel de la señal y relación señal a ruido del equipo SDP160 de la marca SOYEA, así como las modificaciones realizadas al firmware que le confieren funcionalidades para el almacenamiento, visualización y exportación de los datos de los parámetros antes mencionados de la señal recibida. Estas capacidades agregadas lo convierten en una Herramienta de medición que puede ser empleado para el seguimiento y recogida masiva de datos sobre el comportamiento de estos parámetros en el tiempo. Estas modificaciones son las bases y antecedentes del trabajo [8].
2.- Materiales y métodos
El trabajo con el código fuente del STB se realiza con dos programas proveídos por los fabricantes:
GuiDesigner para el diseño de las nuevas interfaces, el cual genera o modifica los ficheros XML (Extensible Markup Languague) de la interfaz.
Source Insight, es un entorno de desarrollo integrado, el cual se emplea para la modificación del código fuente.
El código del STB está fundamentalmente desarrollado en C, aunque se incluyen algunas bibliotecas de C++. La gran mayoría de las funciones están pre-compiladas, siendo solo posible hacer uso de ellas, pero no modificarlas.
Se partió de analizar la estructura del código de la caja decodificadora, detectar las funciones propias del STB que serían de interés (análisis), y luego insertarle las nuevas funcionalidades (síntesis).
La compilación genera un fichero de extensión .dat, el que incluye los cambios y modificaciones realizados al código fuente. Este fichero es copiado a la caja decodificadora empleando el programa GxDownloaderIII V2.123 y una herramienta ISP (In-System Programming) conectada al conector JTAG (Joint Test Action Group) del equipo.
Todas las funciones que se abordan en el artículo fueron adicionadas al código fuente de la caja decodificadora SDP160, en el caso de las funciones de Nivel de señal y SNR utilizan los valores resultantes de funciones implementadas, a los que se le aplican funciones matemáticas.
2.1.- Caja decodificadora SDP 160
Típicamente la mayoría de los STBs o cajas decodificadoras tienen una estructura que contiene un sintonizador, un demodulador, un decodificador, un micro, entre otros. Es un conjunto de componentes que por la complejidad y el funcionamiento lo convierten en una pequeña computadora concebida para un propósito específico, en este caso, la recepción y decodificación de la señal digital.
La caja decodificadora SOYEA modelo SDP160 consta de un SoC (System on Chip) GX3113B del fabricante NationalChip, el cual se encarga de la decodificación de la señal y de todos los servicios asociados [10]. Otro elemento importante es el demodulador DTMB GX1503B también del fabricante NationalChip, el cual implementa un conjunto de técnicas utilizadas para recuperar la información modulada en el extremo transmisor. Presenta cuatro planos de gráficos: color de fondo, imagen fija, video y plano OSD (On screen display). Las funciones de visualización se ubican en el plano de OSD [11].
En la memoria SPI Flash se almacena el bootloader del programa. En la memoria SDRAM se almacena información de audio y video decodificada, así como información de datos de la trama de transporte para ser procesada posteriormente por el microprocesador.
2.2.- Características del estándar DTMB modo 6
El estándar oficial GB20600-2006, más conocido como DTMB, incluye más de 300 modos de trabajo, teniendo en cuenta todas las combinaciones posibles de los parámetros de la transmisión: número de portadoras, tamaño de la cabecera, entrelazado, modulación y corrección de errores (FEC) [14]. De estos 300 modos, el estándar presenta siete modos principales que, aunque no incluyen todas las combinaciones posibles, si contienen cada configuración por bloque funcional [3]. La realización práctica de la prueba de nivel de la señal solo se realizó en el modo 6, de los siete modos principales, teniendo en cuenta que la transmisión de la televisión tanto en definición estándar como de alta definición se realiza en ese modo. Los parámetros de este modo se aprecian en la Tabla 1.
3.- Funciones incorporadas a la caja decodificadora
Se emplearon las bibliotecas implementadas el SoC (APIs GoXceed) en las cuales se incluyen las funciones de bajo nivel para acceder a los parámetros del demodulador y sintonizador, los cuales se encuentren en la capa física. De esta forma, se implementaron funcionalidades para la medición de los parámetros nivel de señal y relación señal a ruido de la señal. Asimismo, se incorporaron funcionalidades en la capa middleware para la visualización de los gráficos, incorporación de ventanas y nuevos eventos con las teclas del control remoto.
3.1.- Función nivel de intensidad
La existencia de la indicación del nivel de la señal en los receptores de TV digital es un requisito de obligatorio cumplimiento, exigido en las resoluciones de las especificaciones técnicas mencionadas emitida por el Ministerio de Comunicaciones [16, 17]. En estos documentos se definió una relación funcional de referencia entre las indicaciones porcentuales mostradas por los equipos y la intensidad de la señal recibida, para la cual se tuvo en cuenta la clasificación de niveles sugerida en la recomendación BT.2035-2 de la UIT-R. Se debe cumplir con mostrar 50% de nivel de la señal en -53 dBm con una pendiente de 1.5%, así como presentar una diferencia de no más del ±10% entre el valor recibido y el mostrado en el receptor [18]. A partir de lo establecido en las resoluciones ministeriales, nuestro Laboratorio elaboró un procedimiento para evaluar los requerimientos en los receptores. En este documento también se establece el umbral de recepción de -86 dBm para los canales de la banda VHF1 (7 al 13 correspondiente a 177-213 MHz) y -84 dBm para los canales de la banda UHF2 (14 al 51 correspondiente a 473-695 MHz) [19].
El correcto comportamiento del indicador de nivel de la señal del equipo receptor es uno de los requerimientos mandatorios, el cual al no cumplirse imposibilitaría la comercialización del producto. En el procedimiento elaborado por LACETEL , se incluyen las mediciones donde se comprueba la variación del indicador de intensidad mostrada en el receptor. Se determinó que la medición entre la curva de respuesta porcentual teórica (Figura 1 curva en azul) y la indicación porcentual real de la muestra (Figura 1 curva en negro) no debe superar una desviación de ±10%. Si el valor promedio de la desviación se encuentra dentro de este rango, el equipo se considera que cumple la prueba. Esta medición se realiza para los canales 10 y 33, los cuales son los canales centrales de los grupos del 7 al 13 y del 14 al 51 respectivamente.
La figura 1 muestra el comportamiento del indicador de nivel de la señal para el caso particular del equipo SDP160 en el canal 33. En el eje de las abscisas se representa el valor de nivel en dBm y en el eje de las ordenadas el indicador de nivel en %. La curva en color azul es la respuesta porcentual teórica o valor esperado. La curva en color negro es el indicador de intensidad mostrado y es un valor porcentual. En color rojo se representa la desviación entre el valor esperado (ideal) y el valor obtenido (real). Para este caso la desviación máxima es de 7%.
En el caso del equipo SDP160 este indicador de nivel esta previamente procesado, es decir, el valor del sintonizador es procesado por una función precompilada, la cual ha linealizado el valor. En el código fuente solo hay menciones a la función extern unsigned int GxFrontend_GetStrength, no es visible su código. Consideramos que este valor debe estar relacionado con el voltaje de salida del sintonizador, que mediante la programación es escalado y para el amplio público el porciento es el más indicado.
Al igual que la función de obtención del indicador de nivel, las funciones para obtener los valores de SNR, BER, tipo de modulación, entre otras, están precompiladas. Es posible obtener el resultado, pero no es visible su lógica. A partir de estudios realizados al código fuente del STB, fueron encontradas las definiciones de estas funciones y comprobados los valores de retorno.
Teniendo del indicador de nivel, como se aprecia en la figura 1 cumple con la característica de ser linealmente proporcional al nivel de la señal introducido al equipo, se realizaron las mediciones para tabular el comportamiento de cada canal. La medición consistió en variar el nivel de la señal de entrada en pasos de 1 dB con equipo BTC (Broadcast Test Center) de Rohde & Schwarz y obtener el indicador de nivel para los canales entre el 7 y el 51 (177 MHz - 695 MHz), de acuerdo con la regulación vigente para la recepción de la TV digital en el país [20].
A los valores tabulados se les aplicaron las técnicas de regresión numérica de Microsoft Excel. La ecuación de regresión permite ver la ecuación de tendencia que mejor se adapte a la información. De esta manera se obtuvieron las funciones polinomiales que mejor se ajustaron al comportamiento de cada curva, con el objetivo de obtener el valor en dBm que hay a la entrada del receptor, para cada canal. La función polinomial general está definida por la ecuación (1).
Donde 𝑎0, 𝑎1 … 𝑎n-1, 𝑎n son números reales que se llaman coeficientes del polinomio y n es el grado del mismo.
En las mediciones se comprobó que un único ajuste no es aplicable a todos los canales. Debido a la dispersión propia del equipo, es necesario realizarle la calibración y el ajuste a cada canal, obteniéndose una ecuación de ajuste para cada uno. En mediciones a diferentes muestras se obtuvo que la dispersión entre ellas no supera el 10%, por lo que se podría afirmar que el ajuste realizado para un equipo, cuando se generalice, estará dentro el rango del 10%.
A modo de ejemplo se muestra la ecuación de tendencia polinomial de tercer orden (2) obtenida a partir del comportamiento del indicador de nivel de la señal para el canal 33 (587 MHz).
Siendo x el indicador del nivel de la señal sensado por el STB y Y el nivel de la señal en dBm.
En general, la metodología seguida consistió en realizar la calibración inicial, la cual consistía en identificar cual era la respuesta real del instrumento y en qué medida estaba alejada del comportamiento deseado. Con esta información, se diseñan las correcciones que deben añadirse al instrumento para manipular esas curvas y acercarlas a las deseadas, esto se conoce como el ajuste del instrumento.
El grado de corrección depende de la exactitud a la que llevemos el ajuste (el grado del polinomio corrector, realizar correcciones personalizadas por canales, por rangos de niveles, etc.). No obstante, este nivel de precisión tiene un límite práctico que debe tenerse en cuenta, más allá del cual no tiene sentido continuar elevando la precisión del ajuste y está dado precisamente por las limitaciones físicas del hardware.
Teniendo las ecuaciones polinomiales de ajuste es posible obtener el nivel de la señal a partir del indicador de nivel. Posteriormente, se programaron funcionalidades para registrar este valor, permitiendo realizar un seguimiento del nivel de la señal.
Para ello se definieron tres arreglos a nivel de software, dos de 60 posiciones (SEGUNDO y MINUTO), para almacenar los valores de cada segundo y los promedios de cada minuto y otro de 24 posiciones (HORA), para almacenar los promedios de cada hora durante el intervalo de 1 día. Se incorporó un temporizador de referencia para determinar las horas de trabajo de la Herramienta. Este temporizador se emplea como base de tiempo local para generar los promedios para los diferentes registros. Como la sintonización del equipo es manual, la función convierte_valor_dBm (Figura 2) inicia determinando si hay un canal sintonizado y seguidamente obtiene el indicador de nivel de la función extern unsigned int GxFrontend_GetStrength(). Después determina cuál canal ha sido sintonizado para aplicar la función matemática correspondiente. El resultado es el valor de nivel en dBm el cual es almacenado en una variable y visualizado en la pantalla.
El valor de intensidad de señal en dBm es registrado cada 1 segundo y almacenado en el arreglo SEGUNDO. Luego de transcurrido 1 minuto, los 60 valores del registro se promedian y el resultado se almacena en el registro MINUTO, donde se almacenan los niveles promedio de los últimos 60 minutos. Transcurridos 60 min (1 Hora) se promedian los valores del registro y el resultado se almacena en el registro HORA, correspondiente al registro de las horas.
Después de incorporar las funciones para el ajuste del valor de nivel de la señal en el código fuente de la STB se realizó una segunda calibración. En la figura 3 se muestra la gráfica de la dispersión en 5 canales después de realizado el ajuste del instrumento para todos los canales. El valor máximo es de ±4% con respecto al valor esperado que es insertado en la caja decodificadora.
Para determinar la variación porcentual de 4% en dB, según la relación funcional de referencia, basta conocer la pendiente. Sabiendo que el nivel de -86 dBm debe coincidir con 0% y que -53 dBm debe ser el punto medio, o sea, 50%. De esta forma, 50/33 es la pendiente de la curva y específicamente los valores 50 y 33 significan que para una variación de 50% debe haber una variación de 33 dBm (86-53).
Despejando ΔdB tendríamos, ΔdB = (33/50) ∗ Δ%. Aplicando esta relación funcional (3) se obtiene que, una variación de 4% en el valor de nivel obtenido es el resultado de una variación de 2.64 dB en el nivel de la señal. Por tanto, si en el receptor se obtuvo 30% de intensidad y según la relación funcional de referencia aplicada al valor real en dBm que se estaba generando en ese momento, debía haber 34% (4% de diferencia), esto significa que el valor real en dBm que estaba midiendo el receptor en ese momento estaba desviado del real en 2.64 dB.
Como resultado se programaron las funciones para trabajar con el parámetro de nivel de la señal, convierte_valor_dBm(), guardar_valor_dBm_seg(), guardar_valor_dBm_min() y guardar_valor_dBm_hora(). Estas se ubican en el fichero historial_dBm.
Para la representación gráfica de la información se programaron funciones de recorrido y trazado en pantalla basadas en el algoritmo de Bresenham [21]. El gráfico es seleccionable mediante el control remoto del STB y mostrado en una interfaz (ventana) diseñada y añadida al código fuente con este propósito.
Las interfaces adicionadas se programan en el nivel OSD y se dividen en dos ficheros: un XML, donde se determina la posición de los componentes, y un fichero fuente app.c, donde se define el comportamiento de la ventana cuando es abierta y desde donde son llamadas las funciones antes mencionadas. Las interfaces visualizadas en una pantalla acoplada a la caja decodificadora.
En el fichero historial_dBm también incorpora un temporizador count_global()que computa las horas de trabajo de la Herramienta. Este temporizador se emplea como base de tiempo local para generar los diferentes registros, independiente a la información de tiempo obtenida de la señal de televisión digital. Fue ubicado en la ventana REPORTE DE SEÑAL debido a que es la ventana principal de las mediciones, desde donde se puede acceder a las otras ventanas que han sido diseñadas e incorporadas a la Herramienta como parte de este proyecto. Esta interfaz dispone de la tecla [-/-] en el control remoto para su acceso directo.
3.2.- Función relación señal a ruido
El modo 6 de DTMB requiere de un SNR cercano a los 15 dB para la correcta demodulación de la señal para un ancho de banda de 8 MHz [23]. En artículos posteriores se demostró que el valor de SNR mínimo necesario para la correcta recepción de DTMB en el modo 6 es entre 14 y 15 [22]. La razón de la diferencia radica en el ancho de banda, de manera que al reducir el ancho se reduce también el ruido del canal y mejora ligeramente el umbral.
Para la medición de la calibración se decidió establecer una relación entre ese valor de SNR en dB y el indicador de calidad en por ciento, ambos mostrados por el STB de la interfaz Información de señal. Las mediciones consistieron en generar una señal con el Broadcast Test Center (BTC) de Rohde & Schwarz con valor constante de nivel de la señal y variar el valor de SNR entre 0 dB y 40 dB a intervalos de 1 dB para tomar el valor de calidad. La prueba se realizó para todos los canales entre el 7 y el 51.
La gráfica de la figura 4 es la medición de los valores de SNR para el canal 33, donde la curva en color rojo representa el valor de SNR de referencia o esperado, el cual es generado desde el BTC. La curva en color azul representa el SNR medido por el STB. En el intervalo de 0 a 13 dB de señal de referencia el STB muestra 0 dB, el intervalo de 14 a 25 dB se muestra similar al esperado, mientras que el rango de 36 a 40 dB se presenta variable sin llegar a 40 dB.
La medición de calidad se presenta en las gráficas de la figura 5 a y b. La curva en color azul (Figura 5a) representa el comportamiento del indicador de calidad proporcionado por el STB. La curva en color rojo (Figura 5b) representa el indicador de calidad que propone LACETEL para su incorporación en el procedimiento para evaluar los requerimientos en los receptores, aún en estudio.
Durante el proceso de calibración se confirmó que para cualquiera de los niveles de la relación señal a ruido por debajo del umbral (Figura 5a), no se recibe ninguna señal útil y la calidad varía de 0 a 60% mostrada por la caja decodificadora. En el intervalo de valores de 13 a 22 dB de la señal de referencia el STB muestra de 60 a 100% de calidad. Para los valores de 23 a 40 dB de la señal de referencia, límite del instrumento de calibración, el STB muestra 100% de calidad.
El tratamiento implementado por la caja decodificadora al indicador de calidad no se considera correcto debido a que asigna el valor de 60% de calidad al mínimo valor de SNR dejando de usar la mitad del rango. Este indicador de calidad debiera abarcar la totalidad del rango, iniciando en 0% con el umbral de SNR.
LACETEL propone un concepto diferente de calidad, la cual debiera estar vinculada con la capacidad de los receptores de corregir los errores de la señal. Si una señal llega sin errores la calidad sería 100% y la capacidad correctora de errores del equipo se mantendría intacta. Si al contrario llegaran más errores de lo que el equipo es capaz de corregir el indicador de calidad debería ser 0%. El comportamiento de la calidad esperado para el rango de 14 a 25 dB máximo se grafica en la figura 5b. El valor máximo permisible aún está en estudios, y se prevé definición en una futura actualización de la resolución. La intención es que el indicador de la calidad sea un valor verificable y pueda ser empleado como una medida de cuán mal o bien está el sistema de recepción.
De las mediciones se estableció que el rango de trabajo del SNR de la Herramienta sería de 14 a 25 dB, dado que presenta un comportamiento lineal en ese rango, correspondiendo 25 a 100% de calidad.
Seguidamente se procedió a realizar el ajuste del parámetro con la obtención de la ecuación de tendencia que más se ajustara, en ese caso se obtuvieron ecuaciones lineales. Para cada canal se definió una ecuación de ajuste que solo se aplica a los valores del rango antes mencionado, a modo de ejemplo se muestra la ecuación (4) para el canal 33 (587 MHz).
Siendo x el valor de SNR sensado por el STB y Y el valor corregido.
Una vez obtenidas las ecuaciones matemáticas, se programó una función que obtuviera y ajustara el valor de SNR. Esta función, con la información del número del canal, se le efectúa la ecuación matemática correspondiente al valor SNR y el resultado lo almacena una variable. Al igual que se procedió con el parámetro del nivel se señal, para guardar los valores se definieron tres arreglos a nivel de software.
Dos de 60 posiciones (SEGUNDO_SNR y MINUTO_SNR), para almacenar los valores de cada segundo y los promedios de cada minuto y otro de 24 posiciones (HORA_SNR), para almacenar los promedios de cada hora durante el intervalo de 1 día.
El diagrama de flujo de la función para la obtención y corrección se muestra en la figura 6. Inicia detectando si hay canal sintonizado, de ser positivo obtiene el valor de la función externa int GX1503_Get_SNR(). Si el valor obtenido se encuentra en el rango comprendido entre 14 a 25 dB, se corrige empleando la ecuación correspondiente al canal en que se encuentra. Si el SNR es superior a 25 dB no resulta de interés y la Herramienta mostrará “> 25 dB”. En caso de que el valor de SNR sea menor que 14 dB, la Herramienta mostrará “<14 dB”.
Se incorporó la API historial_SNR, donde se concentran las funciones que trabajan con el parámetro SNR. Ahí se ubica la función fun_valor_snr que toma el valor SNR de la función externa nombrada extern int GX1503_Get_SNR, realiza las comparaciones y el valor obtenido es almacenado en el búfer SEGUNDO; esta función de ejecuta cada 1 segundo. Después, se realiza un proceso de promedios en el tiempo similar al del parámetro Nivel de señal, obteniéndose los búferes MINUTO y HORA.
Como resultado se programaron las funciones que trabajan con el parámetro SNR: convierte_valor_SNR(), guardar_valor_SNR(), guardar_valor_SNR_mint()y guardar_valor_SNR_hora(). Estas se ubican en el fichero historial_snr.
Después de incorporar las funciones de ajustes en el código fuente de la Herramienta se realizó una segunda calibración, mostrando una variación máxima de 2%.
Sabiendo que el nivel de 14 dB coincide con 56% y que 25 dB coincide con 100%, el punto medio sería aproximadamente 78%. Para determinar a qué variación porcentual correspondería una variación de 2% en dB, según la relación funcional de referencia (5), basta conocer la pendiente. De esta forma, 78/19.5 es la pendiente de la curva, para 78% debe haber una variación de SNR de 19.5 dB.
Despejando ΔdB tendríamos, ΔdB = (19.5/78) ∗ Δ%. Aplicando esta relación funcional, se obtiene que, una variación de 2% en el valor de SNR obtenido es el resultado de una variación de 0.5 dB. Podemos concluir que el error en la medición del valor SNR de la Herramienta después del ajuste es de ± 0.5 dB.
3.3.- Función máximo y mínimo de nivel de señal y SNRsnr
Con la intención de obtener un registro exhaustivo del comportamiento de la señal, se implementaron las funciones Máximo y Mínimo para detectar los picos y caídas de los valores medidos. Estas funciones toman los registros de 60 minutos y 24 horas de los parámetros nivel de señal y SNR generados por las funciones anteriores y realizan una búsqueda de los valores máximo y mínimo a partir de comparaciones, tomando por valor inicial de comparación el primer valor del registro. Estos valores se muestran en forma de tabla y se visualizan en la interfaz REPORTE Max & Min (Figura 9).
3.4.- Función registro de eventos
El desvanecimiento puede causar una disminución en el rendimiento de los sistemas de comunicación y radiodifusión porque da como resultado la pérdida de nivel de la señal, lo que reduce la relación señal a ruido. Incluso puede causar una falla temporal de la capacidad de recepción debido a una caída severa del SNR. Los sistemas de comunicación a menudo están diseñados para adaptarse a tales deficiencias, pero el desvanecimiento puede cambiar más rápido de lo que se pueden hacer las adaptaciones. La caja decodificadora está concebida como un receptor, no como un instrumento de medición, de manera que su diseño está orientado a minimizar el desvanecimiento, no a observarlos. Es posible que la respuesta de la caja decodificadora esté limitada por el filtro pasa bajos que se ubica a la entrada del AGC (Automatic Gain Control). Este filtro impide que el AGC oscile e impone la velocidad de reacción en el demodulador. El AGC funciona disminuyendo las fluctuaciones de la señal, de manera que estará actuando sobre el desvanecimiento.
Muchas veces sucede que se está viendo la señal y de momento se pierde, eso significa que hubo un desvanecimiento tan rápido que el AGC no fue capaz de seguirlo para ajustar el valor de ganancia de entrada y así prevenir la pérdida de la señal. Ésta puede ocurrir por dos condiciones, por insuficiente nivel de la señal o insuficiente SNR, cualquiera de los dos casos imposibilita la recepción adecuada.
Teniendo en cuenta la limitante de los STB para poder reaccionar ante los desvanecimientos rápidos se propuso que la Herramienta mantuviera un seguimiento de los desvanecimientos lentos. Estos desvanecimientos oscilan sobre los 3 dB, valor que se tomó de referencia para realizar la detección de los cambios abruptos en el nivel de la señal. En el caso del valor de SNR se tomó 2 dB, por presentar un rango menor que va desde 14 a 25 dB. Se propuso que la detección de los eventos que caracterizan el comportamiento de la señal se realizaran cada 30 segundos, siendo este valor de tiempo suficiente para detectar los desvanecimientos lentos.
Las condiciones antes vistas dieron lugar a la definición de 6 tipos de eventos que caracterizan el comportamiento de la señal:
Los eventos “Pérdida” y “Retorno de la señal” se registran cuando el STB deja de recibir señal y cuando la recupera. En el evento de pérdida se identifica si sucedió por diminución del valor de nivel o disminución del valor de la relación señal a ruido.
El evento “Variación brusca del nivel de la señal”, ocurre cuando el valor de nivel detectado varía al menos 3 dB durante la última marcación de tiempo de 20 segundos.
El evento “Variación brusca del nivel de SNR”, ocurre cuando el valor SNR detectado varía al menos 2 dB durante la última marcación de tiempo de 20 segundos.
El evento “Alerta por disminución del SNR”, se registra cuando el valor de SNR detectado se encuentra entre 15 dB y 18 dB.
El evento “Alerta por disminución del nivel”, se registra cuando el valor del nivel de la señal detectado se encuentra entre -86 y -80 dBm para los canales del 7 al 13 y entre -84 y -80 dBm para los canales del 14 al 51.
Las alertas se mantienen activas mientras existan las condiciones que les dieron origen.
Para almacenar los eventos se definió una matriz de 3 columnas. En la primera columna se guarda la fecha de ocurrencia del evento en formato [Día de la semana, día/mes/año Hora (AM/PM)], en la segunda el tipo de evento y en la tercera columna el canal muestreado. El tamaño de la matriz por el momento se definió de 3000 eventos diarios, sin embargo, cuando la Herramienta se someta a evaluación por largos períodos de prueba se determinará si es necesario aumentar o no esta cantidad.
La función que gestiona los eventos y los almacena se llama crea_registro() y se ayuda de las funciones cambios_bruscos_dBm() y cambios_bruscos_snr() para determinar las variaciones del nivel de la señal y el valor SNR respectivamente.
3.5.- Función exportar ficheros de texto
Dada la poca capacidad de almacenamiento del equipo, fue incorporada la función de exportar los datos generados a un fichero de texto en una unidad de almacenamiento extraíble. Para ello fueron incorporadas las funcionalidades que intervienen en el proceso de exportación de los datos generados a un fichero de texto en una unidad de almacenamiento extraíble. Estas funciones para exportación se ubican en el fichero app_archivo_exprt.c, y solo se ejecutan cuando el STB tiene conectado un dispositivo de almacenamiento al puerto USB. En caso que la función no detecte un dispositivo USB conectado al STB, concluye el proceso y no realiza la operación.
Para organizar la información que se crea el directorio /ReporteSDP en la raíz del dispositivo, donde se almacenan los nuevos documentos. Se definieron dos tipos de ficheros: ficheros con los valores de nivel de la señal y SNR y fichero de reporte de eventos.
Reporte de Nivel y SNR Con esta opción se obtienen las salvas del comportamiento de los parámetros de la señal de manera independiente, dándole la facilidad al operador de controlarlo. Para ello se definió que, mediante el empleo de los botones rojo y azul del control remoto, es posible iniciar o detener la salva de los valores desde la interfaz (Figuras 8a) y 8b). En pantalla se visualiza el estado del proceso y es posible salir de la interfaz sin interrumpirlo. Cada minuto se guardan en el fichero la hora y el número del canal correspondiente y los 60 valores del registro de SEGUNDO del parámetro seleccionado. El nombre del documento sigue el patrón [AAAAMMDD]_Report_dBm(snr).txt, donde AAAA corresponde al año, MM corresponde al mes y DD corresponde al día.
Reporte de Eventos Se previó la posibilidad de que la Herramienta de forma automática realice la salva del registro de eventos una vez al día. Sin embargo, esto no es factible para el operador debido a que tendría que esperar todo un día para revisar los reportes. Se definió entonces la opción de guardar reportes con la intervención del operador, estableciéndose así la exportación manual y la automática. La exportación manual ocurre al acceder a la interfaz de Registro de Eventos y presionar la tecla OK del control remoto. Se muestra en pantalla una interfaz de confirmación en la que se acepta o no la ejecución de la función. Una vez confirmada la acción se crea/modifica el directorio /ReporteSDP en la raíz del dispositivo, y seguidamente se crea un fichero de texto cuyo nombre sigue el patrón [AAAAMMDD]_EventReport[XX].txt. En él se guardan todos los elementos del registro de eventos que han sido creados hasta ese momento. El nombre del fichero presenta dos números al final pertenecientes a un contador, el cual indica la cantidad de veces que se ha realizado una salva manual del registro de eventos y evita que se sobrescriban los ficheros. El fichero de texto contiene un encabezado con la fecha de creación del fichero, la frecuencia central del canal, el número del canal, el nivel de la señal, el valor de SNR del instante que se generó el fichero y los eventos, como se muestra en la figura 10b.
La exportación automática (Figura 7) consta de dos partes, en la primera se realizan las operaciones necesarias para identificar la hora determinada y en la segunda se realiza la exportación el fichero hacia un dispositivo de memoria USB. Esta función se ejecuta inicialmente a los 5 minutos de encendido el STB, tiempo suficiente para que el equipo esté sintonizado en un canal y pueda acceder a la hora. Se definió la hora 11:59 pm de cada día para realizar la salva automática, aunque este valor puede ser modificable. Como se aprecia en la figura 7 la función es ejecutada por un temporizador que es recargado a medida que se realizan las comparaciones. Transcurrido los primeros 5 minutos se toma el valor de los minutos de la hora de la señal y se compara con 59. El tiempo restante es la recarga del temporizador, de manera que cuando se vuelva a ejecutar la función sean los 59 minutos. En la segunda iteración se compara con el valor de la hora de la señal, de igual manera el resultado es la recarga del temporizador. En la tercera iteración se obtiene el período del día, si el valor es AM el temporizador es recargado con 12 horas. En la cuarta iteración deben ser las 11:59 pm, en cuyo caso la recarga del temporizador es 24 horas, garantizando de esta forma que el proceso se ejecute una vez al día.
A continuación, se detecta si hay un dispositivo conectado, de ser afirmativo, crea o modifica el directorio raíz. Seguidamente se crea el fichero, en el cual se almacena toda la información que se encuentra en el registro de eventos y se procede a borrarlo. A diferencia de la salva manual, en la exportación automática se borra el registro, preparándolo así para almacenar los datos del próximo día. Para diferenciar el fichero de la exportación automática se genera con un nombre diferente, siguiendo el patrón [AAAAMMDD]_AutoSaveFile.txt.
Este fichero no tiene riesgo de sobrescribirse porque solo se realiza una vez al día y en el nombre contiene la fecha.
La segunda parte de la función es similar a la función de guardar fichero manual, a excepción que se almacena el arreglo de eventos completo, y después se borra el arreglo. En este caso no se visualiza el mensaje de error o de éxito de la operación.
4.- Resultados
Fue desarrollada una API para cada uno de los parámetros analizados en esta investigación: nivel de señal y relación señal a ruido. En estas se incorporaron las funcionalidades de adquirir el valor y almacenarlo. Las figuras 8 (a y b) muestran las interfaces adicionadas para la visualización de los valores de Nivel y de SNR respectivamente.
En la interfaz de Reporte de señal (figura 8a) se visualizan los valores resultantes de las funciones que obtienen y ajustan el nivel de la señal, así como las funciones que almacenan los valores en los diferentes registros. Consta de 4 secciones identificadas con los recuadros de color rojo que han sido enumerados en la figura 8a. La sección número 1 muestra la información de nivel de la señal registrado en la última marcación de tiempo de un segundo; el nivel de la señal promedio de los registros de la última marcación de tiempo de un minuto, la frecuencia central del canal sintonizado y el número del canal. En la sección número 2 se muestra el valor del nivel de intensidad de la señal recibida en forma de gráfico con la opción de seleccionar uno de tres períodos de tiempo posibles (60 segundos, 60 minutos y 24 horas en curso). Para la representación gráfica de la información se programaron funciones de recorrido y trazado en pantalla. El gráfico a representar se selecciona mediante las flechas ◄► del control remoto. La sección 3 es el espacio dedicado a la activación/desactivación de la función que permite almacenar el registro SEGUNDO del nivel de la señal en una memoria USB cada un minuto. La sección número 4 muestra el temporizador que registra las horas de trabajo de la Herramienta, y solo es visible en esta interfaz.
Interfaz Reporte SNR muestra el comportamiento en el tiempo de la relación señal a ruido, la cual consta de 3 secciones delimitadas mediante los recuadros rojos que han sido enumerados en la figura 8b. La sección número 1 muestra la información del valor de SNR registrada en la última marcación de tiempo de un segundo, que en el caso mostrado en la figura 8b es superior a 25 dB. Se incluye también el valor de SNR promedio de los registros de la última marcación de tiempo de un minuto, la frecuencia central del canal sintonizado y el número del canal. En la sección 2 se muestra el valor de SNR en forma de gráfico para el intervalo de tiempo de 60 minutos. La sección 3 es el espacio dedicado a la activación/desactivación de la función que permite guardar en una memoria USB el registro SEGUNDO del parámetro SNR cada un minuto.
La interfaz de Reporte de Señal (Figura 8a) tiene un acceso directo presionando la tecla -/- de control remoto, desde esa misma interfaz, mediante las teclas Pag+ y Pag- del control remoto se puede acceder las interfaces Reporte SNR y Reporte Max & Min.
La interfaz Reporte Max & Min consta de 2 secciones delimitadas mediante los recuadros en color rojo enumerados en la figura 9. La sección número 1 muestra la información de BER de la medición realizada en la última marcación de tiempo de un segundo, la frecuencia central del canal sintonizado y el número del canal. Este parámetro no incluye por el momento ningún procesamiento adicional, siendo el que se presenta en la interfaz Información de señal original de la caja decodificadora. En la sección 2 se destaca en color amarillo la información de los valores promedios, mínimos y máximos de la última hora y 24 horas del valor de nivel de la señal. En color negro se destaca la misma información del valor SNR.
Se desarrolló una API que trabaja con las funciones de guardar en memoria: salva automática de los eventos a una hora específica y limpieza del registro, salva manual del registro de eventos y salva cada un minuto de los parámetros.
La interfaz Reporte Registro de evento consta de 3 secciones delimitadas mediante los recuadros en color rojo enumerados en la figura 10a. En la sección 1 la fecha y hora, en la sección 2 el tipo de evento y en la sección 3 el canal al que se le está haciendo el seguimiento. En esta interfaz se visualizan simultáneamente solo los diez primeros eventos del registro, presionando la tecla OK, es posible realizar la salva del fichero de registro de forma manual.
La figura 10b muestra el fichero de texto obtenido de una salva manual con todos los eventos registrados hasta ese momento.
Los datos recopilados por la Herramienta en 24 horas para el parámetro de nivel de la señal ocupan 1.03 MB y para SNR 891 kB, lo cual hace un total de 1.90 MB. En caso que la Herramienta trabaje 30 días serían 57 MB, de manera que con una memoria de 1 Gigabyte se garantiza un correcto funcionamiento.
En el artículo [7] se hace referencia a la exactitud del nivel de potencia obtenido con distintos modelos de instrumentos de medición portátiles profesionales, los cuales se listan en la Tabla 2.
Fabricante | Equipo | Exactitud del nivel de potencia |
---|---|---|
Deviser | DS2800 Spectrum Analyzer | < ±1.5 dB |
Deviser | S7000 TV & Satellite Analyzer | < ±2.0 dB |
R&S | ETH Handheld TV Analyzer | < ±1.0 dB |
Considerando que tras los ajustes de la Herramienta descrita en este trabajo se obtuvo una desviación máxima para el nivel de señal de ± 3 dB y para la relación señal a ruido de ± 1 dB, se observa que los valores de exactitud especificados para estos equipos no distan mucho a los resultados obtenidos. Aunque no se pretende alcanzar las especificaciones técnicas y el desempeño de un instrumento de medición profesional, estos resultados demuestran que la Herramienta desarrollada ofrece un grado aceptable de fiabilidad para los propósitos y entornos en que se prevé su empleo.
5.- Conclusiones
Se realizaron las correcciones y ajustes a los parámetros de nivel de la señal y SNR, a partir de funciones incorporadas al código fuente que toman los valores de los directamente del sintonizador y corrigiéndolos, de manera que se obtuvo una exactitud del mismo orden de los que poseen instrumentos de medición mostrados en la Tabla 2. Estos parámetros son empleados por la Herramienta para mantener un seguimiento en tiempo real de la señal de Televisión Digital Terrestre.
Se adicionaron interfaces al código fuente del receptor SOYEA modelo SDP160 para visualizar los parámetros corregidos y los valores máximos y mínimos de los mismos en intervalos de tiempo de 60 minutos y 24 horas. Se adicionó la funcionalidad de exportar a un dispositivo de almacenamiento extraíble los datos, creando un registro de sucesos que puede servir de soporte a la toma de decisiones por parte de su operador.
El conjunto de estas modificaciones conforma la solución firmware LCTSDP160A, la cual se entregó bajo licencia a la división de RadioCuba Mayabeque. Ellos por un periodo de dos años la pusieron en explotación, empleándola como instrumento de medición en casas de usuarios que planteaban tener problemas de recepción, para hacer seguimiento de un canal específico para comprobando la estabilidad de uno de sus transmisores. Como resultado de sus experiencias y observaciones se consideró desarrollar una segunda versión, que mantuviera el seguimiento de más canales y de los parámetros de la modulación, así como incorporar envío de los datos por el puerto serie.
Se puede definir esta solución como un instrumento aislado que permite dar seguimiento a parámetros específicos de la señal de TV digital de un solo canal, sin embargo, para un futuro desarrollo se trabaja en una tercera versión que incorpora la medición y almacenamiento del parámetro de Bit Error Rate (BER) y la posibilidad conexión en red de datos para su gestión y envío de la información, evitando el empleo de una memoria para almacenar los datos recopilados. El objetivo de estas soluciones, es que contribuyan, como un elemento más en el despliegue y supervisión del servicio de TV digital en Cuba.
La solución que se presenta en este artículo está registrada en el CENDA y disponible bajo licencia.