对通过光通信路径接收到的数据的基于功率的解码

文档序号:328346 发布日期:2021-11-30 浏览:19次 >En<

阅读说明:本技术 对通过光通信路径接收到的数据的基于功率的解码 (Power-based decoding of data received over an optical communication path ) 是由 A·A·哈桑 W-C·陈 于 2020-03-25 设计创作,主要内容包括:一种用于通过光通信路径传输数据的系统,其被配置为接收要在比特流中编码的数据以用于使用光通信路径进行传输,并且对接收到的数据进行编码以获得比特流。该系统还被配置为确定比特流包括连续比特的序列,并且基于序列中连续比特的计数来获得传输比特流的一部分的功率电平。该系统可以被配置为根据调制方案选择性地以功率电平激活光源来以该功率电平光学地传输比特流的一部分。(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 a bitstream. The system is further configured to determine that the bitstream comprises a sequence of consecutive bits, and obtain a power level of a portion of the transport bitstream 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是示出根据示例实施例的光发射机使用一个或多个光通信路径与光接收机通信的框图。

图2示出了根据示例实施例的图1所示的光发射机的组件。

图3示出了根据示例实施例的图1的光接收机。

图4示出了根据示例实施例的由图1的光接收机检测到的光子的分布,其中分布对应于已经使用第一基于功率的压缩算法压缩的传输信号。

图5示出了根据示例实施例的由图1的光接收机检测到的光子的分布,其中分布对应于已经使用第二基于功率的压缩算法压缩的传输信号。

图6示出了根据示例实施例的由图1的光接收机检测到的光子的分布,其中分布对应于已经使用第三基于功率的压缩算法压缩的传输信号。

图7示出了根据示例实施例的用于使用图1的光发射机传输已编码比特流的方法。

图8示出了根据示例实施例的用于使用图1的光接收机接收已编码比特流的方法。

图9示出了根据示例实施例的用于确定要使用图1的光发射机发送的传输分组的最佳数量的方法。

图10示出了根据示例实施例的用于确定传输分组是否对应于多个二进制字符的方法。

图11是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质或机器可读存储设备)读取指令并执行本文讨论的方法中的任何一种或多种方法的机器的组件的框图。

图12示出了根据示例实施例的用于通过光通信路径传输数据的方法。

具体实施方式

下面的描述描述了说明本主题的示例实施例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本主题的各种实施例的理解。然而,对于本领域技术人员而言显而易见的是,可以在没有这些具体细节中的一些或其他细节的情况下实践本主题的实施例。示例仅代表可能的变化。除非另有明确说明,否则结构(例如,结构组件,如模块)是可选的并且可以组合或细分,并且操作(例如,在过程、算法或其他函数中)可以顺序变化或者组合或细分。

本公开提供了用于基于光源的功率输出来光学地压缩已编码比特流并且选择性地激活光源以传输经压缩的比特流的系统和方法。本公开还提供了用于光学地检测经压缩的比特流的传输并且解压缩经压缩的比特流以获得已编码比特流的系统和方法。

在一个实施例中,所公开的系统和方法通过使用源编码技术(例如Huffman编码、Lempel-Ziv编码、Shannon-Fano编码、任何其他源编码技术或其组合)对要光学传输的数据进行编码来获得已编码比特流。在另一实施例中,对要传输的数据的源编码被省略和/或绕过。

然后可以对已编码比特流执行前向纠错(FEC)以保留在传输期间可能丢失的信息。可以应用于已编码比特流的纠错编码技术的示例包括Hamming码、Reed Solomon码和其他这样的纠错编码技术。对已编码比特流执行FEC的结果是已编码比特流连同冗余比特,冗余比特用于恢复已编码比特流的比特中的一个或多个比特。

然后对已编码比特流执行功率整形或基于功率的压缩算法,已编码比特流包括已编码比特流的数据部分和通过纠错编码添加到已编码比特流的冗余比特。如更详细讨论的,可以对已编码比特流执行一种或多种功率整形或基于功率的压缩算法,以增加传输吞吐量,而不对在其中传输已编码比特流的光通信路径进行物理改变。通常,基于功率的压缩算法将已编码比特流的二进制字符映射到通过光通信路径传输已编码比特流的光源的输出功率。此后,基于功率的压缩算法在已编码比特流中搜索二进制字符的重复实例,并用二进制字符的单个实例替换重复实例。然而,替换二进制字符被指定为以相比替换二进制字符替换的个体二进制字符增加的功率电平来传输。

例如,假设二进制字符“1”被映射到5dBm的第一传输功率电平,并且待传输的已编码比特流为“1 1 1 1 1”。进一步地,基于功率的压缩算法为在第一二进制字符之后被替换的每个附加二进制字符引入了附加的2dBm。因此,在该示例中,用单个二进制字符“1”替换已编码比特流“1 1 1 1 1”。此外,不是指定以五个单独的实例(例如,T1、T2、T3等)以各自5dBm的功率电平传输五个二进制1,而是指示光源在单个时间段(例如,T1)以13dBm的功率电平传输单个二进制字符“1”(例如,对于第一二进制字符为初始5dBm,然后对于每个附加二进制字符为附加的2dBm)。当接收机在单个时间段检测到接收到的传输分组的增加的功率电平时,接收机应用基于功率的解压缩算法来确定接收到的传输分组表示多个二进制字符,并确定由单个传输分组表示的二进制字符的数量。

因此,前述基于功率的压缩算法是二进制字符可以被压缩并由单个传输分组的功率输出表示的一种方式的一个示例。如下文参考图4-6所讨论的,前述示例的变型是可能的并且被认为落入本公开的范围内。变型包括但不限于考虑由光源输出的最大传输功率,优化能够以小于最大传输功率的功率电平传输的分组的数量,确定经功率整形的传输分组的功率电平的方式,以及其他这样的变型或它们的组合。

然后在由光源传输之前对经功率整形的已编码比特流执行附加操作。这些操作包括但不限于应用调制方案以用预定载波调制经功率整形的已编码比特流,并将调制信号上变频到适合通过光通信路径传输的频率。

然后由从发射机接收调制信号的接收机执行类似的操作。这些操作包括但不限于:将接收到的调制信号下变频到载波频率,从载波解调经功率整形的已编码比特流,以及使用基于功率的解压缩算法对经功率整形的已编码比特流进行解压缩。进一步的操作包括应用源解码技术(例如,Huffman解码)来获得已解码数据,然后将已解码数据存储在计算机可读存储设备中。存储已解码数据可以包括将已解码数据存储在短期存储器(例如,随机存取存储器(RAM))中,或在长期存储器(例如,硬盘驱动器(例如,磁盘或闪存盘)、光盘或其他长期存储器)中。

本文公开的附加技术是接收机可以经由一种或多种机器学习技术被训练以识别由光发射机发送的传输分组是表示单个二进制字符还是一个以上的二进制字符。光接收机可以使用的机器学习技术的一个示例是泊松回归,其在在线文章“ProgressionRegression”中公开,该文章由Microsoft Corp.发表,并且可以在https://docs.microsoft.com/en-us/azure/machine-leaming/studio-module-reference/poisson-regression#technical-notes处获得。机器学习技术帮助接收机学习由发射机发送的传输分组的功率电平,并识别以特定功率电平(或近似功率电平)接收到的一系列光子何时表示由光发射机发送的传输分组。在又一实施例中,针对光发射机开发泊松分布,其中针对由光发射机输出的一个或多个传输功率电平开发泊松分布,然后将其用于匹配由光发射机发射的传输分组。

以此方式,本公开提供了使用基于功率的压缩算法来压缩已编码比特流的光学编码机制,以及使用基于功率的解压缩算法来解压缩已编码比特流的光学解码机制。这种方法有多种技术优势。例如,一项技术优势是对光通信路径的传输速率的改进,而不必物理地改变光通信路径以适应附加的吞吐量。另一技术优势是基于功率的压缩算法可以应用于传统的传输设备,而不必增加附加的传输硬件或修改现有的传输硬件,因为基于功率的压缩算法的重点是将二进制字符映射到传输设备支持的传输功率电平。

本公开现在转向实现本文描述的技术方面的各种公开的实施例。图1是示出经由光发射机108和光接收机110彼此通信的两个计算设备104-106的框图。计算设备104经由光发射机108向计算设备106发送数据,光发射机108编码以获得已编码比特流,并使用基于功率的压缩算法来获得经压缩的比特流以用于通过光通信路径114-116传输。光接收机110被配置为从光发射机108接收经功率整形的比特流,并将未压缩且已解码的数据传送到计算设备106。

光发射机108可以经由一个或多个光通信路径114-116与光接收机110直接通信。另外和/或替代地,网络112可以设置在光发射机108和光接收机110之间,并且光发射机108和光接收机110经由光通信路径114-116和网络112进行通信。

计算设备104可以包括但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、多处理器系统、基于微处理器的或可编程的消费者电子产品,或用户可以用来执行各种计算任务(例如,访问互联网、拨打电话、进行视频会议等)的任何其他通信设备。在一些实施例中,计算设备104可以包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在进一步的实施例中,计算设备104可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。

计算设备106可以包括但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、多处理器系统、基于微处理器的或可编程的消费者电子产品,或用户可以用来执行各种计算任务(例如,访问互联网、拨打电话、进行视频会议等)的任何其他通信设备。在一些实施例中,计算设备106可以包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在进一步的实施例中,计算设备106可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。

此外,计算设备104和/或计算设备106可以被实现为提供各种功能和/或计算机化服务的服务器。例如,计算设备104和/或计算设备106可以提供文件托管服务、视频流送服务、音频流送服务、网页托管服务、在线游戏服务、在线银行服务或任何其他计算机化服务或其组合。计算设备104-106可以被实现为客户端/服务器关系(例如,计算设备104是客户端设备且计算设备106是服务器设备),实现为对等关系(例如,计算设备104是客户端设备且计算设备106是客户端设备),或实现为服务器到服务器关系(例如,计算设备104-106都被实现为服务器并且彼此通信以向彼此提供各种服务)。在一些示例中,计算设备104和106可以包括相应的光发射机108和110。

设置在计算设备104和计算设备106之间的网络112可以包括一种或多种类型的网络。例如,网络112可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、WAN、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络、无线网络、Wi-Fi网络、WiMAX网络、另一种类型的网络,或两个或更多个这样的网络的组合。

光通信路径114-116可以包括一种或多种物理介质,激光或光通过该物理介质进行通信。可以包含于光通信路径114-116中的传输介质的一个示例是一根或多根光纤,例如,单模光纤或多模光纤,其中光纤包括玻璃光纤、聚合物光纤,或其组合。传输介质的另一示例是气体,例如,空气,其中光发射机108通过在气体上和/或通过气体发送一个或多个传输分组来与光接收机110通信。

在图1中,在光发射机108和光接收机110之间的通信被示为单向路径(例如,光发射机向光接收机110发送传输分组)。然而,在其他实施例中,计算设备106还可以与光发射机(未示出)通信,该光发射机与通信地耦合到计算设备104的光接收机(未示出)进行通信。因此,计算设备104与计算设备106之间的通信也可以是双向通信路径。

参考图2,图2是根据示例实施例的图1所示的光发射机108的组件。如图2所示,并且在一个实施例中,光发射机108包括各种组件202-218。这些组件202-218包括但不限于通信接口202、一个或多个处理器204、计算机存储设备206、源编码模块208、错误控制编码(ECC)模块210和功率整形编码模块212。组件202-218还包括基带调制器/滤波器214、上变频模块216和光源218。

光发射机218的各种组件202-218可以在单个设备中实现,可以位于单个设备上或者可以以各种布置跨若干设备分布。光发射机218的各个组件202-218可以访问一个或多个计算机存储设备以获得配置信息和/或实现算法,并且各种组件202-218中的每一个可以彼此通信(例如,经由一个或多个通信总线等)。此外,虽然图2的组件202-218以单数意义进行了讨论,但是将理解在其他实施例中可以采用组件202-218的多个实例。

组件208-218中的一个或多个可以以硬件和/或软件实现。在一个实施例中,组件208-218被实现为专用电路,例如,专用集成电路(ASIC),其中专用电路被配置为执行预定功能。例如,源编码模块208可以实现为被配置为对对应于数据220的比特流执行Huffman编码的ASIC。作为另一示例,ECC模块210可以实现为被配置为对由源编码模块208输出的已编码比特流实现Reed Solomon码的ASIC。另外和/或替代地,组件208-218可以实现为软件,其中处理器204被配置为执行实现组件208-218的计算机可读指令。此外,前述的组合是可能的,其中一些模块实现为专用电路而其他模块以软件实现。以此方式,光发射机108可以包括以硬件和/或软件实现的组件208-218。

通信接口202被配置为与计算设备104通信。就此而言,与计算设备104的通信包括从计算设备104接收数据和/或向计算设备104发送数据。光发射机108还可以经由通信接口202从计算设备104接收指令和/或配置。例如,光发射机108可以从计算设备104接收数据220和/或一种或多种编码算法222。

通信接口202可以包括一个或多个有线和/或无线通信接口。例如,通信接口202可以包括无线收发机、无线电和/或有线网络接口。在一个实施例中,通信接口202被配置为使用诸如802.11b/g/n之类的一种或多种无线通信协议与计算设备104建立无线通信信道。另外和/或替代地,光发射机108可以经由电线或其他物理介质(例如,经由以太网电缆等)与计算设备104建立通信信道。在又一实施例中,通信接口202是本地总线,其允许在光发射机108和计算设备104之间的直接通信。

处理器204被配置为执行实现模块208-216中的一个或多个的计算机可读指令。另外和/或替代地,处理器204可以被配置为从计算机存储设备206取回计算机可读指令。一个或多个处理器204可以是任何类型的商用处理器,例如,可从Intel Corporation、AdvancedMicro Devices、Texas Instruments获得的处理器或其他这样的处理器。此外,一个或多个处理器204可以包括一个或多个专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。一个或多个处理器204还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。因此,一旦由这样的软件配置,一个或多个处理器204就变成被唯一地定制以执行所配置的功能的特定机器(或机器的特定组件)而不再是通用处理器204。

在一个或多个处理器204经由一个或多个计算机可读指令实现模块208-216的情况下,计算机可读指令可以用一种或多种计算机编程和/或计算机脚本语言编写。这样的语言的示例包括但不限于C、C++、C#、Java、JavaScript、Perl、Python,或现在已知或以后开发的任何其他计算机编程和/或脚本语言。

光发射机108还可以包括用于存储数据220和/或编码算法222的各种计算机存储设备206和/或计算机可读介质。计算机存储设备204包括一个或多个物理设备,其被配置为临时或永久存储指令和数据,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“计算机存储设备”应当被认为包括能够存储数据220和一种或多种编码算法222的单个设备或多个设备(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。因此,计算机存储设备204可以被实现为单个存储装置或设备,或者替代地和/或另外,被实现为包括多个存储装置或设备的“基于云的”存储系统或存储网络。

计算机存储设备206的数据220包括计算设备104打算传输到计算设备106的信息。数据220还可以包括配置一个或多个处理器204以实现模块208-216中的一个或多个的计算机可读指令。

编码算法222包括用于对要经由光源218传输的数据220进行编码的一种或多种算法。在一个实施例中,编码算法222包括一种或多种源编码算法,以用于通过源编码模块208实现。可以包含于编码算法222中的源编码算法的示例包括Huffman编码、Lempel-Ziv编码、Shannon-Fano编码和其他这样的编码算法或其组合。

在另一实施例中,编码算法222包括由ECC模块210应用的一个或多个纠错编码算法。例如,ECC模块210可以引用计算机存储设备206的存储器地址以取回要应用于已编码比特流的错误控制编码算法。替代地,ECC模块210可以引用变量名,该变量名可以存储变量值或常数值,其中由变量名引用的值指示要应用的错误控制编码算法。可由ECC模块210应用的错误控制编码算法可以包括但不限于Hamming码、Reed Solomon码和其他这样的纠错编码技术或其组合。

在另一实施例中,编码算法222包括用于功率整形编码模块212的一个或多个基于功率的压缩算法。在一个实施例中,基于功率的压缩算法将已编码比特流(例如,应用了源编码的比特流)内的二进制字符的重复游程(repeated run)映射到可由光源218传输的特定功率电平。在一个实施例中,基于功率的压缩算法将二进制字符的重复游程映射到功率电平,而不管光源218的传输输出。在另一实施例中,基于功率的压缩算法将二进制字符的重复游程映射到光源218的预定可传输功率输出,并且在这样做时,生成对应于二进制字符的重复游程的一个或多个传输分组。在一些情况下,光源218的预定可传输功率输出是光源218的最大可传输功率输出。

在一些情况下,重复二进制字符的游程包括重复的“1”值(例如,“11 1”、“1 1 11”、“1 1 1 1 1l”等)。在其他情况下,重复二进制字符的游程包括重复的“0”值(例如,“0 00”、“0 0 0 0”、“0 0 0 0 0”等)。基于功率的压缩算法可以包括用于对重复的“1”值执行基于功率的压缩的一种或多种算法、用于对重复的“0”值执行基于功率的压缩的一种或多种算法、或这些算法的组合。

在将二进制字符的重复游程映射到可由光源218传输的功率电平输出时,游程中的每个重复二进制字符增加传输替换二进制字符的功率电平。例如,包括四个“1”的二进制字符的游程可以映射到已经增加了四倍预定量(例如,0.5dBm、1dBm等)的功率电平。在该实施例中,由光源218输出的功率电平的增加与重复二进制字符的特定游程中的重复二进制字符的数量相关。

在将二进制字符的游程映射到输出功率电平的另一实施例中,增加功率电平可以与特定游程中的附加二进制字符相关。另外和/或替代地,增加功率电平可以被任意分配或者经由人工提供的输入(例如,由光发射机108的操作员)来分配。例如,映射可以定义包括四个重复二进制字符的游程以8dBm输出,包括五个重复二进制字符的游程以8.6dBm输出,包括六个重复二进制字符的游程以9dBm输出,以及包括七个重复二进制字符的游程以9.3dBm输出。在该示例中,对于添加到二进制字符的重复游程的每个附加的二进制字符,功率电平增加,但功率电平的增加不是以相等间隔进行的。

在将二进制字符的游程映射到输出功率电平的又一实施例中,功率电平可以不递增地增加,而是可以随机分配和/或由人类操作员提供。例如,映射可以定义包括四个重复二进制字符的游程以6dBm输出,包括五个重复二进制字符的游程以5.3dBm输出,包括六个重复二进制字符的游程以7.2dBm输出,以及包括七个重复二进制字符的游程以6.7dBm输出。在该示例中,功率电平处于变化的输出电平,并且不一定会随着另一重复二进制字符的添加而增加。

在又一实施例中,基于功率的压缩算法将二进制字符的重复游程映射到优化数量的传输分组,其中优化数量的传输分组基于可由光源218传输的预定功率电平以及将以预定功率电平传输的分组的数量。在一些情况下,预定功率电平是由光源218输出的最大功率电平。这些基于功率的压缩算法中的每一个在图4-6中依次讨论。此外,上述的组合也是可能的。

源编码模块208被配置为根据编码算法222中的一种或多种对数据220进行编码。在一个实施例中,源编码模块208从计算机存储设备206中取回数据220,并应用由编码算法222中的一种或多种定义的源编码算法。在另一实施例中,源编码模块208预配置有源编码以应用于数据220。由源编码模块208生成的输出是已编码比特流,其可以作为计算机存储设备206的数据220的一部分存储。另外和/或替代地,已编码比特流可以实时地或接近实时地传送到光发射机108的另一模块210-216,例如,ECC模块210或功率整形编码模块212。

ECC模块210被配置为对由源编码模块208输出的已编码比特流应用纠错编码。在一些情况下,数据220可能不被源编码模块208编码,在这种情况下,ECC模块210将纠错编码应用于ECC模块210从计算机存储设备206取回的数据220。来自ECC模块210的产生的输出是一个或多个冗余比特,光接收机110可以使用这些比特来恢复由光源218传输的一个或多个信息比特。

功率整形编码模块212被配置为将基于功率的压缩算法应用于已编码比特流和冗余比特,以获得最终由光源218输出的经功率整形的已编码比特流。功率整形编码模块212可以被配置为选择性地将基于功率的压缩算法应用于已编码比特流的一个或多个部分。来自功率整形模块212的输出是经压缩的比特流,其中在已编码比特流中的二进制字符的重复游程和/或冗余比特已经用一个或多个二进制字符替换,这取决于功率整形编码模块212使用的基于功率的压缩算法。如上面解释的,替换一个或多个二进制字符对应于光源218输出的传输功率电平。

在一个实施例中,经压缩的比特流(包括任何冗余比特)被传送到基带调制器/滤波器214。基带调制器/滤波器214用光源218发射的载波信号调制对应于经压缩的比特流的信号。基带调制器/滤波器124可以采用一种或多种调制技术来用光源218发射的载波信号调制经压缩的比特流。调制技术的示例包括但不限于正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)、幅度和相移键控(APSK)以及其他这样的调制技术或其组合。此外,由光源218发射的载波信号可以由基带调制器/滤波器214直接调制,其中光源218被配置为当在经压缩的比特流中遇到第一二进制字符(例如,二进制“1”)时发射载波信号,并被配置为当在经压缩的比特流中遇到第二二进制字符(例如,二进制“0”)时不发射载波信号。

此外,基带调制器/滤波器214可以基于期望的波长对要由光源218发射的调制信号进行滤波。在一个实施例中,基带调制器/滤波器214将调制信号滤波到期望波长内,例如,650nm、850nm、1300nm、1310nm和其他这样的波长。在一些情况下,基带调制器/滤波器214的滤波可以在调制信号已被上变频到另一频率和/或波长之后应用。以这种方式,基带调制器/滤波器214确保由光源218发射的信号在期望的或所选择的波长内。

在一些情况下,基带调制器/滤波器214可以应用于由功率整形编码模块212输出的经压缩的比特流,例如,在经压缩的比特流将与载波信号一起传输的情况下。在其他情况下,功率整形编码模块212可以将经压缩的比特流传送到光源218,其中基带调制器/滤波器214直接调制光源218的输出。

上变频模块216被配置为应用频率上变频技术来将调制信号(例如,由基带调制器/滤波器214输出的调制信号)的频率转换为更高或更低的频率以由光源218发射。在一个实施例中,上变频模块216被实现为有限脉冲响应(FIR)差值器、级联积分梳(CIC)补偿器和CIC差值器。上变频模块216的输入包括由基带调制器/滤波器214输出的调制信号(例如,调制信号的频率)和本地振荡器信号,其中输出包括频率在期望频率的特定范围内的新信号(例如,两个信号的和,和/或两个信号的差)。然后可以对输出信号应用带通滤波器(未示出)以选择期望两个输出信号中的哪一个(例如,两个信号的和或两个信号的差)。

在一些情况下,上变频模块216可以应用于调制信号,其中调制信号包括处于比期望频率低的频率的射频(RF)信号。在其他情况下,可以绕过上变频模块216,并且可以将调制信号直接传送到光源218,例如,在调制信号在期望频率范围内的情况下。

光源218被配置为发射由功率整形编码模块212、基带调制器/滤波器214和/或上变频模块216输出的信号。在一个实施例中,光源218的发射被分成传输分组,其中每个传输分组对应于由功率整形编码模块212输出的经压缩的比特流内的二进制值。此外,每个传输分组可以与特定的功率电平相关联,使得光源218以其相关联的功率电平发射传输分组。光源218还被配置为以已知时间间隔(例如,由内部时钟电路等维护)发射传输分组,并且光接收机(参考图3讨论)被配置为以已知时间间隔检测传输分组。以此方式,光发射机108被配置为经由一个或多个光通信路径114-116和/或网络112发射对应于数据220的传输分组。

参考图3,图3是根据示例实施例的图1所示的光接收机110的组件。如图3所示,并且在一个实施例中,光接收机110包括各种组件302-318。这些组件302-318包括但不限于一个或多个处理器302、通信接口304、光学光电检测器306、基带解调器308和功率整形解码模块312。组件302-318还包括ECC解码模块316、源解码模块314、计算机存储设备318和输出同步320。

光接收机110的各种组件302-318可以在单个设备中实现,可以位于单个设备上或者可以以各种布置跨若干设备分布。光接收机110的各种组件302-318可以访问一个或多个计算机存储设备以获得配置信息和/或实现算法,并且各种组件302-318中的每一个可以彼此通信(例如,经由一个或多个通信总线等)。此外,虽然图3的组件302-318以单数意义进行了讨论,但是将理解在其他实施例中可以采用组件302-318的多个实例。

组件306-318中的一个或多个可以以硬件和/或软件实现。在一个实施例中,组件306-318被实现为专用电路,例如,专用集成电路(ASIC),其中专用电路被配置为执行预定功能。例如,源解码模块314可以实现为被配置为对由功率整形解码模块312获得的经解压缩的比特流执行Huffman 解码的ASIC。作为另一示例,ECC解码模块316可以实现为被配置为使用Reed Solomon码解码经压缩的比特流的ASIC。另外和/或替代地,组件306-318可以实现为软件,其中处理器302被配置为执行实现组件306-318的计算机可读指令。此外,前述的组合是可能的,其中一些模块实现为专用电路,而其他模块以软件实现。以这种方式,光接收机110可以包括以硬件和/或软件实现的组件306-318。

通信接口304被配置为与计算设备106和/或网络112通信。就此而言,与计算设备106的通信包括从计算设备106接收数据和/或向计算设备106发送数据。光接收机110还可以经由通信接口304从计算设备106接收指令和/或配置。例如,光接收机110可以从计算设备106接收数据322、一种或多种解码算法324以及一个或多个检测模型326。

通信接口304可以包括一个或多个有线和/或无线通信接口。例如,通信接口304可以包括无线收发机、无线电和/或有线网络接口。在一个实施例中,通信接口304被配置为使用诸如802.11b/g/n之类的一种或多种无线通信协议与计算设备106建立无线通信信道。另外和/或替代地,光接收机110可以经由电线或其他物理介质(例如,经由以太网电缆等)与计算设备106建立通信信道。在又一实施例中,通信接口202是本地总线,其允许在光接收机110和计算设备106之间的直接通信。

处理器302被配置为执行实现模块306-318中的一个或多个的计算机可读指令。另外和/或替代地,处理器302可以被配置为从计算机存储设备318取回计算机可读指令。一个或多个处理器302可以是任何类型的商用处理器,例如,可从Intel Corporation、AdvancedMicro Devices、Texas Instruments获得的处理器或其他这样的处理器。此外,一个或多个处理器302可以包括一个或多个专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。一个或多个处理器302还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。因此,一旦由这样的软件配置,一个或多个处理器302就变成被唯一地定制以执行所配置的功能的特定机器(或机器的特定组件)而不再是通用处理器302。

在一个或多个处理器302经由一个或多个计算机可读指令实现模块306-318的情况下,计算机可读指令可以用一种或多种计算机编程和/或计算机脚本语言编写。这样的语言的示例包括但不限于C、C++、C#、Java、JavaScript、Perl、Python或者现在已知或以后开发的任何其他计算机编程和/或脚本语言。

光接收机110还可以包括用于存储数据322、解码算法324和/或一个或多个检测模型326的各种计算机存储设备316和/或计算机可读介质。计算机存储设备318包括一个或多个物理设备,其被配置为临时或永久地存储指令和数据,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲器存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“计算机存储设备”应被认为包括能够存储数据322、一种或多种解码算法324和/或检测模型326的单个设备或多个设备(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。因此,计算机存储设备318可以实现为单个存储装置或设备,或者替代地和/或另外,实现为包括多个存储装置或设备的“基于云的”存储系统或存储网络。

计算机存储设备318的数据322包括经由光发射机108从计算设备104接收到的信息。数据322还可以包括配置一个或多个处理器302以实现模块306-318中的一个或多个的计算机可读指令。

解码算法324包括用于解码从计算设备104接收到的比特流的一种或多种算法。在一个实施例中,解码算法324包括由源解码模块314实现的一种或多种源解码算法。可以包含于解码算法324中的源解码算法的示例包括Huffman解码、Lempel-Ziv解码、Shannon-Fano解码和其他这样的解码算法或其组合。

在另一实施例中,解码算法324包括一种或多种纠错解码算法,以用于对由光发射机108传输的比特流中包括的一个或多个冗余比特进行解码。在ECC解码模块316以硬件实现的情况下,ECC解码模块316 310可以被配置为引用计算机存储设备318的存储器地址以取回要应用于接收到的比特流及其包括的冗余比特的错误控制解码算法。替代地,ECC解码模块316可以引用变量名,该变量名可以存储变量值或常数值,其中由变量名引用的值指示要应用的错误控制解码算法。可由ECC解码模块316应用的错误控制解码算法可以包括但不限于Hamming码、Reed Solomon码和其他这样的纠错编码技术或其组合。

在另一实施例中,解码算法324包括用于功率整形解码模块312的一种或多种基于功率的解压缩算法。在一个实施例中,基于功率的解压缩算法将可由光接收机110检测的特定功率电平与传输的比特流内的重复二进制字符的游程进行映射。在一个实施例中,基于功率的解压缩算法将特定功率电平映射到二进制字符的重复游程、到功率电平,而不管光接收机110检测到的传输功率。在另一实施例中,基于功率的解压缩算法将可由光接收机110检测的预定可传输功率输出映射到二进制字符的重复游程,并且在这样做时,确定具有预定可传输功率输出的传输分组对应于二进制字符的重复游程。在一些情况下,预定可传输功率输出是最大可传输功率输出。

在将二进制字符的重复游程映射到可由光学光电检测器306检测的功率电平时,较高的功率电平对应于已经重复的二进制字符的数量。例如,包括四个“1”的二进制字符的游程可以映射到已经增加了四倍预定量(例如,0.5dBm、1dBm等)的功率电平,并且光学光电检测器306可以检测在功率电平中的该增加。在该实施例中,由光学光电检测器306检测到的功率电平的增加与重复二进制字符的特定游程中的重复二进制字符的数量相关。

在将二进制字符的游程映射到检测到的功率电平的另一实施例中,增加功率电平可以与特定游程中的附加二进制字符相关。另外和/或替代地,增加功率电平可以被任意分配或者经由人工提供的输入(例如,由光发射机108的操作员)来分配。例如,映射可以定义检测到的8dBm的功率电平与包括四个重复二进制字符的游程相关,检测到的8.6dBm的功率电平与包括五个重复二进制字符的游程相关,检测到的9dBm的功率电平与包括六个重复二进制字符的游程相关,以及检测到9.3dBm的功率电平与包括七个重复二进制字符的游程相关。在该示例中,增加功率电平与增加数量的重复二进制字符相关,但功率电平的增加不是以相等间隔进行的。

在将二进制字符的游程映射到输出功率电平的又一实施例中,功率电平可以不递增地增加,而是可以随机分配和/或由人类操作员提供。例如,映射可以定义检测到的6dBm的功率电平对应于包括四个重复二进制字符的游程,检测到的5.3dBm的功率电平对应于包括五个重复二进制字符的游程,检测到的7.2dBm的功率电平对应于包括六个重复二进制字符(2dBm)的游程,以及检测到的6.7dBm的功率电平对应于包括七个重复二进制字符的游程。在该示例中,功率电平以变化的输出电平被检测,并且较高的输出电平不一定与另一重复二进制字符的添加相关。

参考图4-6讨论将基于功率的解压缩算法应用于传输的比特流的方式。此外,上述的组合也是可能的。

计算机存储设备318还被配置为存储一个或多个检测模型326。检测模型326是处理器302用来确定由光学光电检测器306检测到的多个光子是否表示由光发射机108传送的传输分组的模型。在一个实施例中,在由光发射机108进行的传输的各个阶段期间使用机器学习技术(例如,泊松回归)来开发检测模型326。虽然泊松回归被提供作为机器学习技术的一个示例,但其他机器学习技术(监督的和/或无监督的)可以用来构建检测模型326。监督机器学习技术的示例包括线性回归,逻辑回归、分类和回归树(CART)、朴素贝叶斯、k-最近邻(KNN)和其他这样的监督机器学习技术。无监督机器学习技术的示例包括Apriori、k-means、主成分分析(PCA)、装袋及随机森林(Bagging with Random Forests)和其他这样的无监督机器学习技术。也可以采用前述的组合来构建检测模型326。

此外,检测模型326中的每一个可以与对应的基于功率的压缩算法和/或基于功率的解压缩算法相关联。在一个实施例中,基于功率的压缩算法是已知的(例如,它由光发射机108传送和/或传送到光发射机108),并且基于功率的压缩算法的选择导致对应的检测模型(例如,使用所选择的基于功率的压缩算法训练的检测模型)的选择。在另一实施例中,处理器302使用检测模型326和来自光发射机108的传入传输来确定哪个检测模型最佳表示光发射机108传送的传输分组。最佳拟合检测模型的确定和选择使处理器302从解码算法324中选择对应的基于功率的解压缩算法。在又一实施例中,光接收机110的用户或操作员指示光接收机110使用来自检测模型326的特定检测模型。

在构建一个或多个检测模型326时,可以根据可以由光发射机108输出的传输功率电平来校准光接收机110。例如,可以指示光发射机108以变化的功率电平(例如,基本功率电平和逐渐增加的功率电平)发射多个传输分组,并且以预定时间间隔针对多个传输分组测量光发射机108的输出。在该示例中,已知传输分组以已知的传输功率输出电平以预定时间间隔发生。在一个实施例中,测量对应于以预定功率电平以预定时间间隔检测到的光子数量。为了进一步构建一个或多个检测模型326,可以指示光发射机108将传输分组传输预定次数(例如,数百或数千次),直到一个或多个检测模型326已经稳定和/或达到预定阈值(例如,预定概率),即,在特定时间段以特定功率电平发射的多个光子表示由光发射机108传送的传输分组。

如上面简要解释的,光学光电检测器306被配置为检测来自光发射机108的经由光通信路径116和/或网络112的传输。在一个实施例中,光学光电检测器306以一个或多个功率电平以预定时间间隔检测多个光子。光学光电检测器306可以将该信息传送到一个或多个处理器302,其中处理器302然后使用检测模型326中的一个或多个来确定由光学光电检测器306检测到的多个光子是否对应于由光发射机108传送的传输分组。在一个实施例中,处理器302从光学光电检测器306获得的比特流是经压缩的比特流,其已被由光发射机108使用的基于功率的压缩算法进行压缩。使用一个或多个检测模型326,处理器302识别传输分组及其相关联的传输功率电平。

在一些情况下,来自光发射机108的传输可能需要从载波信号下变频和/或解调。因此,下变频模块308被配置为对来自光发射机108的传输信号进行下变频。在一个实施例中,下变频模块308被实现为数字下变频器,并且包括混频器、CIC抽取器和一个或多个FIR滤波器。下变频模块308的输入包括来自光发射机108的接收到的传输和用于计算中频(例如,下变频模块308输出的频率)的本地振荡器。

此外,取决于传输信号是否已经用载波信号调制,来自下变频模块308(或光学光电检测器306)的输出被传送到基带解调器模块310。基带解调器模块310对来自光发射机108的传输进行解调,以获得经压缩的比特流,该经压缩的比特流表示已经由基于功率的压缩算法压缩的数据。基带解调器/模块310可以采用一种或多种解调技术来解调传输信号。解调技术的示例包括但不限于正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度解调、幅度和相移键控(APSK),以及其他这样的解调技术或其组合。

在一些情况下,下变频模块308和/或基带解调器310可以被光学光电检测器306绕过。例如,处理器302可以确定传输信号没有被上变频或者传输信号没有经过外部调制。在这些情况下,光学光电检测器306可以将一个或多个识别出的传输分组传送到功率整形解码模块312以用于解压缩。

功率整形解码模块312被配置为将基于功率的解压缩算法应用于接收到的比特流,以获得最终经由通信接口304传送到计算设备106的经解压缩的比特流。功率整形解码模块212可以被配置为选择性地将基于功率的压缩算法应用于已编码比特流的一个或多个部分。来自功率整形模块212的输出是经压缩的比特流,其中已编码比特流中的二进制字符的重复游程和/或冗余比特已经用一个或多个二进制字符替换,这取决于由功率整形编码模块212使用的基于功率的压缩算法。如上面解释的,替换的一个或多个二进制字符对应于由光源218输出的传输功率电平。

源解码模块314被配置为根据解码算法324中的一种或多种对由功率整形解码模块312获得的未压缩的比特流进行解码。在一个实施例中,源解码模块310接收来自功率整形解码模块312的未压缩的比特流310,并且根据未压缩的比特流被编码的方式,确定将哪种解码算法应用于未压缩的比特流。在另一实施例中,源解码模块310预配置有解码算法以应用于未压缩的比特流。例如,光接收机110和/或光发射机108可以被配置为使用共享密钥来应用源编码和源解码算法。由源解码模块314生成的输出是已解码比特流,其可以作为计算机存储设备318的数据322的一部分存储。另外和/或替代地,可以实时或近实时地将已解码比特流传送到光接收机110的另一模块306-318,例如,ECC解码模块316。

ECC解码模块316被配置为将ECC解码算法应用于由源解码模块314输出的已解码比特流。在一些情况下,源编码可能尚未应用于经解压缩的比特流,在这种情况下,ECC解码模块316将ECC解码算法应用于由功率整形解码模块312获得的经解压缩的比特流。在应用ECC解码算法时,ECC解码模块316确定经解压缩的比特流的一个或多个比特中是否存在错误。在存在错误的情况下,ECC解码模块316相应地校正比特流。在一些情况下,ECC解码模块316可以请求光接收机110请求重传对应于具有错误的比特的传输分组。在其他情况下,ECC解码模块316使用与经解压缩的比特流一起被包括的冗余比特来校正比特。以这种方式,光接收机110可以校正在由光发射机108传输的比特流中可能出现的一个或多个错误。

输出同步320被配置为同步由光学光电检测器306生成的输出。在一个实施例中,输出同步320向光学光电检测器306发送定时信息以确保光学光电检测器306以预定时间间隔捕获传输分组。在另一实施例中,输出同步320可以与处理器302通信以确保处理器302使用正确的定时信息来基于检测模型326中的一个或多个确定多个光子是否对应于传输分组。

在传输分组已经被解码和纠错(如果适用的话)之后,传输分组可以被存储在计算机存储设备318中。在一个实施例中,传输分组被存储在随机存取存储器(RAM)中,直到预定数量的传输分组已经被光接收机110接收和解码。当已经接收到预定数量的传输分组时,表示传输分组的数据块可以经由通信接口304传送到计算设备106。

图4示出了根据示例实施例的由图1的光接收机108检测到的光子的分布402,其中分布402对应于已经使用第一基于功率的压缩算法压缩的传输信号。参考图2-图3,光发射机108的任务是对第一已编码比特流“1 1 0 1 1 1 0 1 1”进行功率整形。在该示例中,光发射机108经由功率整形编码模块212已经确定可以将已编码比特流压缩到五(5)个传输分组的传输中,其中每个传输分组在预定时间段(例如,T1、T3和T5)被传输。

此外,在该示例中,功率整形压缩算法已经将功率电平P分配给单个二进制字符(例如,二进制值“1”)。在该实施例中,功率电平P可以表示光源218的可由光学光电检测器306检测到的最小功率输出。在另一实施例中,P被建立为光源218的可传输功率输出。

因此,二进制字符的后续游程被分配单个二进制字符,该单个二进制字符具有作为游程中的二进制字符数量的组合的传输功率电平。换言之,两(2)个二进制字符的游程与具有P2传输功率的单个二进制字符相关联,三(3)个二进制字符的游程与具有P3传输功率的单个二进制字符相关联,等等。在一些情况下,重复二进制字符的连续游程被映射到改变的功率电平,其中每个功率电平是不同的功率电平。在这些情况下,功率电平可以是连续的功率电平;在其他情况下,功率电平可以是任意的和/或随机分配的。

在已编码比特流中遇到0的情况下,功率整形压缩算法可以确定光源218不发射功率或发射最小功率。虽然在图4中,二进制“l”的连续游程被显示为以连续增加的功率电平传输,但在其他示例中,可以使用不同游程长度的二进制“l”之间的其他映射。例如,P2可以表示“1 1 1”,而P3可以表示“1 1”。作为另一示例,P3可以表示“1”,P2可以表示“1 1”并且P3可以表示“1”。

因此,当光接收机110检测到来自光发射机108的传输时,遇到分布402。在分布402中,存在这样的中间分布:检测到的光子404-408具有一定范围的传输功率电平,并且存在更多(例如,阈值)数量的检测到的光子414-418具有P2或P3的传输功率电平,其中P2和P3是最小可检测功率电平P的组合,并且P3大于P2。就此而言,处理器302可以使用检测模型326来确定在时间段T1存在具有传输功率电平P2的第一组光子414,在时间段T2存在具有传输功率电平P3的第二组光子418,以及在时间段T3存在具有传输功率电平P2的第三组光子416。处理器302还确定存在两个时间段,即时间段T2和时间段T4,其中检测到最小数量的光子410-412。使用检测模型,处理器302将第一组检测到的光子414分配为第一传输,将第二组检测到的光子418分配为第二传输,并且将第三组光子416分配为第三传输。然后,使用基于功率的解压缩算法,功率整形解码模块312确定第一传输分组对应于两(2)个二进制1,第二传输分组对应于三(3)个二进制1,并且第三传输分组对应于两(2)个二进制1。传输的比特流的该经解压缩的部分然后可以存储在计算机存储设备318中供以后取回,或者它可以被传送到源解码模块314供进一步解码。

图5示出了根据示例实施例的由图1的光接收机108检测到的光子的分布502,其中分布502对应于已经使用第二基于功率的压缩算法压缩的传输信号。参考图2-图3,光发射机108的任务是对第二已编码比特流“1 1 0 1 1 1 1 1 1 1 1 1 1 1 1”进行功率整形。在该示例中,由基于功率的压缩算法确定的每个传输分组与不超过光发射机108的预定可传输功率电平(例如,光发射机108的最大可传输功率电平)的功率电平相关联。在该示例中,由光发射机108输出的预定传输功率电平为P5,其中功率电平P对应于最小可检测功率电平。使用这种基于功率的压缩算法,光发射机108经由功率整形编码模块212已经确定可以将已编码比特流压缩到四(5)个传输分组的传输中,其中每个传输分组在预定时间段(例如,T1、T3、T4和T5)被传输。每个传输分组对应于单个二进制字符,并且每个传输分组与对应的传输功率电平相关联。如所指出的,在一些示例中,预定可传输功率电平可以是阈值功率电平,该阈值功率电平可以是发射机被配置为进行传输的最大功率电平。在其他示例中,阈值功率电平可以基于光发射机被激活的历史过去功率电平来设置。例如,如果在特定时间段期间传输的总功率电平(例如,所有功率电平的和)高于阈值,则可以降低阈值功率电平。这可以通过减少光发射机以最大功率电平进行传输的量来延长光发射机的寿命。

基于功率整形压缩算法,光接收机110导出分布502。在分布502中,存在这样的中间分布:检测到的光子具有一定范围的传输功率电平,并且存在更大(例如,阈值)数量的检测到的光子504、508、510和5123具有大于P2的传输功率电平。

就此而言,处理器302使用检测模型326来确定在时间段T1存在具有传输功率电平P2的第一组光子504,在时间段T3存在具有传输功率电平P5的第二组光子508,在时间段T4存在具有传输功率电平P5的第三组光子510,以及在时间段T5存在具有传输功率电平P2的第四组光子512。处理器302还确定存在一个时间段,即时间段T2,其中检测到最少数量的光子506。

使用检测模型,处理器302将第一组检测到的光子504分配为第一传输,将第二组检测到的光子508分配为第二传输,将第三组光子510分配为第三传输,并且将第四组光子512分配为第四传输。然后,使用基于功率的解压缩算法,功率整形解码模块312确定第一传输分组对应于两(2)个二进制1,第二传输分组对应于五(5)个二进制1,第三传输分组对应于五(5)个二进制1,以及第四传输分组对应于两(2)个二进制1。处理器302然后重构已编码比特流并考虑检测到的功率电平最小的情况。传输的比特流的该经解压缩的部分然后可以存储在计算机存储设备318中供以后取回,或者它可以被传送到源解码模块314供进一步解码。

图6示出了根据示例实施例的由图1的光接收机108检测到的光子的分布602,其中分布502对应于已经使用第三基于功率的压缩算法压缩的传输信号。参考图2-图3,光发射机108的任务是对第三已编码比特流“1 1 0 1 1 1 1 1 1 1 1 1 1 1 1”进行功率整形。在该示例中,基于功率的压缩算法导出最佳数量的传输分组,其中每个传输分组小于由光发射机108输出的预定功率电平(例如,光发射机108输出的最大功率电平),并且在预定时间段内最小化传输分组的数量。在图6所示的分布602中,基于功率的压缩算法是优化算法,其中输入到优化算法的输入包括传输功率电平的上限(例如,最大功率电平)和用于编码的比特流。在一个实施例中,优化算法选择光发射机108的输入功率,其中对输入功率的放大在线性范围内,这可能是最高效的范围。优化算法对重复二进制字符(例如,比特“1”)进行分组,使得输入到光发射机108的功率低于预定输入阈值。在一些情况下,随着光发射机108老化,输入阈值可以取决于光放大的线性特性而改变。结果在图6中示出,其中功率整形的比特流包括五个传输分组,其中第二传输分组具有最小传输功率电平,这是由基于功率的压缩算法确定的一种解决方案。图6的基于功率的压缩算法可以用于避免过度驱动光源218,并且将光源218维持在正常操作参数内。

在一些示例中,为了实现这一点,发射机可以通过最大化可分配给每个分组的比特数同时仍然具有不大于阈值传输功率的针对每个分组的对应传输功率来首先对来自比特流的重复比特的序列进行分组化。每个特定传输分组的传输功率通过应用每个分组中的比特数的映射来确定,该映射包括多个分组大小和对应的功率电平,其中该映射随着比特数的增加而增加传输功率。发射机可以确定多个传输分组之一的第一分组正在以对应于阈值传输功率的第一功率电平进行传输,并且多个传输分组之一的第二分组正在以小于阈值电平的第二功率电平进行传输。作为响应,发射机可以将一个或多个比特从第一分组移动到第二分组,使得由映射确定的第一分组的功率电平被降低,并且由映射确定的第二分组的第二功率电平被提高,使得第一功率电平和第二功率电平两者都低于阈值传输功率。这在每个传输内更均匀地分布功率电平(和比特)以降低发射机的峰值输出。

在接收机侧,接收到的光子可以被解码并用于创建比特流。例如,接收机可以检测由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,其中第一功率电平小于阈值功率电平。接收机然后可以检测由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平。第二功率电平也可以小于阈值功率电平。连续接收到处于两个功率电平的两个相同值的事实表明发射机正在应用优化算法以确保比特和/或功率电平的均匀分布。接收机然后可以利用第一功率电平和第二功率电平来确定重复的第一值的比特流。

图7示出了根据示例实施例的用于使用图1的光发射机传输已编码比特流的方法702。方法702可以由图2-图3中所示的组件中的一个或多个组件来执行,并且通过对其进行参考来讨论。

最初,光发射机108接收数据220以通过一个或多个光路径114-116和/或网络112经由光源218进行发送(操作704)。此后,源编码模块208将源编码算法(使用编码算法222中的一种或多种)应用于数据220以获得已编码比特流(操作706)。源编码模块然后可以将已编码比特流传送到ECC模块210,以用于使用编码算法222中的一种或多种将ECC算法应用于已编码比特流(操作708)。在一些情况下,可以省略或绕过操作706和/或操作708,例如,在不应用源编码或不将ECC应用于比特流的情况下。

在ECC模块210完成其操作之后,ECC模块210然后可以调用功率整形模块212,以将基于功率的压缩算法应用于已编码比特流和冗余比特,其中基于功率的压缩算法是从编码算法222中的一种或多种中选择的(操作710)。在一个实施例中,例如通过接收来自计算设备104的指令,功率整形编码模块212被指示选择要应用哪种基于功率的压缩算法。在另一实施例中,功率整形编码模块212自动选择要应用哪种基于功率的压缩算法,例如,取决于已编码比特流的长度来选择算法。如上面讨论的,功率整形模块212的输出是经压缩的比特流,其中经压缩的比特流包括来自由源编码模块208确定的已编码比特流的数据和由ECC模块210确定的冗余比特。

在一个实施例中,功率整形编码模块212然后调用基带调制器/滤波器214和/或上变频模块216。如上面讨论的,基带调制器/滤波器214被配置为将调制技术应用于经压缩的比特流(操作712)。在应用基带调制/滤波器214之后,所得到的信号然后可以被传送到上变频模块216,以用于将信号从第一输入频率上变频到第二输出频率(操作716)。然而,在一些情况下,可以绕过基带调制器/滤波器214和/或上变频模块216。所产生的信号(无论是否被调制和/或上变频)然后由光源218通过一个或多个光通信路径传输。此外,每个传输分组可以与由功率整形编码模块212确定的传输功率电平相关联,其中每个传输分组以所确定的传输功率电平发射。

图8示出了根据示例实施例的用于使用图1的光接收机接收已编码比特流的方法802。方法702可以由图2-图3中所示的组件中的一个或多个组件来执行,并且通过对其进行参考来讨论。

最初,光接收机110经由一个或多个光通信路径114-117和/或网络112从光发射机108接收传输(操作804)。取决于传输是否已经被上变频,光接收机110然后可以执行下变频模块308以将传输比特流从第一频率下变频到第二频率(操作806)。如上面讨论的,来自下变频模块308的输出然后可以被传送到基带解调器310,其从载波信号解调已编码信号(例如,功率整形的、压缩的比特流)(操作808)。在一些情况下,可以绕过下变频模块308和/或基带解调器310,在这种情况下,可以将接收到的传输信号传送到功率整形解码模块312。

一个或多个处理器302然后可以识别和/或确定传输信号是否包括一个或多个传输分组(操作810)。在一个实施例中,一个或多个处理器302通过应用检测模型来确定传输信号是否包括一个或多个传输分组。如上面解释的,可以使用一种或多种机器学习技术和由光发射机108进行的多个传输来开发检测模型。检测模型通知一个或多个处理器302在预定时间段具有所确定范围的功率电平的特定的光子集合是否指示由光发射机108传送的传输分组。如图4-图6所示,可能存在传输分组与最小传输功率或在最小功率电平的阈值内的传输功率电平相关联的情况,并且这种类型的传输分组也可以表示二进制字符和/或值(例如,“0”或其他二进制字符)。

已经识别了传输信号的一个或多个传输分组以及它们对应的传输功率电平,功率整形解码模块312应用从解码算法324中选择的基于功率的解压缩算法,以解压缩传输分组中的一个或多个(操作812)。如图4-图6所示,功率整形解码模块312被配置为基于传输分组被传输的功率电平来确定与传输分组相关联的二进制字符的数量。如前面解释的,功率整形解码模块312可以基于处理器302使用的检测模型326来选择特定的基于功率的解压缩算法。在另一实施例中,功率整形解码模块312接收关于使用哪个基于功率的解压缩模块的指令。来自功率整形解码模块312的输出是已经由源编码模块208进行源编码的比特流(例如,已编码比特流)连同一个或多个冗余比特。

ECC解码模块316然后基于比特流中包括的一个或多个冗余比特来确定是否对已编码比特流(例如,由功率整形解码模块312输出的比特流)执行纠错控制(操作814)。此后,源解码模块314对已编码比特流应用源解码算法以获得对应于先前由光发射机108存储的数据220的初始比特流(操作816)。在一个实施例中,指示源解码模块314从解码算法324中选择源解码算法。在另一实施例中,光接收机110和光发射机108被配置为选择相同的源编码和/或源解码算法。来自源解码模块314的输出是已解码数据,其可以存储在计算机存储设备318中和/或经由通信接口304传送到计算设备106(操作818)。此外,可能存在ECC解码和/或源解码不应用于接收到的传输信号的情况和/或实施例。例如,在传输信号没有被源编码或者比特流没有被应用ECC编码的情况下,则光接收机110可以不对接收到的传输信号执行源解码和/或ECC解码。

图9示出了根据示例实施例的用于确定要使用图1的光发射机106发送的传输分组的最佳数量的方法902。方法902可以由图2-图3中所示的组件中的一个或多个组件来执行,并且通过对其进行参考来讨论。

最初,处理器204和/或功率整形编码模块212确定光源218的最大传输功率输出(操作904)。另外和/或替代地,最大传输功率输出可以经由来自计算设备104的指令来提供。功率整形编码模块212然后识别比特流中的重复二进制字符的一个或多个序列(操作906)。例如,功率整形编码模块212可以识别由源编码模块208和/或ECC编码模块210输出的一个或多个重复二进制字符。如果每个传输分组可以具有由光源218输出的最大传输功率电平的最大传输功率电平,则功率整形编码模块212确定可以发送的表示二进制字符的重复游程的传输分组的数量(操作908)。

功率整形编码模块212然后将分割算法应用于已编码比特流,其中分割算法的输入包括比特流、可以由光源218输出的最大传输功率电平,以及如果每个传输分组可以被分配光源218的最大传输功率电平,可以被发送的传输分组的数量(操作910)。在一个实施例中,在操作908处确定的分组数量用作分割算法试图实现和/或近似(例如,获得在传输分组数量的预定阈值内的值)的下限。可以使用前述输入应用于已编码比特流的分割算法的一个示例是其中优化算法选择光发射机108的输入功率,其中对输入功率的放大在线性范围内,这可能是最高效范围。优化算法将重复二进制字符(例如,‘1’比特)分组,使得输入到光发射机108的功率低于预定输入阈值。在一些情况下,随着光发射机108老化,输入阈值可以取决于光放大的线性特性而改变。一旦确定了传输分组的最佳数量以及对应的传输功率电平,功率整形编码模块212就压缩已编码比特流以获得用于传输到光接收机110的经压缩的比特流。

图10示出了根据示例实施例的用于确定传输分组是否对应于多个二进制字符的方法1002。方法1002可以由图2-图3中所示的组件中的一个或多个组件来执行,并且通过对其进行参考来讨论。

最初,处理器302和/或功率整形解码模块312识别由光发射机108发送的一个或多个传输分组(操作1004)。如上面解释的,处理器302可以应用一个或多个检测模型326来识别传输分组连同它们的对应传输功率电平(操作1006)。功率整形解码模块328然后可以将经压缩的比特流的传输分组的所确定的功率电平与未压缩的传输分组的功率电平进行比较(操作1008)。执行该比较以确定特定传输分组是否表示一个以上二进制字符。

在功率整形解码模块328确定经压缩的比特流的传输分组的功率电平大于未压缩的传输分组的功率电平的情况下(例如,操作1010的“是”分支),功率整形模块328确定传输分组表示多个二进制字符(操作1012)。功率整形模块328可以将基于功率的解压缩算法应用于传输分组以获得多个二进制字符。替代地,在功率整形解码模块328确定经压缩的比特流的传输分组的功率电平小于或等于未压缩的传输分组的功率电平的情况下(例如,操作1010的“否”分支),功率整形模块328确定传输分组表示单个二进制字符。

以这种方式,光发射机108和光接收机110使用基于功率的压缩算法和基于功率的解压缩算法进行通信。这种方法有多种技术优势。例如,一项技术优势是对光通信路径的传输速率的改进,而不必物理地改变光通信路径以适应附加的吞吐量。另一技术优势是基于功率的压缩算法可以应用于传统的传输设备,而不必增加附加的传输硬件或修改现有的传输硬件,因为基于功率的压缩算法的重点是将二进制字符映射到传输设备支持的传输功率电平。因此,所公开的系统和方法提供了对光通信领域的改进,尤其是通过光通信路径高效地传送数据的方式。

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,体现于机器可读介质或机器可读存储设备上的代码)或硬件模块。“硬件模块”是能够执行某些操作并且可以以某种物理方式配置或布置的有形单元。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作以执行如本文所述的某些操作的硬件模块。

在一些实施例中,硬件模块可以机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,例如,FPGA或ASIC。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或其他可编程处理器执行的软件。一旦被这样的软件配置,硬件模块就成为被唯一定制以执行所配置的功能的特定机器(或机器的特定组件)而不再是通用处理器。应当理解,机械地、在专用和永久配置的电路中、或在临时配置的电路(例如,由软件配置)中实现硬件模块的决定可以由成本和时间考虑驱动。

因此,短语“硬件模块”应被理解为包含有形实体,其是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行本文描述的某些操作的实体。如本文所使用的,“硬件实现的模块”是指硬件模块。考虑其中硬件模块被临时配置(例如,编程)的实施例,硬件模块种的每一个不一定需要在任何一个时刻被配置或实例化。例如,当硬件模块包括通过软件配置成为专用处理器的通用处理器时,该通用处理器可以在不同时间分别配置为不同的专用处理器(例如,包括不同的硬件模块)。软件相应地配置一个或多个特定处理器,例如,以在一个时刻构成特定硬件模块并在不同时刻构成不同硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在多个硬件模块同时存在的情况下,可以通过在硬件模块中的两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件模块具有访问权的存储器结构中存储和取回信息来实现在这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在它通信地耦合到的存储器设备中。另一硬件模块随后可以在稍后的时间访问存储器设备以取回和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。

本文描述的示例方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或永久配置以执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的模块,其操作以执行本文描述的一个或多个操作或功能。如本文所使用的,“处理器实现的模块”是指使用一个或多个处理器实现的硬件模块。

类似地,本文描述的方法可以至少部分地是处理器实现的,其中一个或多个特定处理器是硬件的示例。例如,一种方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作可经由网络(例如,互联网)并经由一个或多个适当的接口(例如,API)进行访问。

操作中的某些操作的执行可以分布在处理器之间,不仅位于单个机器内,而且跨多个机器部署。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,处理器或处理器实现的模块可以跨多个地理位置分布。

结合本文描述的各种实施例描述的模块、方法、应用等在一些实施例中在机器和相关联的软件架构的上下文中实现。以下部分描述了适合与所公开的实施例一起使用的代表性架构。

软件架构与硬件架构结合使用以创建针对特定目的定制的设备和机器。例如,特定硬件架构与特定软件架构耦合将创建移动设备,例如,移动电话、平板设备等。稍微不同的硬件和软件架构可能会产生用于“物联网”中的智能设备,而另一种组合产生用于云计算架构内的服务器计算机。并非此类软件和硬件架构的所有组合都在此处呈现,因为本领域技术人员可以从本文包含的公开内容中容易地理解如何在不同的上下文中实现本发明的主题。

图11是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质或机器可读存储设备)读取指令并执行本文讨论的方法中的任何一种或多种方法的机器1100的组件的框图。具体地,图9示出了计算机系统的示例形式的机器1100的图解表示,其中可以执行用于使机器1100执行本文讨论的方法中的任何一种或多种方法的指令1116(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1116可以使机器1100执行图7-图10中所示的方法。另外或替代地,指令1116可以实现图2-图3的组件中的一个或多个。指令1116将通用的非编程机器1100转换成特定机器1100,该特定机器1100被编程为以所描述的方式执行所描述和图示的功能。在替代实施例中,机器1100作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1100可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、PDA或能够顺序地或以其他方式执行指定机器1100要采取的动作的指令1116的任何机器。此外,虽然仅示出了单个机器1100,但术语“机器”也应被视为包括单独或联合执行指令1116以执行本文讨论的方法中的任何一种或多种方法的机器1100的集合。

机器1100可以包括处理器1110、存储器/存储装置1130和I/O组件1150,它们可以被配置为例如经由总线1102彼此通信。在示例实施例中,处理器1110(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括例如可以执行指令1116的处理器1112和处理器1114。术语“处理器”旨在包括多核心处理器,其可以包括可以同时执行指令1116的两个或更多个独立处理器(有时称为“核心”)。虽然图9示出了多个处理器1110,但机器1100可以包括具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核心进程)、具有单个核心的多个处理器、具有多个核心的多个处理器或其任何组合。

存储器/存储装置1130可以包括存储器1132(例如,主存储器或其他存储器存储装置)以及存储单元1136,两者都可由处理器1110例如经由总线1102进行访问。存储单元1136和存储器1132存储体现本文描述的方法或功能中的任何一种或多种的指令1116。指令1116还可以在其由机器1100执行期间完全或部分地驻留在存储器1132内、在存储单元1136内、在处理器1110中的至少一个内(例如,在处理器的高速缓冲存储器内)或其任何合适组合。因此,存储器1132、存储单元1136和处理器1110的存储器是机器可读介质的示例。

如本文所使用的,“机器可读介质”包括能够临时或永久地存储指令1116和数据的机器可读存储设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被认为包括能够存储指令1116的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被认为包括能够存储用于由机器(例如,机器1100)执行的指令(例如,指令1116)的任何介质或多种介质的组合,使得指令在被机器1100的一个或多个处理器(例如,处理器1110)执行时,使机器1100执行本文描述的方法中的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”排除信号本身。

输入/输出(I/O)组件1150可以包括多种组件以接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量等。包含在特定机器中的特定I/O组件1150将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机构,而无头服务器机器将可能不包括此类触摸输入设备。应当理解,I/O组件1150可以包括图8中未示出的许多其他组件。I/O组件1150根据功能分组只是为了简化下面的讨论并且分组决不是限制性的。在各种示例实施例中,I/O组件1150可以包括输出组件1152和输入组件1154。输出组件1152可以包括视觉组件(例如,诸如等离子显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)),声学组件(例如,扬声器),触觉组件(例如,振动电机、阻力机构),其他信号生成器,等等。输入组件1154可以包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件),基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器),触觉输入组件(例如,物理按钮、提供位置和/或触摸力或触摸手势的触摸屏,或其他触觉输入组件),音频输入组件(例如,麦克风)等。

在进一步的示例实施例中,I/O组件1150可以包括生物识别组件1156、运动组件1158、环境组件1160或定位组件1162,以及多种其他组件。例如,生物识别组件1156可以包括用于检测表情(例如,手部表情、面部表情、声音表情、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1158可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等等。环境组件1160可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或测量大气中的污染物的气体检测传感器)或可以提供与周围物理环境对应的指示、测量或信号的其他组件。定位组件1162可以包括位置传感器组件(例如,GPS接收机组件)、高度传感器组件(例如,检测可以从中导出高度的气压的高度计或气压计)、取向传感器组件(例如,磁力计)等。

可以使用多种技术来实现通信。I/O组件1150可以包括通信组件1164,其可操作以分别经由耦合1182和耦合1172将机器1100耦合到网络1180或设备1170。例如,通信组件1164可以包括网络接口组件或其他合适的设备以与网络1180接合。在进一步的示例中,通信组件1164可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低能耗)、组件和经由其他模态提供通信的其他通信组件。设备1170可以是另一台机器或多种外围设备(例如,经由USB耦合的外围设备)中的任一个。

此外,通信组件1164可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1164可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,用于检测诸如通用产品代码(UPC)条形码的一维条形码,诸如快速响应(QR)码、Aztec码、数据矩阵、Dataglyph、MaxiCode、PDF416、Ultra Code、UCC RSS-2D条形码的多维条形码以及其他光学码)或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1164导出各种信息,例如,经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置,等等。

在各种示例实施例中,网络1180的一个或多个部分可以是自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网、互联网的一部分、PSTN的一部分、普通旧式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两种或多种这样的网络的组合。例如,网络1180或网络1180的一部分可以包括无线或蜂窝网络,并且耦合1182可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦合。在该示例中,耦合1182可以实现多种类型的数据传输技术中的任一种,例如,单载波无线电传输技术(lxRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、微波接入全球互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。

可以使用传输介质经由网络接口设备(例如,包含于通信组件1164中的网络接口组件)并利用多种公知的传输协议(例如,超文本传输协议(HTTP))通过网络1180发送或接收指令1116。类似地,可以使用传输介质经由耦合1172(例如,对等耦合)将指令1116发送到设备1170或从设备1170接收指令1116。术语“传输介质”应当被认为包括能够存储、编码或携带指令1116以供机器1100执行的任何有形介质,并且包括数字或模拟通信信号或促进此类软件的通信的其他无形介质。

图12示出了根据示例实施例的用于通过光通信路径传输数据的方法1202。方法1202包括操作1204以接收用于通过光通信路径传输的比特流。

方法1202包括操作1206以确定比特流包括具有相同值的连续比特的序列。操作1206可以包括确定比特流中具有相同第一值的连续比特的序列,该序列具有带有最大比特数的第一大小,同时还具有不超过阈值传输功率的对应第一传输功率,该第一传输功率通过将映射应用于第一大小来确定,该映射包括多个序列大小和对应传输功率,其中随着比特数增加,该映射增加传输功率。方法1202还可以包括确定比特流中具有相同第一值的连续比特的第二序列,该第二序列具有带有最大比特数的第二大小,同时还具有小于阈值传输功率的对应第二传输功率,该传输功率通过将映射应用于第二大小来确定,第二传输功率小于第一传输功率并且第二大小小于第一大小。阈值传输功率可以是光源被配置为进行传输的最大功率。

方法1202包括操作1208以确定传输序列的第一功率电平。在示例中,基于序列中的连续比特的计数来确定第一功率电平,并且其中将计数增加映射到功率电平增加。在示例中,该序列的每个比特与对应的功率电平相关联。第一功率电平可以基于针对序列的值中的每个值的对应功率电平的组合。

方法1202包括操作1210以根据第一调制方案以第一功率电平选择性地激活光源,以通过使用第一功率电平传输连续比特的序列中的单个比特来光学地传输整个序列。在示例中,操作1210要求的能量或时间少于激活光源以单独地传输序列的每个比特所要求的总能量或总时间。操作1210可以包括根据调制方案以第二功率电平选择性地激活光源,以通过使用第二功率电平传输第一相同值的单个比特来光学地传输整个第二序列。操作1210可以包括使用第一功率电平在载波上调制单个比特。调制方案可以包括正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)、幅度和相移键控(APSK)等。光通信路径可以是光纤。光子可以跨光纤传输。

在示例中,计数增加被非线性地映射到功率增加。在另一示例中,计数增加被线性地映射。例如,第二序列(比第一序列长)对应于更高的功率电平,第三序列(比第二序列长)对应于比第二序列更高的功率电平。在该示例中,第三功率电平超过第二功率电平预定量(并且第二功率电平也超过第一功率电平预定量)。

方法1202可以包括接收传输的单个比特,并且反转上述步骤以根据功率电平确定序列中的连续比特的计数。连续比特的序列可以作为比特流存储在存储器中。

方法1202可以包括如下操作:通过最大化可分配给每个分组的比特数同时仍然具有不大于阈值传输功率的针对每个分组的对应传输功率来将比特序列分组化为多个传输分组,通过应用每个分组中的比特数的映射来确定每个特定分组的传输功率,该映射包括多个分组大小和对应的功率电平,其中随着比特数增加,映射增加传输功率。该操作可以包括确定多个传输分组之一的第一分组正在以对应于阈值传输功率的第一功率电平进行传输,并且多个传输分组之一的第二分组正在以小于阈值电平的第二功率电平进行传输。可以将比特从第一分组移动到第二分组,例如,使得由映射确定的第一分组的功率电平降低,并且由映射确定的第二分组的第二功率电平升高,使得第一功率电平和第二功率电平两者都低于阈值传输功率。在该示例中,操作1210可以被修改为相应地以降低的第一功率电平或第二功率电平传输单个比特。在示例中,阈值功率可以基于光源被激活的历史过去功率电平。在示例中,映射可以包括将第一比特数量映射到第一功率电平,将大于第一比特数量的第二比特数量映射到大于第一功率电平的第二功率电平,以及将大于第二比特数量的第三比特数量映射到大于第二功率电平的第三功率电平。

贯穿本说明书,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然一种或多种方法的单独操作被图示和描述为单独的操作,但是单独操作中的一个或多个可以同时执行,并且不要求按照所示出的次序执行这些操作。在示例配置中作为单独组件呈现的结构和功能可以实现为组合的结构或组件。类似地,呈现为单个组件的结构和功能可以实现为单独的组件。这些和其他变化、修改、添加和改进落入本文主题的范围内。

虽然已经参考特定示例实施例描述了本发明主题的概述,但是在不背离本公开的实施例的更宽泛范围的情况下可以对这些实施例进行各种修改和改变。本发明主题的此类实施例在本文中可以单独或统称为术语“本发明”,这仅仅是为了方便起见,并且不旨在自愿将本申请的范围限制到任何单个公开或发明构思(如果事实上公开了多于一个)。

以充分的细节描述了本文说明的实施例以使本领域技术人员能够实践所公开的教导。可以使用其他实施例并从中导出其他实施例,从而可以在不背离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被理解为限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求被赋予的等效物的全部范围限定。

示例l是一种用于通过光通信路径传输数据的方法,该方法包括:接收用于通过光通信路径传输的比特流;确定比特流包括具有相同值的连续比特的序列;确定传输该序列的第一功率电平,其中第一功率电平是基于序列中的连续比特的计数确定的,并且其中计数增加被映射到功率电平增加;以及根据第一调制方案选择性地以第一功率电平激活光源,以使用第一功率电平通过传输连续比特的序列的单个比特来光学地传输整个序列。

在示例2中,示例1的主题包括,其中该序列的每个比特与对应功率电平相关联;并且其中第一功率电平基于针对序列的值中的每个值的对应功率电平的组合。

在示例3中,示例1-2的主题包括,确定与具有相同值的连续比特的第二序列相关联的第二功率电平,该第二序列具有比该序列更高的连续比特的计数,并且其中第二功率电平高于第一功率电平。

在示例4中,示例3的主题包括,确定与具有相同值的连续比特的第三序列相关联的第三功率电平,第三功率电平高于第二功率电平,其中第三功率电平比第二功率电平高预定量,并且其中第二功率电平超过第一功率电平预定量。

在示例5中,示例1-4的主题包括,其中计数增加被非线性地映射到功率电平增加。

在示例6中,示例1-5的主题包括,其中以第一功率电平激活光源以传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总能量更少的能量。

在示例7中,示例1-6的主题包括,其中以第一功率电平激活光源以传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总时间更少的时间。

示例8是一种通过光通信路径传输数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:接收用于通过光通信路径传输的比特流;确定已编码比特流包括具有相同值的连续比特的序列;确定传输该序列的第一功率电平,其中第一功率电平是基于序列中的连续比特的计数确定的,并且其中计数增加被映射到功率电平增加;以及根据第一调制方案选择性地以第一功率电平激活光源,以使用第一功率电平通过传输连续比特的序列的单个比特来光学地传输整个序列。

在示例9中,示例8的主题包括,其中该序列的每个值与对应功率电平相关联;并且其中第一功率电平基于针对序列的值中的每个值的对应功率电平的组合。

在示例10中,示例8-9的主题包括,其中该指令还将系统配置为:确定与具有相同值的连续比特的第二序列相关联的第二功率电平,该第二序列具有比该序列更高的连续比特的计数,并且其中第二功率电平高于第一功率电平。

在示例11中,示例10的主题包括,其中该指令还将系统配置为:确定与具有相同值的连续比特的第三序列相关联的第三功率电平,第三功率电平高于第二功率电平,其中第三功率电平比第二功率电平高预定量,并且其中第二功率电平超过第一功率电平预定量。

在示例12中,示例8-11的主题包括,其中计数增加被非线性地映射到功率电平增加。

在示例13中,示例8-12的主题包括,其中以第一功率电平激活光源以传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总能量更少的能量。

在示例14中,示例8-13的主题包括,其中以第一功率电平激活光源以传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总时间更少的时间。

示例15是一种用于通过光通信路径传输数据的系统,该系统包括:用于接收用于通过光通信路径传输的比特流的单元;用于确定已编码比特流包括具有相同值的连续比特的序列的单元;用于确定传输序列的第一功率电平的单元,其中第一功率电平是基于序列中的连续比特的计数确定的,并且其中计数增加被映射到功率电平增加;以及用于根据第一调制方案选择性地以第一功率电平激活光源,以使用第一功率电平通过传输连续比特的序列的单个比特来光学地传输整个序列的单元。

在示例16中,示例15的主题包括,其中该序列的每个值与对应功率电平相关联;并且其中第一功率电平基于针对序列的值中的每个值的对应功率电平的组合。

在示例17中,示例15-16的主题包括,用于确定与具有相同值的连续比特的第二序列相关联的第二功率电平的单元,该第二序列具有比该序列更高的连续比特的计数,并且其中第二功率电平高于第一功率电平。

在示例18中,示例17的主题包括,用于确定与具有相同值的连续比特的第三序列相关联的第三功率电平的单元,第三功率电平高于第二功率电平,其中第三功率电平比第二功率电平高预定量,并且其中第二功率电平超过第一功率电平预定量。

在示例19中,示例18的主题包括,其中计数增加被非线性地映射到功率电平增加。

在示例20中,示例15-19的主题包括,其中以第一功率电平激活光源以传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总能量更少的能量。

示例21是一种用于通过光通信路径接收数据的方法,该方法包括:在第一时隙以第一功率电平接收包括一个或多个光子的传输;识别一个或多个光子的第一值;基于第一功率电平确定对应于第一值的比特的计数,其中计数增加被映射到功率电平增加;创建具有第一值的连续比特的序列,该序列包括与计数相对应的多个比特;以及将连续比特的序列作为比特流存储在存储器中。

在示例22中,示例21的主题包括,其中识别一个或多个光子的第一值包括应用检测模型。

在示例23中,示例22的主题包括,其中检测模型是使用先前比特流和功率电平的泊松回归训练的机器学习模型。

在示例24中,示例22-23的主题包括,其中基于其他接收到的光子来确定检测模型。

在示例25中,示例21-24的主题包括,其中计数增加被非线性地映射到功率电平增加。

在示例26中,示例21-25的主题包括,其中序列的每个比特与对应的功率电平相关联,并且其中第一功率电平基于针对序列的比特中的每个比特的对应功率电平的组合。

在示例27中,示例21-26的主题包括,确定在与第二功率电平相关联的传输中接收到的连续比特的第二序列,该第二序列具有比该序列更高的连续比特的计数,并且其中第二功率电平高于第一功率电平。

示例28是一种用于通过光通信路径接收数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:在第一时隙以第一功率电平接收包括一个或多个光子的传输;识别一个或多个光子的第一值;基于第一功率电平确定对应于第一值的比特的计数,其中计数增加被映射到功率电平增加;创建具有第一值的连续比特的序列,该序列包括与计数相对应的多个比特;以及将连续比特的序列作为比特流存储在存储器中。

在示例29中,示例28的主题包括,其中将系统配置为识别一个或多个光子的第一值的指令包括应用检测模型的指令。

在示例30中,示例29的主题包括,其中检测模型是使用先前比特流和功率电平的泊松回归训练的机器学习模型。

在示例31中,示例29-30的主题包括,其中基于其他接收到的光子来确定检测模型。

在示例32中,示例28-31的主题包括,其中计数增加被非线性地映射到功率电平增加。

在示例33中,示例28-32的主题包括,其中序列的每个比特与对应的功率电平相关联,并且其中第一功率电平基于针对序列的比特中的每个比特的对应功率电平的组合。

在示例34中,示例28-33的主题包括,其中该指令将系统配置为:确定在与第二功率电平相关联的传输中接收到的连续比特的第二序列,该第二序列具有比该序列更高的连续比特的计数,并且其中第二功率电平高于第一功率电平。

示例35是一种用于通过光通信路径接收数据的系统,该系统包括:用于在第一时隙以第一功率电平接收包括一个或多个光子的传输的单元;用于识别一个或多个光子的第一值的单元;用于基于第一功率电平确定对应于第一值的比特的计数的单元,其中计数增加被映射到功率电平增加;用于创建具有第一值的连续比特的序列的单元,该序列包括与计数相对应的多个比特;以及用于将连续比特的序列作为比特流存储在存储器中的单元。

在示例36中,示例35的主题包括,其中用于识别一个或多个光子的第一值的单元包括用于应用检测模型的单元。

在示例37中,示例36的主题包括,其中检测模型是使用先前比特流和功率电平的泊松回归训练的机器学习模型。

在示例38中,示例36-37的主题包括,其中基于其他接收到的光子来确定检测模型。

在示例39中,示例35-38的主题包括,用于确定与一个或多个光子的第二接收到的集合的传输相关联的第二功率电平的单元;用于将第二功率电平与第一功率电平进行比较的单元;以及用于其中响应于确定第一功率电平超过第二功率电平来执行比特计数确定的单元。

在示例40中,示例35-39的主题包括,其中序列的每个比特与对应的功率电平相关联,并且其中第一功率电平基于针对序列的比特中的每个比特的对应功率电平的组合。

示例41是一种用于通过光通信路径传输数据的方法,该方法包括:接收用于通过光通信路径传输的比特流;确定比特流中具有相同第一值的连续比特的序列,该序列具有带有最大比特数的第一大小,同时还具有不超过阈值传输功率的对应第一传输功率,通过将映射应用于第一大小来确定该第一传输功率,该映射包括多个序列大小和对应的传输功率,其中随着比特数增加,该映射增加传输功率;并且根据调制方案选择性地以第一功率电平激活光源,以使用第一传输功率通过传输第一值的单个比特来光学地传输整个序列。

在示例42中,示例41的主题包括,确定比特流中具有相同第一值的连续比特的第二序列,该第二序列具有带有最大比特数的第二大小,同时还具有小于阈值传输功率的对应第二传输功率,通过将映射应用于第二大小来确定传输功率,第二传输功率小于第一传输功率并且第二大小小于第一大小;并且根据调制方案选择性地以第二功率电平激活光源,以使用第二功率电平通过传输第一相同值的单个比特来光学地传输整个第二序列。

在示例43中,示例41-42的主题包括,其中阈值传输功率是光源被配置为进行传输的最大功率。

在示例44中,示例41-43的主题包括,其中映射包括功率电平的增加,该功率电平的增加与序列大小的增加是非线性的。

在示例45中,示例41-44的主题包括,其中根据调制方案以第一功率电平选择性地激活光源包括使用第一功率电平在载波上调制单个比特。

在示例46中,示例41-45的主题包括,其中调制方案是以下之一:正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)或幅度和相移键控(APSK)。

在示例47中,示例41-46的主题包括,其中光通信路径是光纤,并且其中根据调制方案以第一功率电平选择性地激活光源包括跨光纤传输光子。

在示例48中,示例41-47的主题包括,其中根据调制方案以第一功率电平激活光源以光学地传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总时间更少的时间。

实施例49是一种通过光通信路径传输数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:接收用于通过光通信路径传输的比特流;确定比特流中具有相同第一值的连续比特的序列,该序列具有带有最大比特数的第一大小,同时还具有不超过阈值传输功率的对应第一传输功率,通过将映射应用于第一大小来确定该第一传输功率,该映射包括多个序列大小和对应的传输功率,其中随着比特数增加,该映射增加传输功率;并且根据调制方案选择性地以第一功率电平激活光源,以使用第一传输功率通过传输第一值的单个比特来光学地传输整个序列。

在示例50中,示例49的主题包括,其中该系统还被配置为:确定比特流中具有相同第一值的连续比特的第二序列,该第二序列具有带有最大比特数的第二大小,同时还具有小于阈值传输功率的对应第二传输功率,通过将映射应用于第二大小来确定传输功率,第二传输功率小于第一传输功率并且第二大小小于第一大小;并且根据调制方案选择性地以第二功率电平激活光源,以使用第二功率电平通过传输第一相同值的单个比特来光学地传输整个第二序列。

在示例51中,示例49-50的主题包括,其中阈值传输功率是光源被配置为进行传输的最大功率。

在示例52中,示例49-51的主题包括,其中映射包括功率电平的增加,该功率电平的增加与序列大小的增加是非线性的。

在示例53中,示例49-52的主题包括,其中根据调制方案以第一功率电平选择性地激活光源包括使用第一功率电平在载波上调制单个比特。

在示例54中,示例49-53的主题包括,其中调制方案是以下之一:正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)或幅度和相移键控(APSK)。

在示例55中,示例49-54的主题包括,其中光通信路径是光纤,并且其中根据调制方案以第一功率电平选择性地激活光源包括跨光纤传输光子。

在示例56中,示例49-55的主题包括,其中根据调制方案以第一功率电平激活光源以光学地传输整个序列要求比激活光源以单独地传输序列的每个比特所要求的总时间更少的时间。

示例57是至少一种非暂时性机器可读介质,其包括用于通过光通信路径传输数据的指令,该指令在由硬件处理器执行时使硬件处理器:接收用于通过光通信路径传输的比特流;确定比特流中具有相同第一值的连续比特的序列,该序列具有带有最大比特数的第一大小,同时还具有不超过阈值传输功率的对应第一传输功率,通过将映射应用于第一大小来确定该第一传输功率,该映射包括多个序列大小和对应的传输功率,其中随着比特数增加,该映射增加传输功率;并且根据调制方案选择性地以第一功率电平激活光源,以使用第一传输功率通过传输第一值的单个比特来光学地传输整个序列。

在示例58中,示例57的主题包括,其中该指令还将系统配置为:确定比特流中具有相同第一值的连续比特的第二序列,该第二序列具有带有最大比特数的第二大小,同时还具有小于阈值传输功率的对应第二传输功率,通过将映射应用于第二大小来确定传输功率,第二传输功率小于第一传输功率并且第二大小小于第一大小;并且根据调制方案选择性地以第二功率电平激活光源,以使用第二功率电平通过传输第一相同值的单个比特来光学地传输整个第二序列。

在示例59中,示例57-58的主题包括,其中阈值传输功率是光源被配置为进行传输的最大功率。

在示例60中,示例57-59的主题包括,其中映射包括功率电平的增加,该功率电平的增加与序列大小的增加是非线性的。

示例61是一种用于在接收设备处通过光通信路径接收数据的方法,该方法包括:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平是阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平不超过阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括第二数量的重复值;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例62中,示例61的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,该检测模型包括泊松回归模型。

在示例63中,示例62的主题包括,其中一个或多个检测模型中的至少一个被配置为检测在高于阈值功率电平的功率电平处的值。

在示例64中,示例61-63的主题包括,其中存储器是随机存取存储器(RAM)。

在示例65中,示例61-64的主题包括,其中比特序列是二进制比特序列,并且重复值是二进制值1。

在示例66中,示例61-65的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

在示例67中,示例61-66的主题包括,其中映射包括功率电平的增加,该功率电平的增加与序列大小的增加是非线性的。

示例68是一种用于在接收设备处通过光通信路径接收数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平是阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平不超过阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括第二数量的重复值;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例69中,示例68的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,该检测模型包括泊松回归模型。

在示例70中,示例69的主题包括,其中一个或多个检测模型中的至少一个被配置为检测在高于阈值功率电平的功率电平处的值。

在示例71中,示例68-70的主题包括,其中存储器是随机存取存储器(RAM)。

在示例72中,示例68-71的主题包括,其中比特序列是二进制比特序列,并且该重复值是二进制值1。

在示例73中,示例68-72的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

在示例74中,示例68-73的主题包括,其中映射包括功率电平的增加,该功率电平的增加与序列大小的增加是非线性的。

示例75是至少一种非暂时性机器可读介质,包括用于在接收设备处通过光通信路径接收数据的指令,该指令在由硬件处理器执行时使硬件处理器:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平是阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平不超过阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括第二数量的重复值;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例76中,示例75的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,该检测模型包括泊松回归模型。

在示例77中,示例76的主题包括,其中一个或多个检测模型中的至少一个被配置为检测在高于阈值功率电平的功率电平处的值。

在示例78中,示例75-77的主题包括,其中存储器是随机存取存储器(RAM)。

在示例79中,示例75-78的主题包括,其中比特序列是二进制比特序列,并且该重复值是二进制值1。

在示例80中,示例75-79的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

示例81是一种用于通过光通信路径传输数据的方法,该方法包括:接收用于通过光通信路径传输的比特流;确定比特流中包括多个连续的相同第一值的比特的第一序列;通过最大化可分配给每个分组的比特数同时仍然具有不大于阈值传输功率的针对每个分组的对应传输功率来将比特序列分组化为多个传输分组,通过应用每个分组中的比特数的映射来确定每个特定分组的传输功率,该映射包括多个分组大小和对应的功率电平,其中随着比特数增加,该映射增加传输功率;确定多个分组之一的第一分组正在以对应于阈值传输功率的第一功率电平传输,以及多个传输分组之一的第二分组正在以小于阈值电平的第二功率电平传输;将比特从第一分组移动到第二分组,使得由映射确定的第一分组的功率电平降低,并且由映射确定的第二分组的第二功率电平升高,使得第一功率电平和第二功率电平两者都低于阈值传输功率;根据调制方案选择性地以第一功率电平激活光源,以通过以降低的第一功率电平传输相同第一值的单个比特来光学地传输整个第一分组;并且根据调制方案选择性地以升高的第二功率电平激活光源,以通过以第二功率电平传输相同第一值的单个比特来光学地传输整个第二分组。

在示例82中,示例81的主题包括,其中阈值功率是被配置用于传输的最大功率。

在示例83中,示例81-82的主题包括,其中阈值功率电平小于被配置用于传输的最大功率。

在示例84中,示例81-83的主题包括,其中该方法包括基于激活光源的历史过去功率电平来确定阈值功率。

在示例85中,示例81-84的主题包括,其中映射将第一比特数量映射到第一功率电平,将大于第一比特数量的第二比特数量映射到大于第一功率电平的第二功率电平,以及将大于第二比特数量的第三比特数量映射到大于第二功率电平的第三功率电平。

在示例86中,示例81-85的主题包括,其中调制方案是以下之一:正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)或幅度和相移键控(APSK)。

在示例87中,示例81-86的主题包括,其中光通信路径是光纤,并且其中根据调制方案以第一功率电平选择性地激活光源包括跨光纤传输光子。

在示例88中,示例81-87的主题包括,其中以第一功率电平激活光源以传输整个第一分组要求比激活光源以单独地传输第一分组的每个比特所要求的总时间更少的时间。

示例89是一种用于通过光通信路径传输数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:接收用于通过光通信路径传输的比特流;确定比特流中包括多个连续的相同第一值的比特的第一序列;通过最大化可分配给每个分组的比特数同时仍然具有不大于阈值传输功率的针对每个分组的对应传输功率来将比特序列分组化为多个传输分组,通过应用每个分组中的比特数的映射来确定每个特定分组的传输功率,该映射包括多个分组大小和对应的功率电平,其中随着比特数增加,该映射增加传输功率;确定多个分组之一的第一分组正在以对应于阈值传输功率的第一功率电平传输,以及多个传输分组之一的第二分组正在以小于阈值电平的第二功率电平传输;将比特从第一分组移动到第二分组,使得由映射确定的第一分组的功率电平降低,并且由映射确定的第二分组的第二功率电平升高,使得第一功率电平和第二功率电平两者都低于阈值传输功率;根据调制方案选择性地以第一功率电平激活光源,以通过以降低的第一功率电平传输相同第一值的单个比特来光学地传输整个第一分组;并且根据调制方案选择性地以升高的第二功率电平激活光源,以通过以第二功率电平传输相同第一值的单个比特来光学地传输整个第二分组。

在示例90中,示例89的主题包括,其中阈值功率是被配置用于传输的最大功率。

在示例91中,示例89-90的主题包括,其中阈值功率电平小于被配置用于传输的最大功率。

在示例92中,示例89-91的主题包括,其中该方法包括基于激活光源的历史过去功率电平来确定阈值功率。

在示例93中,示例89-92的主题包括,其中映射将第一比特数量映射到第一功率电平,将大于第一比特数量的第二比特数量映射到大于第一功率电平的第二功率电平,以及将大于第二比特数量的第三比特数量映射到大于第二功率电平的第三功率电平。

在示例94中,示例89-93的主题包括,其中调制方案是以下之一:正交相移键控(QPSK)、二进制相移键控(BPSK)、相移键控(PSK)、正交幅度调制(QAM)或幅度和相移键控(APSK)。

在示例95中,示例89-94的主题包括,其中光通信路径是光纤,并且其中根据调制方案以第一功率电平选择性地激活光源包括跨光纤传输光子。

在示例96中,示例89-95的主题包括,其中以第一功率电平激活光源以传输整个第一分组要求比激活光源以单独地传输第一分组的每个比特所要求的总时间更少的时间。

示例97是至少一种非暂时性机器可读介质,其包括用于通过光通信路径传输数据的指令,该指令在由硬件处理器执行时使硬件处理器:接收用于通过光通信路径传输的比特流;确定比特流中包括多个连续的相同第一值的比特的第一序列;通过最大化可分配给每个分组的比特数同时仍然具有不大于阈值传输功率的针对每个分组的对应传输功率来将比特序列分组化为多个传输分组,通过应用每个分组中的比特数的映射来确定每个特定分组的传输功率,该映射包括多个分组大小和对应的功率电平,其中随着比特数增加,该映射增加传输功率;确定多个分组之一的第一分组正在以对应于阈值传输功率的第一功率电平传输,以及多个传输分组之一的第二分组正在以小于阈值电平的第二功率电平传输;将比特从第一分组移动到第二分组,使得由映射确定的第一分组的功率电平降低,并且由映射确定的第二分组的第二功率电平升高,使得第一功率电平和第二功率电平两者都低于阈值传输功率;根据调制方案选择性地以第一功率电平激活光源,以通过以降低的第一功率电平传输相同第一值的单个比特来光学地传输整个第一分组;并且根据调制方案选择性地以升高的第二功率电平激活光源,以通过以第二功率电平传输相同第一值的单个比特来光学地传输整个第二分组。

在示例98中,示例97的主题包括,其中阈值功率是被配置用于传输的最大功率。

在示例99中,示例97-98的主题包括,其中阈值功率电平小于被配置用于传输的最大功率。

在示例100中,示例97-99的主题包括,其中该方法包括基于激活光源的历史过去功率电平来确定阈值功率。

示例101是一种用于在接收设备处通过光通信路径接收数据的方法,该方法包括:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平小于阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平小于阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括重复值的数量的第二计数;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例102中,示例101的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,检测模型包括泊松回归模型。

在示例103中,示例102的主题包括,其中一个或多个检测模型之一被配置为确定在高于阈值功率电平的功率电平处的值。

在示例104中,示例101-103的主题包括,其中存储器是随机存取存储器(RAM)。

在示例105中,示例101-104的主题包括,其中比特序列是二进制比特序列,并且重复值是二进制值1。

在示例106中,示例101-105的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

在示例107中,示例101-106的主题包括,其中第一功率电平和第二功率电平是相同的功率电平。

示例108是一种用于在接收设备处通过光通信路径接收数据的系统,该系统包括:硬件处理器;以及计算机可读存储设备,其上存储有计算机可执行指令,该指令在由硬件处理器执行时将系统配置为:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平小于阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平小于阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括重复值的数量的第二计数;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例109中,示例108的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,检测模型包括泊松回归模型。

在示例110中,示例109的主题包括,其中一个或多个检测模型之一被配置为确定在高于阈值功率电平的功率电平处的值。

在示例111中,示例108-110的主题包括,其中存储器是随机存取存储器(RAM)。

在示例112中,示例108-111的主题包括,其中比特序列是二进制比特序列,并且重复值是二进制值1。

在示例113中,示例108-112的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

在示例114中,示例108-113的主题包括,其中第一功率电平和第二功率电平是相同的功率电平。

示例115是至少一种非暂时性机器可读介质,其包括用于在接收设备处通过光通信路径接收数据的指令,该指令在由硬件处理器执行时使硬件处理器:基于一个或多个接收到的光子的第一集合来确定由发射机在第一时隙通过光通信路径传输的第一值和第一功率电平,该第一功率电平小于阈值功率电平;基于一个或多个接收到的光子的第二集合来确定由发射机在第一时隙之后的第二时隙通过光通信路径传输的第一值和第二功率电平,该第二功率电平小于阈值功率电平;创建第一值的重复值的第一比特序列,该第一比特序列包括多个重复第一值,第一值的数量的计数是基于第一功率电平到计数的映射来确定的,该映射包括多个接收功率电平和重复值的数量的对应计数,其中随着接收功率电平增加,映射增加重复值的数量;基于映射和第二功率电平来创建第一值的重复值的第二比特序列,该第二比特序列包括重复值的数量的第二计数;将第一比特序列和第二比特序列组合成比特流;以及将比特流存储在存储器中。

在示例116中,示例115的主题包括,其中确定第一值和第一功率电平包括将一个或多个检测模型应用于一个或多个接收到的光子的第一集合,检测模型包括泊松回归模型。

在示例117中,示例116的主题包括,其中一个或多个检测模型之一被配置为确定在高于阈值功率电平的功率电平处的值。

在示例118中,示例115-117的主题包括,其中存储器是随机存取存储器(RAM)。

在示例119中,示例115-118的主题包括,其中比特序列是二进制比特序列,并且重复值是二进制值1。

在示例120中,示例115-119的主题包括,其中一个或多个接收到的光子是通过光通信路径接收的,光通信路径包括光纤。

示例121是至少一种包括指令的机器可读介质,该指令在由处理电路执行时,使处理电路执行操作以实现示例1-120中的任一个。

示例122是一种装置,其包括用于实现示例1-120中的任一个的单元。

示例123是一种用于实现示例1-120中的任一个的系统。

示例124是一种用于实现示例1-120中任一个的方法。

如本文所使用的,术语“或”可以被解释为包括或排他的意义。此外,可以为本文作为单个实例描述的资源、操作或结构提供多个实例。此外,在各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。功能的其他分配被设想到并且可以落入本公开的各种实施例的范围内。一般而言,在示例配置中作为单独资源呈现的结构和功能可以实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以实现为单独的资源。这些和其他变化、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

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

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!