对待通过光通信路径传输的数据进行基于功率的编码

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

阅读说明:本技术 对待通过光通信路径传输的数据进行基于功率的编码 (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是图示根据示例实施例的使用一个或多个光通信路径与光接收器通信的光发射器的框图。

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

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

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

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

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

图7图示了根据示例实施例的用于使用图1的光发射器发送编码位流的方法。

图8图示了根据示例实施例的用于使用图1的光接收器接收编码位流的方法。

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

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

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

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

具体实施方式

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

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

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

然后可以对编码的位流执行前向纠错(FEC)以保存在传输期间可能丢失的信息。可应用于编码位流的纠错编码技术的示例包括汉明码、里德所罗门码和其他此类纠错编码技术。对编码位流执行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所讨论的,前述示例的变化是可能的并且被预期落入本公开的范围内。变化包括但不限于:考虑光源输出的最大传输功率、优化可以以小于最大传输功率的功率电平传输的分组数量、确定功率整形的传输分组的功率电平的方式,以及其他这样的变化或它们的组合。

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

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

本文公开的附加技术是接收器可以经由一种或多种机器学习技术被训练以识别由光发射器发送的传输分组是表示单个二进制字符还是一个以上的二进制字符。光接收器可以使用的机器学习技术的一个示例是泊松回归,它在微软公司出版的在线文章“Progression Regression”中有所公开,并且可在https://docs.microsoft.com/en-us/azure/machine-learning/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)、无线局域网(WLAN)、广域网(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的位流执行霍夫曼编码的ASIC。作为另一个示例,ECC模块210可以被实现为被配置为对由源编码模块208输出的编码位流执行里德所罗门码(Reed Solomon codes)的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可以是任何类型的可商购处理器,例如处理器可从英特尔公司、超威半导体公司、德州仪器获得的或其他此类处理器。此外,一个或多个处理器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中的源编码算法的示例包括霍夫曼编码、Lempel-Ziv编码、Shannon-Fano编码和其他这样的编码算法或其组合。

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

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

在一些情况下,重复二进制字符的串包括重复的“1”值(例如,“1 1 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可以实现为ASIC,其被配置为对功率整形解码模块312获得的解压后的位流进行霍夫曼解码。作为另一个示例,ECC解码模块316可以实现为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可以是任何类型的可商购处理器,例如可从英特尔公司、超威半导体公司、德州仪器获得的处理器或其他此类处理器。此外,一个或多个处理器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中的源解码算法的示例包括霍夫曼解码、Lempel-Ziv解码、Shannon-Fano解码和其他这样的解码算法或其组合。

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

在另一实施例中,解码算法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均值(k-means)、主成分分析(PCA)、随机森林装袋和其他此类无监督机器学习技术。也可以采用前述的组合来构建检测模型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对由功率整形解码模块312获得的解压位流应用ECC解码算法。在应用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的任务是对第一编码位流“l 1 0 1 1 1 0 1 1”进行功率整形。在该示例中,光发射器108经由功率整形编码模块212已经确定可以将编码位流压缩成五(5)个传输分组的传输,其中,每个传输分组在预定时间段中(例如,T1、T3和T5)被传输。

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

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

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

因此,当光接收器110检测到来自光发射器108的传输时,遇到分布402。在分布402中,存在具有一定范围的传输功率电平的检测到的光子404-408的中间分布,并且存在更大(例如,阈值)数量的具有P2或P3的传输功率电平的检测到的光子414-418,其中,P2和P3是最小可检测功率电平P的组合,并且P3大于P2。就这一点而言,处理器302可以使用检测模型326来确定在具有传输功率电平P2的时间段T1存在第一组光子414,在具有传输功率电平P3的时间段T2存在第二组光子418,并且在具有传输功率电平P2的在时间段T3存在第三组光子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中,存在具有一定范围的传输功率电平的检测到的光子的中间分布,并且存在更大(例如,阈值)数量的具有大于P2的传输功率电平的检测到的光子504、508、510和5123。

在这点上,处理器302使用检测模型326来确定在具有传输功率电平P2的时间段T1存在第一组光子504,在具有传输功率电平P5的时间段T3存在第二组光子508,在具有传输功率电平P5的时间段T4存在第三组光子510,并且在具有传输功率电平P2的时间段T5存在第四组光子512。处理器302进一步确定存在一个时间段,即其中检测到了最少数量的光子506的时间段T2

使用检测模型,处理器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的图解表示,在该机器内可以执行指令1116(例如,软件、程序、应用、小应用、app或其他可执行代码)以用于使机器1100执行本文讨论的任何一种或多种方法。例如,指令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将取决于机器的类型。例如,诸如移动电话之类的便携式机器将可能包括触摸输入设备或其他此类输入机制,而无头服务器机器(headless server machine)将可能不包括此类触摸输入设备。应当理解,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)组件、组件(例如,Low Energy)、组件和用于经由其他方式提供通信的其他通信组件。设备1170可以是另一台机器或各种各样的外围设备(例如,经由USB耦合的外围设备)中的任一个。

此外,通信组件1164可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1164可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,用于检测一维条码(例如,通用产品代码(UPC)条码)、多维条码(例如快速响应(QR)码)、Aztec码、Data Matrix、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)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。

指令1116可以使用传输介质经由网络接口设备(例如,包括在通信组件1164中的网络接口组件)并且利用许多公知传输协议(例如,超文本传输协议(HTTP))中的任何一种在网络1180上进行发送或接收。类似地,指令1116可以使用传输介质经由与设备1170的耦合1172(例如,对等耦合)发送或接收。术语“传输介质”应当被认为包括能够存储、编码或携带指令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条留言

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

精彩留言,会给你点赞!