Power-based encoding of data to be transmitted over an optical communication path

文档序号:1909797 发布日期:2021-11-30 浏览:15次 中文

阅读说明:本技术 对待通过光通信路径传输的数据进行基于功率的编码 (Power-based encoding of data to be transmitted over an optical communication path ) 是由 A·A·哈桑 于 2019-11-26 设计创作,主要内容包括:一种用于通过光通信路径传输数据的系统被配置为接收要在位流中编码以使用光通信路径进行传输的数据,并对接收到的数据进行编码以获得位流。该系统还被配置为确定位流包括连续位的序列,并基于序列中连续位的计数获得传输位流的一部分的功率电平。该系统可以被配置为根据调制方案选择性地以功率电平激活光源,从而以该功率电平光学传输位流的一部分。(A system for transmitting data over an optical communication path is configured to receive data to be encoded in a bitstream for transmission using the optical communication path, and encode the received data to obtain the bitstream. The system is also configured to determine that the bit stream includes a sequence of consecutive bits and obtain a power level for a portion of the transmitted bit stream based on a count of consecutive bits in the sequence. The system may be configured to selectively activate the light source at a power level according to a modulation scheme to optically transmit a portion of the bit stream at the power level.)

1. A method of transmitting data over an optical communication path, the method comprising:

receiving a bit stream for transmission over the optical communication path;

determining that the bitstream includes a sequence of consecutive bits having a same value;

determining a first power level at which to transmit the sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and

selectively activating a light source at the first power level according to a first modulation scheme to optically transmit an entire sequence by transmitting a single bit of the sequence of consecutive bits using the first power level.

2. The method of claim 1, wherein each bit of the sequence is associated with a corresponding power level; and is

Wherein the first power level is based on a combination of corresponding power levels for each value of the sequence.

3. The method of claim 1, further comprising determining a second power level associated with a second sequence of consecutive bits having a same value, the second sequence having a higher consecutive bit count than the sequence, and wherein the second power level is higher than the first power level.

4. The method of claim 3, further comprising determining a third power level associated with a third sequence of consecutive bits having the same value, the third power level higher than the second power level, wherein the third power level is higher than the second power level by a predetermined amount, and wherein the second power level exceeds the first power level by the predetermined amount.

5. The method of claim 1, wherein the count increase is non-linearly mapped to the power level increase.

6. The method of any of claims 1-5, wherein less energy is required to activate the light source at the first power level to transmit the entire sequence than is required to activate the light source to transmit each bit of the sequence individually.

7. The method of any of claims 1-5, wherein activating the light source at the first power level to transmit the entire sequence requires less time than a total time required to activate the light source to transmit each bit of the sequence individually.

8. A system for transmitting data over an optical communication path, the system comprising:

a hardware processor; and

a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to:

receiving a bit stream for transmission over the optical communication path;

determining that the encoded bitstream includes a sequence of consecutive bits having the same value;

determining a first power level at which to transmit the sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and is

Selectively activating a light source at the first power level according to a first modulation scheme to optically transmit an entire sequence by transmitting a single bit of the sequence of consecutive bits using the first power level.

9. The system of claim 8, wherein each value of the sequence is associated with a corresponding power level; and is

Wherein the first power level is based on a combination of corresponding power levels for each value of the sequence.

10. The system of claim 8, wherein the instructions further configure the system to determine a second power level associated with a second sequence of consecutive bits having a same value, the second sequence having a higher consecutive bit count than the sequence, and wherein the second power level is higher than the first power level.

11. The system of claim 10, wherein the instructions further configure the system to determine a third power level associated with a third sequence of consecutive bits having the same value, the third power level higher than the second power level, wherein the third power level is higher than the second power level by a predetermined amount, and wherein the second power level exceeds the first power level by the predetermined amount.

12. The system of claim 8, wherein the count increase is non-linearly mapped to the power level increase.

13. The system of any of claims 8-12, wherein less energy is required to activate the light source at the first power level to transmit the entire sequence than is required to activate the light source to transmit each bit of the sequence individually.

14. The system of any of claims 8-12, wherein less time is required to activate the light source at the first power level to transmit the entire sequence than is required to activate the light source to transmit each bit of the sequence individually.

15. A system for transmitting data over an optical communication path, the system comprising:

means for receiving a bit stream for transmission over the optical communication path;

means for determining that the encoded bitstream includes a sequence of consecutive bits having the same value;

means for determining a first power level at which to transmit the sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and

means for selectively activating a light source at the first power level according to a first modulation scheme to optically transmit an entire sequence by transmitting a single bit of the sequence of consecutive bits using the first power level.

Technical Field

The subject matter disclosed herein relates generally to optical encoding techniques and, in particular, to using optical power output as a mechanism for encoding repeated binary characters appearing in an encoded bit stream.

Background

Optical communication uses light to communicate between an optical transmitter and an optical receiver (e.g., a photodetector). Optical communications are primarily used for telecommunications to transport large amounts of data (e.g., voice traffic, network traffic, etc.) over long distances between two points. Optical communication paths (e.g., optical fibers) may carry optical network traffic for hundreds or thousands of devices. As the number of devices increases, the demand for optical communication bandwidth also increases. As the demand for optical communication bandwidth increases, new and improved optical network traffic encoding approaches are also needed. By employing different optical coding schemes, the optical communication path can be modified to carry additional optical network traffic without having to physically change the optical communication path.

Disclosure of Invention

To address these and other problems that arise in the field of optical communications, the present disclosure provides various optical encoding schemes that utilize a transmission power output to encode one or more binary characters. The initial transmission power output may be mapped to a particular binary character and repeated instances of the particular binary character may be mapped to a higher transmission power output. As described below, various partitioning schemes may be used to efficiently partition a binary character sequence into one or more transport packets such that the transport packets are minimized over a predetermined time period.

Drawings

Some embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.

Fig. 1 is a block diagram illustrating an optical transmitter communicating with an optical receiver using one or more optical communication paths, according to an example embodiment.

FIG. 2 illustrates components of the light emitter shown in FIG. 1 according to an example embodiment.

Fig. 3 illustrates the optical receiver of fig. 1 according to an example embodiment.

Fig. 4 illustrates a distribution of photons detected by the optical receiver of fig. 1, wherein the distribution corresponds to a transmission signal that has been compressed using a first power-based compression algorithm, according to an example embodiment.

Fig. 5 illustrates a distribution of photons detected by the optical receiver of fig. 1, wherein the distribution corresponds to a transmission signal that has been compressed using a second power-based compression algorithm, according to an example embodiment.

Fig. 6 illustrates a distribution of photons detected by the optical receiver of fig. 1, wherein the distribution corresponds to a transmission signal that has been compressed using a third power-based compression algorithm, according to an example embodiment.

Fig. 7 illustrates a method for transmitting an encoded bit stream using the optical transmitter of fig. 1 according to an example embodiment.

Fig. 8 illustrates a method for receiving an encoded bit stream using the optical receiver of fig. 1, according to an example embodiment.

Fig. 9 illustrates a method for determining an optimal number of transmission packets to be transmitted using the optical transmitter of fig. 1, according to an example embodiment.

Fig. 10 illustrates a method for determining whether a transmission packet corresponds to a plurality of binary characters, according to an example embodiment.

Fig. 11 is a block diagram illustrating components of a machine capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium or a machine-readable storage device) and performing any one or more of the methodologies discussed herein, according to some example embodiments.

Fig. 12 illustrates a method for transmitting data over an optical communication path according to an example embodiment.

Detailed Description

The following description describes systems, methods, techniques, sequences of instructions, and computer machine program products that illustrate example embodiments of the present subject matter. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the present subject matter. It will be apparent, however, to one skilled in the art, that embodiments of the present subject matter may be practiced without some or all of these specific details. Examples merely typify possible variations. Unless explicitly stated otherwise, structures (e.g., structural components, such as modules) are optional and may be combined or subdivided, and operations (e.g., in processes, algorithms, or other functions) may be varied or combined or subdivided sequentially.

The present disclosure provides systems and methods for optically compressing an encoded bitstream based on a power output of a light source and selectively activating the light source to transmit the compressed bitstream. The present disclosure also provides systems and methods for optically detecting transmission of a compressed bitstream and decompressing the compressed bitstream to obtain an encoded bitstream.

In one embodiment, the disclosed systems and methods obtain an encoded bitstream by encoding data to be optically transmitted using a source encoding technique (e.g., huffman encoding, Lempel-Ziv encoding, Shannon-Fano encoding, any other source encoding technique, or a combination thereof). In another embodiment, source encoding of data to be transmitted is omitted and/or bypassed.

Forward Error Correction (FEC) may then be performed on the encoded bit stream to preserve information that may be lost during transmission. Examples of error correction coding techniques that may be applied to the encoded bit stream include hamming codes, reed solomon codes, and other such error correction coding techniques. The result of performing FEC on the encoded bit stream is the encoded bit stream along with redundant bits for recovering one or more bits of the encoded bit stream.

Power shaping or a power-based compression algorithm is then performed on the encoded bit stream, including the data portion of the encoded bit stream and the redundant bits added to the encoded bit stream by error correction coding. As discussed in more detail, one or more power shaping or power-based compression algorithms may be performed on the encoded bit stream to increase transmission throughput without physically altering the optical communication path over which the encoded bit stream is transmitted. Typically, a power-based compression algorithm maps binary characters of the encoded bit stream to the output power of a light source transmitting the encoded bit stream over the optical communication path. Thereafter, the power-based compression algorithm searches the encoded bit stream for repeated instances of the binary character and replaces the repeated instances with a single instance of the binary character. However, the replacement binary characters are designated to be transmitted at a higher power level than the respective binary characters replaced by the replacement binary characters.

For example, assume that the binary character "1" maps to a first transmission power level of 5dBm, and the coded bit stream to be transmitted is "11111". Furthermore, power-based compression algorithms introduce an extra 2dBm for each additional binary character that is replaced after the first binary character. Thus, in this example, the encoded bit stream "11111" is replaced with a single binary character "1". Further, rather than specifying at five separate instances (e.g., T)1、T2、T3Etc.) transmit five binary 1's at a power level of 5dBm each, but the light source is instructed to operate for a single time period (e.g., T)1) A single binary character "1" is transmitted at a power level of 13dBm (e.g., an initial 5dBm for a first binary character, then an additional 2dBm for each additional binary character). When the receiver detects an increase in the power level of a received transport packet over a single time period, the receiver applies a power-based decompression algorithm to determine that the received transport packet represents multiple binary characters and to determine the number of binary characters represented by a single transport packet.

Thus, the aforementioned power-based compression algorithm is one example of a manner in which binary characters may be compressed and represented by the power output of a single transmission packet. Variations of the foregoing examples are possible and are contemplated to fall within the scope of the present disclosure, as discussed below with reference to fig. 4-6. Variations include, but are not limited to: considering the maximum transmission power output by the light source, optimizing the number of packets that can be transmitted at a power level less than the maximum transmission power, determining the power level of the power-shaped transmission packets, and other such variations or combinations thereof.

Additional operations are then performed on the power-shaped encoded bit stream prior to transmission by the optical source. These operations include, but are not limited to, applying a modulation scheme to modulate the power-shaped coded bit stream with a predetermined carrier and up-converting the modulated signal to a frequency suitable for transmission over the optical communication path.

A similar operation is then performed by the receiver receiving the modulated signal from the transmitter. These operations include, but are not limited to: the method includes the steps of down-converting a received modulated signal to a carrier frequency, demodulating a power-shaped encoded bit stream from the carrier, and decompressing the power-shaped encoded bit stream using a power-based decompression algorithm. Further operations include applying a source decoding technique (e.g., huffman decoding) to obtain decoded data, and then storing the decoded data in a computer-readable storage device. Storing the decoded data may include storing the decoded data in short-term memory, such as Random Access Memory (RAM), or in long-term memory, such as a hard disk drive (e.g., a magnetic or flash drive), an optical disk, or other long-term memory.

An additional technique disclosed herein is that the receiver can be trained via one or more machine learning techniques to identify whether the transmission packet sent by the optical transmitter represents a single binary character or more than one binary character. One example of a machine learning technique that may be used by an optical receiver is Poisson Regression, which is disclosed in the online article "progress Regression" published by Microsoft corporation and available at https:// docs. Machine learning techniques help the receiver learn the power level of a transmission packet sent by the transmitter and identify when a series of photons received at a particular power level (or approximate power level) represents a transmission packet sent by the optical transmitter. In yet another embodiment, a poisson distribution is developed for an optical transmitter, where the poisson distribution is developed for one or more transmission power levels output by the optical transmitter, which are then used to match transmission packets transmitted by the optical transmitter.

In this way, the present disclosure provides an optical encoding mechanism that compresses an encoded bit stream using a power-based compression algorithm, and an optical decoding mechanism that decompresses an encoded bit stream using a power-based decompression algorithm. This approach has a number of technical benefits. For example, one technical benefit is that the transmission rate of the optical communication path is increased without having to physically alter the optical communication path to accommodate the additional throughput. Another technical benefit is that the power-based compression algorithm can be applied to legacy transmission equipment without having to add additional transmission hardware or modify existing transmission hardware, since the focus of the power-based compression algorithm is to map binary characters to transmission power levels supported by the transmission equipment.

The present disclosure now turns to embodiments of various disclosures implementing aspects of the technology described herein. FIG. 1 is a block diagram illustrating two computing devices 104 and 106 in communication with each other via an optical transmitter 108 and an optical receiver 110. The computing device 104 sends the data to the computing device 106 via the optical transmitter 108, and the optical transmitter 108 encodes the data to obtain an encoded bit stream and uses a power-based compression algorithm to obtain a compressed bit stream for transmission over the optical communication path 114 and 116. The optical receiver 110 is configured to receive the power-shaped bit stream from the optical transmitter 108 and transmit uncompressed and decoded data to the computing device 106.

The optical transmitter 108 may communicate directly with the optical receiver 110 via one or more optical communication paths 114 and 116. Additionally and/or alternatively, a network 112 may be disposed between the optical transmitter 108 and the optical receiver 110, and the optical transmitter 108 and the optical receiver 110 communicate with the network 112 via an optical communication path 114 and 116.

Computing device 104 may include, but is not limited to, a mobile phone, desktop computer, laptop computer, Portable Digital Assistant (PDA), smart phone, tablet computer, ultrabook, netbook, laptop computer, multiprocessor system, microprocessor-based or programmable consumer electronics, or any other communication device that a user may use to perform various computing tasks (e.g., accessing the internet, making telephone calls, conducting video conferences, etc.). In some embodiments, computing device 104 may include a display module (not shown) to display information (e.g., in the form of a user interface). In further embodiments, the computing device 104 may include one or more of a touch screen, an accelerometer, a gyroscope, a camera, a microphone, a Global Positioning System (GPS) device, and the like.

Computing devices 106 may include, but are not limited to, mobile phones, desktop computers, laptop computers, Portable Digital Assistants (PDAs), smart phones, tablets, ultrabooks, netbooks, laptop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, or any other communication device that a user may use to perform various computing tasks (e.g., accessing the internet, making telephone calls, conducting video conferences, etc.). In some embodiments, computing device 106 may include a display module (not shown) to display information (e.g., in the form of a user interface). In further embodiments, the computing device 106 may include one or more of a touch screen, an accelerometer, a gyroscope, a camera, a microphone, a Global Positioning System (GPS) device, and the like.

Further, computing device 104 and/or computing device 106 may be implemented as servers that provide various functionality and/or computerized services. For example, computing device 104 and/or computing device 106 may provide a file hosting service, a video streaming service, an audio streaming service, a web hosting service, an online gaming service, an online banking service, or any other computerized service or combination thereof. The computing device 104 and 106 may be implemented as: a client/server relationship (e.g., computing device 104 is a client device and computing device 106 is a server device), a peer-to-peer relationship (e.g., computing device 104 is a client device and computing device 106 is a client device), or a server-to-server relationship (e.g., computing devices 104 and 106 are both implemented as servers and communicate with each other to provide various services to each other). In some examples, computing devices 104 and 106 may include respective light emitters 108 and 110.

The network 112 disposed between the computing device 104 and the computing device 106 may include one or more types of networks. For example, network 112 may be an ad hoc network, an intranet, an extranet, a Virtual Private Network (VPN), a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), a Wireless Wide Area Network (WWAN), a Metropolitan Area Network (MAN), a portion of the internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a Wi-Fi network, a WiMAX network, another type of network, or a combination of two or more such networks.

Optical communication path 114 and 116 may include one or more physical media through which laser or light is communicated. One example of a transmission medium that may be included in optical communication paths 114-116 is one or more optical fibers, such as single mode fibers or multimode fibers, where the optical fibers include glass fibers, polymer fibers, or a combination thereof. Another example of a transmission medium is a gas, such as air, where the optical transmitter 108 communicates with the optical receiver 110 by sending one or more transmission packets over and/or through the gas.

In fig. 1, the communication between the optical transmitter 108 and the optical receiver 110 is shown as a unidirectional path (e.g., the optical transmitter sends a transmission packet to the optical receiver 110). However, in other embodiments, the computing device 106 may also communicate with an optical transmitter (not shown) that communicates with an optical receiver (not shown) communicatively coupled to the computing device 104. Thus, the communication between computing device 104 and computing device 106 may also be a bi-directional communication pathway.

Referring to fig. 2, fig. 2 is a component of the light emitter 108 shown in fig. 1, according to an example embodiment. As shown in FIG. 2, and in one embodiment, light emitter 108 includes various components 202 and 218. These components 202 and 218 include, but are not limited to, a communication interface 202, one or more processors 204, a computer storage 206, a source encoding module 208, an error control Encoding (ECC) module 210, and a power shaping encoding module 212. The assembly 202 and 218 further includes a baseband modulator/filter 214, an upconversion module 216, and a light source 218.

The various components 202 and 218 of light emitter 218 may be implemented in a single device, may reside on a single device, or may be distributed across multiple devices in various arrangements. The various components 202, 218 of the optical transmitter 218 may access one or more computer storage devices to obtain configuration information and/or implement algorithms, and each of the various components 202, 218 may communicate with each other (e.g., via one or more communication buses, etc.). Further, while the components 202 and 218 of FIG. 2 are discussed in a singular sense, it will be understood that multiple instances of the components 202 and 218 may be employed in other embodiments.

One or more of the components 208, 218 may be implemented in hardware and/or software. In one embodiment, the components 208 and 218 are implemented as application specific circuitry, such as an Application Specific Integrated Circuit (ASIC), wherein the application specific circuitry is configured to perform predetermined functions. For example, the source encoding module 208 may be implemented as an ASIC configured to perform huffman encoding on a bitstream corresponding to the data 220. As another example, the ECC module 210 may be implemented as an ASIC configured to perform Reed Solomon codes (Reed Solomon codes) on the encoded bit stream output by the source encoding module 208. Additionally and/or alternatively, the components 208 and 218 can be implemented as software, wherein the processor 204 is configured to execute computer-readable instructions that implement the components 208 and 218. Furthermore, combinations of the foregoing are possible in which some modules are implemented as dedicated circuitry and other modules are implemented in software. In this manner, the optical transmitter 108 may include components 208 and 218 implemented in hardware and/or software.

The communication interface 202 is configured to communicate with the computing device 104. In this regard, the communication with the computing device 104 includes receiving data from the computing device 104 and/or transmitting data to the computing device 104. The light emitter 108 may also receive instructions and/or configurations from the computing device 104 via the communication interface 202. For example, the light emitter 108 may receive data 220 and/or one or more encoding algorithms 222 from the computing device 104.

The communication interface 202 may include one or more wired and/or wireless communication interfaces. For example, the communication interface 202 may include a wireless transceiver,Radio and/or wired network interfaces. In one embodiment, the communication interface 202 is configured to establish a wireless communication channel with the computing device 104 using one or more wireless communication protocols, such as 802.11 b/g/n. Additionally and/or alternatively, the optical transmitter 108 may establish a communication channel with the computing device 104 via a wire or other physical medium (e.g., via an ethernet cable, etc.). In yet another embodiment, communication interface 202 is a local bus that allows direct communication between optical transmitter 108 and computing device 104.

The processor 204 is configured to execute computer readable instructions that implement one or more of the modules 208-216. Additionally and/or alternatively, the processor 204 may be configured to retrieve computer-readable instructions from the computer storage device 206. The one or more processors 204 may be any type of commercially available processor such as those available from intel corporation, ultra-wei semiconductor corporation, texas instruments, or other such processors. Further, the one or more processors 204 may include one or more special-purpose processors, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). The one or more processors 204 may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. Thus, once configured by such software, one or more processors 204 become a particular machine (or particular component of a machine) that is uniquely customized to perform the configured function and is no longer a general-purpose processor 204.

Where one or more processors 204 implement module 208 via one or more computer-readable instructions 216, the computer-readable instructions may be written in one or more computer programming and/or computer script languages. Examples of such languages include, but are not limited to, C, C + +, C #, Java, JavaScript, Perl, Python, or any other computer programming and/or scripting language now known or later developed.

The optical transmitter 108 may also include various computer storage devices 206 and/or computer readable media for storing data 220 and/or encoding algorithms 222. Computer storage 204 includes one or more physical devices configured to store instructions and data temporarily or permanently, and may include, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), cache memory, flash memory, optical media, magnetic media, cache memory, other types of storage devices (e.g., erasable programmable read only memory (EEPROM)), and/or any suitable combination thereof. The term "computer storage device" should be taken to include a single device or multiple devices (e.g., a centralized or distributed database, or associated caches and servers) capable of storing the data 220 and the one or more encoding algorithms 222. Thus, the computer storage 204 may be implemented as a single storage apparatus or device, or alternatively and/or additionally, as a "cloud-based" storage system or storage network that includes multiple storage apparatuses or devices.

The data 220 of the computer storage device 206 includes information that the computing device 104 intends to transmit to the computing device 106. The data 220 may also include computer readable instructions that configure the one or more processors 204 to implement one or more of the modules 208 and 216.

The encoding algorithm 222 includes one or more algorithms for encoding the data 220 to be transmitted via the light source 218. In one embodiment, the encoding algorithm 222 includes one or more source encoding algorithms for implementation by the source encoding module 208. Examples of source coding algorithms that may be included in coding algorithm 222 include huffman coding, Lempel-Ziv coding, Shannon-Fano coding, and other such coding algorithms or combinations thereof.

In another embodiment, the encoding algorithm 222 includes one or more error correction encoding algorithms applied by the ECC module 210. For example, the ECC module 210 may reference a memory address of the computer storage 206 to retrieve an error control coding algorithm to be applied to the encoded bitstream. Alternatively, the ECC module 210 may reference a variable name, which may store a variable value or a constant value, where the value referenced by the variable name indicates the error control encoding algorithm to be applied. Error control coding algorithms for which the ECC module 210 is adapted may include, but are not limited to, hamming codes, reed solomon codes, and other such error correction coding techniques, or combinations thereof.

In another embodiment, the encoding algorithms 222 include one or more power-based compression algorithms for the power shaping encoding module 212. In one embodiment, a power-based compression algorithm maps repeated strings (run) of binary characters within an encoded bitstream (e.g., a bitstream to which source encoding is applied) to a particular power level that may be transmitted by the light source 218. In one embodiment, the power-based compression algorithm maps the repeating string of binary characters to a power level regardless of the transmitted output of the light source 218. In another embodiment, the power-based compression algorithm maps the repeating string of binary characters to a predetermined transmittable power output of the optical source 218 and, in so doing, generates one or more transmission packets corresponding to the repeating string of binary characters. In some cases, the predetermined transmittable power output of the light source 218 is a maximum transmittable power output of the light source 218.

In some cases, a string of repeated binary characters includes repeated "1" values (e.g., "111," "1111," "11111 l," etc.). In other cases, a string of repeated binary characters includes repeated "0" values (e.g., "000," "0000," "00000," etc.). The power-based compression algorithm may include one or more algorithms for performing power-based compression on repeated "1" values, one or more algorithms for performing power-based compression on repeated "0" values, or a combination of these algorithms.

In mapping the repeating string of binary characters to a power level that can be output by the light source 218, each repeating binary character in the string increases the power level at which the replacement binary character is transmitted. For example, a string of binary characters comprising four "1's" may map to a power level increased by a quadruple predetermined amount (e.g., 0.5dBm, 1dBm, etc.). In this embodiment, the increase in the power level output by the light source 218 is related to the number of repeating binary characters in a particular string of repeating binary characters.

In another embodiment of mapping binary character strings to output power levels, the increased power levels may be associated with additional binary characters in a particular string. Additionally and/or alternatively, the increased power level may be arbitrarily allocated or may be allocated via manually provided input (e.g., by an operator of light emitter 108). For example, the mapping may define that a string containing four repeating binary characters will be output at 8dBm, a string containing five repeating binary characters will be output at 8.6dBm, a string containing six repeating binary characters will be output at 9dBm, and a string containing seven repeating binary characters will be output at 9.3 dBm. In this example, the power level is increased for each additional binary character added to the repeating string of binary characters, but the increase in power level is not done at equal intervals.

In yet another embodiment of mapping a string of binary characters to an output power level, the power level may not be incrementally increased, but may be randomly assigned and/or provided by a human operator. For example, the mapping may define that a string containing four repeating binary characters will be output at 6dBm, a string containing five repeating binary characters will be output at 5.3dBm, a string including six repeating binary characters will be output at 7.2dBm, and a string containing seven repeating binary characters will be output at 6.7 dBm. In this example, the power level is at a different output level and does not necessarily increase with the addition of another repeating binary character.

In yet another embodiment, the power-based compression algorithm maps the repeating string of binary characters to an optimized number of transmission packets, wherein the optimized number of transmission packets is based on a predetermined power level that can be transmitted by the light source 218 and the number of packets to be transmitted at the predetermined power level. In some cases, the predetermined power level is a maximum power level output by the light source 218. Each of these power-based compression algorithms is discussed in turn in fig. 4-6. Furthermore, combinations of the above are also possible.

The source encoding module 208 is configured to encode the data 220 according to one or more encoding algorithms 222. In one embodiment, the source encoding module 208 retrieves data 220 from the computer storage device 206 and applies a source encoding algorithm defined by one or more encoding algorithms 222. In another embodiment, the source encoding module 208 pre-configures the active encoding for application to the data 220. The output generated by the source encoding module 208 is an encoded bitstream that can be stored as part of the data 220 of the computer storage 206. Additionally and/or alternatively, the encoded bit stream may be transmitted in real-time or near real-time to another module 210 of the optical transmitter 108, such as the ECC module 210 or the power shaping encoding module 212.

The ECC module 210 is configured to apply error correction coding to the encoded bitstream output by the source encoding module 208. In some cases, the data 220 may not be encoded by the source encoding module 208, in which case the ECC module 210 applies error correction encoding to the data 220 retrieved by the ECC module 210 from the computer storage device 206. The resulting output from the ECC module 210 is one or more redundant bits that the optical receiver 110 can use to recover one or more information bits transmitted by the optical source 218.

The power shaping encoding module 212 is configured to apply a power-based compression algorithm to the encoded bit stream and the redundant bits to obtain a power shaping encoded bit stream that is ultimately output by the light source 218. The power shaping encoding module 212 may be configured to selectively apply a power-based compression algorithm to one or more portions of the encoded bit stream. The output from the power shaping module 212 is a compressed bit stream in which the binary character repeating string in the encoded bit stream and/or the redundant bits has been replaced with one or more binary characters, depending on the power-based compression algorithm used by the power shaping module 212. As described above, the one or more binary characters that are replaced correspond to the transmission power level output by the light source 218.

In one embodiment, the compressed bit stream (including any redundant bits) is passed to a baseband modulator/filter 214. The baseband modulator/filter 214 modulates a signal corresponding to the compressed bit stream with a carrier signal emitted by the optical source 218. The baseband modulator/filter 124 may employ one or more modulation techniques to modulate the compressed bit stream with the carrier signal emitted by the optical source 218. Examples of modulation techniques include, but are not limited to, Quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), Amplitude and Phase Shift Keying (APSK), and other such modulation techniques or combinations thereof. Further, the carrier signal emitted by the optical source 218 may be directly modulated by the baseband modulator/filter 214, wherein the optical source 218 is configured to emit the carrier signal when a first binary character (e.g., binary "1") is encountered in the compressed bitstream and is configured not to emit the carrier signal when a second binary character (e.g., binary "0") is encountered in the compressed bitstream.

Further, the baseband modulator/filter 214 may filter the modulated signal to be emitted by the light source 218 based on the desired wavelength. In one embodiment, the baseband modulator/filter 214 filters the modulated signal to within a desired wavelength, such as 650nm, 850nm, 1300nm, 1310nm, and other such wavelengths. In some cases, the filtering of baseband modulator/filter 214 may be applied after the modulated signal has been upconverted to another frequency and/or wavelength. In this manner, the baseband modulator/filter 214 ensures that the signal emitted by the light source 218 is within a desired or selected wavelength.

In some cases, the baseband modulator/filter 214 may be applied to the compressed bitstream output by the power shaping encoding module 212, for example, where the compressed bitstream is to be transmitted with a carrier signal. In other cases, the power shaping encoding module 212 may transmit the compressed bit stream to the optical source 218, where the baseband modulator/filter 214 directly modulates the output of the optical source 218.

The upconversion module 216 is configured to apply frequency upconversion techniques to convert the frequency of the modulated signal (e.g., the modulated signal output by the baseband modulator/filter 214) to a higher or lower frequency for emission by the optical source 218. In one embodiment, the up-conversion module 216 is implemented as a Finite Impulse Response (FIR) interpolator, a cascaded-integrating-comb (CIC) compensator, and a CIC interpolator. The inputs to the up-conversion module 216 include the modulated signal (e.g., the frequency of the modulated signal) and the local oscillator signal output by the baseband modulator/filter 214, where the output includes a new signal having a frequency within a particular desired frequency range (e.g., the sum of the two signals and/or the difference of the two signals). A band pass filter (not shown) may then be applied to the output signals to select which of the two output signals is desired (e.g., the sum of the two signals or the difference of the two signals).

In some cases, the up-conversion module 216 may be applied to a modulated signal, where the modulated signal includes a lower frequency Radio Frequency (RF) signal than desired. In other cases, the upconversion module 216 may be bypassed and the modulated signal may be conveyed directly to the optical source 218, for example, where the modulated signal is within a desired frequency range.

The optical source 218 is configured to transmit signals output by the power shaping encoding module 212, the baseband modulator/filter 214, and/or the upconversion module 216. In one embodiment, the transmission of the optical source 218 is divided into transmission packets, where each transmission packet corresponds to a binary value within the compressed bit stream output by the power shaping encoding module 212. Further, each transmission packet may be associated with a particular power level such that the light source 218 emits transmission packets at its associated power level. The light source 218 is also configured to transmit transport packets at known time intervals (e.g., maintained by an internal clock circuit or the like), and the light receiver (discussed with reference to fig. 3) is configured to detect the transport packets at known time intervals. In this manner, the optical transmitter 108 is configured to transmit the transport packets corresponding to the data 220 via the one or more optical communication paths 114 and/or 116 and/or the network 112.

Referring to fig. 3, fig. 3 is a diagram of the components of the optical receiver 110 shown in fig. 1, according to an example embodiment. As shown in FIG. 3, and in one embodiment, the optical receiver 110 includes various components 302 and 318. These components 302 and 318 include, but are not limited to, one or more processors 302, a communication interface 304, an optical photodetector 306, a baseband demodulator 308, and a power shaping decode module 312. The component 302 further comprises an ECC decode module 316, a source decode module 314, a computer storage device 318, and an output sync 320.

The various components 302 of the optical receiver 110 and 318 may be implemented in a single device, may reside on a single device, or may be distributed across multiple devices in various arrangements. The various components 302, 318 of the optical receiver 110 can access one or more computer storage devices to obtain configuration information and/or implement algorithms, and each of the various components 302, 318 can communicate with each other (e.g., via one or more communication buses, etc.). Further, while the component 302 and 318 of FIG. 3 are discussed in a singular sense, it will be appreciated that multiple instances of the component 302 and 318 can be employed in other embodiments.

One or more of the components 306, 318 can be implemented in hardware and/or software. In one embodiment, the component 306 and 318 are implemented as a dedicated circuit, such as an Application Specific Integrated Circuit (ASIC), wherein the dedicated circuit is configured to perform a predetermined function. For example, the source decoding module 314 may be implemented as an ASIC configured to huffman decode the decompressed bitstream obtained by the power shaping decoding module 312. As another example, the ECC decoding module 316 may be implemented as an ASIC configured to decode a compressed bitstream using a reed-solomon code. Additionally and/or alternatively, the components 306-318 can be implemented as software, wherein the processor 302 is configured to execute computer-readable instructions that implement the components 306-318. Furthermore, combinations of the foregoing are possible in which some modules are implemented as dedicated circuitry and other modules are implemented in software. In this manner, the optical receiver 110 may include the component 306 implemented in hardware and/or software 318.

The communication interface 304 is configured to communicate with the computing device 106 and/or the network 112. In this regard, the communication with the computing device 106 includes receiving data from the computing device 106 and/or sending data 106 to the computing device. The optical receiver 110 may also receive instructions and/or configurations from the computing device 106 via the communication interface 304. For example, the optical receiver 110 may receive data 322 from the computing device 106, one or more decoding algorithms 324, and one or more detection models 326.

The communication interface 304 may include one or more wired and/or wireless communication interfaces. For example, the communication interface 304 may include a wireless transceiver,Radio and/or wired network interfaces. In one embodiment, the communication interface 304 is configured to establish a wireless communication channel with the computing device 106 using one or more wireless communication protocols, such as 802.11 b/g/n. Additionally and/or alternatively, the optical receiver 110 may establish a communication channel with the computing device 106 via wires or other physical media (e.g., via an ethernet cable, etc.). In yet another embodiment, the communication interface 202 is a local bus that allows direct communication between the optical receiver 110 and the computing device 106.

The processor 302 is configured to execute computer readable instructions that implement one or more of the modules 306-318. Additionally and/or alternatively, the processor 302 may be configured to retrieve computer-readable instructions from the computer storage 318. The one or more processors 302 may be any type of commercially available processor such as those available from intel corporation, ultra semiconductor corporation, texas instruments, or other such processors. Further, the one or more processors 302 may include one or more special-purpose processors, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). The one or more processors 302 may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. Thus, once configured by such software, the processor(s) 302 become a particular machine (or particular component of a machine) that is uniquely customized to perform the configured function and are no longer general-purpose processors 302.

Where one or more processors 302 implement module 306 via one or more computer-readable instructions 318, the computer-readable instructions may be written in one or more computer programming and/or computer script languages. Examples of such languages include, but are not limited to, C, C + +, C #, Java, JavaScript, Perl, Python, or any other computer programming and/or scripting language now known or later developed.

The optical receiver 110 can also include various computer storage devices 316 and/or computer-readable media for storing data 322, decoding algorithms 324, and/or one or more detection models 326. Computer storage 318 includes one or more physical devices configured to store instructions and data temporarily or permanently, and may include, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), cache memory, flash memory, optical media, magnetic media, cache memory, other types of memory (e.g., erasable programmable read only memory (EEPROM)), and/or any suitable combination thereof. The term "computer storage device" should be taken to include a single device or multiple devices (e.g., a centralized or distributed database, or associated caches and servers) capable of storing the data 322, one or more decoding algorithms 324, and/or detection models 326. Thus, the computer storage 318 may be implemented as a single storage apparatus or device, or alternatively and/or additionally, as a "cloud-based" storage system or storage network, which includes multiple storage apparatuses or devices.

Data 322 of computer storage device 318 includes information received from computing device 104 via light emitter 108. The data 322 may also include computer readable instructions that configure the one or more processors 302 to implement the one or more modules 306 and 318.

The decoding algorithms 324 include one or more algorithms for decoding the bitstream received from the computing device 104. In one embodiment, the decoding algorithm 324 includes one or more source decoding algorithms implemented by the source decode module 314. Examples of source decoding algorithms that may be included in decoding algorithm 324 include huffman decoding, Lempel-Ziv decoding, Shannon-Fano decoding, and other such decoding algorithms or combinations thereof.

In another embodiment, the decoding algorithms 324 include one or more error correction decoding algorithms for decoding one or more redundant bits included in the bit stream transmitted by the optical transmitter 108. Where the ECC decoding module 316 is implemented in hardware, the ECC decoding module 316310 may be configured to reference a memory address of the computer storage 318 to retrieve an error control decoding algorithm for application to the received bitstream and the redundant bits that it includes. Alternatively, the ECC decoding module 316 may reference a variable name, which may store a variable value or a constant value, where the value referenced by the variable name indicates the error control decoding algorithm to be applied. Error control decoding algorithms for which ECC decoding module 316 is adapted may include, but are not limited to, hamming codes, reed solomon codes, and other such error correction coding techniques, or combinations thereof.

In another embodiment, decoding algorithm 324 includes one or more power-based decompression algorithms for power-shaping decoding module 312. In one embodiment, the power-based decompression algorithm utilizes a string mapping of repeated binary characters within the transmitted bit stream to a particular power level that is detectable by the optical receiver 110. In one embodiment, the power-based decompression algorithm maps a particular power level to a repeating binary string-to-power level regardless of the transmission power detected by the optical receiver 110. In another embodiment, the power-based decompression algorithm maps a predetermined transmittable power output detectable by the optical receiver 110 to the repeated binary string, and in so doing determines that the transmission packet having the predetermined transmittable power output corresponds to the repeated binary string. In some cases, the predetermined transmittable power output is a maximum transmittable power output.

In mapping the repeated binary string to a power level detectable by the optical photodetector 306, the higher power level corresponds to the number of binary characters that have been repeated. For example, a binary string comprising four "1's" may map to a power level that has been increased by a four times predetermined amount (e.g., 0.5dBm, 1dBm, etc.), and the optical photodetector 306 may detect this increase in power level. In this embodiment, the increase in power level detected by the optical photodetector 306 is related to the number of repeating binary characters in a particular repeating binary character string.

In another embodiment of mapping binary character strings to detected power levels, the increased power levels may be associated with additional binary characters in a particular string. Additionally and/or alternatively, the increased power level may be arbitrarily allocated or may be allocated via manually provided input (e.g., by an operator of light emitter 108). For example, the mapping may define that a detected power level of 8dBm is associated with a string containing four repeating binary characters, a detected power level of 8.6dBm is associated with a string containing five repeating binary characters, a detected power level of 9dBm is associated with a string containing six repeating binary characters, and a detected power level of 9.3dBm is associated with a string containing seven repeating binary characters. In this example, the increased power level is associated with an increased number of repeated binary characters, but the increase in power level is not equally spaced.

In yet another embodiment of mapping the binary string to an output power level, the power level may not be incrementally increased, but may be randomly assigned and/or provided by a human operator. For example, the mapping may define that a detected power level of 6dBm corresponds to a string including four repeating binary characters, a detected power level of 5.3dBm corresponds to a string including five repeating binary characters, a detected power level of 7.2dBm corresponds to a string containing six repeating binary characters, 2dBm, and a detected power level of 6.7dBm corresponds to a string containing seven repeating binary characters. In this example, the power level is detected at a different output level, and a higher output level is not necessarily associated with the addition of another repeated binary character.

The manner in which the power-based decompression algorithm is applied to the transmitted bit stream will be discussed with reference to fig. 4-6. Furthermore, combinations of the above are also possible.

The computer storage 318 is also configured to store one or more detection models 326. The detection model 326 is a model used by the processor 302 to determine whether the plurality of photons detected by the optical photodetector 306 represent a transmission packet transmitted by the light emitter 108. In one embodiment, detection model 326 is developed using machine learning techniques (e.g., Poisson regression) during various phases of the light emitter 108 transmission. Although poisson regression is provided as one example of a machine learning technique, other machine learning techniques (supervised and/or unsupervised) may be used to construct detection model 326. Examples of supervised machine learning techniques include linear regression, logistic regression, classification and regression trees (CART), na iotave bayes, k-nearest neighbor (KNN), and other such supervised machine learning techniques. Examples of unsupervised machine learning techniques include Apriori, k-means (k-means), Principal Component Analysis (PCA), random forest bagging, and other such unsupervised machine learning techniques. Combinations of the foregoing may also be employed to construct the detection model 326.

Further, each of the detection models 326 may be associated with a corresponding power-based compression algorithm and/or power-based decompression algorithm. In one embodiment, the power-based compression algorithm is known (e.g., it is transmitted by the optical transmitter 108 and/or to the optical transmitter 108), and selection of the power-based compression algorithm results in selection of a corresponding detection model (e.g., a detection model trained using the selected power-based compression algorithm). In another embodiment, processor 302 uses detection models 326 and incoming transmissions from phototransmitters 108 to determine which detection model best represents a transmission packet transmitted by a phototransmitter 108. The determination and selection of the best-fit detection model causes processor 302 to select a corresponding power-based decompression algorithm from decoding algorithms 324. In yet another embodiment, a user or operator of the optical receiver 110 instructs the optical receiver 110 to use a particular detection model from the detection models 326.

In constructing one or more detection models 326, optical receiver 110 may be calibrated according to the transmission power level that may be output by optical transmitter 108. For example, the optical transmitter 108 may be instructed to transmit a plurality of transmission packets at varying power levels (e.g., a base power level and a gradually increasing power level), and the output of the optical transmitter 108 is measured at predetermined time intervals for the plurality of transmission packets. In this example, the known transmission packets occur at a known transmission power output level at predetermined time intervals. In one embodiment, the measurement corresponds to the number of photons detected at a predetermined power level at predetermined time intervals. To further construct the one or more detection models 326, the phototransmitter 108 can be instructed to transmit the transmission packet a predetermined number of times (e.g., hundreds or thousands of times) until the one or more detection models 326 have stabilized and/or reach a predetermined threshold (e.g., a predetermined probability): the plurality of photons emitted at a particular power level for a particular time period represents a transmission packet transmitted by optical emitter 108.

As briefly explained above, the optical photodetector 306 is configured to detect transmissions from the optical transmitter 108 via the optical communication path 116 and/or the network 112. In one embodiment, the optical photodetector 306 detects a plurality of photons at one or more power levels at predetermined time intervals. The optical photodetector 306 may communicate this information to the one or more processors 302, wherein the processor 302 then uses the one or more detection models 326 to determine whether the plurality of photons detected by the optical photodetector 306 correspond to the transmission packet communicated by the light emitter 108. In one embodiment, the bit stream obtained by the processor 302 from the optical photodetector 306 is a compressed bit stream that has been compressed by a power-based compression algorithm used by the optical transmitter 108. Using one or more detection models 326, processor 302 identifies a transmission packet and its associated transmission power level.

In some cases, the transmission from optical transmitter 108 may need to be downconverted and/or demodulated from a carrier signal. Thus, the down-conversion module 308 is configured to down-convert the transmission signal from the optical transmitter 108. In one embodiment, the down conversion module 308 is implemented as a digital down converter and includes a mixer, a CIC decimator, and one or more FIR filters. The input to the down-conversion module 308 includes the transmission received from the optical transmitter 108 and the local oscillator for calculating the intermediate frequency (e.g., the frequency output by the down-conversion module 308).

Further, depending on whether the transmission signal has been modulated with a carrier signal, the output from the down-conversion module 308 (or optical photodetector 306) is passed to the baseband demodulator module 310. The baseband demodulator module 310 demodulates the transmission from the optical transmitter 108 to obtain a compressed bit stream, which represents data that has been compressed by a power-based compression algorithm. Baseband demodulator/module 310 may employ one or more demodulation techniques to demodulate the transmitted signal. Examples of demodulation techniques include, but are not limited to, Quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), quadrature amplitude demodulation, Amplitude and Phase Shift Keying (APSK), and other such demodulation techniques or combinations thereof.

In some cases, the down-conversion module 308 and/or the baseband demodulator 310 may be bypassed by the optical photodetector 306. For example, processor 302 may determine that the transmission signal has not been up-converted or that the transmission signal has not been externally modulated. In these cases, the optical photodetector 306 may transmit the one or more identified transmission packets to the power shaping decoding module 312 for decompression.

The power shaping decode module 312 is configured to apply a power-based decompression algorithm to the received bit stream to obtain a decompressed bit stream that is ultimately transmitted to the computing device 106 via the communication interface 304. The power shaping decoding module 212 may be configured to selectively apply a power-based compression algorithm to one or more portions of the encoded bitstream. The output from the power shaping encoding module 212 is a compressed bit stream in which repeated binary strings in the encoded bit stream and/or redundant bits have been replaced with one or more binary characters, depending on the power-based compression algorithm used by the power shaping encoding module 212. As described above, the one or more binary characters that are replaced correspond to the transmission power level output by the light source 218.

The source decode module 314 is configured to decode the uncompressed bitstream obtained by the power shaping decode module 312 according to one or more of the decoding algorithms 324. In one embodiment, the source decode module 310 receives the uncompressed bitstream 310 from the power shaping decode module 312 and determines which decoding algorithm to apply to the uncompressed bitstream based on the manner in which the uncompressed bitstream was encoded. In another embodiment, the source decoding module 310 is preconfigured with a decoding algorithm for application to the uncompressed bitstream. For example, the optical receiver 110 and/or the optical transmitter 108 may be configured to apply source encoding and source decoding algorithms using a shared secret key. The output generated by the source decode module 314 is a decoded bitstream, which may be stored as part of the data 322 of the computer storage 318. Additionally and/or alternatively, the decoded bitstream may be transmitted in real-time or near real-time to another module 306 of the optical receiver 110, such as an ECC decoding module 316.

The ECC decoding module 316 is configured to apply an ECC decoding algorithm to the decoded bitstream output by the source decoding module 314. In some cases, the source encoding may not have been applied to the decompressed bitstream, in which case the ECC decoding module 316 applies an ECC decoding algorithm to the decompressed bitstream obtained by the power shaping decoding module 312. When applying the ECC decoding algorithm, the ECC decoding module 316 determines whether an error exists in one or more bits of the decompressed bitstream. In the case of errors, the ECC decoding module 316 corrects the bitstream accordingly. In some cases, ECC decoding module 316 may request: the optical receiver 110 requests retransmission of the transport packet corresponding to the bit having the error. In other cases, ECC decoding module 316 corrects the bits using redundant bits included with the decompressed bitstream. In this manner, the optical receiver 110 may correct one or more errors that may occur in the bit stream transmitted by the optical transmitter 108.

The output synchronization 320 is configured to synchronize the outputs generated by the optical photodetectors 306. In one embodiment, the output sync 320 sends timing information to the optical photodetector 306 to ensure that the optical photodetector 306 captures the transport packets at predetermined time intervals. In another embodiment, the output synchronizer 320 may communicate with the processor 302 to ensure that the processor 302 uses the correct timing information to determine whether the plurality of photons correspond to a transmission packet based on one or more of the detection models 326.

After the transport packets have been decoded and error corrected (if applicable), the transport packets may be stored in computer storage 318. In one embodiment, the transport packets are stored in Random Access Memory (RAM) until a predetermined number of transport packets have been received and decoded by optical receiver 110. When a predetermined number of transport packets have been received, a data block representing the transport packet may be transmitted to computing device 106 via communication interface 304.

Fig. 4 illustrates a distribution 402 of photons detected by the optical receiver 108 of fig. 1, wherein the distribution 402 corresponds to a transmission signal that has been compressed using a first power-based compression algorithm, according to an example embodiment. Referring to fig. 2-3, the task of the optical transmitter 108 is to power shape the first encoded bitstream "l 10111011". In this example, the optical transmitter 108, via the power shaping encoding module 212, has determined that the encoded bit stream can be compressed into a transmission of five (5) transmission packets, where each transmission packet is within a predetermined time period (e.g., T)1、T3And T5) Is transmitted.

Further in this example, the power shaping compression algorithm has assigned a power level P to a single binary character (e.g., binary value "1"). In this embodiment, the power level P may represent a minimum power output of the light source 218 that may be detected by the optical photodetector 306. In another embodiment, P is established as the transmissible power output by the light source 218.

Thus, the subsequent binary string is assigned a single binary character having a transmission power level, the transmissionThe power level is a combination of the number of binary characters in the string. In other words, a string of two (2) binary characters and having P2A single binary character of transmission power is associated, a string of three (3) binary characters having P3A single binary character of transmission power, etc. In some cases, consecutive strings of repeating binary characters are mapped to different power levels, where each power level is a different power level. In these cases, the power level may be a continuous power level; in other cases, the power levels may be arbitrarily and/or randomly assigned.

In the event that a 0 is encountered in the encoded bit stream, the power shaping compression algorithm may determine that the light source 218 is not transmitting power or transmitting minimum power. Although in fig. 4, consecutive strings of binary "l" are shown as being transmitted at successively increasing power levels, in other examples, other mappings between different string lengths of binary "l" may be used. For example, P2May represent "111", and P3May represent "11". As another example, P3May represent a "1" and P2May represent "11" and P3May represent "l".

Thus, when the optical receiver 110 detects a transmission from the optical transmitter 108, the distribution 402 is encountered. In the distribution 402, there is an intermediate distribution of detected photons 404 and 408 having a range of transmission power levels, and there is a greater (e.g., threshold) number of photons having P2Or P3Detected photons of transmission power level 414 and 418, where P2And P3Is a combination of the minimum detectable power levels P, and P3Greater than P2. In this regard, the processor 302 may use the detection model 326 to determine whether there is a transmission power level P2Time period T of1There is a first group of photons 414, at a transmission power level P3Time period T of2A second group of photons 418 is present and is at a transmit power level P2During a time period T3There is a third group of photons 416. Processor 302 further determines that there are two time periods, time period T2And a time period T4Where a minimum number of photons 410-412 are detected. Using the detection model, processor 302 assigns a first set of detected photons 414 as a first transmission, a second set of detected photons 418 as a second transmission, and a third set of photons 416 as a third transmission. Then, using a power-based decompression algorithm, the power shaping decoding module 312 determines that the first transport packet corresponds to two (2) binary 1 s, the second transport packet corresponds to three (3) binary 1 s, and the third transport packet corresponds to two (2) binary 1 s. This decompressed portion of the transmitted bitstream may then be stored in the computer storage 318 for later retrieval, or it may be passed to the source decoding module 314 for further decoding.

Fig. 5 illustrates a distribution 502 of photons detected by the optical receiver 108 of fig. 1, wherein the distribution 502 corresponds to a transmission signal that has been compressed using a second power-based compression algorithm, according to an example embodiment. Referring to fig. 2-3, the task of the optical transmitter 108 is to power shape the second encoded bitstream "110111111111111". In this example, each transmission packet determined by the power-based compression algorithm is associated with a power level that will not exceed a predetermined transmittable power level for the optical transmitter 108, e.g., a maximum transmittable power level for the optical transmitter 108. In this example, the predetermined transmission power level output by the optical transmitter 108 is P5Wherein the power level P corresponds to the minimum detectable power level. Using such a power-based compression algorithm, the optical transmitter 108, via the power shaping encoding module 212, has determined that the encoded bit stream can be compressed into the transmission of four (5) transmission packets, where each transmission packet is compressed for a predetermined time period (e.g., T |)1、T3、T4And T5) And (5) transmitting. Each transport packet corresponds to a single binary character and each transport packet is associated with a corresponding transmission power level. As noted, in some examples, the predetermined transmittable power level can be a threshold power level, which can be a maximum power level at which the transmitter is configured to transmit. In other examples, the threshold power levelMay be set based on the historical past power level at which the light emitter was activated. For example, the threshold power level may be decreased if the total power level transmitted during a particular time period (e.g., the sum of all power levels) is above a threshold. This may extend the lifetime of the optical transmitter by reducing the amount that the optical transmitter transmits at the maximum power level.

Based on the power shaping compression algorithm, the optical receiver 110 derives a distribution 502. In distribution 502, there is an intermediate distribution of detected photons with a range of transmission power levels, and there is a greater (e.g., threshold) number of photons with greater than P2Transmit power level of detected photons 504, 508, 510, and 5123.

In this regard, the processor 302 uses the detection model 326 to determine whether there is a transmission power level P2Time period T of1There is a first group of photons 504, at a transmission power level P5Time period T of3There is a second group of photons 508, at a transmission power level P5Time period T of4A third group of photons 510 is present and is transmitting at a power level P2Time period T of5There is a fourth set of photons 512. Processor 302 further determines that there is a time period, i.e., a time period T, in which a minimum number of photons 506 are detected2

Using the detection model, processor 302 assigns a first set of detected photons 504 as a first transmission, a second set of detected photons 508 as a second transmission, a third set of photons 510 as a third transmission, and a fourth set of photons 512 as a fourth transmission. Then, using a power-based decompression algorithm, the power shaping decoding module 312 determines that the first transport packet corresponds to two (2) binary 1 s, the second transport packet corresponds to five (5) binary 1 s, and the third transport packet corresponds to five (5) binary 1 s, and the fourth transport packet corresponds to two (2) binary 1 s. The processor 302 then reconstructs the encoded bit stream and takes into account the situation in which the detected power level is minimal. This decompressed portion of the transmitted bitstream may then be stored in the computer storage 318 for later retrieval, or it may be passed to the source decoding module 314 for further decoding.

Fig. 6 illustrates a distribution 602 of photons detected by the optical receiver 108 of fig. 1, wherein the distribution 502 corresponds to a transmission signal that has been compressed using a third power-based compression algorithm, according to an example embodiment. Referring to fig. 2-3, the task of the optical transmitter 108 is to power shape the third encoded bitstream "110111111111111". In this example, a power-based compression algorithm derives an optimal number of transmission packets, where each transmission packet is less than a predetermined power level output by the phototransmitter 108, such as a maximum power level output by the phototransmitter 108, and minimizes the number of transmission packets over a predetermined period of time. In the distribution 602 shown in fig. 6, the power-based compression algorithm is an optimization algorithm, where the inputs to the optimization algorithm include an upper limit of the transmission power level (e.g., the maximum power level) and the bit stream used for encoding. In one embodiment, the optimization algorithm selects the input power of the optical transmitter 108, where the amplification of the input power is in a linear range, which may be the most efficient range. The optimization algorithm groups repeated binary characters (e.g., '1' bits) such that the power input to the optical transmitter 108 is below a predetermined input threshold. In some cases, as the optical transmitter 108 ages, the input threshold may change depending on the linear characteristics of the optical amplification. The result shown in fig. 6, where the power shaping bit stream comprises five transport packets, where the second transport packet has the minimum transmission power level, is a solution determined by the power-based compression algorithm. The power-based compression algorithm of fig. 6 may be used to avoid overdriving the light source 218 and maintain the light source 218 within normal operating parameters.

In some examples, to achieve this, the transmitter may first packetize the sequence of reset bits from the bit stream by maximizing the number of bits that can be allocated to each packet while still having a corresponding transmission power for each packet that is no greater than the threshold transmission power. The transmission power of each particular transmission packet is determined by applying a mapping of the number of bits in each packet, the mapping including a plurality of packet sizes and corresponding power levels, wherein the mapping increases the transmission power as the number of bits increases. The transmitter may determine that a first packet of one of the plurality of transmission packets is being transmitted at a first power level corresponding to a threshold transmission power and a second packet of one of the plurality of transmission packets is being transmitted at a second power level, the second power level being less than the threshold level. In response, the transmitter may move one or more bits from the first packet to the second packet such that the power level of the first packet, as determined by the mapping, is reduced and the second power level of the second packet, as determined by the mapping, is increased such that both the first and second power levels are below the threshold transmission power. This more evenly distributes the power level (and bits) in each transmission to reduce the peak output of the transmitter.

At the receiver side, the received photons can be decoded and used to create a bitstream. For example, the receiver may detect a first value and a first power level transmitted by the transmitter over the optical communication path in a first time slot, wherein the first power level is less than a threshold power level. The receiver may then detect the first value and the second power level transmitted by the transmitter over the optical communication path in a second time slot after the first time slot. The second power level may also be less than the threshold power level. The fact that two identical values of the two power levels are received in succession indicates that the transmitter is applying an optimization algorithm to ensure a uniform distribution of bits and/or power levels. The receiver may then determine a bit stream of repeated first values using the first and second power levels.

Fig. 7 illustrates a method 702 for transmitting an encoded bit stream using the optical transmitter of fig. 1, according to an example embodiment. Method 702 may be performed by one or more of the components shown in fig. 2-3 and discussed by way of reference thereto.

Initially, the optical transmitter 108 receives the data 220 for transmission via the optical source 218 via one or more optical paths 114 and/or networks 112 (operation 704). Thereafter, the source encoding module 208 applies a source encoding algorithm (using one or more encoding algorithms 222) to the data 220 to obtain an encoded bitstream (operation 706). The source encoding module may then transmit the encoded bitstream to the ECC module 210 to apply an ECC algorithm to the encoded bitstream using one or more of the encoding algorithms 222 (operation 708). In some cases, operation 706 and/or operation 708 may be omitted or bypassed, e.g., where source coding is not applied or ECC is not applied to the bitstream.

After the ECC module 210 completes its operations, the ECC module 210 may then invoke the power shaping module 212 to apply a power-based compression algorithm to the encoded bitstream and the redundant bits, where the power-based compression algorithm is selected from the one or more encoding algorithms 222 (operation 710). In one embodiment, power shaping encoding module 212 is instructed to select a power-based compression algorithm to apply, for example, by receiving instructions from computing device 104. In another embodiment, the power shaping encoding module 212 automatically selects which power-based compression algorithm to apply, e.g., depending on the length selection algorithm of the encoded bitstream. As described above, the output of the power shaping module 212 is a compressed bitstream, wherein the compressed bitstream includes data from the encoded bitstream determined by the source encoding module 208 and data of the redundant bits determined by the ECC module 210.

In one embodiment, the power shaping encoding module 212 then invokes the baseband modulator/filter 214 and/or the up-conversion module 216. As described above, the baseband modulator/filter 214 is configured to apply a modulation technique to the compressed bit stream (operation 712). After applying the baseband modulation/filter 214, the resulting signal may then be passed to the upconversion module 216 to upconvert the signal from the first input frequency to the second output frequency (operation 716). However, in some cases, the baseband modulator/filter 214 and/or the up-conversion module 216 may be bypassed. The resulting signal (whether modulated and/or upconverted) is then transmitted by the optical source 218 over one or more optical communication paths. Further, each transmission packet may be associated with a transmission power level determined by power shaping encoding module 212, wherein each transmission packet is transmitted at the determined transmission power level.

Fig. 8 illustrates a method 802 for receiving an encoded bit stream using the optical receiver of fig. 1, according to an example embodiment. Method 702 may be performed by one or more of the components shown in fig. 2-3 and discussed by way of reference thereto.

Initially, the optical receiver 110 receives a transmission from the optical transmitter 108 via one or more optical communication paths 114 and/or networks 112 (operation 804). Depending on whether the transmission has been upconverted, optical receiver 110 may then execute downconversion module 308 to downconvert the transmission bit stream from the first frequency to the second frequency (operation 806). The output from the down-conversion module 308 may then be passed to a baseband demodulator 310, which demodulates the encoded signal (e.g., a power-shaped, compressed bit stream) from the carrier signal (operation 808), as described above. In some cases, the down-conversion module 308 and/or the baseband demodulator 310 may be bypassed, in which case the received transmission signal may be passed to the power shaping decoding module 312.

The one or more processors 302 may then identify and/or determine whether the transmission signal includes one or more transmission packets (operation 810). In one embodiment, the one or more processors 302 determine whether the transmission signal includes one or more transmission packets by applying a detection model. As described above, the detection model may be developed using one or more machine learning techniques and multiple transmissions by light emitters 108. The detection model informs the one or more processors 302 whether a particular group of photons having a determined range of power levels over a predetermined period of time is indicative of a transmission packet transmitted by the optical transmitter 108. As shown in fig. 4-6, there may be instances where a transmission packet is associated with a minimum transmission power or a transmission power level within a minimum power level threshold, and this type of transmission packet may also represent a binary character and/or value (e.g., "0" or other binary character).

Having identified one or more transport packets of the transmission signal and their corresponding transmission power levels, the power shaping decoding module 312 applies a power-based decompression algorithm selected from the decoding algorithms 324 to decompress the one or more transport packets (operation 812). As shown in fig. 4-6, the power shaping decoding module 312 is configured to determine the number of binary characters associated with a transmission packet based on the power level at which the transmission packet is transmitted. As previously described, the power shaping decoding module 312 may select a particular power-based decompression algorithm based on the detection model 326 used by the processor 302. In another embodiment, the power shaping decode module 312 receives instructions as to which power-based decompression module to use. The output from the power shaping decode module 312 is a bit stream (e.g., an encoded bit stream) (along with one or more redundant bits) that has been source encoded by the source encode module 208.

The ECC decoding module 316 then determines whether to perform error correction control on the encoded bitstream (e.g., the bitstream output by the power shaping decoding module 312) based on one or more redundant bits included in the bitstream (operation 814). Thereafter, the source decoding module 314 applies a source decoding algorithm to the encoded bitstream to obtain an initial bitstream corresponding to the data 220 previously stored by the light emitter 108 (operation 816). In one embodiment, the source decode module 314 is instructed to select a source decode algorithm from the decode algorithms 324. In another embodiment, the optical receiver 110 and the optical transmitter 108 are configured to select the same source encoding and/or source decoding algorithm. The output from the source decode module 314 is decoded data, which may be stored in the computer storage 318 and/or transmitted to the computing device 106 via the communication interface 304 (operation 818). Furthermore, there may be cases and/or embodiments where ECC decoding and/or source decoding are not applied to the received transmission signal. For example, in the case where the transmission signal has not been source-encoded or the bitstream has not applied ECC encoding, then the optical receiver 110 may not perform source decoding and/or ECC decoding on the received transmission signal.

Fig. 9 illustrates a method 902 for determining an optimal number of transmission packets to send using the optical transmitter 106 of fig. 1, according to an example embodiment. Method 902 may be performed by one or more of the components shown in fig. 2-3 and discussed by way of reference thereto.

Initially, the processor 204 and/or the power shaping encoding module 212 determines a maximum transmission power output of the optical source 218 (operation 904). Additionally and/or alternatively, the maximum transmission power output may be provided via instructions from the computing device 104. The power shaping encoding module 212 then identifies one or more repeating binary character sequences in the bit stream (operation 906). For example, the power shaping encoding module 212 may identify one or more repeating binary characters output by the source encoding module 208 and/or the ECC encoding module 210. Then, if each transmission packet may have a maximum transmission power level that is the maximum transmission power level output by the light source 218, the power shaping encoding module 212 determines the number of transmission packets representing the repeating binary string that may be transmitted (operation 908).

The power shaping encoding module 212 then applies a partitioning algorithm to the encoded bit stream, wherein the inputs to the partitioning algorithm include the bit stream, the maximum transmission power level that can be output by the optical source 218, and the number of transmission packets that can be transmitted (if each transmission packet can be assigned the maximum transmission power level of the optical source 218) (operation 910). In one embodiment, the number of packets determined at operation 908 is used as a lower bound (e.g., to obtain a value within a predetermined threshold of the number of transmitted packets) that the segmentation algorithm is attempting to achieve and/or approximate. One example of a segmentation algorithm that may be applied to the encoded bit stream using the aforementioned inputs is one in which an optimization algorithm selects the input power of the optical transmitter 108, where the amplification of the input power is in a linear range, which may be the most efficient range. The optimization algorithm groups repeated binary characters (e.g., '1' bits) such that the power input to the optical transmitter 108 is below a predetermined input threshold. In some cases, as the optical transmitter 108 ages, the input threshold may change depending on the linear characteristics of the optical amplification. Once the optimal number of transmission packets and the corresponding transmission power level are determined, the power shaping encoding module 212 compresses the encoded bit stream to obtain a compressed bit stream for transmission to the optical receiver 110.

Fig. 10 illustrates a method 1002 for determining whether a transport packet corresponds to a plurality of binary characters, according to an example embodiment. Method 1002 may be performed by one or more of the components shown in fig. 2-3 and discussed by way of reference thereto.

Initially, processor 302 and/or power shaping decoding module 312 identifies one or more transmission packets sent by optical transmitter 108 (operation 1004). As described above, processor 302 may apply one or more detection models 326 to identify the transmission packets and their corresponding transmission power levels (operation 1006). The power shaping decoding module 328 may then compare the determined power level of the transmission packet of the compressed bitstream to the power level of the uncompressed transmission packet (operation 1008). This comparison is performed to determine whether a particular transport packet represents more than one binary character.

In the event that the power shaping decode module 328 determines that the power level of the transmission packet of the compressed bitstream is greater than the power level of the uncompressed transmission packet (e.g., the "yes" branch of operation 1010), the power shaping module 328 determines that the transmission packet represents a plurality of binary characters (operation 1012). Power shaping module 328 may apply a power-based decompression algorithm to the transport packet to obtain a plurality of binary characters. Alternatively, where the power shaping decode module 328 determines that the power level of the transmission packet of the compressed bitstream is less than or equal to the power level of the uncompressed transmission packet (e.g., the "no" branch of operation 1010), the power shaping module 328 determines that the transmission packet represents a single binary character.

In this manner, the optical transmitter 108 and the optical receiver 110 communicate using a power-based compression algorithm and a power-based decompression algorithm. This approach has a number of technical benefits. For example, one technical benefit is that the transmission rate of the optical communication path is increased without having to physically alter the optical communication path to accommodate the additional throughput. Another technical benefit is that the power-based compression algorithm can be applied to legacy transmission equipment without having to add additional transmission hardware or modify existing transmission hardware, since the emphasis of the power-based compression algorithm is to map binary characters to transmission power levels supported by the transmission equipment. Accordingly, the disclosed systems and methods provide improvements in the field of optical communications, and in particular, improvements in the manner in which data is efficiently communicated over an optical communications path.

Certain embodiments are described herein as comprising logic or multiple components, modules, or mechanisms. The modules may constitute software modules (e.g., code embodied on a machine-readable medium or machine-readable storage device) or hardware modules. A "hardware module" is a tangible unit that is capable of performing certain operations and may be configured or arranged in some physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules (e.g., a processor or a set of processors) of a computer system may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

In some embodiments, the hardware modules may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured to perform certain operations. For example, the hardware module may be a dedicated processor, such as an FPGA or an ASIC. A hardware module may also comprise programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware module becomes a specific machine (or specific component of a machine) uniquely customized to perform the configured function, and is no longer a general purpose processor. It should be appreciated that the decision to implement a hardware module mechanically, in a dedicated and permanently configured circuit, or in a temporarily configured circuit (e.g., configured by software) may be driven by cost and time considerations.

Thus, the phrase "hardware module" should be understood to encompass a tangible entity, be it a physical construct, be it a permanent configuration (e.g., hardwired), or be it a temporary configuration (e.g., programmed) to operate in a particular manner or to perform some of the operations described herein. As used herein, "hardware-implemented module" refers to a hardware module. Considering embodiments in which the hardware modules are temporarily configured (e.g., programmed), each hardware module need not be configured or instantiated at any one instance in time. For example, when the hardware modules include a general-purpose processor configured by software as a special-purpose processor, the general-purpose processor may be configured at different times as different special-purpose processors (e.g., including different hardware modules), respectively. The software configures one or more particular processors accordingly, e.g., to form particular hardware modules at one instance in time and different hardware modules at different instances in time.

A hardware module may provide information to and receive information from other hardware modules. Thus, the described hardware modules may be considered to be communicatively coupled. Where multiple hardware modules are present at the same time, communication may be achieved through signaling (e.g., through appropriate circuitry and buses) between or among two or more hardware modules. In embodiments where multiple hardware modules are configured or instantiated at different times, communication between the hardware modules may be achieved, for example, by storing and retrieving information in a memory structure accessible to the multiple hardware modules. For example, a hardware module may perform an operation and store the output of the operation in a memory device to which it is communicatively coupled. Another hardware module may then access the memory device at a later time to retrieve and process the stored output. The hardware modules may also initiate communication with input or output devices and may operate on resources (e.g., sets of information).

Various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily configured (e.g., via software) or permanently configured to perform the relevant operations. Whether temporarily configured or permanently configured, such a processor may constitute a processor-implemented module that operates to perform one or more operations or functions described herein. As used herein, "processor-implemented module" refers to a hardware module implemented using one or more processors.

Similarly, the methods described herein may be implemented at least in part by a processor, where a particular processor or processors are examples of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Further, the one or more processors may also be operable to support execution of related operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations may be performed by a set of computers (as an example of machines including processors), where the operations may be accessed via a network (e.g., the internet) and via one or more appropriate interfaces (e.g., APIs).

Execution of certain operations may be distributed among the processors, not only residing within a single machine, but also being deployed across multiple machines. In some example embodiments, the processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the processor or processor-implemented module may be distributed across multiple geographic locations.

In some embodiments, the modules, methods, applications, etc. described in connection with the various embodiments described herein are implemented in the context of a machine and associated software architecture. The following sections describe representative architectures suitable for use with the disclosed embodiments.

Software architectures are used in conjunction with hardware architectures to create devices and machines that are tailored to specific purposes. For example, a particular hardware architecture coupled with a particular software architecture will create a mobile device, such as a mobile phone, tablet device, and the like. A slightly different hardware and software architecture may result in smart devices being used in the "internet of things," while another combination results in server computers being used within the cloud computing architecture. Not all combinations of such software and hardware architectures are presented herein, as those skilled in the art can readily appreciate from the disclosure contained herein how to implement the subject matter of the present invention in different contexts.

Fig. 11 is a block diagram illustrating components of a machine 1100 capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium or a machine-readable storage device) and performing any one or more of the methodologies discussed herein, according to some example embodiments. In particular, fig. 9 shows a diagrammatic representation of machine 1100 in the example form of a computer system within which instructions 1116 (e.g., software, program, application, applet, app, or other executable code) may be executed for causing machine 1100 to perform any one or more of the methodologies discussed herein. For example, the instructions 1116 may cause the machine 1100 to perform the methods shown in fig. 7-10. Additionally or alternatively, instructions 1116 may implement one or more of the components of fig. 2-3. The instructions 1116 transform the general purpose non-programming machine 1100 into a specific machine 1100, the specific machine 1100 programmed to perform the functions described and illustrated in the described manner. In alternative embodiments, the machine 1100 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1100 may operate in the capacity of a server machine or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1100 may include, but is not limited to, a server computer, a client computer, a Personal Computer (PC), a tablet computer, laptop computer, netbook, PDA, or any machine capable of executing instructions 1116, either sequentially or otherwise, that specify actions to be taken by the machine 1100. Further, while only a single machine 1100 is illustrated, the term "machine" shall also be taken to include a collection of machines 1100 that individually or jointly execute instructions 1116 to perform any one or more of the methodologies discussed herein.

The machine 1100 may include a processor 1110, a memory/storage device 1130, and I/O components 1150, which may be configured to communicate with one another, such as via a bus 1102. In an example embodiment, processor 1110 (e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an ASIC, a Radio Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processor 1112 and processor 1114, which may execute instructions 1116. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "cores") that may execute instructions 1116 simultaneously. Although fig. 9 illustrates multiple processors 1110, the machine 1100 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core process), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

Memory/storage 1130 may include memory 1132, such as main memory or other memory storage device, and a storage unit 1136, both of which may be accessed by processor 1110, e.g., via bus 1102. The storage unit 1136 and the memory 1132 store instructions 1116 embodying any one or more of the methodologies or functions described herein. The instructions 1116 may also reside, completely or partially, within the memory 1132, within the storage unit 1136, within at least one of the processors 1110 (e.g., within a cache memory of a processor), or any suitable combination thereof, during execution thereof by the machine 1100. Thus, memory 1132, storage unit 1136, and memory of processor 1110 are examples of machine-readable media.

As used herein, a "machine-readable medium" includes a machine-readable storage device capable of storing instructions 1116 and data either temporarily or permanently, and may include, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), cache memory, flash memory, optical media, magnetic media, cache memory, other types of storage devices (e.g., erasable programmable read only memory (EEPROM)), and/or any suitable combination thereof. The term "machine-readable medium" shall be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) that are capable of storing instructions 1116. The term "machine-readable medium" shall also be taken to include any medium, or combination of media, that is capable of storing instructions (e.g., instructions 1116) for execution by a machine (e.g., machine 1100), such that the instructions, when executed by one or more processors (e.g., processors 1110) of machine 1100, cause the machine 1100 to perform any one or more of the methodologies described herein. Thus, "machine-readable medium" refers to a single storage apparatus or device, as well as a "cloud-based" storage system or storage network that includes multiple storage apparatuses or devices. The term "machine-readable medium" does not include the signal itself.

Input/output (I/O) components 1150 may include a wide variety of components to receive input, provide output, generate output, transmit information, exchange information, capture measurements, and so forth. The particular I/O components 1150 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone would likely include a touch input device or other such input mechanism, while a headless server machine would likely not include such a touch input device. It should be understood that the I/O components 1150 may include many other components not shown in FIG. 8. The I/O components 1150 are merely grouped by function to simplify the following discussion, and the grouping is in no way limiting. In various example embodiments, the I/O components 1150 may include output components 1152 and input components 1154. Output components 1152 may include visual components (e.g., a display such as a Plasma Display Panel (PDP), a Light Emitting Diode (LED) display, a Liquid Crystal Display (LCD), a projector, or a Cathode Ray Tube (CRT)), acoustic components (e.g., speakers), tactile components (e.g., a vibration motor, a resistance mechanism), other signal generators, and so forth. Input components 1154 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optoelectronic keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing tool), tactile input components (e.g., physical buttons, a touch screen providing location and/or touch force or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and so forth.

In further example embodiments, the I/O components 1150 may include a biometric component 1156, a motion component 1158, an environmental component 1160 or a positioning component 1162, among other various components. For example, the biometric components 1156 may include components for detecting expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye movement tracking), measuring bio-signals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying a person (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), and so forth. The motion components 1158 may include acceleration sensor components (e.g., accelerometers), gravity sensor components, rotation sensor components (e.g., gyroscopes), and so forth. Environmental components 1160 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases to ensure safety or to measure pollutants in the atmosphere), or other components that may provide an indication, measurement, or signal corresponding to a surrounding physical environment. The positioning components 1162 may include location sensor components (e.g., GPS receiver components), altitude sensor components (e.g., altimeters or barometers that detect barometric pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and so forth.

Communication may be accomplished using a variety of techniques. The I/O components 1150 may include a communications component 1164 operable to couple the machine 1100 to a network 1180 or a device 1170 via a coupling 1182 and a coupling 1172, respectively. For example, the communication components 1164 may include a network interface component or another suitable device that interfaces with the network 1180. In further examples, communications component 1164 may include a wired communications component, a wireless communications component, a cellular communications component, a Near Field Communications (NFC) component, a wireless communications component, a cellular communications component, a wireless communications component, a cellular communications component, a near field communications component, a wireless communications component, a,The components (e.g.,Low Energy)、components, and other communication components for providing communication via other means. Device 1170 may be another machine or any of a wide variety of peripheral devices (e.g., peripheral devices coupled via USB).

Further, the communication component 1164 can detect the identifier or include instructions operable to detect the identificationAnd (4) a component of the character. For example, the communication components 1164 may include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., optical sensors for detecting one-dimensional barcodes (e.g., Universal Product Code (UPC) barcodes), multi-dimensional barcodes (e.g., Quick Response (QR) codes), Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF416, Ultra Code, UCC RSS-2D barcodes, and other optical codes), or acoustic detection components (e.g., microphones, audio signals for identifying indicia). Further, various information can be derived via the communication component 1164, such as location via Internet Protocol (IP) geo-location, viaLocation of signal triangulation, location of NFC beacon signals that may indicate a particular location via detection, and so forth.

In various example embodiments, one or more portions of network 1180 may be an ad hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the PSTN, a Plain Old Telephone Service (POTS) network, a cellular telephone network, a wireless network, a digital broadcast receiver, and a digital broadcast receiver, a digital signal processor, a digital signal, and a digital signal processor, a digital signal processor, a digital signal processor, a digital signal,A network, another type of network, or a combination of two or more such networks. For example, the network 1180 or a portion of the network 1180 may include a wireless or cellular network, and the coupling 1182 may be a Code Division Multiple Access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling 1182 may implement any of a number of types of data transmission techniques, such as single carrier radio transmission technology (lxRTT), evolution-data optimized (EVDO) techniques, General Packet Radio Service (GPRS) techniques, enhanced GSM evolution data rates (EDGE) techniques, third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standards, organization by various standardsOther standards defined, other remote protocols, or other data transmission techniques.

The instructions 1116 may be transmitted or received over a network 1180 using a transmission medium via a network interface device (e.g., a network interface component included in the communications component 1164) and utilizing any one of a number of well-known transmission protocols, such as the hypertext transfer protocol (HTTP). Similarly, the instructions 1116 may be transmitted or received via a coupling 1172 (e.g., a peer-to-peer coupling) with the device 1170 using a transmission medium. The term "transmission medium" shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions 1116 for execution by the machine 1100, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.

Fig. 12 illustrates a method 1202 for transmitting data over an optical communication path, according to an example embodiment. The method 1202 includes an operation 1204 of receiving a bit stream for transmission over an optical communication path.

The method 1202 includes an operation 1206 of determining that the bitstream includes a sequence of bits having the same value. Operation 1206 may comprise determining a sequence of consecutive bits in the bitstream having the same first value, the sequence having: having a first size of a maximum number of bits while the sequence also has a corresponding first transmission power not exceeding a threshold transmission power, the first transmission power being determined by applying a mapping to the first size, the mapping comprising a plurality of sequence sizes and corresponding transmission powers, wherein the mapping increases the transmission power as the number of bits increases. The method 1202 may also include determining a second sequence of consecutive bits in the bitstream having the same first value, the second sequence having: a second size having a maximum number of bits, while the second sequence also has a corresponding second transmission power that is less than the threshold transmission power, the transmission power being determined by applying a mapping to the second size, the second transmission power being less than the first transmission power and the second size being less than the first size. The threshold transmission power may be the maximum power that the light source is configured to transmit.

The method 1202 includes an operation 1208 of determining a first power level for a transmit sequence. In one example, the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase. In one example, each bit of the sequence is associated with a corresponding power level. The first power level may be based on a combination of corresponding power levels for each value of the sequence.

Method 1202 includes an operation 1210 of selectively activating a light source at a first power level according to a first modulation scheme to optically transmit an entire sequence by transmitting a single bit of a sequence of consecutive bits using the first power level. In one example, the energy or time required for operation 1210 is less than the total energy or time required to activate the light source to transmit each bit of the sequence separately. Operation 1210 may include selectively activating the light source at a second power level according to a modulation scheme to optically transmit the entire second sequence by transmitting a single bit of the first identity value using the second power level. Operation 1210 may include modulating a single bit on a carrier using a first power level. The modulation scheme may include Quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), Amplitude and Phase Shift Keying (APSK), and the like. The optical communication path may be an optical fiber. Photons may be transmitted across the fiber.

In one example, the count increase is non-linearly mapped to a power increase. In another example, the count increase is linearly mapped. For example, the second sequence (longer than the first sequence) corresponds to a higher power level, and the third sequence (longer than the second sequence) corresponds to a higher power level than the second sequence. In this example, the third power level exceeds the second power level by a predetermined amount (and the second power level also exceeds the first power level by a predetermined amount).

Method 1202 may include receiving a transmitted single bit and reversing the above steps to determine a count of consecutive bits in the sequence based on the power level. The consecutive bit sequence may be stored as a bit stream in a memory.

Method 1202 may include an operation of grouping a bit sequence into a plurality of transmission packets by maximizing a number of bits assignable to each packet while still having a corresponding transmission power for each packet that is not greater than a threshold transmission power, the transmission power for each particular packet determined by applying a mapping of the plurality of bits in each packet, the mapping including a plurality of packet sizes and corresponding power levels, wherein the mapping increases the transmission power as the number of bits increases. The operations may include determining that a first packet of one of the plurality of transmission packets is transmitted at a first power level corresponding to a threshold transmission power and a second packet of one of the plurality of transmission packets is transmitted at a second power level lower than the threshold level. The bits may be moved from the first packet to the second packet, for example, such that a power level of the first packet determined by the mapping is decreased and a second power level of the second packet determined by the mapping is increased such that both the first power level and the second power level are below the threshold transmission power. In this example, operation 1210 may be modified to transmit the single bit at the reduced first power level or the second power level, respectively. In an example, the threshold power may be based on historical past power levels at which the light source was activated. In one example, the mapping may include mapping a first number of bits to a first power level, mapping a second number of bits greater than the first number of bits to a second power level greater than the first power level, and mapping a third number of bits greater than the second number of bits to a third power level greater than the second power level.

Throughout the specification, multiple instances may implement a component, an operation, or a structure described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in the example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.

Although the summary of the present subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to the embodiments without departing from the broader scope of the embodiments of the disclosure. Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term "invention" merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is in fact disclosed.

The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The detailed description is, therefore, not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.

Example i is a method for transmitting data over an optical communication path, the method comprising: receiving a bit stream for transmission over the optical communication path; determining that the bitstream includes consecutive bit sequences having the same value; determining a first power level for transmitting the sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and selectively activating a light source at a first power level according to a first modulation scheme to optically transmit an entire sequence by transmitting individual bits of the sequence of bits using the first power level.

In example 2, the subject matter of example 1 includes, wherein each bit of the sequence is associated with a corresponding power level; and wherein the first power level is based on a combination of the corresponding power levels of each value of the sequence.

In example 3, the subject matter of examples 1-2 includes determining a second power level associated with a second sequence of consecutive bits having the same value, the second sequence having a higher count of consecutive bits than the sequence, and wherein the second power level is higher than the first power level.

In example 4, the subject matter of example 3 includes determining a third power level associated with a third sequence of consecutive bits having the same value, the third power level higher than the second power level, wherein the third power level is higher than the second power level by a predetermined amount, and wherein the second power level exceeds the first power level by the predetermined amount.

In example 5, the subject matter of examples 1-4 includes, wherein the count increase is non-linearly mapped to the power level increase.

In example 6, the subject matter of examples 1-5 includes wherein the energy required to activate the light source at the first power level to transmit the entire sequence is less than the total energy required to activate the light source to transmit each bit of the sequence individually.

In example 7, the subject matter of examples 1-6 includes wherein a time required to activate the light source at the first power level to transmit the entire sequence is less than a total time required to activate the light source to transmit each bit of the sequence individually.

Example 8 is a system for transmitting data over an optical communication path, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: receiving a bit stream for transmission over the optical communication path; determining that the encoded bit stream includes consecutive bit sequences having the same value; determining a first power level for a transmission sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and selectively activating the light source at a first power level according to a first modulation scheme to optically transmit the entire sequence by transmitting a single bit of the sequence of consecutive bits using the first power level.

In example 9, the subject matter of example 8 includes, wherein each value of the sequence is associated with a corresponding power level; and wherein the first power level is based on a combination of the corresponding power levels of each value of the sequence.

In example 10, the subject matter of examples 8-9 includes wherein the instructions further configure the system to determine a second power level associated with a second sequence of consecutive bits having the same value, the second sequence having a higher count of consecutive bits than the sequence, and wherein the second power level is higher than the first power level.

In example 11, the subject matter of example 10 includes wherein the instructions further configure the system to determine a third power level associated with a third sequence of consecutive bits having the same value, the third power level higher than the second power level, wherein the third power level is higher than the second power level by a predetermined amount, and wherein the second power level exceeds the first power level by the predetermined amount.

In example 12, the subject matter of examples 8-11 includes, wherein the count increase is non-linearly mapped to the power level increase.

In example 13, the subject matter of examples 8-12 includes wherein the energy required to activate the light source at the first power level to transmit the entire sequence is less than the total energy required to activate the light source to transmit each bit of the sequence individually.

In example 14, the subject matter of examples 8-13 includes wherein the time required to activate the light source at the first power level to transmit the entire sequence is less than a total time required to activate the light source to transmit each bit of the sequence individually.

Example 15 is a system for transmitting data over an optical communication path, the system comprising: means for receiving a bit stream for transmission over an optical communication path; means for determining that the encoded bit stream includes consecutive bit sequences having the same value; means for determining a first power level for a transmission sequence, wherein the first power level is determined based on a count of consecutive bits in the sequence, and wherein a count increase is mapped to a power level increase; and means for selectively activating the light source at a first power level according to a first modulation scheme to optically transmit the entire sequence by transmitting a single bit of the sequence of consecutive bits using the first power level.

In example 16, the subject matter of example 15 includes, wherein each value of the sequence is associated with a corresponding power level; and wherein the first power level is based on a combination of the corresponding power levels of each value of the sequence.

In example 17, the subject matter of examples 15-16 includes means for determining a second power level associated with a second sequence of consecutive bits having the same value, the second sequence having a higher count of consecutive bits than the sequence, and wherein the second power level is higher than the first power level.

In example 18, the subject matter of example 17 includes means for determining a third power level associated with a third sequence of consecutive bits having the same value, the third power level higher than the second power level, wherein the third power level is higher than the second power level by a predetermined amount, and wherein the second power level exceeds the first power level by the predetermined amount.

In example 19, the subject matter of example 18 includes, wherein the count increase is non-linearly mapped to the power level increase.

In example 20, the subject matter of examples 15-19 includes wherein the energy required to activate the light source at the first power level to transmit the entire sequence is less than the total energy required to activate the light source to transmit each bit of the sequence individually.

Example 21 is a method for receiving data over an optical communication path, the method comprising: receiving a transmission comprising one or more photons at a first power level in a first time slot; identifying a first value of one or more photons; determining a bit count corresponding to the first value based on the first power level, wherein a count increase is mapped to a power level increase; creating a continuous sequence of bits having a first value, the sequence comprising a number of bits corresponding to the count; and stores the sequence of consecutive bits as a bit stream in a memory.

In example 22, the subject matter of example 21 includes, wherein identifying the first value of the one or more photons comprises applying a detection model.

In example 23, the subject matter of example 22 includes, wherein the detection model is a machine learning model trained using poisson regression of previous bit streams and power levels.

In example 24, the subject matter of examples 22-23 includes wherein the detection model is determined based on other received photons.

In example 25, the subject matter of examples 21-24 includes, wherein the count increase is non-linearly mapped to the power level increase.

In example 26, the subject matter of examples 21-25 includes, wherein each bit of the sequence is associated with a corresponding power level, and wherein the first power level is based on a combination of the corresponding power levels for each bit of the sequence.

In example 27, the subject matter of examples 21-26 includes determining a second sequence of consecutive bits received in the transmission associated with a second power level, the second sequence having a higher consecutive bit count than the sequence, and wherein the second power level is higher than the first power level.

Example 28 is a system for receiving data over an optical communication path, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: receiving a transmission comprising one or more photons at a first power level in a first time slot; identifying a first value of one or more photons; determining a bit count corresponding to the first value based on the first power level, wherein a count increase is mapped to a power level increase; creating a continuous sequence of bits having a first value, the sequence comprising a plurality of bits corresponding to a count; and stores the sequence of consecutive bits as a bit stream in a memory.

In example 29, the subject matter of example 28 includes, wherein the instructions to configure the system to identify the first value of the one or more photons comprise instructions to apply a detection model.

In example 30, the subject matter of example 29 includes, wherein the detection model is a machine learning model trained using poisson regression of previous bit streams and power levels.

In example 31, the subject matter of examples 29-30 includes wherein the detection model is determined based on other received photons.

In example 32, the subject matter of examples 28-31 includes, wherein the count increase is non-linearly mapped to the power level increase.

In example 33, the subject matter of examples 28-32 includes, wherein each bit of the sequence is associated with a corresponding power level, and wherein the first power level is based on a combination of the corresponding power levels for each bit of the sequence.

In example 34, the subject matter of examples 28-33 includes wherein the system is configured to determine a second sequence of consecutive bits received in the transmission associated with a second power level, the second sequence having a higher consecutive bit count than the sequence, and wherein the second power level is higher than the first power level.

Example 35 is a system for receiving data over an optical communication path, the system comprising: means for receiving a transmission comprising one or more photons at a first power level at a first time slot; means for identifying a first value of one or more photons; means for determining a bit count corresponding to a first value based on a first power level, wherein a count increase is mapped to a power level increase; means for creating a sequence of consecutive bits having a first value, the sequence comprising a plurality of bits corresponding to a count; and a unit for storing the consecutive bit sequences as a bit stream in a memory.

In example 36, the subject matter of example 35 includes, wherein the means for identifying the first value of the one or more photons comprises means for applying a detection model.

In example 37, the subject matter of example 36 includes, wherein the detection model is a machine learning model trained using poisson regression of previous bit streams and power levels.

In example 38, the subject matter of examples 36-37 includes, wherein the detection model is determined based on other received photons.

In example 39, the subject matter of examples 35-38 includes means for determining a second power level associated with transmission of the received second set of one or more photons; means for comparing the second power level to the first power level; and means for wherein the bit count determination is performed in response to determining that the first power level exceeds the second power level.

In example 40, the subject matter of examples 35-39 includes, wherein each bit of the sequence is associated with a corresponding power level, and wherein the first power level is based on a combination of the corresponding power levels for each bit of the sequence.

Example 41 is a method of transmitting data over an optical communication path, the method comprising: receiving a bit stream for transmission over an optical communication path; determining a sequence of consecutive bits in the bitstream having the same first value, the sequence having: a first size having a maximum number of bits, while the sequence also has a corresponding first transmission power that does not exceed a threshold transmission power, the first transmission power determined by applying a mapping to the first size, the mapping comprising a plurality of sequence sizes and corresponding transmission powers, wherein the mapping increases the transmission power as the number of bits increases; and selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire sequence by transmitting a single bit of the first value using the first transmission power.

In example 42, the subject matter of example 41 includes determining a second sequence of consecutive bits in the bitstream having the same first value, the second sequence having: a second size having a maximum number of bits, while the second sequence also has a corresponding second transmission power that is less than the threshold transmission power, the transmission power determined by applying the mapping to the second size, the second transmission power being less than the first transmission power and the second size being less than the first size; and selectively activating the light source at a second power level according to a modulation scheme to optically transmit the entire second sequence by transmitting a single bit of the first identity value using the second power level.

In example 43, the subject matter of examples 41-42 includes, wherein the threshold transmission power is a maximum power that the light source is configured to transmit.

In example 44, the subject matter of examples 41-43 includes, wherein the mapping includes an increase in power level in a non-linear relationship to an increase in sequence size.

In example 45, the subject matter of examples 41-44 includes wherein selectively activating the light sources at the first power level according to the modulation scheme includes modulating the single bit on the carrier using the first power level.

In example 46, the subject matter of examples 41-45 includes, wherein the modulation scheme is one of: quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), or Amplitude and Phase Shift Keying (APSK).

In example 47, the subject matter of examples 41-46 includes wherein the optical communication path is an optical fiber, and wherein selectively activating the light source at the first power level according to the modulation scheme includes transmitting photons across the optical fiber.

In example 48, the subject matter of examples 41-47 includes wherein a time required to activate the light source at the first power level according to the modulation scheme to optically transmit the entire sequence is less than a total time required to activate the light source to individually transmit each bit of the sequence.

Example 49 is a system to transmit data over an optical communication path, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: receiving a bit stream for transmission over an optical communication path; determining a sequence of consecutive bits in the bitstream having the same first value, the sequence having: a first size having a maximum number of bits, while the sequence also has a corresponding first transmission power that does not exceed a threshold transmission power, the first transmission power determined by applying a mapping to the first size, the mapping comprising a plurality of sequence sizes and corresponding transmission powers, wherein the mapping increases the transmission power as the number of bits increases; and selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire sequence by transmitting a single bit of the first value using the first transmission power.

In example 50, the subject matter of example 49 includes, wherein the system is further configured to: determining a second sequence of consecutive bits in the bitstream having the same first value, the second sequence having: a second size having a maximum number of bits, while the second sequence also has a corresponding second transmission power that is less than the threshold transmission power, the transmission power determined by applying the mapping to the second size, the second transmission power being less than the first transmission power and the second size being less than the first size; and selectively activating the light source at a second power level according to the modulation scheme to optically transmit the entire second sequence by transmitting a single bit having the first identity value using the second power level.

In example 51, the subject matter of examples 49-50 includes, wherein the threshold transmission power is a maximum power that the light source is configured to transmit.

In example 52, the subject matter of examples 49-51 includes, wherein the mapping includes an increase in power level in a non-linear relationship to an increase in sequence size.

In example 53, the subject matter of examples 49-52 includes wherein selectively activating the light source at the first power level according to the modulation scheme includes modulating a single bit on the carrier using the first power level.

In example 54, the subject matter of examples 49-53 includes, wherein the modulation scheme is one of: quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), or Amplitude and Phase Shift Keying (APSK).

In example 55, the subject matter of examples 49-54 includes, wherein the optical communication path is an optical fiber, and wherein selectively activating the light source at the first power level according to the modulation scheme includes transmitting photons across the optical fiber.

In example 56, the subject matter of examples 49-55 includes wherein the time required to activate the light source at the first power level according to the modulation scheme to optically transmit the entire sequence is less than a total time required to activate the light source to individually transmit each bit of the sequence.

Example 57 is at least one non-transitory machine-readable medium comprising instructions to transmit data over an optical communication path, the instructions when executed by a hardware processor cause the hardware processor to: receiving a bit stream for transmission over an optical communication path; determining a sequence of consecutive bits in the bitstream having the same first value, the sequence having: a first size having a maximum number of bits, while the sequence also has a corresponding first transmission power that does not exceed a threshold transmission power, the first transmission power determined by applying a mapping to the first size, the mapping comprising a plurality of sequence sizes and corresponding transmission powers, wherein the mapping increases the transmission power as the number of bits increases; and selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire sequence by transmitting a single bit of the first value using the first transmission power.

In example 58, the subject matter of example 57 includes, wherein the instructions further configure the system to: determining a second sequence of consecutive bits in the bitstream having the same first value, the second sequence having: a second size having a maximum number of bits, while the second sequence also has a corresponding second transmission power that is less than the threshold transmission power, the transmission power determined by applying the mapping to the second size, the second transmission power being less than the first transmission power and the second size being less than the first size; and selectively activating the light source at a second power level according to the modulation scheme to optically transmit the entire second sequence by transmitting a single bit having the first identity value using the second power level.

In example 59, the subject matter of examples 57-58 includes wherein the threshold transmission power is a maximum power that the light source is configured to transmit.

In example 60, the subject matter of examples 57-59 includes, wherein the mapping includes an increase in power level in a non-linear relationship to an increase in sequence size.

Example 61 is a method for receiving data over an optical communication path at a receiving device, the method comprising: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being a threshold power level; determining a first value and a second power level for a second time slot after the first time slot by the transmitter over the optical communication path and based on a second set of one or more received photon transmissions, the second power level not exceeding the threshold power level; creating a first bit sequence of repeated values of the first value, comprising: a plurality of repeated first values, a count of a number of first values (determined based on a mapping of first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of a number of repeated values, wherein as the received power levels increase, the mapping increases the number of repeated values; creating a second sequence of bits comprising repeated values of the first value of the second number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 62, the subject matter of example 61 includes, wherein determining the first value and the first power level includes applying one or more detection models to the first set of one or more received photons, the detection models including a poisson regression model.

In example 63, the subject matter of example 62 includes wherein at least one of the one or more detection models is configured to detect values at power levels above a threshold power level.

In example 64, the subject matter of examples 61-63 includes, wherein the memory is Random Access Memory (RAM).

In example 65, the subject matter of examples 61-64 includes, wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 66, the subject matter of examples 61-65 includes, wherein the one or more received photons are received via an optical communication path, the optical communication path comprising an optical fiber.

In example 67, the subject matter of examples 61-66 includes, wherein the mapping includes an increase in power level in a non-linear relationship to an increase in sequence size.

Example 68 is a system for receiving data over an optical communication path at a receiving device, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being a threshold power level; determining a first value and a second power level for a second time slot after the first time slot by the transmitter over the optical communication path and based on a second set of one or more received photon transmissions, the second power level not exceeding the threshold power level; creating a first bit sequence of repeated values of the first value comprising a plurality of repeated first values, a count of a number of the first values (determined based on a mapping of the first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of the number of repeated values, wherein the mapping increases the number of repeated values as the received power levels increase; creating a second sequence of bits comprising repeated values of the first value of the second number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 69, the subject matter of example 68 includes, wherein determining the first value and the first power level includes applying one or more detection models to the first set of one or more received photons, the detection models including a poisson regression model.

In example 70, the subject matter of example 69 includes wherein at least one of the one or more detection models is configured to detect values at power levels above a threshold power level.

In example 71, the subject matter of examples 68-70 includes wherein the memory is Random Access Memory (RAM).

In example 72, the subject matter of examples 68-71 includes, wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 73, the subject matter of examples 68-72 includes wherein the one or more received photons are received via an optical communication path, the optical communication path including an optical fiber.

In example 74, the subject matter of examples 68-73 includes, wherein the mapping includes an increase in power level in a non-linear relationship to an increase in sequence size.

Example 75 is at least one non-transitory machine-readable medium comprising instructions to receive data over an optical communication path at a receiving device, the instructions when executed by a hardware processor to cause the hardware processor to: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being a threshold power level; determining a first value and a second power level for a second time slot after the first time slot by the transmitter over the optical communication path and based on a second set of one or more received photon transmissions, the second power level not exceeding the threshold power level; creating a first bit sequence of repeated values of the first value, comprising: a plurality of repeated first values, a count of a number of first values (determined based on a mapping of first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of a number of repeated values, wherein as the received power levels increase, the mapping increases the number of repeated values; creating a second sequence of bits comprising repeated values of the first value of the second number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 76, the subject matter of example 75 includes wherein determining the first value and the first power level comprises applying one or more detection models to the first set of one or more received photons, the detection models comprising poisson regression models.

In example 77, the subject matter of example 76 includes wherein at least one of the one or more detection models is configured to detect values at power levels above a threshold power level.

In example 78, the subject matter of examples 75-77 includes wherein the memory is Random Access Memory (RAM).

In example 79, the subject matter of examples 75-78 includes wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 80, the subject matter of examples 75-79 includes wherein the one or more received photons are received via an optical communication path comprising an optical fiber.

Example 81 is a method of transmitting data over an optical communication path, the method comprising: receiving a bit stream for transmission over an optical communication path; determining a first sequence of bits in the bitstream comprising a plurality of consecutive identical first values; packetizing the bit sequence into a plurality of transmission packets by maximizing the number of bits that can be allocated to each packet while still having a corresponding transmission power for each packet that is not greater than a threshold transmission power, the transmission power for each particular packet determined by applying a mapping of the number of bits in each packet, the mapping comprising a plurality of packet sizes and corresponding power levels, wherein the mapping increases the transmission power as the number of bits increases; determining that a first packet of one of the plurality of transmission packets is transmitted at a first power level corresponding to the threshold transmission power and a second packet of one of the plurality of transmission packets is transmitted at a second power level less than the threshold level; moving bits from the first packet to the second packet such that a power level of the first packet determined by the mapping is decreased and a second power level of the second packet determined by the mapping is increased such that both the first power level and the second power level are below a threshold transmission power; selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire first packet by transmitting a single bit of the same first value at a reduced first power level; and selectively activating the light source at an elevated second power level according to a modulation scheme to optically transmit the entire second packet by transmitting a single bit of the same first value at the second power level.

In example 82, the subject matter of example 81 includes, wherein the threshold power is a maximum power configured for transmission.

In example 83, the subject matter of examples 81-82 includes, wherein the threshold power level is less than a maximum power configured for transmission.

In example 84, the subject matter of examples 81-83 includes, wherein the method includes determining the threshold power based on historical past power levels at which the light source was activated.

In example 85, the subject matter of examples 81-84 includes wherein the mapping maps a first number of bits to a first power level, maps a second number of bits greater than the first number of bits to a second power level greater than the first power level, and maps a third number of bits greater than the second number of bits to a third power level greater than the second power level.

In example 86, the subject matter of examples 81-85 includes, wherein the modulation scheme is one of: quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), or Amplitude and Phase Shift Keying (APSK).

In example 87, the subject matter of examples 81-86 includes wherein the optical communication path is an optical fiber and wherein selectively activating the light source at the first power level according to the modulation scheme includes transmitting photons across the optical fiber.

In example 88, the subject matter of examples 81-87 includes wherein a time required to activate the light source at the first power level to transmit the entire first packet is less than a total time required to activate the light source to transmit each bit of the first packet individually.

Example 89 is a system to transmit data over an optical communication path, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: receiving a bit stream for transmission over an optical communication path; determining a first sequence of bits in the bitstream comprising a plurality of consecutive identical first values; packetizing the bit sequence into a plurality of transmission packets by maximizing the number of bits that can be allocated to each packet while still having a corresponding transmission power for each packet that is not greater than a threshold transmission power, the transmission power for each particular packet determined by applying a mapping of the number of bits in each packet, the mapping comprising a plurality of packet sizes and corresponding power levels, wherein the mapping increases the transmission power as the number of bits increases; determining that a first packet of one of the plurality of transmission packets is transmitted at a first power level corresponding to the threshold transmission power and a second packet of one of the plurality of transmission packets is transmitted at a second power level less than the threshold level; moving bits from the first packet to the second packet such that a power level of the first packet determined by the mapping is decreased and a second power level of the second packet determined by the mapping is increased such that the first power level and the second power level are below a threshold transmission power; selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire first packet by transmitting a single bit of the same first value at a reduced first power level; and selectively activating the light source at an elevated second power level according to a modulation scheme to optically transmit the entire second packet by transmitting a single bit of the same first value at the second power level.

In example 90, the subject matter of example 89 includes, wherein the threshold power is a maximum power configured for transmission.

In example 91, the subject matter of examples 89-90 includes, wherein the threshold power level is less than a maximum power configured for transmission.

In example 92, the subject matter of examples 89-91 includes, wherein the method includes determining the threshold power based on historical past power levels at which the light source was activated.

In example 93, the subject matter of examples 89-92 includes wherein the mapping maps a first number of bits to a first power level, a second number of bits greater than the first number of bits to a second power level greater than the first power level, and a third number of bits greater than the second number of bits to a third power level greater than the second power level.

In example 94, the subject matter of examples 89-93 includes, wherein the modulation scheme is one of: quadrature Phase Shift Keying (QPSK), Binary Phase Shift Keying (BPSK), Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM), or Amplitude and Phase Shift Keying (APSK).

In example 95, the subject matter of examples 89-94 includes wherein the optical communication path is an optical fiber and wherein selectively activating the light source at the first power level according to the modulation scheme includes transmitting photons across the optical fiber.

In example 96, the subject matter of examples 89-95 includes wherein a time required to activate the light source at the first power level to transmit the entire first packet is less than a total time required to activate the light source to transmit each bit of the first packet individually.

Example 97 is at least one non-transitory machine-readable medium comprising instructions to transmit data over an optical communication path, the instructions, when executed by a hardware processor, cause the hardware processor to: receiving a bit stream for transmission over an optical communication path; determining a first sequence of bits in the bitstream comprising a plurality of consecutive identical first values; packetizing the bit sequence into a plurality of transmission packets by maximizing the number of bits that can be allocated to each packet while still having a corresponding transmission power for each packet that is no greater than a threshold transmission power, the transmission power for each particular packet determined by applying a mapping of the number of bits in each packet, the mapping comprising a plurality of packet sizes and corresponding power levels, wherein the mapping increases the transmission power as the number of bits increases; determining that a first packet of one of the plurality of transmission packets is transmitted at a first power level corresponding to the threshold transmission power and a second packet of one of the plurality of transmission packets is transmitted at a second power level less than the threshold level; moving bits from the first packet to the second packet such that a power level of the first packet determined by the mapping is decreased and a second power level of the second packet determined by the mapping is increased such that both the first power level and the second power level are below a threshold transmission power; selectively activating the light source at a first power level according to a modulation scheme to optically transmit the entire first packet by transmitting a single bit of the same first value at a reduced first power level; and selectively activating the light source at an elevated second power level according to the modulation scheme to optically transmit the entire second packet by transmitting a single bit of the same first value at the second power level.

In example 98, the subject matter of example 97 includes, wherein the threshold power is a maximum power configured for transmission.

In example 99, the subject matter of examples 97-98 includes wherein the threshold power level is less than a maximum power configured for transmission.

In example 100, the subject matter of examples 97-99 includes, wherein the method includes determining the threshold power based on historical past power levels at which the light source was activated.

Example 101 is a method for receiving data over an optical communication path at a receiving device, the method comprising: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being less than a threshold power level; determining a first value and a second power level transmitted by the transmitter over the optical communication path based on a second group of one or more received photons at a second time slot after the first time slot, the second power level being less than the threshold power level; creating a first bit sequence of repeated values of the first value comprising a plurality of repeated first values, a count of a number of the first values (determined based on a mapping of the first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of the number of repeated values, wherein the mapping increases the number of repeated values as the received power levels increase; creating a second sequence of bits of the repeated values of the first value including a second count of the number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 102, the subject matter of example 101 includes, wherein determining the first value and the first power level includes applying one or more detection models to the first set of one or more received photons, the detection models including a poisson regression model.

In example 103, the subject matter of example 102 includes wherein one of the one or more detection models is configured to determine a value at a power level above a threshold power level.

In example 104, the subject matter of example 101 and 103 includes wherein the memory is Random Access Memory (RAM).

In example 105, the subject matter of example 101-104 includes, wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 106, the subject matter of example 101-105 includes wherein the one or more received photons are received via an optical communication path comprising an optical fiber.

In example 107, the subject matter of example 101 and 106 includes, wherein the first power level and the second power level are the same power level.

Example 108 is a system for receiving data over an optical communication path at a receiving device, the system comprising: a hardware processor; and a computer-readable storage device having computer-executable instructions stored thereon that, when executed by the hardware processor, configure the system to: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being less than a threshold power level; determining a first value and a second power level transmitted by the transmitter over the optical communication path based on a second group of one or more received photons at a second time slot after the first time slot, the second power level being less than the threshold power level; creating a first bit sequence of repeated values of the first value comprising a plurality of repeated first values, a count of a number of the first values (determined based on a mapping of the first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of the number of repeated values, wherein the mapping increases the number of repeated values as the received power levels increase; creating a second sequence of bits of the repeated values of the first value including a second count of the number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 109, the subject matter of example 108 includes, wherein determining the first value and the first power level includes applying one or more detection models to the first set of one or more received photons, the detection models including a poisson regression model.

In example 110, the subject matter of example 109 includes, wherein one of the one or more detection models is configured to determine a value at a power level above a threshold power level.

In example 111, the subject matter of example 108 and 110 includes wherein the memory is Random Access Memory (RAM).

In example 112, the subject matter of example 108 and 111 includes, wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 113, the subject matter of example 108 and 112 includes wherein the one or more received photons are received via an optical communication path comprising an optical fiber.

In example 114, the subject matter of example 108 and 113 includes wherein the first power level and the second power level are the same power level.

Example 115 is at least one non-transitory machine-readable medium comprising instructions to receive data over an optical communication path at a receiving device, the instructions, when executed by a hardware processor, cause the hardware processor to: determining a first value and a first power level transmitted by the transmitter over the optical communication path in the first time slot based on the first set of one or more received photons, the first power level being less than a threshold power level; determining a first value and a second power level transmitted by the transmitter over the optical communication path based on a second group of one or more received photons at a second time slot after the first time slot, the second power level being less than the threshold power level; creating a first bit sequence of repeated values of the first value comprising a plurality of repeated first values, a count of a number of the first values (determined based on a mapping of the first power levels to the count), the mapping comprising a plurality of received power levels and corresponding counts of the number of repeated values, wherein the mapping increases the number of repeated values as the received power levels increase; creating a second sequence of bits of the repeated values of the first value including a second count of the number of repeated values based on the mapping and the second power level; combining the first sequence of bits and the second sequence of bits into a bitstream; and storing the bit stream in a memory.

In example 116, the subject matter of example 115 includes, wherein determining the first value and the first power level includes applying one or more detection models to the first set of one or more received photons, the detection models including a poisson regression model.

In example 117, the subject matter of example 116 includes wherein one of the one or more detection models is configured to determine a value at a power level above a threshold power level.

In example 118, the subject matter of example 115 and 117 includes wherein the memory is Random Access Memory (RAM).

In example 119, the subject matter of example 115 and 118 includes, wherein the bit sequence is a binary bit sequence and the repetition value is a binary value of 1.

In example 120, the subject matter of example 115-119 includes wherein the one or more received photons are received via an optical communication path comprising an optical fiber.

Example 121 is at least one machine readable medium comprising instructions that, when executed by a processing circuit, cause the processing circuit to perform operations to implement any of examples 1-120.

Example 122 is an apparatus comprising means for implementing any of examples 1-120.

Example 123 is a system to implement any of examples 1-120.

Example 124 is a method of implementing any of examples 1-120.

As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. Furthermore, multiple instances may be provided as a single instance for a resource, operation, or structure described herein. Moreover, the boundaries between the various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are contemplated and may fall within the scope of various embodiments of the disclosure. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of the embodiments of the disclosure as represented by the claims that follow. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于光通信的吞吐量增加的系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!