24,729 research outputs found
Deep Learning Framework for Wireless Systems: Applications to Optical Wireless Communications
Optical wireless communication (OWC) is a promising technology for future
wireless communications owing to its potentials for cost-effective network
deployment and high data rate. There are several implementation issues in the
OWC which have not been encountered in radio frequency wireless communications.
First, practical OWC transmitters need an illumination control on color,
intensity, and luminance, etc., which poses complicated modulation design
challenges. Furthermore, signal-dependent properties of optical channels raise
non-trivial challenges both in modulation and demodulation of the optical
signals. To tackle such difficulties, deep learning (DL) technologies can be
applied for optical wireless transceiver design. This article addresses recent
efforts on DL-based OWC system designs. A DL framework for emerging image
sensor communication is proposed and its feasibility is verified by simulation.
Finally, technical challenges and implementation issues for the DL-based
optical wireless technology are discussed.Comment: To appear in IEEE Communications Magazine, Special Issue on
Applications of Artificial Intelligence in Wireless Communication
Safer typing of complex API usage through Java generics
When several incompatible implementations of a single API are in use in a Java program, the danger exists that instances from different implementations may inadvertently be mixed, leading to errors. In this paper we show how to use generics to prevent such mixing. The core idea of the approach is to add a type parameter to the interfaces of the API, and tie the classes that make up an implementation to a unique choice of type parameter. In this way methods of the API can only be invoked with arguments that belong to the same implementation. We show that the presence of a type parameter in the interfaces does not violate the principle of interface-based programming: clients can still completely abstract over the choice of implementation. In addition, we demonstrate how code can be reused between different implementations, how implementations can be defined as extensions of other implementations, and how different implementations may be mixed in a controlled and safe manner. To explore the feasibility of the approach, gauge its usability, and identify any issues that may crop up in practical usage, we have refactored a fairly large existing API-based application suite, and we report on the experience gained in the process
- ā¦