对要通过光学通信路径传输的数据的基于功率的编码

文档序号:1879305 发布日期:2021-11-23 浏览:13次 >En<

阅读说明:本技术 对要通过光学通信路径传输的数据的基于功率的编码 (Power-based encoding of data to be transmitted over an optical communication path ) 是由 A·A·哈桑 W-C·陈 于 2020-01-20 设计创作,主要内容包括:一种用于通过光学通信路径传输数据的系统被配置为接收要在比特流中编码的数据以用于使用光学通信路径进行传输,并且对接收到的数据进行编码以获得比特流。所述系统还被配置为确定所述比特流包括连续比特的序列,并且基于所述序列中的所述连续比特的计数来获得传输所述比特流的一部分的功率水平。所述系统可以被配置为根据调制方案来选择性地以功率水平激活光源以在所述功率水平处光学地传输所述比特流的所述一部分。(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 for transmitting a portion of the bitstream based on a count of the consecutive bits in the sequence. The system may be configured to selectively activate a light source at a power level according to a modulation scheme to optically transmit the portion of the bitstream 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 11 1 1”被替换为单个二进制字符“1”。另外,并非指定在五个单独的实例(例如,T1、T2、T3等)以每个5dBm的功率水平传输五个二进制1,而是指示光源在单个时间段(例如,T1)以13dBm的功率水平传输单个二进制字符“1”(例如,针对第一二进制字符的初始5dBm,并且然后,针对每个额外二进制字符的额外2dBm)。当接收机在单个时间段检测到所接收到的传输分组的功率水平增加时,接收机应用基于功率的解压缩算法来确定所接收到的传输分组表示多个二进制字符,并且确定由单个传输分组表示的二进制字符的数量。

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

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

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

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

以这种方式,本公开提供使用基于功率的压缩算法来压缩经编码的比特流的光学编码机制,以及使用基于功率的解压缩算法来解压缩经编码的比特流的光学解码机制。这种方案有多种技术益处。例如,一项技术益处是提高了光学通信路径的传输速率,而不必物理地改变光学通信路径以适应额外的吞吐量。另一技术益处是基于功率的压缩算法能够被应用于常规的传输设备,而无需添加额外的传输硬件或者修改现有的传输硬件,因为基于功率的压缩算法的重点是将二进制字符映射到由传输设备支持的传输功率水平。

本公开现在转向实现在本文中所描述的技术方面的各种公开的实施例。图1是图示了经由光学发射机108和光学接收机110彼此通信的两个计算设备104-106的框图。计算设备104经由光学发射机108向计算设备106发送数据,其编码以获得经编码的比特流,并且使用基于功率的压缩算法来获得经压缩的比特流以用于在光学通信路径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编码。作为另一示例,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、Advanced Micro 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的一种或多种基于功率的压缩算法。在一个实施例中,所述基于功率的压缩算法将经编码的比特流(例如,应用了源编码的比特流)内的二进制字符的重复串映射到可由光源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、Advanced Micro 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的功率水平对应于包括六个重复的二进制字符的串,以及检测到的6.7dBm的功率水平对应于包括七个重复二进制字符的串。在该示例中,功率水平以变化的输出水平被检测,并且较高的输出水平不一定与另一重复的二进制字符的添加相关。

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

计算机存储设备318还被配置为存储一个或多个检测模型326。(一个或多个)检测模型326是(一个或多个)处理器302用于确定由光学光电检测器306检测到的多个光子是否表示由光学发射机108传送的传输分组的模型。在一个实施例中,在由光学发射机108传输的各个阶段期间使用机器学习技术(诸如泊松回归)来开发(一个或多个)检测模型326。尽管泊松回归被提供作为机器学习技术的一个示例,但是其他机器学习技术(监督的和/或无监督的)可以被用于构建(一个或多个)检测模型326。监督机器学习技术的示例包括:线性回归、逻辑回归、分类和回归树(CART)、朴素贝叶斯、k最近邻(KNN)以及其他这样的监督机器学习技术。无监督机器学习技术的示例包括Apriori、k均值、主成分分析(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将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可以表示可由光学光电检测器306检测的光源218的最小功率输出。在另一实施例中,P被建立为由光源218输出的可传输功率。

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

在经编码的比特流中遇到0的情况下,功率整形压缩算法可以确定光源218不发射功率或发射最小功率。尽管在图4中,二进制“l”的连续串被示为以连续增加的功率水平来传输,但是在其他示例中,可以使用在二进制“l”的不同串长度之间的其他映射。例如,P2可以表示“1 1 1”,并且P3可以表示“1 1”。作为另一示例,P3可以表示“1”,并且P2可以表示“11”并且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还确定存在一个时间段,即检测到最少数量的光子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,以用于将ECC算法应用于使用编码算法222中的一种或多种编码算法的经编码的比特流(操作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)以供机器(例如,机器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。术语“传输介质”应当被认为包括能够存储、编码或承载指令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的主题包括,其中,所述比特序列是二进制比特序列,并且所述重复值是二进制值一。

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

在示例67中,示例61-66的主题包括,其中,所述映射包括与序列尺寸的增加呈非线性的功率水平的增加。

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

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

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

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

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

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

在示例74中,示例68-73的主题包括,其中,所述映射包括与序列尺寸的增加呈非线性的功率水平的增加。

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

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

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

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

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

在示例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的主题包括,其中,所述比特序列是二进制比特序列并且重复值是二进制值一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!