ES2821048T3 - Procedimiento de atenuación para comunicaciones con luz visible - Google Patents

Procedimiento de atenuación para comunicaciones con luz visible Download PDF

Info

Publication number
ES2821048T3
ES2821048T3 ES17845554T ES17845554T ES2821048T3 ES 2821048 T3 ES2821048 T3 ES 2821048T3 ES 17845554 T ES17845554 T ES 17845554T ES 17845554 T ES17845554 T ES 17845554T ES 2821048 T3 ES2821048 T3 ES 2821048T3
Authority
ES
Spain
Prior art keywords
signal block
clv
attenuation value
pulse
time intervals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17845554T
Other languages
English (en)
Inventor
Dong Wei
Shun Lou
Chen Gong
Nan Wu
Zhengyuan Xu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2821048T3 publication Critical patent/ES2821048T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/19Controlling the light source by remote control via wireless transmission
    • H05B47/195Controlling the light source by remote control via wireless transmission the transmission using visible or infrared light
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/116Visible light communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/516Details of coding or modulation
    • H04B10/524Pulse modulation

Abstract

Un procedimiento implementado por un dispositivo de comunicación con luz visible, CLV, (104), que comprende: a) determinar, mediante un procesador (230) del dispositivo CLV, una tasa de transmisión normalizada para transmitir datos utilizando un bloque de señales que tiene una pluralidad de combinaciones diferentes de n intervalos de tiempo en el bloque de señales y w intervalos de tiempo con un pulso a transmitir durante el bloque de señales, donde la tasa de transmisión normalizada es una cantidad de datos que se transmite por un solo pulso durante el bloque de señales que tiene los n intervalos de tiempo; b) determinar (705), por el procesador, los n intervalos de tiempo para el bloque de señales en base a un valor de atenuación y la tasa de transmisión normalizada, el bloque de señales especifica una duración de tiempo predeterminada y el bloque de señales se divide igualmente en n intervalos de tiempo, especificando el valor de atenuación una intensidad de luz que debe emitir una fuente de luz (102); c) determinar (710), por el procesador, los w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales en función del valor de atenuación, la tasa de transmisión normalizada y un patrón de pulsos indicando una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo; y d) determinar (715), por el procesador, una palabra de código basada en n y w, la palabra de código correspondiente al patrón de pulsos.

Description

DESCRIPCIÓN
Procedimiento de atenuación para comunicaciones con luz visible
ANTECEDENTES
Los avances recientes en la iluminación por estado sólido han permitido que las fuentes de luz cambien a diferentes niveles de intensidad de luz a un ritmo lo suficientemente rápido como para ser imperceptible al ojo humano. Las fuentes de luz pueden ser cualquier diodo de luz capaz de emitir diferentes intensidades de luz a lo largo del tiempo, como LED, luces fluorescentes o luces incandescentes. Esta funcionalidad se puede utilizar para iluminación, valor estético y comunicaciones con luz visible (CLV) donde los datos se codifican en la luz emisora de diversas formas. CLV es un procedimiento de comunicación de datos que implica modular la intensidad de la luz emitida por una fuente de luz. Los mecanismos de control de atenuación controlan la intensidad luminosa de la luz emitida por la fuente de luz. En CLV, una fuente de luz está configurada para producir una señal que comprende datos modulados en forma de luz emitida por la fuente de luz. La señal incluye uno o más bloques de señales que definen un período de tiempo predeterminado durante el cual se modulan los datos.
En la técnica anterior, se puede hacer referencia a los siguientes documentos para obtener más información sobre la tecnología de base de la presente invención:
D1 US 2015/147069 A1 (BRANDT-PEARCE MAITE [US] Y COL) 28 Mayo 2015 (2015-05-28)
D2 GANCARZ JOHN Y COL: "Impact of lighting requirements on VLC systems", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 51, no. 12, 1 Diciembre 2013 (2013-12-01), págs. 34-41, XP011534245, ISSN: 0163-6804, DOI: 10.1109/MCOM.2013.6685755 [recuperado en 2013-12­ 16]
D3 KWONHYUNG LEE Y COL: "Modulations for Visible Light Communications With Dimming Control", IEEE PHOTONICS TECHNOLOGY LETTERS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 23, no. 16, 1 Agosto 2011 (2011-08-01), págs. 1136-1138, XP011336157. ISSN: 1041-1135, DOI: 10.1109/LPT.2011.2157676
El documento D2 describe esencialmente un procedimiento y un dispositivo para la comunicación con luz visible con una técnica adaptable que ajusta una modulación basada en factores como potencia real transmitida, ancho de banda de modulación, limitaciones de ruido e interferencia, así como control de retroalimentación en lazo cerrado. Un esquema adaptable particular se produce en regímenes de alto ruido. Aquí, el ruido de disparo puede ser relativamente grande en comparación con la intensidad de la señal (SNR bajo) dependiendo de las condiciones ambientales, como los ajustes de atenuación impuestos al usuario, la luz solar natural de una ventana o la luz de otras luminarias. D2 también describe el uso de MPPM donde un símbolo se divide en un número predeterminado de n intervalos, llamados chips. Se generan palabras de código (n, w) que incluyen un peso w. Los documentos D1 y D3 describen técnicas de transmisión similares.
Como se explicó anteriormente, CLV es sustancialmente inmune a los problemas de interferencia y no interferencia electromagnética asociados con los sistemas de radiofrecuencia (RF). CLV proporciona un nivel adicional de seguridad al permitir que un usuario vea la transmisión de datos a través del canal de comunicación. Otro beneficio de CLV es que aumenta y complementa los servicios existentes (como iluminación, visualización, indicación, decoración, etc.) de las infraestructuras de luz visible existentes. El objetivo de la presente invención es proporcionar un procedimiento mejorado implementado por un dispositivo CLV y un dispositivo CLV mejorado y, en particular, proporcionar tal procedimiento y tal dispositivo que puede cambiar un bloque de señales para controlar la atenuación mientras maximiza una tasa de transmisión normalizada. Este objetivo se resuelve mediante las reivindicaciones independientes adjuntas y en las reivindicaciones dependientes se enumeran otras realizaciones ventajosas y mejoras de la presente invención. A continuación, antes de llegar a una descripción detallada de las realizaciones de la invención con referencia a los dibujos, se enumeran a continuación algunos aspectos de la invención que contribuyen a la comprensión de la invención. Sin embargo, cabe señalar que la invención está definida por las reivindicaciones adjuntas y las realizaciones que no están cubiertas por estas reivindicaciones también deben entenderse como aspectos y ejemplos que simplemente contribuyen a la comprensión de la invención.
RESUMEN
Por lo tanto, en un aspecto, la descripción incluye un procedimiento implementado por un dispositivo CLV, que comprende determinar, mediante un procesador del dispositivo CLV, n intervalos de tiempo para un bloque de señales basado en un valor de atenuación, especificando el bloque de señales una duración de tiempo predeterminada y el bloque de señales se divide igualmente en n intervalos de tiempo, con el valor de atenuación especificando la intensidad de la luz que debe emitir una fuente de luz, determinando, por el procesador, w pulsos que se transmitirán durante una o más de los n intervalos de tiempo del bloque de señales basado en el valor de atenuación y según un patrón de pulsos que indica una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo, determinando, por el procesador, una palabra de código basada en n y w, la palabra de código correspondiente al patrón de pulsos. En algunas realizaciones, la descripción comprende además la determinación, por el procesador, de n y w basándose en una tasa de transmisión normalizada del bloque de señales con n intervalos de tiempo y w pulsos. En algunas realizaciones, la descripción incluye además la determinación, por el procesador, de una pluralidad de palabras de código para el valor de atenuación basado en n y w, donde la pluralidad de palabras de código se determina de una manera para maximizar una distancia de Hamming mínima entre cada par de la pluralidad de palabras de código en el libro de códigos, y donde la pluralidad de palabras de código se determina para minimizar un número de pares de la pluralidad de palabras de código que tienen la distancia de Hamming mínima. En algunas realizaciones, la descripción incluye además donde el valor de atenuación corresponde sustancialmente a w/n, y/o donde el valor de atenuación está entre (w-1)/n y w/n. En algunas realizaciones, la descripción incluye además determinar una primera pluralidad de palabras de código y una segunda pluralidad de palabras de código para el valor de atenuación, donde la primera pluralidad de palabras de código se basa en n y w, y la segunda pluralidad de palabras de código se basa en n y w -1. En algunas realizaciones, la descripción incluye además donde una primera cantidad (a) de la primera pluralidad de palabras de código se envía a la fuente de luz, donde una segunda cantidad (b) de la segunda pluralidad de palabras de código se envía a la fuente de luz, y donde la intensidad de luz de la fuente de luz se modula de manera diferente según la primera pluralidad de palabras de código y la segunda pluralidad de palabras de código para transmitir información. En algunas realizaciones, la intensidad de la luz se modula según la palabra de código para transmitir información usando modulación de posición de pulso multi-pulso (MPPM).
En otro aspecto, la descripción incluye un dispositivo CLV, que comprende un almacenamiento de memoria que comprende instrucciones, y un procesador en comunicación con la memoria, donde el procesador ejecuta las instrucciones para determinar n intervalos de tiempo para un bloque de señales en base a un valor de atenuación, el bloque de señales especifica una duración de tiempo predeterminada y el bloque de señales se divide igualmente en n intervalos de tiempo, con el valor de atenuación que especifica la intensidad de la luz que debe emitir una fuente de luz; determinar w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales basado en el valor de atenuación y según un patrón de pulsos que indica una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo, y determinar una palabra de código basada en n y w, la palabra de código correspondiente al patrón de pulsos. En algunas realizaciones, la descripción incluye además donde la intensidad de luz de la luz se modula según la palabra de código para transmitir información usando modulación de posición de pulso multi-pulso (MPPM). En algunos aspectos, la descripción incluye además donde n y w se determinan en base a una tasa de transmisión normalizada del bloque de señales con n intervalos de tiempo y w pulsos. En algunos aspectos, la descripción incluye además donde el procesador está configurado además para obtener el nivel de atenuación de una interfaz de usuario o un dispositivo externo. En algunos aspectos, la descripción incluye además donde el procesador está configurado además para determinar una pluralidad de palabras de código para el valor de atenuación basado en n y w, donde la pluralidad de palabras de código se determina de manera que se maximice una distancia de Hamming mínima entre cada par de la pluralidad de palabras de código en el libro de códigos, y donde la pluralidad de palabras de código se determina para minimizar un número de pares de la pluralidad de palabras de código que tienen la distancia de Hamming mínima.
En un aspecto, la descripción incluye un medio de almacenamiento no transitorio legible por ordenador que tiene instrucciones ejecutables por ordenador que, cuando son ejecutadas por un procesador, hacen que un aparato determine n intervalos de tiempo para un bloque de señales en base a un valor de atenuación, el bloque de señales especifica una duración de tiempo predeterminada, el bloque de señales se divide igualmente en n intervalos de tiempo, con el valor de atenuación especificando una intensidad de luz que debe ser emitida por una fuente de luz, determine w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales, basado en el valor de atenuación y según un patrón de pulsos que indica una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo, y determine una palabra de código basada en n y w, la palabra de código correspondiente al patrón de pulsos. En algunos aspectos, las instrucciones ejecutables por ordenador, cuando las ejecuta el procesador, hacen además que el aparato determine n y w basándose en una tasa de transmisión normalizada del bloque de señales con n intervalos de tiempo y w pulsos. En algunos aspectos, las instrucciones ejecutables por ordenador, cuando son ejecutadas por el procesador, hacen que el aparato determine además una pluralidad de palabras de código para el valor de atenuación en base a n y w, donde la pluralidad de palabras de código se determina para maximizar una distancia de Hamming mínima entre cada par de la pluralidad de palabras de código en el libro de códigos, y donde la pluralidad de palabras de código se determina de una manera para minimizar un número de pares de la pluralidad de palabras de código que tienen la distancia de Hamming mínima. En algunos aspectos, la descripción incluye además donde el valor de atenuación corresponde sustancialmente a w/n, y/o donde el valor de atenuación está entre (w-1)/n y w/n. En algunos aspectos, las instrucciones ejecutables por ordenador, cuando las ejecuta el procesador, provocan además que el aparato obtenga el nivel de atenuación de una interfaz de usuario o un dispositivo externo. En algunos aspectos, la descripción incluye además donde la intensidad de la luz de la fuente de luz se modula según la palabra de código para transmitir información utilizando MPPM. Para mayor claridad, cualquiera de los aspectos anteriores puede combinarse con uno o más de los otros aspectos anteriores para crear un nuevo aspecto dentro del alcance de la presente descripción.
Estas y otras características se entenderán más claramente a partir de la siguiente descripción detallada tomada junto con los dibujos y reivindicaciones que la acompañan.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Para una comprensión más completa de esta descripción, se hace ahora referencia a la siguiente descripción breve, tomada en relación con los dibujos y la descripción detallada que la acompaña, donde los números de referencia representan partes similares.
La figura 1 es un dibujo de un sistema CLV de ejemplo.
La figura 2 es un diagrama esquemático de un elemento CLV;
Las figuras 3A y 3B son esquemas de segmentación de bloques de señales y características de pulsación según varios esquemas de modulación óptica.
La figura 4 muestra ejemplos de palabras de código correspondientes a patrones de pulsos.
La figura 5 muestra la Tabla 1, que define la tasa de transmisión normalizada en función de n y w, donde n es el número de intervalos de tiempo en un bloque de señales y w es el número de pulsos transmitidos durante el bloque de señales.
La figura 6 muestra la Tabla 2, que define los valores de atenuación en función de n y w.
La figura 7 es un diagrama de flujo que ilustra un procedimiento de control de atenuación según una realización de la descripción.
La figura 8 es un diagrama de flujo que ilustra un procedimiento de control de atenuación aproximada según una realización de la descripción.
La figura 9 es un diagrama de flujo que ilustra un procedimiento de control de atenuación fina según una realización de la descripción.
DESCRIPCIÓN DETALLADA
Debe entenderse desde el principio que, aunque a continuación se proporciona una realización ilustrativa de una o más realizaciones, los sistemas y/o procedimientos descritos pueden implementarse usando cualquier número de técnicas, ya sean conocidas actualmente o en existencia. La descripción no debe de ninguna manera estar limitada a las implementaciones ilustrativas, dibujos, y técnicas ilustradas a continuación, que incluyen los diseños e implementaciones ejemplares ilustrados y descritos en esta invención, pero pueden modificarse dentro del alcance de las reivindicaciones adjuntas junto con su alcance completo de equivalentes.
Descripción General del Tema
Un sistema CLV puede incluir varios componentes de hardware, como un dispositivo CLV que controla la intensidad de la luz emitida por una fuente de luz. La intensidad de la luz puede controlarse usando varios esquemas de modulación que implican transmitir un pulso, o potencia, a una carga de la fuente de luz durante períodos de tiempo predeterminados. Sin embargo, los esquemas de modulación tradicionales no generan luz a la intensidad de luz deseada mientras maximizan la cantidad de datos que se pueden transmitir usando la luz. Los esquemas de modulación optimizados para controlar la intensidad de la luz como se describen en esta invención implican la determinación de palabras de código con n intervalos de tiempo y w pulsos que se transmiten durante uno o más de los n intervalos de tiempo. Los n intervalos de tiempo y w pulsos pueden determinarse basándose en un valor de atenuación y una tasa de transmisión normalizada de un bloque de señales que tiene n intervalos de tiempo y w pulsos. Por lo tanto, cuando la fuente de luz se atenúa a una intensidad de luz reducida, los esquemas de modulación optimizados descritos en esta invención maximizan la transmisión de datos mientras mantienen la intensidad de la luz según el valor de atenuación.
Figuras 1 y 2 - Componentes de Hardware
La figura 1 es un dibujo de un sistema CLV de ejemplo 100. El sistema CLV 100 incluye uno o más equipos de usuario (EU) 110 y una o más fuentes de luz 102. El sistema CLV 100 puede solaparse con uno o más de otros sistemas de comunicaciones, como por ejemplo, una red de área amplia inalámbrica (WWAN) soportada por un elemento de red 108. La fuente de luz 102 puede estar acoplada a un dispositivo CLV 104, que está acoplado al elemento de red 108. El dispositivo CLV 104 puede comprender un controlador de atenuación CLV 106. En algunas realizaciones, el controlador de atenuación CLV 106 puede configurarse para controlar la intensidad de la luz 150 emitida por la fuente de luz 102 según los valores de atenuación obtenidos.
En una realización, el dispositivo CLV 104 puede recibir datos del elemento de red 108 a través del enlace 120. En una realización, el controlador de atenuación CLV 106 puede obtener un valor de atenuación del elemento de red 108. En otra realización, el controlador de atenuación CLV 106 puede obtener un valor de atenuación de una entrada recibida por un operador del dispositivo CLV 104. En una realización, un valor de atenuación es un valor entre 0 y 1 que corresponde a una intensidad de luz 150 a ser transmitida por la fuente de luz 102 durante uno o más de los bloques de señales. En una realización, un bloque de señales especifica una duración de tiempo predefinida usada para CLV. En una realización, el bloque de señales se divide igualmente en una cantidad de n intervalos de tiempo, en los que se transmiten una cantidad de w pulsos durante uno o más de los n intervalos de tiempo del bloque de señales para lograr el valor de atenuación obtenido.
Por ejemplo, el valor de atenuación puede ser un valor de intensidad luminosa que se emitirá durante un intervalo de tiempo de un bloque de señales. La intensidad luminosa puede ser una medida de la potencia ponderada en longitud de onda emitida por una fuente de luz 102 en una dirección particular por unidad de ángulo sólido, basada en una función de luminosidad, que es un modelo estandarizado de la sensibilidad del ojo humano. Por ejemplo, si un operador del sistema CLV 100 desea generar un 50 por ciento (%) de la intensidad de luz que la fuente de luz 102 es capaz de emitir, el valor de atenuación para el 50% de la intensidad de luz de la fuente de luz 102 puede ser 0,500. De manera similar, si un operador del sistema CLV 100 desea emitir el 87,6% de la intensidad de luz que la fuente de luz 102 es capaz de emitir, el valor de atenuación para el 87,6% de la intensidad de luz de la fuente de luz 102 puede ser 0,876.
Basándose en el valor de atenuación obtenido, el controlador de atenuación de CLV 106 puede generar una señal correspondiente al valor de atenuación y enviar la señal a través del enlace 124 a la fuente de luz 102 para comunicación usando CLV. En una realización, el dispositivo CLV 104 puede generar la señal que tiene uno o más bloques de señales con n intervalos de tiempo y w pulsos en cada bloque de señales basándose en los procedimientos de control de atenuación descritos en esta invención. En una realización en la que la fuente de luz 102 es un dispositivo alimentado por corriente continua (CC), la señal se puede comunicar mediante un cable de categoría CC (CAT) desde el dispositivo CLV 104 a la fuente de luz 102. En una realización en la que la fuente de luz 102 es un dispositivo alimentado por corriente alterna (CA), la fuente de luz 102 puede tener un pin de atenuación externa, cuya función es recibir una señal de atenuación a través del enlace 124. En una realización, la señal enviada a través del enlace 124 se alimenta al pin de atenuación de la fuente de luz 102.
Aunque la figura 1 representa el dispositivo CLV 104, el elemento de red 108 y la fuente de luz 102 como módulos separados, un experto en la materia apreciaría que cualquier combinación de estos módulos se pueda acoplar y/o alojar en un solo dispositivo. Por ejemplo, el dispositivo CLV 104 puede ser una unidad autónoma que genera la señal para ser transmitida por el enlace 124. En otro ejemplo, el dispositivo CLV 104 puede estar conectado, a través de un enlace por cable o inalámbrico 120, al elemento de red 108 y/o un dispositivo desde el cual el dispositivo CLV 104 recibe datos para ser comunicados. En una realización, el elemento de red 108 y/o el dispositivo CLV 104 puede estar conectado a Internet, a una intranet, a una red de área local (LAN), a una red troncal, etc. En otro ejemplo, el dispositivo CLV 104 y el controlador de atenuación CLV 106 pueden ser dispositivos separados. En otro ejemplo, el dispositivo CLV 104 y el controlador de atenuación CLV 106 pueden estar co-ubicados dentro de la fuente de luz 102. En tal realización, el dispositivo CLV 104 puede tener una interfaz de comunicación por línea eléctrica (PLC) a una red externa (por ejemplo, el elemento de red 108) desde la cual puede recibir mensajes. En una realización, el dispositivo CLV 104 puede ser un dispositivo autónomo, no conectado al elemento de red 108, y puede incluir internamente, en una memoria, los datos que se van a comunicar a través de la fuente de luz 102.
El EU (equipo de usuario) 110 puede ser una estación móvil, una estación de abonado, una unidad móvil, una unidad de abonado, una unidad inalámbrica, un nodo inalámbrico, una unidad remota, un dispositivo móvil, un dispositivo de comunicación inalámbrica, un dispositivo remoto, una estación de abonado móvil, un terminal de acceso, un terminal móvil, un terminal inalámbrico, un terminal remoto, un teléfono, un agente de usuario, un cliente móvil, un cliente o alguna otra terminología adecuada. El EU 110 puede incluir un transceptor CLV 112 y un módulo de procesamiento CLV 115. En una realización, el transceptor CLV 112 puede incluir un receptor, tal como, pero no limitado a, una cámara con sensor de imágenes de semiconductor de óxido metálico complementario (CMOS) que implementa un obturador enrollable, un fotodetector (también denominado sensor de luz o fotodiodo) o un sensor de imagen (una matriz de fotodiodos), configurado para recibir las señales moduladas en forma de luz emitida 150 y decodificar los datos. En un aspecto operativo, el EU 110 puede recibir luz 150 a diferentes intensidades de luz desde la fuente de luz 102. El transceptor CLV 112 recibe la luz 150 a diferentes intensidades de luz, y el módulo de procesamiento CLV 115 puede determinar bloques de señales en la luz recibida. Puede determinarse que los bloques de señales tengan cada uno n intervalos de tiempo con w pulsos transmitidos durante uno o más de los n intervalos de tiempo. En algunas realizaciones, el módulo de procesamiento CLV 115 determina un valor de atenuación y una o más palabras de código en cada uno de los bloques de señales basándose en n y w. Además, una vez que se determina el valor de atenuación en la señal recibida, el módulo de procesamiento CLV 115 puede identificar y procesar datos modulados en cada uno de los bloques de señales. En un aspecto operativo, el receptor EU 110 puede detectar un patrón de pulsos en cada uno de los bloques de señales correlacionando las diferentes intensidades de luz recibidas en la luz 150 con libros de códigos almacenados, como se describirá adicionalmente en la figura 4. Un libro de códigos comprende una pluralidad de palabras de código para varias combinaciones diferentes de n intervalos de tiempo y w pulsos que son reconocibles por el EU 110 y el dispositivo CLV 104. Además, como el EU 110 puede no conocer el valor de atenuación, el módulo de procesamiento CLV 115 puede correlacionar la señal recibida con varias palabras de código en el libro de códigos almacenado en el EU 110.
Las comunicaciones entre el dispositivo CLV 104 y el elemento de red 108 pueden ser soportadas por enlace por cable y/o inalámbrico 120. En una realización, la conexión por cable puede basarse en una comunicación por línea eléctrica (PLC), Ethernet, etc. En otra realización, la conexión inalámbrica puede usar un sistema de comunicación inalámbrica interpares. En otra realización, la conexión inalámbrica puede usar sistemas de comunicación celular tales como, pero no limitado a, sistemas de acceso múltiple por división de código (CDMA), sistemas de acceso múltiple por división de tiempo (TDMA), sistemas de acceso múltiple por división de frecuencia (FDMA), sistemas de acceso múltiple por división de frecuencia ortogonal (OFDMA), sistemas de acceso múltiple por división de frecuencia de portadora única (SC-FDMA), sistemas de acceso múltiple por división de código síncrono por división de tiempo (TD-SCDMA), sistemas de evolución a largo plazo (LTE), y/o sistemas inalámbricos de quinta generación (5G).
La figura 2 es un diagrama esquemático de un elemento CLV 200. El elemento CLV 200 es adecuado para implementar el dispositivo CLV 104, el elemento de red 108, el EU 110 o cualquier otra realización descrita, incluyendo un dispositivo o sistema para implementar los procedimientos 700, 800 y 900. El elemento CLV 200 comprende puertos de entrada 210, una unidad transceptora (Tx/Rx) 220 acoplada a los puertos de entrada 210 y configurada para recibir datos; un procesador, unidad lógica o unidad central de procesamiento (CPU) 230 acoplada a la(s) unidad(es) Tx/Rx 220 y configurada para procesar los datos; una unidad Tx/Rx 220 acoplada a los puertos de salida 250 y configurada para transmitir los datos; y una memoria 260 acoplada al procesador 230 y configurada para almacenar los datos. El elemento CLV 200 también puede comprender componentes ópticos a eléctricos (OE) y componentes eléctricos a ópticos (EO) acoplados a los puertos de entrada 210, unidades Tx/Rx 220 y puertos de salida 250 para la salida o entrada de señales ópticas o eléctricas.
El procesador 230 puede implementarse mediante hardware y software en algunas realizaciones. El procesador 230 puede implementarse como uno o más chips de CPU, núcleos (por ejemplo, como un procesador multinúcleo), una matriz de puertas programable por campo (FPGAs), circuitos integrados de aplicación específica (ASICs), y procesadores de señales digitales (DSPs). El procesador 230 está en comunicación con el puerto de entrada 210, las unidades Tx/Rx 220, los puertos de salida 250 y la memoria 260. La memoria 260 comprende uno o más discos, unidades de cinta, y/o unidades de estado sólido y puede ser utilizada como un dispositivo de almacenamiento de datos en exceso (over-flow), para almacenar programas cuando dichos programas se seleccionan para ejecutarlos, y/o para almacenar instrucciones y datos que se leen durante la ejecución del programa. La memoria 260 puede ser volátil o no volátil y puede ser memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), memoria ternaria de contenido direccionable (TCAM), y/o memoria estática de acceso aleatorio (SRAM).
En algunas realizaciones, el elemento CLV 200 puede implementarse como el dispositivo CLV 104. Las unidades Tx/Rx 220 pueden configurarse para transmitir la señal que comprende los bloques de señales a la fuente de luz 102 de la figura 1. La señal puede comprender los bloques de señales que se dividen en n intervalos de tiempo en los que se transmiten w pulsos en al menos dos de los n intervalos de tiempo. La señal indica a la fuente de luz que emita un nivel de atenuación según los n intervalos de tiempo y los w pulsos.
En algunas realizaciones, el controlador de atenuación CLV 106 comprende el procesador 230 que ejecuta el módulo de atenuación CLV 270. El módulo de atenuación CLV 270 realiza al menos parte de los procedimientos 700, 800 y 900. Por tanto, la inclusión del módulo de atenuación CLV 270 proporciona una mejora a la funcionalidad del elemento CLV 200. El módulo de atenuación CLV 270 también efectúa una transformación del elemento CLV 200 a un estado diferente. De manera alternativa, el módulo de atenuación CLV 270 se implementa como instrucciones almacenadas en la memoria 260 y ejecutadas por el procesador 230.
En algunas realizaciones, el controlador de atenuación CLV 106 comprende la memoria 260 configurada para almacenar palabras de código de atenuación 280. Las palabras de código de atenuación 280 pueden ser una base de datos que almacena palabras de código para una pluralidad de pares diferentes de n intervalos de tiempo y w pulsos que se transmiten en un bloque de señales. En una realización, las palabras de código de atenuación 280 son una base de datos que almacena un libro de códigos, o una pluralidad de palabras de código diferentes, para un par de n intervalos de tiempo y w pulsos. Por ejemplo, la memoria 260 puede almacenar uno o más libros de códigos para un n y w, determinados, basándose en un valor de atenuación obtenido. La memoria 260 puede almacenar un primer libro de códigos basado en n y w. La memoria 260 también puede almacenar un segundo libro de códigos basado en n y w-1.
Figuras 3A y 3B - Esquemas de Modulación
El dispositivo CLV 104 puede configurarse para modular datos sobre la luz 150 emitida por la fuente de luz 102. Los procedimientos tradicionales de modulación óptica controlan una intensidad de luz 150 emitida por la fuente de luz 102 controlando un ancho de pulso de un pulso transmitido durante un bloque de señales. y/o controlando un ciclo de trabajo de los pulsos transmitidos en un bloque de señales. La modulación por ancho de pulso (PWM) es una técnica que controla el ancho de un pulso aplicado a una fuente de luz (o el tiempo durante el cual se suministra energía a una fuente de luz) para controlar la intensidad de la luz emitida por la fuente. Un ancho de pulso es una parte de un período de tiempo (o ciclo de trabajo) para el cual la amplitud del pulso es positiva o distinta de cero. Cuanto mayor sea el ancho del pulso (es decir, donde el pulso ocupa más y más del ciclo de trabajo), más brillante será la intensidad de la luz.
Las figuras 3A y 3B son esquemas de segmentación de bloques de señales y características de pulsación según varios esquemas de modulación óptica. La figura 3A es un esquema 300 que ilustra los pulsos transmitidos durante los bloques de señales según la modulación por posición de pulso (PPM). El esquema PPM 300 muestra cómo se utiliza PPM para transmitir información digitalmente. En PPM, la información a enviar está representada por la posición del pulso en cada bloque de señales (o ciclo de trabajo). El tiempo utilizado para la comunicación se divide en bloques de señales consecutivas iguales 303, 306 y 309. Un bloque de señales especifica una duración de tiempo predeterminada y se divide igualmente en n intervalos de tiempo. Como se muestra en la figura 3A, el bloque de señales 306 se divide en n intervalos de tiempo 330a-n.
En PPM, se transmite un pulso durante uno de los n intervalos de tiempo en cada bloque de señales en un lado de transmisión. Como se muestra en la figura 3A, el pulso 312 es el único pulso que se transmite durante el bloque de señales 303, el pulso 315 es el único pulso transmitido durante el bloque de señales 306 y el pulso 318 es el único pulso transmitido durante el bloque de señales 309. La posición del pulso 315 para el bloque de señales 306 es el sexto intervalo de tiempo 330f. Por lo tanto, se transmiten log2n bits de información durante cada bloque de señales. PPM solo permite que se transmita un pulso durante un bloque de señales, que es un procedimiento ineficaz de comunicación digital. Como resultado, la capacidad de transmisión cuando se usa PPM está restringida por la baja eficiencia de utilización de la banda.
MPPM mejora la eficiencia de utilización de banda de PPM al reducir el ancho de banda utilizado en los canales de comunicación de una red CLV a aproximadamente la mitad de la de PPM con la misma eficiencia de transmisión. MPPM permite la transmisión de dos o más pulsos durante un bloque de señales. Por lo tanto, MPPM puede lograr una eficiencia espectral significativamente mayor en comparación con PPM. La figura 3B es un esquema 350 que ilustra los pulsos transmitidos durante bloques de señales según MPPM. Como se muestra en la figura 3B, se envían tres pulsos separados, el pulso 356, el pulso 359 y el pulso 361 a diferentes intervalos de tiempo 330b, 330f y 330n-3 del bloque de señales 353, respectivamente. El bloque de señales 353 se divide en n intervalos de tiempo, y se envían lo~ /Ji j
w pulsos durante uno o más de los n intervalos de tiempo. MPPM transmite 52W bits de información por bloque de señales, mientras que, por el contrario, PPM transmite log2n bits de información por bloque de señales. En MPPM, dado que cada bloque de señales contiene múltiples pulsos, la cantidad de información transportada aumenta en proporción al número de pulsos. MPPM reduce el ancho de banda utilizado en los canales de comunicación de una red CLV en comparación con PPM y mejora considerablemente la eficiencia de utilización de banda en comparación con PPM.
El PPM variable (VPPM) es un híbrido de PPM y PWM en el que los anchos de pulso de múltiples pulsos en un intervalo de tiempo se modifican para controlar la intensidad de la luz. VPPM se describe en Institute of Electrical and Electronics Engineers (IEEE) 802.15.7, titulado "Short Range Wireless Optical Communication Using Visible Light," 2011, que se incorpora en esta invención como referencia en su totalidad. Similar a MPPM, en VPPM los bits se codifican transmitiendo un pulso en un intervalo de tiempo de un bloque de señales. Sin embargo, a diferencia de MPPM, en VPPM la amplitud del pulso también se puede modificar según sea necesario. Por ejemplo, si el valor de atenuación deseado es 0,2, entonces el ancho de pulso debe ser el 20% del bloque de señales total. VPPM logra un control más granulado del valor de atenuación de una fuente de luz alternando diferentes anchos de pulso a través de diferentes bloques de señales para dar como resultado una intensidad de luz 150 más específica emitida por la fuente de luz 102 durante un período de tiempo. Por ejemplo, transmisiones alternas de bloques de señales con un 40% de ancho de pulso y un 50% de ancho de pulso en el transcurso de varios cientos o miles de bloques de señales darán como resultado un promedio de un 45% de ancho de pulso. El 45% de ancho de pulso promedio puede ser una intensidad de luz o un valor de atenuación de grano más fino que simplemente usando un 40% de ancho de pulso o un 50% de ancho de pulso solos. El procedimiento VPPM de control de modulación óptica controla un ancho de pulso de un pulso en un bloque de señales y/o controla un ciclo de trabajo de los pulsos en un bloque de señales. Sin embargo, el procedimiento de control de atenuación VPPM tiene una baja eficiencia espectral y, por lo tanto, puede que no genere luz de manera eficiente al nivel de atenuación deseado para maximizar la cantidad de datos que se pueden transmitir en un bloque de señales.
Para superar las limitaciones asociadas con los esquemas de modulación PPM, MPPM y VPPM, en esta invención se describen realizaciones dirigidas a una forma optimizada de controlar la intensidad luminosa de la luz emitida por una fuente de luz 102. En lugar de variar el ancho del pulso para controlar la intensidad de la luz emitida por una fuente de luz 102, las realizaciones de la descripción están dirigidas a variar la cantidad de intervalos de tiempo (n) en un bloque de señales. y/o variar la cantidad de pulsos (w) enviados durante un bloque de señales para controlar la intensidad de la luz. En algunas realizaciones, la descripción incluye un dispositivo CLV configurado para determinar n intervalos de tiempo para un bloque de señales en base a un valor de atenuación. El bloque de señales especifica una duración de tiempo predeterminada y se divide igualmente en n intervalos de tiempo. El valor de atenuación corresponde a una intensidad de luz a transmitir durante el bloque de señales. En algunas realizaciones, los w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales se determinan en base al valor de atenuación. Un pulso se produce cuando una señal se modula en ON para cada uno de los w pulsos enviados durante uno o más de los n intervalos de tiempo.
Figura 4 - Palabras de código
Los procedimientos de control de atenuación para controlar la intensidad de la luz como se describen en esta invención implican la determinación de palabras de código con n intervalos de tiempo y w pulsos que se transmiten durante uno o más de los n intervalos de tiempo. La palabra de código puede ser una secuencia de dígitos binarios correspondiente a un patrón de pulsos para el bloque de señales con n intervalos de tiempo y w pulsos. Los intervalos de tiempo también pueden denominarse chips, y el número de w pulsos en un bloque de señales también puede denominarse peso del código. En una realización, el dispositivo CLV 104 y el EU 110 almacenan palabras de código predefinidas que definen patrones de pulsos dentro de un bloque de señales que tiene n intervalos de tiempo y w pulsos en dígitos binarios de 0 y 1 (ceros y unos). Por ejemplo, un operador del sistema CLV 100 puede almacenar manualmente las palabras de código en el dispositivo c Lv 104 y el EU 110, o el elemento de red 108 puede transmitir las palabras de código al dispositivo CLV 104 y al EU 110.
La figura 4 muestra ejemplos de patrones de pulsos y palabras de código asignadas para un par dado de n y w. La figura 4 muestra 6 bloques de señales de ejemplo 405, 420, 435, 450, 465 y 480. Cada uno de los bloques de señales 405, 420, 435, 450, 465 y 480 se divide en 12 intervalos de tiempo de modo que n = 12. Como se muestra en la figura 4, se envían 2 pulsos durante los 12 intervalos de tiempo en cada uno de los bloques de señales 405, 420, 435, 450, 465 y 480, de manera que w = 2. Cuando se transmiten bloques de señales que tienen 12 intervalos de tiempo y 2 pulsos transmitidos durante los 12 intervalos de tiempo (donde (n, w) = (12, 2)), se transmiten 6 bits de información por bloque de señales. La ecuación (1) da un número máximo de palabras de código (Mmax) posible para un par de (n, w):
Figure imgf000008_0001
Según la ecuación (1), cuando (n, w) = (12, 2), Mmax es 66 palabras de código y, por lo tanto, son posibles 66 palabras de código diferentes. Hay 66 formas diferentes de transmitir 2 pulsos en 12 intervalos de tiempo y, por lo tanto, están disponibles 66 patrones de pulsos diferentes. En una realización, sólo se puede necesitar un número de 26 palabras de código, o 64 palabras de código, para representar 6 bits de información. Cada palabra de código corresponde a un patrón de pulsos del bloque de señales. Antes de la transmisión de la información, la asignación de 64 palabras de código es fija o predeterminada, de modo que el transmisor y el receptor puedan traducir la información con precisión.
Varios ejemplos de las 64 palabras de código asignadas para (n, w) = (12, 2) antes de que se muestre la transmisión de la información en la figura 4. Como se muestra en el primer bloque de señales 405, cuando se envía un pulso en el cuarto intervalo de tiempo 407 y el séptimo intervalo de tiempo 409, el patrón de pulsos 411 se representa como [4, 7]. Este patrón de pulsos 411, representado como [4, 7], corresponde a la palabra de código 413, representada como 000100100000. De esta manera, el primer bloque de señales 405 muestra una palabra de código 000100100000 para bloques de señales que tienen 12 intervalos de tiempo y 2 pulsos transmitidos en el cuarto y séptimo intervalos de tiempo durante los 12 intervalos de tiempo.
Los bloques de señales 420, 435, 450, 465 y 480 son palabras de código diferentes para bloques de señales que tienen 12 intervalos de tiempo y 2 pulsos transmitidos durante los 12 intervalos de tiempo. Como se muestra en el segundo bloque de señales 420, cuando se envía un pulso en el segundo intervalo de tiempo 422 y el décimo intervalo de tiempo 424, el patrón de pulsos 426, representado como [2, 10], corresponde a la palabra de código 428, representada como 010000000100.
Como se muestra en el tercer bloque de señales 435, cuando se envía un pulso en el cuarto intervalo de tiempo 437 y el quinto intervalo de tiempo 439, el patrón de pulsos 441, representado como [4, 5], corresponde a la palabra de código 443, representada como 000110000000.
Como se muestra en el cuarto bloque de señales 450, cuando se envía un pulso en el noveno intervalo de tiempo 452 y el duodécimo intervalo de tiempo 454, el patrón de pulsos 456, representado como [9, 12], corresponde a la palabra de código 458, representada como 000000001001.
Como se muestra en el quinto bloque de señales 465, cuando se envía un pulso en el segundo intervalo de tiempo 467 y el octavo intervalo de tiempo 469, el patrón de pulsos 471, representado como [2, 8], corresponde a la palabra de código 473, representada como 010000010000.
Como el número máximo de palabras de código posible para bloques de señales cuando (n, w) = (12, 2) son 66 palabras de código diferentes, puede haber 66 mapeos de bloques de señales diferentes similares a los bloques de señales 405, 420, 435, 450 y 465. Como se muestra en el bloque de señal N-ésimo 480, cuando se envía un pulso en el cuarto intervalo de tiempo 482 y el sexto intervalo de tiempo 484, el patrón de pulsos 487 se representa como [4, 6], y corresponde a la palabra de código 490, representada como 000101000000. La colección de las 66 palabras de código o diferentes mapeos de bloques de señales cuando (n, w) = (12, 2) comprende un libro de códigos. Un libro de códigos es una compilación de palabras de código para un par de n y w. Un libro de códigos completo incluye todas las diferentes palabras de código posibles para un par de n y w. Un libro de códigos puede comprender un subconjunto de todas las diferentes palabras de código posibles para un par de n y w.
Figuras 5 y 6: Valores de Atenuación y Tasas de Transmisión Normalizadas
En algunas realizaciones, cada una de las palabras de código que tiene n intervalos de tiempo y w pulsos puede añadirse a un libro de códigos basándose en un valor de atenuación y una tasa de transmisión normalizada de un bloque de señales que tiene n intervalos de tiempo y w pulsos. La figura 5 muestra la Tabla 1, que define la tasa de transmisión normalizada en función de n y w, donde n es el número de intervalos de tiempo en un bloque de señales y w es el número de pulsos transmitidos durante un bloque de señales. Las filas 506 en la Tabla 1 representan ejemplos de diferentes valores de n, y las columnas 509 representan ejemplos de diferentes valores de w. En la Tabla 1, w < n porque debe haber al menos un pulso menos transmitido que el número de intervalos de tiempo en un bloque de señales. Una tasa de transmisión normalizada es la cantidad de información que se puede transmitir mediante un solo pulso durante un bloque de señales que tiene n intervalos de tiempo. La tasa de transmisión normalizada se puede calcular según la ecuación (2):
Figure imgf000009_0001
La Tabla 1 agrega los valores calculados para bloques de señales que tienen diferentes pares de n y w. Como se muestra en la Tabla 1, se puede ver que la tasa de transmisión normalizada más alta para un par dado de n y w se produce cuando w es aproximadamente la mitad de n. Por ejemplo, cuando n = 7, hay seis w posibles, y la tasa de transmisión normalizada es más alta cuando w = 3 y w = 4, como se muestra en el cuadro 512. Cuando n = 7, la tasa de transmisión normalizada es 0,7143, que es más alta que la tasa de transmisión normalizada para las otras w, cuando n = 7. Del mismo modo, cuando n = 8, la tasa de transmisión normalizada es más alta cuando n = 4, como se muestra en el cuadro 515.
Según algunas realizaciones, el valor de atenuación se determina mediante la ecuación (3):
w
Valor de atenuación (D v) = — (3)
n
donde w representa cuántos intervalos de tiempo están ocupados por un pulso para un bloque de señales dado con n intervalos de tiempo. Para un n dado, el controlador de atenuación CLV 106 puede configurarse para aumentar w para una mayor intensidad de luz y reducir w para una menor intensidad de luz. Para la mitigación del parpadeo, el controlador de atenuación CLV 106 puede configurarse para mantener constante la intensidad de la luz de un bloque de señales al siguiente manteniendo n y w constantes. Las realizaciones de la presente descripción están dirigidas a cambiar n y/o w para controlar la atenuación mientras se maximiza la tasa de transmisión normalizada.
La figura 6 muestra la Tabla 2, que define los valores de atenuación en función de n y w, donde n es el número de intervalos de tiempo en un bloque de señales y w es el número de pulsos transmitidos durante un bloque de señales. Las filas 606 representan ejemplos de diferentes valores de n, y las columnas 609 representan ejemplos de diferentes valores de w. Similar a la tabla 1, w < n en la Tabla 2 porque debe haber al menos un pulso menos transmitido que el número de intervalos de tiempo en un bloque de señales. Una entrada en la Tabla 2 se determina según w/n para n y w dados. Para cada par de n y w, el valor de atenuación corresponde a la intensidad de luz emitida por la fuente de luz cuando la fuente de luz transmite bloques de señales según n y w. Como se muestra en la Tabla 2, el valor de atenuación aumenta a medida que aumenta w. Por ejemplo, el valor mínimo de atenuación en la Tabla 2 se produce cuando n = 12, y w = 1, como se muestra en el cuadro 612. Por el contrario, el valor máximo de atenuación se produce cuando n = 12 y w = 11, como se muestra en el cuadro 615. El valor de atenuación máximo puede corresponder a la intensidad de luz mínima. En algunas realizaciones, el valor de atenuación y, por lo tanto, la intensidad de la luz está directamente relacionada con w.
Figuras 7-9 - Procedimientos de Control de Atenuación
Los procedimientos de control de atenuación como se describen en esta invención logran una intensidad de luz deseada y maximizan la transmisión de datos basándose en el valor de atenuación y la tasa de transmisión normalizada de bloques de señales que tienen n intervalos de tiempo y w pulsos. La figura 7 es un diagrama de flujo que ilustra un procedimiento 700 de control de atenuación según una realización de la descripción. Por ejemplo, el procedimiento 700 puede implementarse mediante un elemento CLV 200, por ejemplo, implementado como dispositivo CLV 104. En una realización, el procedimiento 700 puede ser implementado por el módulo de atenuación CLV 270 cuando se ejecuta el control de atenuación de una fuente de luz 102 acoplada al dispositivo CLV 104. En el bloque 705, el número de n intervalos de tiempo para un bloque de señales se determina basándose en un valor de atenuación que debe emitir la fuente de luz 102. Por ejemplo, el procesador 230 determina los n intervalos de tiempo para el bloque de señales basándose en el valor de atenuación que debe emitir la fuente de luz.
En el bloque 710, el número w de pulsos a transmitir durante uno o más de los n intervalos de tiempo del bloque de señales se determina basándose en el valor de atenuación. En una realización, el procesador 230 determina el número w de pulsos a transmitir durante uno o más de los n intervalos de tiempo del bloque de señales. El pulso es un pulso de corriente preparado por modulación ON/OFF utilizando un conmutador a transistores, por ejemplo, dispuesto en el dispositivo CLV 104. El pulso da como resultado una corriente generada por una fuente de corriente constante, por ejemplo, dispuesta en el dispositivo CLV 104. La corriente se aplica a una carga o pin de la fuente de luz 102. Los w pulsos se generan cuando se modula la corriente para que esté en ON en cada una de las posiciones de los w pulsos de los n intervalos de tiempo. En una realización, el dispositivo CLV 104 comprende un circuito de conmutación que está configurado para extraer corriente de un dispositivo de almacenamiento de energía para generar un bloque de señales que tiene n intervalos de tiempo y w pulsos enviados durante uno o más de los n intervalos de tiempo. En una realización, el dispositivo de almacenamiento de energía puede disponerse en el dispositivo CLV 104. En el bloque 715, se determina una palabra de código basándose en n y w para el valor de atenuación. En una realización, el procesador 230 determina la palabra de código basándose en n y w para el valor de atenuación.
Un procedimiento para el control de atenuación aproximada, como se describirá con más detalle en la figura 8, incluye la generación de libros de códigos para un valor de atenuación especificado (Dv), donde Dv = w/n y 0 < Dv < 1. En esta realización para el control de atenuación aproximada, se determina un par de n y w con la tasa de transmisión normalizada más alta, donde la relación de w/n es aproximadamente igual al valor de atenuación. El par de n y w con la tasa de transmisión normalizada más alta se puede determinar usando la ecuación (2) y/o Tabla 5. Una vez que se ha determinado el par de n y w, se determina una pluralidad de palabras de código para el valor de atenuación basado en n y w. En una realización, solo un subconjunto de las máximas palabras de código posibles para el par de n y w se almacena selectivamente en el dispositivo CLV 104 y EU 110. En una realización, el número de palabras de código (C) que se incluirán en el libro de códigos para los valores n, w y valor de atenuación determinados se determina según la ecuación (4):
C = 2nRn,w (4)
donde Rn, w es la tasa de transmisión normalizada para n y w dados según la ecuación (2). En la realización para el control de atenuación aproximada, el libro de códigos para n, w, y el valor de atenuación determinado comprende palabras de código basadas en una distancia de Hamming entre cada una de las palabras de código. El procedimiento de control de atenuación aproximada se discutirá más adelante en el procedimiento 800.
Un procedimiento para el control de atenuación fina, como se describirá con más detalle en la figura 9, incluye generar al menos dos libros de códigos para un valor de atenuación (Dv), donde 0 < Dv < 1, y (w-1)/n < Dv < w/n. En esta realización para el control de atenuación fina, se determina un par de n y w que satisface (w-1)/n < Dv < w/n y maximiza la ecuación (5):
Figure imgf000011_0001
donde Rn,w-i es la tasa de transmisión normalizada para n y w-1 dados según la ecuación (2), Rn,w es la tasa de transmisión normalizada para n y w dados según la ecuación (2), y r = 1000w -(1000Dv)n. Una vez que se ha determinado el par de n y w, se determinan dos libros de códigos para dos w diferentes. El primer libro de códigos se determina para n y w-1. El segundo libro de códigos se determina para n y w. Similar al mecanismo de control de atenuación aproximada, solo un subconjunto de las máximas palabras de código posibles para el par de n y w/w-1 se almacena selectivamente en el dispositivo CLV 104. Por lo tanto, los dos libros de códigos incluyen el número de palabras de código según la ecuación (1) como se describió anteriormente, y cada palabra de código se incluye de forma selectiva en el libro de códigos basándose en la distancia de Hamming entre cada una de las palabras de código. El procedimiento de control de atenuación fina se discutirá más adelante en el procedimiento 900.
La figura 8 es un diagrama de flujo que ilustra un procedimiento 800 de un procedimiento de control de atenuación aproximada según una realización de la descripción. Por ejemplo, el procedimiento 800 puede implementarse mediante un elemento CLV 200, por ejemplo, implementado como dispositivo CLV 104. En una realización, el procedimiento 800 puede ser implementado por el módulo de atenuación CLV 270 cuando se ejecuta el control de atenuación de una fuente de luz 102 acoplada al dispositivo CLV 104. En el bloque 803, se obtiene un valor de atenuación (Dv), donde el valor de atenuación corresponde a una intensidad de luz a transmitir durante un bloque de señales. En una realización, el procesador 230 obtiene el valor de atenuación. Por ejemplo, un valor de atenuación es un valor entre 0 y 1 que corresponde a la intensidad de luz que debe ser emitida por una fuente de luz 102 acoplada al dispositivo CLV 104.
El valor de atenuación se puede obtener de varias formas. Por ejemplo, el valor de atenuación se obtiene de una entrada de un operador. El dispositivo CLV 104 puede comprender además una interfaz de usuario mediante la cual un operador del dispositivo CLV 104 puede introducir manualmente valores entre 0 y 1 para que sean los valores de atenuación. Los valores de atenuación introducidos por el operador pueden usarse para realizar un control de atenuación en la luz 150 emitida por la fuente de luz 102 acoplada al dispositivo CLV 104.
En otra realización, el valor de atenuación se obtiene de un elemento de red externo, como el elemento de red 108 de la figura 1. Por ejemplo, el elemento de red 108 puede ser un EU remoto que envía uno o más valores como valores de atenuación al dispositivo CLV 104. Los valores de atenuación recibidos del elemento de red 108 pueden usarse para realizar el control de atenuación de la luz 150 emitida por la fuente de luz acoplada al dispositivo CLV 104.
En otra realización, el valor de atenuación está predeterminado según un programa de atenuación preconfigurado. Por ejemplo, el dispositivo CLV 104 almacena un programa de atenuación en una memoria, como la memoria 260, del dispositivo CLV 104. El programa de atenuación indica qué valor de atenuación utilizar, por ejemplo, en el transcurso de un día determinado. En una realización, el programa de atenuación indica cómo dividir los bloques de señales en intervalos de tiempo. Por ejemplo, el dispositivo CLV 104 está configurado para determinar los n intervalos de tiempo en base a los valores de atenuación predeterminados en el programa de atenuación preconfigurado. El dispositivo CLV 104 está configurado para determinar los w pulsos que se enviarán durante uno o más de los n intervalos de tiempo en base a los valores de atenuación predeterminados en el programa de atenuación preconfigurado.
En el bloque 806, se determinan una pluralidad de valores diferentes para n y una pluralidad de valores diferentes para w de manera que la relación de w/n es aproximadamente igual al valor de atenuación obtenido en el bloque 803. En una realización, el procesador 230 está configurado para determinar los diferentes valores de n y los diferentes valores de w. Por ejemplo, suponga que el valor de atenuación es 0,767. El procesador 230 puede configurarse para encontrar un valor para n y un valor para w tal que la relación de w/n sea igual a 0,767 o aproximadamente igual a 0,767 dentro de un intervalo de error de atenuación. Como se discutió anteriormente, la Tabla 2 muestra la relación de w/n para varios pares diferentes de n y w. En una realización, la memoria 260 del dispositivo CLV 104 almacena una versión extendida de la Tabla 2, que representa un amplio intervalo de valores de n y w. Sin embargo, la Tabla 2 no muestra un par de n y w donde la relación de w/n es exactamente igual a 0,767. En tal caso, el dispositivo CLV 104 puede configurarse para verificar pares de n y w que estén dentro de un intervalo de error de atenuación del valor de atenuación deseado. Por ejemplo, si el intervalo de error de atenuación es ± 0,05, el procesador 230 puede verificar pares de n y w que tengan una relación de w/n entre 0,717 y 0,817. Como debe apreciarse, el intervalo de error de atenuación puede ser cualquier valor predeterminado por el cual se puede permitir que el valor de atenuación se desvíe para fines de control de atenuación.
El dispositivo CLV 104 puede buscar en la tabla múltiples pares de n y w que tengan una relación de w/n entre 0,717 y 0,817. Basado en la Tabla 2 mostrada en la figura 6, los siguientes pares de valores de n y w tienen una relación de w/n entre 0,717 y 0,817: (4, 3), (5, 4), (8, 6), (9, 7), (10, 8), (11, 8), y (12, 9). Por ejemplo, un bloque de señales que tiene 4 intervalos de tiempo y 3 pulsos transmitidos durante los 4 intervalos de tiempo tiene una relación de w/n igual a 0,7500, que está entre 0,717 y 0,817. Un bloque de señales que tiene 5 intervalos de tiempo y 4 pulsos transmitidos durante los 5 intervalos de tiempo tiene una relación de w/n igual a 0,8000, que está entre 0,717 y 0,817. Un bloque de señales que tiene 8 intervalos de tiempo y 6 pulsos transmitidos durante los 8 intervalos de tiempo tiene una relación de w/n igual a 0,7500, que está entre 0,717 y 0,817. Un bloque de señales que tiene 9 intervalos de tiempo y 7 pulsos transmitidos durante los 9 intervalos de tiempo tiene una relación de w/n igual a 0,7778, que está entre 0,717 y 0,817. Un bloque de señales que tiene 10 intervalos de tiempo y 8 pulsos transmitidos durante los 10 intervalos de tiempo tiene una relación de w/n igual a 0,8000, que está entre 0,717 y 0,817. Un bloque de señales que tiene 11 intervalos de tiempo y 8 pulsos transmitidos durante los 11 intervalos de tiempo tiene una relación de w/n igual a 0,7273, que está entre 0,717 y 0,817. Un bloque de señales que tiene 12 intervalos de tiempo y 9 pulsos transmitidos durante los 12 intervalos de tiempo tiene una relación de w/n igual a 0,7500, que está entre 0,717 y 0,817. Si bien este ejemplo usa la Tabla 2 para determinar el par de n y w, debe apreciarse que el par de n y w se puede determinar únicamente calculando diferentes relaciones de w/n sin el uso de una tabla almacenada.
En el bloque 809, uno de la pluralidad de valores diferentes para n y uno de la pluralidad de valores diferentes para w se seleccionan de manera que la relación de w/n que es aproximadamente igual al valor de atenuación también tiene la tasa de transmisión normalizada más alta. En una realización, el procesador 230 está configurado para seleccionar uno de los diferentes valores para n y uno de los diferentes valores para w que tiene la tasa de transmisión normalizada más alta. Como se discutió anteriormente, la Tabla 1 muestra la tasa de transmisión normalizada para varios pares diferentes de n y w. En una realización, la memoria 260 del dispositivo CLV 104 almacena una versión extendida de la Tabla 1, que representa un amplio intervalo de valores de n y de w. Continuando con el ejemplo anterior, la Tabla 1 se puede utilizar para determinar la tasa de transmisión normalizada para los pares de n y w identificados en el bloque 806. El par en el que n = 4 y w = 3 tiene una tasa de transmisión normalizada de 0,5000. El par en el que n = 5 y w = 4 tiene una tasa de transmisión normalizada de 0,4000. El par en el que n = 8 y w = 6 tiene una tasa de transmisión normalizada de 0,5000. El par en el que n = 9 y w = 7 tiene una tasa de transmisión normalizada de 0,5556. El par en el que n= 10 y w = 8 tiene una tasa de transmisión normalizada de 0,5000. El par en el que n= 11 y w = 8 tiene una tasa de transmisión normalizada de 0,6364. El par en el que n = 12 y w = 9 tiene una tasa de transmisión normalizada de 0,5833. Por lo tanto, el par de n y w que tiene la tasa de transmisión normalizada más alta ocurre cuando n = 11 y w = 8. Si bien este ejemplo utiliza la Tabla 1 para determinar el par de n y w con la tasa de transmisión normalizada más alta, debe tenerse en cuenta que el par de n y w se puede determinar únicamente calculando diferentes tasas de transmisión normalizadas usando la ecuación (2), sin el uso de una tabla almacenada.
En el bloque 812, se determina una primera palabra de código basándose en el valor de n seleccionado y en el valor de w seleccionado. En una realización, el procesador 230 determina la primera palabra de código para el valor de atenuación basándose en el valor de n seleccionado y en el valor de w seleccionado. La primera palabra de código corresponde a un primer patrón de pulsos para un bloque de señales con n intervalos de tiempo y w pulsos. En una realización, la primera palabra de código se determina aleatoriamente.
Continuando con el ejemplo, el valor de n seleccionado es 11 y el valor de w seleccionado es 8. La primera palabra de código es un bloque de señales que tiene 11 intervalos de tiempo igualmente divididos en los que se transmiten 8 pulsos durante los 11 intervalos de tiempo. Por ejemplo, los 8 pulsos se transmiten durante los 11 intervalos de tiempo de una manera similar a como se transmiten los 2 pulsos durante los 12 intervalos de tiempo de los bloques de señales mostrados en la figura 4. Por ejemplo, la primera palabra de código puede ser un bloque de señales que tiene un patrón de pulsos seleccionado al azar, representado como [1, 3, 4, 6, 7, 8, 10, 11] que corresponde a la palabra de código 10110111011. La primera palabra de código puede almacenarse en las palabras de código de atenuación 280 del dispositivo CLV 104 y/o el EU 110 de modo que tanto el dispositivo CLV 104 como el EU 110 reconozcan la primera palabra de código.
En el bloque 815, se determina una segunda palabra de código basándose en los mismos valores de n y w seleccionados. En una realización, el procesador 230 determina la segunda palabra de código basándose en los valores de n y w seleccionados. La segunda palabra de código corresponde a un segundo patrón de pulsos para un bloque de señales con n intervalos de tiempo y w pulsos, y la segunda palabra de código es diferente de la primera palabra de código. En una realización, la segunda palabra de código tiene una distancia de Hamming máxima desde la primera palabra de código.
Continuando con el ejemplo, el valor seleccionado de n es 11 y el valor seleccionado de w es 8. La segunda palabra de código es otro bloque de señales que tiene 11 intervalos de tiempo igualmente divididos en los que se transmiten 8 pulsos durante los 11 intervalos de tiempo. Por ejemplo, la segunda palabra de código puede ser un bloque de señales que tiene un patrón de pulsos, representado como [2, 5, 6, 7, 8, 9, 10, 11] que corresponde a la palabra de código 01001111111. La segunda palabra de código tiene 6 bits que son diferentes de la primera palabra de código. La distancia de Hamming entre estas dos palabras de código, o el número de posiciones en las que los símbolos correspondientes son diferentes en la primera palabra de código y la segunda palabra de código, se maximiza para ser de 6 bits.
También se puede determinar una tercera palabra de código basándose en el valor de n seleccionado y el valor de w seleccionado. La tercera palabra de código puede ser un bloque de señales que tiene un patrón de pulsos, representado como [1, 2, 3, 4, 5, 9, 10, 11] que corresponde a la palabra de código 11111000111. La distancia de Hamming entre la tercera palabra de código y la primera palabra de código también es de 6 bits. La distancia de Hamming entre la tercera palabra de código y la segunda palabra de código también es de 6 bits.
En el bloque 818, se puede generar un libro de códigos para el valor de n seleccionado y el valor de w seleccionado. El procesador 230 puede generar el libro de códigos para el valor de n seleccionado y el valor de w seleccionado. En una realización, el libro de códigos comprende palabras de código para el valor de n seleccionado y el valor de w seleccionado. Como se describió anteriormente con respecto a la ecuación (1), el valor de n seleccionado y el valor de w seleccionado tendrán un número máximo de palabras de código (Mmax) posible. Sin embargo, solo un subconjunto de estas palabras de código puede agregarse al libro de códigos y almacenarse en las memorias del dispositivo CLV 104 y el EU 110. Las palabras de código que se incluyen en el libro de códigos se seleccionan en función de la distancia de Hamming entre las palabras de código.
De esta manera, se agregan múltiples palabras de código al libro de códigos para el n seleccionado y el w seleccionado. En una realización, el número de palabras de código que se incluyen en el libro de códigos se determina según la ecuación (4). En una realización, las palabras de código se añaden al libro de códigos para maximizar una distancia Hamming mínima del libro de códigos y minimizar un número de pares de palabras de código en el libro de códigos que tienen la distancia Hamming mínima. Una distancia de Hamming mínima es la más pequeña de todas las distancias de Hamming entre cada par de palabras de código en el libro de códigos. Por ejemplo, suponga que un libro de códigos tiene 4 palabras de código: c1, c2, c3 y c4. Entonces la distancia de Hamming mínima del libro de códigos es un mínimo de {Hamming_distance(c1, c2), Hamming_distance(c1, c3), Hamming_distance(c1, c4), Hamming_distance(c2, c3), Hamming_distance(c2, c4), Hamming_distance(c3, c4)}, donde Hamming_distance(ci, cj) denota la distancia de Hamming entre las palabras de código ci y cj.
El procesador 230 está configurado para determinar qué palabras de código agregar al libro de códigos para maximizar la distancia de Hamming mínima entre cada par de palabras de código y minimizar el número de pares de palabras de código que tienen la distancia de Hamming mínima de modo que no se exceda un número máximo de palabras de código según la ecuación (4). El libro de códigos se almacena en las memorias del dispositivo CLV 104 y/o el EU 110. Por ejemplo, el dispositivo CLV 104 comprende un procesador 230 acoplado a un conmutador que envía las palabras de código a la fuente de luz 102, o envía pulsos a la fuente de luz 102 según las palabras de código almacenadas en la memoria 280. En una realización, las palabras de código seleccionadas modulan la intensidad de la luz de la fuente de luz 102 para transmitir información. De esta manera, el dispositivo CLV 104 realiza un control de atenuación de la luz 150 que emite la fuente de luz 102 según los procedimientos descritos en esta invención.
La figura 9 es un diagrama de flujo que ilustra un procedimiento 900 de control de atenuación fina según una realización de la descripción. En una realización, el procedimiento 900 de control de atenuación fina es una optimización del procedimiento 800 de control de atenuación aproximada. Mientras que el procedimiento de control de atenuación aproximada 800 realiza el control de atenuación aproximando el valor de atenuación a w/n, el procedimiento de control de atenuación fina 900 realiza el control de atenuación mediante la distribución del valor de atenuación a w-1/n y w/n y generando al menos dos libros de códigos para estas diferentes proporciones. El procedimiento de control de atenuación fina 900 también implementa esquemas de transmisión similares a VPPM para permitir que el valor de atenuación promedio a lo largo del tiempo coincida mejor con el valor de atenuación deseado. El procedimiento de control de atenuación fina 900 puede ajustar la salida del valor de atenuación a una resolución más fina en aproximadamente un 0,1%.
Por ejemplo, el procedimiento 900 puede implementarse mediante un elemento CLV 200, por ejemplo, implementado como dispositivo CLV 104. En una realización, el procedimiento 900 puede ser implementado por el módulo de atenuación CLV 270 cuando se ejecuta el control de atenuación de una fuente de luz 102 acoplada al dispositivo CLV 104. En el bloque 903, se obtiene un valor de atenuación (Dv ), donde el valor de atenuación corresponde a una intensidad de luz a transmitir durante un bloque de señales. En una realización, el procesador 230 obtiene el valor de atenuación. El valor de atenuación está entre 0 y 1. El bloque 903 es por lo demás similar al bloque 803 del procedimiento 800 en la figura 8.
En el bloque 906, se determinan una pluralidad de valores diferentes para n y una pluralidad de valores diferentes para w que satisfacen la ecuación de desigualdad (6):
w - 1 T w
---------------- < L < (6)
n n
En una realización, el procesador 230 está configurado para determinar los diferentes valores para n y los diferentes valores para w A diferencia del procedimiento de control de atenuación aproximado 800, que solo determina valores de n y w que tienen una relación de w/n que es aproximadamente igual al valor de atenuación, el procedimiento de control de atenuación fina 900 considera un intervalo más amplio de posibles valores de n y w porque el procedimiento de control de atenuación fina 900 analiza todos los valores de n y w que se encuentran entre la relación de (w-1)/n y w/n. Similar al bloque 806 en el procedimiento 800, pares de valores de n y w que tienen un valor de atenuación entre (w-1)/n y w/n están identificados. Estos pares pueden identificarse usando una Tabla 2 ampliada que puede almacenarse en una memoria del dispositivo CLV 104 o puede calcularse de forma independiente.
En el bloque 909, se selecciona uno de la pluralidad de valores diferentes para n y uno de la pluralidad de valores diferentes para w que maximice la ecuación (5), que se reproduce a continuación:
Figure imgf000014_0001
donde Rn,w es la tasa de transmisión normalizada para valores de n y w dados según la ecuación (2), y donde r = 1000w -(1000Dv)n. En una realización, el procesador 230 está configurado para seleccionar uno de los diferentes valores para n y uno de los diferentes valores para w que maximiza la ecuación (5). De todos los pares de valores de n y w identificados en el bloque 906, se selecciona el par que maximiza el resultado de la ecuación (5).
A diferencia del procedimiento de control de atenuación aproximada 800 que solo considera la tasa de transmisión normalizada del par de n y w, el procedimiento de control de atenuación fina 900 es una tasa de transmisión promedio de 1.000 bloques de señales, donde se envía un subconjunto (r) de los bloques de señales con un w disminuido en 1, y el subconjunto restante (1000-r) de los bloques de señales enviados con w pulsos. Las tasas de transmisión normalizadas (Rn,w-1 y Rn,w) pueden determinarse utilizando una Tabla 1 ampliada que puede almacenarse en la memoria del dispositivo CLV 104 o puede calcularse de forma independiente.
En el bloque 912, se genera un primer libro de códigos para el n seleccionado y el w seleccionado. El primer libro de códigos comprende una pluralidad de palabras de código basadas en el n seleccionado y el w seleccionado. Las palabras de código en el primer libro de códigos corresponden a varios patrones de pulsos para bloques de señales con n intervalos de tiempo y w pulsos transmitidos durante uno o más de los n intervalos de tiempo. La generación del primer libro de códigos en el bloque 912 se realiza de forma similar a las etapas 812, 815 y 818 del procedimiento 800. Las palabras de código se agregan al primer libro de códigos según una distancia de Hamming, y el número de palabras de código incluidas en el primer libro de códigos satisface la ecuación (4). En una realización, el procesador 230 está configurado para generar el primer libro de códigos.
En el bloque 915, se genera un segundo libro de códigos para el n y el w-1 n seleccionados. El segundo libro de códigos comprende una pluralidad de palabras de código basadas en n y w-1 seleccionados, y las palabras de código en el segundo libro de códigos corresponden a bloques de señales de patrones de pulsos con n intervalos de tiempo y w-1 pulsos transmitidos durante uno o más de los n intervalos de tiempo. Se realiza la generación del segundo libro de códigos en el bloque 915, similar a las etapas 812, 815 y 818 del procedimiento 800, excepto que se utilizan w-1 pulsos en lugar de w pulsos. Las palabras de código se agregan al segundo libro de códigos para maximizar la distancia de Hamming mínima entre cada par de palabras de código y para minimizar el número de pares de palabras de código que tienen la distancia de Hamming mínima de modo que un número máximo de palabras de código según la ecuación (4) no es excedido. En una realización, el procesador 230 está configurado para generar el primer libro de códigos.
El primer libro de códigos con palabras de código que tienen n intervalos de tiempo y w pulsos corresponde a un valor de atenuación que es ligeramente superior al valor de atenuación obtenido en el bloque 903. El segundo libro de códigos con palabras de código que tienen n intervalos de tiempo y w-1 pulsos corresponde a un valor de atenuación que es ligeramente inferior al valor de atenuación obtenido en el bloque 903. Esto se debe a que el segundo libro de códigos implica menos pulsos (w-1 pulsos) y, por lo tanto, da como resultado una intensidad de luz más baja que el primer libro de códigos, donde el primer libro de códigos implica la transmisión de más pulsos (w pulsos). La combinación ponderada del primer libro de códigos y el segundo libro de códigos dará como resultado un control de atenuación más ajustado de la fuente de luz 102 acoplada al dispositivo CLV 104.
En el bloque 918, las palabras de código del primer libro de códigos se envían a la fuente de luz 102 para controlar la intensidad de la luz 150 emitida por la fuente de luz 102. En una realización, Tx/Rx 220 envía palabras de código del primer libro de códigos a la fuente de luz 102 para controlar la intensidad de la luz 150 emitida por la fuente de luz 102. En una realización, a es el número de palabras de código, o patrones de pulsos, del segundo libro de códigos que se envía a la fuente de luz 102 . En una realización, la fuente de luz 102 está configurada para emitir luz según 1000-a de las palabras de código del primer libro de códigos cada 1.000 bloques de señales. En una realización, 1000-a es el número de palabras de código, o patrones de pulsos, del primer libro de códigos que se envía a la fuente de luz. Durante cada 1.000 bloques de señales, se envían 1000-a palabras de código del primer libro de códigos a la fuente de luz 102.
En el bloque 921, las palabras de código del segundo libro de códigos se envían a la fuente de luz para controlar la intensidad de la luz 150 emitida por la fuente de luz 102. En una realización, Tx/Rx 220 envía palabras de código del segundo libro de códigos a la fuente de luz 102 para controlar la intensidad de la luz 150 emitida por la fuente de luz 102. En una realización, la fuente de luz 102 está configurada para emitir luz de acuerdo con a de las palabras de código del segundo libro de códigos cada 1.000 bloques de señales. Durante cada 1.000 bloques de señales, se envían a palabras de código del segundo libro de códigos a la fuente de luz 102.
De los 1.000 bloques de señales, a de los bloques de señales se transmite de acuerdo con el segundo libro de códigos y 1000-a de los bloques de señales se transmiten de acuerdo con el primer libro de códigos. Por lo tanto, la intensidad de la luz promediada sobre los 1.000 bloques de señales equivale efectivamente al nivel de atenuación obtenido en el bloque 903. Es posible que un solo libro de códigos no sea capaz de alcanzar el nivel de atenuación obtenido en el bloque 903. Sin embargo, promediar dos libros de códigos sobre miles de bloques de señales, como se describe en el procedimiento de control de atenuación fina 900, controla con precisión el nivel de atenuación y, por lo tanto, puede acercarse mucho más al nivel de atenuación deseado.
Las realizaciones del control de atenuación descritas en esta invención proporcionan una eficiencia espectral significativamente mayor que los esquemas de modulación de pulsos existentes. Esto se debe a que las realizaciones del control de atenuación descritas en esta invención generan libros de códigos optimizados para pares específicos de n y w basados en las ecuaciones (4) y (5) y la distancia de Hamming entre palabras de código en el libro de códigos. Además, las realizaciones descritas en esta invención generan múltiples libros de códigos optimizados para pares específicos de n y w para estimar más de cerca cómo transmitir pulsos precisos a una fuente de luz 102 para lograr un nivel de atenuación deseado.
Las realizaciones descritas en esta invención también permiten un procedimiento sencillo de mitigación del parpadeo. Según algunas formas de realización, la mitigación del parpadeo se habilita manteniendo n y w constantes en todos los bloques de señales. Por lo tanto, las realizaciones descritas en esta invención proporcionan mecanismos de control de atenuación flexibles y de alta resolución que tienen una baja complejidad de implementación.
La descripción incluye un módulo de bloque de señales que determina n intervalos de tiempo para un bloque de señales en función de un valor de atenuación, el bloque de señales especifica una duración de tiempo predeterminada y el bloque de señales se divide igualmente en n intervalos de tiempo, con el valor de atenuación que especifica una intensidad de luz. de luz a ser emitida por la fuente de luz, un módulo de pulsos que determina w pulsos a ser transmitidos durante uno o más de los n intervalos de tiempo del bloque de señales en base al valor de atenuación y según un patrón de pulsos que indica una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo, y un módulo de palabras de código determina una palabra de código en base a n y w, correspondiendo la palabra de código al patrón de pulsos.
Mientras que numerosas realizaciones se han proporcionado en la presente descripción, debe entenderse que los sistemas y procedimientos divulgados pueden realizarse en muchas otras formas específicas sin alejarse del alcance de la presente descripción. Los ejemplos presentes no deben considerarse como ilustrativos y no restrictivos, y la intención no es limitarse a los detalles dados en esta invención. Por ejemplo, los numerosos elementos o componentes podrían combinarse o integrarse en otro sistema o ciertas características podrían omitirse o no implementarse.
Además, técnicas, sistemas, subsistemas, procedimientos descritos e ilustrados en las numerosas realizaciones discretas o separadas podrían combinarse o integrarse con otros sistemas, módulos, técnicas, o procedimientos sin alejarse del alcance de la presente descripción. Otros elementos mostrados o tratados como acoplados o directamente acoplados o comunicándose entre sí pueden acoplarse indirectamente o comunicarse a través de alguna interfaz, dispositivo o componente intermedio, ya sea eléctrico, mecánico o de otro modo. Otros ejemplos de cambios, sustituciones y alteraciones son verificables por un experto en la materia y puede realizarse sin alejarse del espíritu y el alcance descritos en esta invención.

Claims (15)

REIVINDICACIONES
1. Un procedimiento implementado por un dispositivo de comunicación con luz visible, CLV, (104), que comprende:
a) determinar, mediante un procesador (230) del dispositivo CLV, una tasa de transmisión normalizada para transmitir datos utilizando un bloque de señales que tiene una pluralidad de combinaciones diferentes de n intervalos de tiempo en el bloque de señales y w intervalos de tiempo con un pulso a transmitir durante el bloque de señales, donde la tasa de transmisión normalizada es una cantidad de datos que se transmite por un solo pulso durante el bloque de señales que tiene los n intervalos de tiempo;
b) determinar (705), por el procesador, los n intervalos de tiempo para el bloque de señales en base a un valor de atenuación y la tasa de transmisión normalizada, el bloque de señales especifica una duración de tiempo predeterminada y el bloque de señales se divide igualmente en n intervalos de tiempo, especificando el valor de atenuación una intensidad de luz que debe emitir una fuente de luz (102);
c) determinar (710), por el procesador, los w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales en función del valor de atenuación, la tasa de transmisión normalizada y un patrón de pulsos indicando una posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo; y d) determinar (715), por el procesador, una palabra de código basada en n y w, la palabra de código correspondiente al patrón de pulsos.
2. El procedimiento de la reivindicación 1, que comprende además determinar, mediante el procesador, una pluralidad de palabras de código para el valor de atenuación basado en n y w, donde la pluralidad de palabras de código se determina de manera que se maximice una distancia de Hamming mínima entre cada par de la pluralidad de palabras de código en un libro de códigos, y donde la pluralidad de palabras de código se determina para minimizar un número de pares de la pluralidad de palabras de código que tienen la distancia de Hamming mínima.
3. El procedimiento de cualquiera de las reivindicaciones 1 a 2, donde el valor de atenuación corresponde a w/n.
4. El procedimiento de cualquiera de las reivindicaciones 1 a 3, donde el valor de atenuación es de entre (w-1)/n y w/n.
5. El procedimiento de la reivindicación 4, que comprende, además:
obtener (903) un valor de atenuación, Dv , correspondiente a una intensidad de luz a transmitir durante el bloque de señales, donde Dv se define como w/n representando cuántos intervalos de tiempo están ocupados por un pulso para un bloque de señales dado con n intervalos de tiempo;
determinar (906) una pluralidad de valores diferentes para n y una pluralidad de valores diferentes para w tales que (w -1)/n < Dv < w/ n; y
seleccionar (909) uno de la pluralidad de valores diferentes para n y uno de la pluralidad de valores diferentes para w que maximiza la siguiente ecuación:
Figure imgf000016_0001
donde Rn,w es la tasa de transmisión normalizada para n y w dados de acuerdo con la siguiente ecuación
Figure imgf000016_0002
y donde r = 1000w -(1000Dv)/n.
6. El procedimiento de cualquiera de las reivindicaciones 1 a 5, que comprende además determinar una primera pluralidad de palabras de código y una segunda pluralidad de palabras de código para el valor de atenuación, donde la primera pluralidad de palabras de código se basa en n y w, y la segunda pluralidad de palabras de código se basa en n y w-1.
7. El procedimiento de la reivindicación 5, donde una primera cantidad (a) de la primera pluralidad de palabras de código se envía a la fuente de luz, donde una segunda cantidad (b) de la segunda pluralidad de palabras de código se envía a la fuente de luz, y donde la intensidad de la luz de la fuente de luz se modula de manera diferente según la primera pluralidad de palabras de código y la segunda pluralidad de palabras de código para transmitir información.
8. El procedimiento de cualquiera de las reivindicaciones 1 a 7, donde la intensidad de la luz se modula según la palabra de código para transmitir información usando modulación de posición de pulso multi-pulso (MPPM).
9. Un dispositivo de comunicación con luz visible, CLV, (104), que comprende:
i) un almacenamiento de memoria (260) que comprende instrucciones; y
ii) un procesador (230) en comunicación con la memoria, donde el procesador ejecuta las instrucciones para: a) a) determinar, mediante el procesador del dispositivo CLV, una tasa de transmisión normalizada para transmitir datos utilizando un bloque de señales que tiene una pluralidad de combinaciones diferentes de n intervalos de tiempo en el bloque de señales y w intervalos de tiempo con un pulso a transmitir durante el bloque de señales, donde la tasa de transmisión normalizada es una cantidad de datos que se transmite mediante un solo pulso durante el bloque de señales que tiene los n intervalos de tiempo;
b) determinar (705) los n intervalos de tiempo para el bloque de señales basándose en un valor de atenuación y la tasa de transmisión normalizada, el bloque de señales especificando una duración de tiempo predeterminada y el bloque de señales siendo dividido igualmente en n intervalos de tiempo, con el valor de atenuación especificando la intensidad luminosa de la luz que debe emitir una fuente de luz;
c) determinar (710) los w pulsos que se transmitirán durante uno o más de los n intervalos de tiempo del bloque de señales, basándose en el valor de atenuación, la tasa de transmisión normalizada y según un patrón de pulsos que indique la posición de los w pulsos transmitidos durante uno o más de los n intervalos de tiempo; y d) determinar (715) una palabra de código basada en n y w, la palabra de código correspondiendo al patrón de pulsos.
10. El dispositivo CLV de la reivindicación 9, donde la intensidad de la luz se modula según la palabra de código para transmitir información usando modulación de posición de pulso multi-pulso (MPPM).
11. Dispositivo CLV según la reivindicación 9, donde el procesador está configurado además para obtener el nivel de atenuación desde una interfaz de usuario o un dispositivo externo.
12. El dispositivo CLV de la reivindicación 9, donde el procesador está configurado además para determinar una pluralidad de palabras de código para el valor de atenuación basado en n y w, donde la pluralidad de palabras de código se determina de manera que se maximice una distancia mínima de Hamming entre cada par de la pluralidad de palabras de código en un libro de códigos, y donde la pluralidad de palabras de código se determina para minimizar un número de pares de la pluralidad de palabras de código que tienen la distancia de Hamming mínima.
13. El dispositivo CLV de cualquiera de las reivindicaciones 9 a 12, donde el valor de atenuación corresponde sustancialmente a w/n.
14. El dispositivo CLV de cualquiera de las reivindicaciones 9 a 12, donde el valor de atenuación es de entre (w-1)/n y w/n.
15. El dispositivo CLV de la reivindicación 14, que comprende además el procesador que ejecuta instrucciones para:
obtener (903) un valor de atenuación, Dv , correspondiente a una intensidad de luz a transmitir durante el bloque de señales, donde Dv se define como w/n representando cuántos intervalos de tiempo están ocupados por un pulso para un bloque de señales dado con n intervalos de tiempo;
determinar (906) una pluralidad de valores diferentes para n y una pluralidad de valores diferentes para w tal que (w -1)/n < Dv < w/n; y
seleccionar (909) uno de la pluralidad de valores diferentes para n y uno de la pluralidad de valores diferentes para w que maximice la siguiente ecuación:
r
Todo
Figure imgf000017_0001
donde Rn,w es la tasa de transmisión normalizada para un n dado y w de acuerdo con la siguiente ecuación
Figure imgf000018_0001
y donde r = 1000w -(1000Dv)/n.
ES17845554T 2016-09-02 2017-09-01 Procedimiento de atenuación para comunicaciones con luz visible Active ES2821048T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662383300P 2016-09-02 2016-09-02
US15/691,915 US10298333B2 (en) 2016-09-02 2017-08-31 Method of dimming for visible light communications
PCT/CN2017/100283 WO2018041252A1 (en) 2016-09-02 2017-09-01 Method of dimming for visible light communications

Publications (1)

Publication Number Publication Date
ES2821048T3 true ES2821048T3 (es) 2021-04-23

Family

ID=61281531

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17845554T Active ES2821048T3 (es) 2016-09-02 2017-09-01 Procedimiento de atenuación para comunicaciones con luz visible

Country Status (4)

Country Link
US (1) US10298333B2 (es)
EP (1) EP3491750B1 (es)
ES (1) ES2821048T3 (es)
WO (1) WO2018041252A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372532B2 (en) * 2016-12-07 2019-08-06 Taiwan Semiconductor Manufacturing Co., Ltd. Memory array and measuring and testing methods for inter-hamming differences of memory array
GB201710545D0 (en) * 2017-06-30 2017-08-16 Purelifi Ltd Optical wireless communication system and method
US10833765B2 (en) * 2017-07-19 2020-11-10 Signify Holding B.V. Illumination system for communicating data
KR102054816B1 (ko) * 2018-02-09 2020-01-22 한국과학기술원 신호를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN110474684B (zh) * 2019-09-02 2020-11-27 北京邮电大学 一种基于多led可见光通信系统的广义调光控制方法
CN113595896B (zh) * 2021-08-05 2022-04-05 河南大学 一种基于vlc链路的混合数据中心网络的多路由通信方法
CN114301540A (zh) * 2021-12-31 2022-04-08 南京航空航天大学 基于空间叠加脉冲幅度调制的x射线通信方法及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068946B2 (en) * 2001-01-23 2006-06-27 At&T Corp. Modulation scheme for tedons
US8107825B2 (en) 2009-05-08 2012-01-31 Samsung Electronics Co., Ltd. Apparatus and method for support of dimming in visible light communication
GB2496379A (en) * 2011-11-04 2013-05-15 Univ Edinburgh A freespace optical communication system which exploits the rolling shutter mechanism of a CMOS camera
US9136870B2 (en) * 2012-05-15 2015-09-15 Samsung Electronics Co., Ltd. Method and apparatus with error correction for dimmable visible light communication
US9571312B2 (en) 2013-11-26 2017-02-14 University Of Virginia Patent Foundation Expurgated pulse position modulation for communication
CN104158632B (zh) 2014-09-03 2017-06-20 重庆邮电大学 用于可见光通信系统的可变脉冲幅度位置调制和误码率改善方法
CN104753595B (zh) 2015-03-02 2017-04-05 东南大学 一种室内可见光通信系统中支持亮度调节的调制方法
CN105119655A (zh) 2015-08-31 2015-12-02 华南理工大学 基于qam和mppm的可见光通信方法及其系统

Also Published As

Publication number Publication date
EP3491750A1 (en) 2019-06-05
EP3491750B1 (en) 2020-08-26
US10298333B2 (en) 2019-05-21
US20180069628A1 (en) 2018-03-08
WO2018041252A1 (en) 2018-03-08
EP3491750A4 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
ES2821048T3 (es) Procedimiento de atenuación para comunicaciones con luz visible
Karunatilaka et al. LED based indoor visible light communications: State of the art
Mapunda et al. Indoor visible light communication: A tutorial and survey
Monteiro et al. Constellation design for color-shift keying using interior point methods
Gavrincea et al. Rapid prototyping of standard-compliant visible light communications system
Roberts et al. IEEE 802.15. 7 physical layer summary
Noshad et al. Can visible light communications provide Gb/s service?
Wu et al. Modeling and designing of a new indoor free space visible light communication system
US10122451B2 (en) Information beamforming for visible light communication
Bhalerao et al. A survey of wireless communication using visible light
Aftab et al. Light fidelity (Li-Fi) based indoor communication system
Mukherjee Wireless communication-moving from RF to optical
Amjad et al. An IEEE 802.11 compliant SDR-based system for vehicular visible light communications
KR20120106807A (ko) 데이터 광 전송 방법 및 장치
Wang et al. Capacity analysis for dimmable visible light communications
Idris et al. A survey of modulation schemes in visible light communications
Vappangi et al. Visible Light Communication: Comprehensive Theory and Applications with MATLAB®
Yan et al. QoS analysis and signal characteristics for short-range visible-light communications
Linnartz et al. Communications and sensing of illumination contributions in a power LED lighting system
Knobloch Channel gain and frame error rate for optical street lighting communication
Mukherjee Visible light communication-A survey of potential research challenges and advancements
Bui et al. Energy-constrained slot-amplitude modulation with dimming support
Merah Conception and realization of an indoor multi-user Light-Fidelity link
Chowdhury Data download on the move in visible light communications: Design and analysis
Jan et al. Comparative analysis of DIPPM scheme for visible light communications