CN105814800A - 消息解码以及相应的消息编码 - Google Patents
消息解码以及相应的消息编码 Download PDFInfo
- Publication number
- CN105814800A CN105814800A CN201380081637.1A CN201380081637A CN105814800A CN 105814800 A CN105814800 A CN 105814800A CN 201380081637 A CN201380081637 A CN 201380081637A CN 105814800 A CN105814800 A CN 105814800A
- Authority
- CN
- China
- Prior art keywords
- decoding
- data packets
- message
- sub
- receiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开涉及无线电通信。更具体地,本公开涉及编码/解码。一种方法由接收机(300)执行以对从发射机(100)接收到的消息中的数据进行解码。接收机(300)一般被配置为在解码时使用解码矩阵。此外,消息通常被分割为预定义数目的子消息。接收机(300)从发射机(100)接收数据分组,其中,接收到的数据分组根据特定结构来形成的。此外,当接收到数据分组时,接收机(300)对接收到的数据分组进行解码,并且随着数据分组的到达(即,被接收)有顺序地执行解码。这样可以降低从而改善时延。
Description
技术领域
本文呈现的本技术的实施例总体上涉及解码和相应编码。更具体地,本文呈现的实施例涉及方法、发射机、以及用于对从发射机接收到的消息中的数据进行解码的接收机,其中,接收机在解码中使用解码矩阵。
背景技术
无线电通信网络被广泛部署以提供各种通信服务,例如电话、视频、数据、消息、广播等。这种通信网络一般通过共享可用网络资源来支持多个用户设备(UE)的通信。这种网络的一个示例是通用移动电信系统(UMTS),由第三代合作伙伴计划(3GPP)标准化的第三代(3G)移动电话技术。UMTS包括针对无线电接入网络(RAN)的定义,其被称为通用陆地无线电接入网(UTRAN)。作为全球移动通信系统(GSM)技术的后继者,UMTS支持各种空中接口标准,例如宽带码分多址(WCDMA)、时分-码分多址(TD-CDMA)以及时分-同步码分多址(TD-SCDMA)。UMTS还支持增强3G数据通信协议,例如高速分组接入(HSPA),其向关联UMTS网络提供更高的数据传输速度和容量。随着对移动宽带接入的需求持续增加,研究和开发持续推进UMTS技术,这不仅是为了满足移动宽带接入的增长需求,还为了推进和增强用户利用无线通信的体验。例如,基于WCDMA的UMTS已被部署在世界范围中的许多地区。为了确保该系统在未来仍然具有竞争力,3GPP开始了定义UMTS蜂窝技术的长期演进的计划。与该努力相关的规范被正式称为演进的UMTS陆地无线电接入(EUTRA)和演进的UMTS陆地无线电接入网络(EUTRAN),但是通常被称为长期演进(LTE)。
在通信信道上的发送一般会受到错误的影响,例如由于接收信号质量的变化而造成的错误。在某种程度上,这种变化可以通过链路自适应而被抵消,该链路自适应处理如何设置无线电链路的发送参数以处理无线电链路质量的变化。然而,接收机噪声和不可预测的干扰变化可能不被链路自适应所抵消。因此,实际上包括上述无线通信系统在内的所有无线通信系统采用某种形式的前向纠错(FEC)。处理发送错误的另一种方法是使用自动重复请求(ARQ)。大多数现代无线电通信网络采用FEC和ARQ的组合,被称为混合ARQ(HARQ)。可选地,混合ARQ还可以使用软组合。高级重传方案的更详细描述可以在诸如参考书籍4GLTE/LTE-AdvancedforMobileBroadbandbyErikDahlman,StefanParkvallanddohanAcademicPress,2011,ISBN:978-0-12-385489-6的章节6.3和6.4之类的文献中找到。
随着无线电通信网络的持续发展,无线电通信网络正变得越来越自动化。为此,引入了机器类型通信(MTC)(电被称为机器对机器通信)。可以在车辆对车辆通信中找到使用MTC的一个示例场景,其中,车辆的自主MTC设备发送它们的状态(例如位置、速度等),以保持彼此之间的安全距离从而避免碰撞。该场景和其它未来场景通常需要通信信道上的低通信延迟。进而,这将要求发射机和接收机之间的消息通信在低时延方面的性能。
发明内容
已经基于以上和其它考虑因素作出本文公开的各种实施例。本文呈现的实施例的大体目标是为了在从发射机向接收机发送消息时降低并从而改善时延。
根据一个方案,提供了一种由接收机执行的用于对从发射机接收到的消息M中的数据进行解码的解码方法。所述解码方法优选地(但不一定)是基于喷泉码(fountain-code)的解码方法。接收机在解码时通常使用解码矩阵C。此外,上述消息M被分割为预定义数目“n”个子消息M1,…,Mn。该方法包括从发射机接收数据分组P1,…,Pn。根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,由子消息的线性组合来形成接收到的数据分组P1,…,Pn。Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息。该方法还包括:当接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码。此外,随着数据分组的到达(即,接收)有顺序地执行解码。
优选地而非必须地,执行对接收到的数据分组P1,…,Pn的解码,直到对接收到的分组的解码不成功为止。该方法然后还可以包括:接收n个数据分组的所有剩余数据分组,并且响应于接收到所有剩余的数据分组而对所述剩余数据分组进行解码。
根据另一个方案,提供了一种由发射机执行的用于对要向接收机发送的消息M的数据进行编码的相应编码方法。该编码方法优选地(但不一定)是基于喷泉码的编码方法。该方法包括将所述消息M分割为预定义数目“n”个子消息M1,…,Mn。此外,该方法还包括:根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助所述子消息的线性组合来形成数据分组。Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。此外,该方法包括向接收机发送形成的数据分组(P1,…,Pn)。
根据又一个方案,提供了一种用于对能够从发射机接收到的消息M中的数据进行解码的接收机。该接收机可以适用于基于喷泉码的解码。该接收机被配置为在解码时使用解码矩阵C。此外,消息(M)被分割为预定义数目(n)个子消息M1,…,Mn。该接收机包括:接收模块,被配置为从发射机接收数据分组P1,…,Pn。根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,由所述子消息的线性组合来形成接收到的数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息。此外,接收机包括:解码器,被配置为当接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码。此外,解码器被配置为随着数据分组的到达有顺序地执行解码。
在实施例中,解码器被配置为对接收到的数据分组P1,…,Pn执行解码,直到解码不成功为止。在实施例中,接收模块被配置为接收n个数据分组的所有剩余数据分组,并且解码器被配置为响应于接收到所有剩余的数据分组而对所述剩余数据分组进行解码。
根据再一个方案,提供了一种用于对要向接收机发送的消息M的数据进行编码的发射机。该发射机可以适用于基于喷泉码的解码。该发射机包括:编码器,被配置为将所述消息分割为预定义数目“n”个子消息M1,…,Mn,并且根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。此外,该发射机包括发射模块,被配置为向接收机发送形成的数据分组P1,…,Pn。
根据另一方案,提供了一种包括上述发射机和上述接收机在内的系统。
本文描述的各种实施例可以提供优点。通过允许随着数据分组的到达有顺序地执行解码,可以在接收到数据分组时已经执行了与解码相关联的计算中的大部分。因此,不需要等待接收到所有数据分组才对消息M进行解码。因此,可以减小任何潜在的解码延迟。这减小了总等待时间,并且因此减小了时延。
附图说明
根据参考附图的各种实施例的以下描述,这些和其他方案、特征和优点将是显而易见并被清楚阐述,在附图中:
图1示出了被划分为子消息的消息;
图2示出了在接收机处对n个数据分组的接收;
图3示出了发射机通过通信信道以可通信的方式连接到接收机的实施例;
图4是示出了可由接收机执行的方法步骤的实施例的流程图;
图5示出了在接收机处对n个数据分组的接收;
图6是示出了可由发射机执行的方法步骤的实施例的流程图;
图7示出了发射机的实施例;
图8示出了接收机的实施例;
图9是示出了根据实施例的计算机程序产品的示意图;以及
图10是示出了根据实施例的计算机程序产品的另一示意图。
具体实施方式
现在将在下文中参考示出某些实施例的附图,更充分地描述本技术。然而,本技术可以按多种不同形式来体现,并且不应当被解释为受到本文阐述的实施例的限制;相反,通过示例给出这些实施例,使得本公开将透彻和完整,并且向本领域技术人员充分地传达本技术的范围。贯穿说明书,相似的附图标记表示相似的元件或方法步骤。
在其方案之一中,本公开涉及一种基于喷泉码的解码方法以及相应的基于喷泉码的编码方法。发明人认识到基于喷泉码的编码/解码可特别有利于需求或要求通信信道上的低时延的无线电通信网络。喷泉码(例如,快速旋风码(Raptorcode))是所谓的无码率(rate-less)码,其主要思想是在不要求来自接收机的非确认(NACK)信号的情况下发送连续的较小分组的流,以最小化由于发射机等待接收机要求确认或要求重传而导致的时延。关于喷泉码的更多详细信息可以在诸如由GauriJoshi等人在2010年12月7日出版的“FountainCodes”之类的文献中找到。下面的详细描述将关注于基于喷泉码的编码/解码。然而,本领域技术人员将清楚,描述的技术的原理不必须受限于基于喷泉码的编码/解码。
图1示出了要发送的总长度为L的消息M。喷泉码可以将该消息M划分为n个子消息(或分片)M1,M2,M3,…,Mn,从而每个子消息的长度是L/n。然后数据分组的流被连续地发送,其中每个数据分组的长度为L/n。
数据分组可以由原始分片M1,…,Mn的线性组合来形成:
P1=C11*M1+...+C1n*Mn
P2=C21*M1+...+C2n*Mn
....=....
Pn=Cn1*M1+...+Cnn*Mn
考虑向量P=(P1,…,Pn)和M=(M1,…,Mn),可以将以上方程组写作P=C*M,其中,C是在位置(i,j)上具有元素Cij的解码矩阵。C经常被随机产生,且因此元素Cij很可能是非零的。C应当优选被构造为可逆的,见例如GauriJoshi等人在2010年12月7日出版的“FountainCodes”。
接收机一般需要至少n个分组以能够对消息M(且因此原始消息)进行解码。这意味着接收机一般需要等待全部n个分组到达之后才开始解码。此外,其需要执行O(n^3)次运算以便对解码矩阵C求逆,以根据到达的数据分组P来获得消息M。这在图2中示意性地示出,其中,接收机等待期望数量(在该示例中为n个)的分组到达之后才开始解码。解码要求一般需要O(n^3)次运算的矩阵求逆。
对于二进制字母表,在JalaluddinQureshi等人的出版物“TriangularCodes:SystematicErasureCodesforFiniteLengthInputSymbols”中提出:如果解码矩阵C被选为具有以下结构,则用于根据数据分组P来解码消息M的计算复杂度可以降低至O(k^2):
但是,这对应于采用消息分片Mi(i=1,…,k)的比特,并进行移位(二进制数乘以2^s等同于向右移s位)。然而,不清楚如何将其扩展到除了二进制意外的符号字母表。此外,延迟不会减小,因为我们仍然需要等待至少n个分组被被正确接收和解码。由上可见,发明人认识到仍然需要进一步降低解码延迟或时延。首先,在接收机处等待所有分组到达而不对已经到达的分组进行任何操作一般会花费太长时间,从而导致不必须的延迟。例如,接收机一般需要等待全部n个分组到达,直到其可以对M进行解码然后转发M1,…,Mn。其次,n×n矩阵C一般需要O(n^3)次运算(通常过大),这样需要更多的时间和处理能力来进行计算。使用二进制C矩阵的方法不能扩展到更大的字母表。其也不能减小传统喷泉码中的时延。在本公开的方案之一中,本公开建议了一种基于喷泉码的编码/解码方法。图3示出了可以采用本文描述的各种实施例的示例场景。发射机100被配置为对要通过通信信道200向接收机300发送的消息M的数据进行编码。发射机100包括编码器110。编码器110被配置为将消息M分割为预定义数目“n”个子消息M1,…,Mn,并且根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。此外,发送模块120被配置为向接收机300发送形成的数据分组P1,…,Pn。此外,接收机300被配置为对从发射机100接收到的消息M中的数据进行解码。此外,接收机300被配置为在解码时使用解码矩阵C。如上所述,消息M被分割为预定义数目“n”个子消息M1,…,Mn。接收机300包括接收模块310,其被配置为从发射机100接收数据分组P1,…,Pn,其中,接收到的数据分组是根据Pn=Cn1*Mi+Cn2*M2+Cn3*M3+…+Cnn*Mn由子消息的线性组合而形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息。此外,解码器320被设置为当接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码。此外,解码器320被配置为随着数据分组的到达有顺序地执行解码。
在一些实施例中,解码器320还被配置为对接收到的数据分组P1,…,Pn执行解码,直到解码不成功为止。例如,接收模块310可以被配置为接收n个数据分组的所有剩余数据分组,并且解码器320还可以被配置为响应于接收到所有剩余的数据分组而对所述剩余数据分组进行解码。
参照图4和图5,将更详细地描述由接收机300执行或以其他方式在接收机300中执行的方法400的示例实施例。将意识到:接收机300在解码时使用解码矩阵C。此外,接收到的消息M一般被分割为预定义数目“n”个子消息M1,…,Mn。
根据该示例实施例,数据分组被形成为具有以下结构:
P1=C11*M1
P2=C21*M1+C22*M2
P3=C31*M1+C32*M2+C33*M3
....=....
Pn=Cn1*M+Cn2*M2+Cn3*M3+...+Cnn*Mn
在以上公式中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是消息M的第n个子消息,见图1。
方法400包括从发射机100接收(410)数据分组P1,…,Pn。根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,由所述子消息的线性组合来形成接收到的数据分组P1,…,Pn,如上所述。接着,当接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码,其中,该解码可以随着数据分组P1,…,Pn的到达有顺序地执行。优选地而非必须地,执行对接收到的数据分组P1,…,Pn的解码(420),直到对接收到的分组的解码不成功为止。如果或者当对接收到的数据分组P1,…,Pn的解码(420)不成功,方法可以包括接收(440)n个数据分组的所有剩余数据分组,并且当接收到所有剩余数据分组时对所述剩余数据分组进行解码。也就是说,方法400可以包括等待接收到所有剩余数据分组,并且一旦接收到所有剩余数据分组,方法400可以继续对接收到的剩余数据分组进行解码。
图5示出了方法400允许在第一数据分组发送之后已经进行解码,并且这可以继续直到到达的数据分组出现错误为止。只要前k个分组正确到达,就将在发送结束之前对子消息M1,…,Mk进行解码。在接收到第一数据分组P1之后,可以根据M1=C11^(-1)*P1对子消息M1进行解码。在接收到P2之后,可以根据M2=C22^(-1)*(P2-C21*M1)对M2进行解码。方法400可以继续,直到分组k没有正确地到达或者k=n+1。之后,方法400停止解码,并进行等待直到所有n个剩余数据分组到达为止。一旦接收到所有n个剩余数据分组,就可以对剩余的n-k+1个子消息进行解码。该解码的优点在于:根据P1,…,Pk来找到前k个子消息M1,…,Mk所用的运算或计算的总数为O(k^2)。这是根据矩阵C的三角结构得出的。公知的是:对大小为k×k的三角矩阵求逆的复杂度等于O(k^2)。在没有正确地接收到分组Pk的情况下,对k-1个子消息解码,并且与一次性对所有n个子消息进行解码的现有技术相比,剩余的n-k+1个子消息花费更短的时间来解码。换言之,方法400实现了解码延迟降低,并且因此可以改善时延。
仅作为示例,假设所有n个分组都正确到达(即,被接收)。传统的喷泉码将需要O(n^3)次运算对消息M进行解码。因此,解码将需要相对较多的时间和能量来进行运算或计算。假设例如n=1000。则n^3=1000000000。时间与运算次数成正比,因此在接收机对消息M解码之前需要花费O(n^3)时间步长。另一方面,当在第n个分组到达时应用方法400时,仅需要执行一次最后运算来对Mn解码,因为已经对M1,…,M(n-1)进行了实时(onthefly)解码。这仅需要花费O(1)量级的时间。此外,对矩阵C求逆的运算总次数为O(n^2)(相对于针对一般矩阵C的O(n^3)),使得运算或计算更节能且更快速。
参照图6,将更详细地描述由发射机100执行或在发射机100中执行的相应编码方法600的示例实施例。要向接收机300发送的消息M被分割(610)为(因此划分为)预定义数目“n”个子消息M1,…,Mn。接着,根据以下公式,借助子消息的线性组合来形成或者构造数据分组P1,…,Pn:Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。最后,向接收机300发送(630)形成的数据分组。
图7和图8分别示出了发射机100和接收机300的备选实施例。
如图7中可以看到的,发射机100包括处理器130、存储器140和发送模块(Tx)150。存储器140可以包括可被处理器130执行的指令,由此发射机100操作为将消息M分割为预定义数目“n”个子消息M1,…,Mn。此外,存储器140可以包括可被处理器130执行的指令,由此发射机100操作为:根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。此外,发送模块(Tx)150可以被配置为向接收机发送或者用信号通知形成的数据分组P1,…,Pn。
参照图8,接收机300包括处理器330、存储器340和接收模块(Rx)350。接收机300被配置为在解码时使用解码矩阵C。从发射机100接收到的消息M一般被分割为预定义数目“n”个子消息M1,…,Mn。接收模块(Rx)350可以被配置为从发射机接收数据分组P1,…,Pn,其中,接收到的数据分组P1,…,Pn是根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn由所述子消息的线性组合来形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息。此外,存储器340可以包括可被处理器330执行的指令,由此接收机300操作为当接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码,使得或者其中随着数据分组的到达有顺序地执行解码。
本领域技术人员将清楚,可以以软件或硬件或者它们的组合的形式来实现描述的实施例及其等同物。它们可以通过与通信设备相关联或者为一体的通用电路来执行,例如数字信号处理器(DSP)、中央处理单元(CPU)、协处理器单元、现场可编程门阵列(FPGA)或其它可编程硬件,或者由专用电路来执行,例如,如专用集成电路(ASIC)。本文描述的实施例可以出现在诸如无线通信设备之类的电子装置中。
根据一些实施例,提供了计算机程序。在一个实施例中,计算机程序包括指令,当其在至少一个处理器上执行时,使得该至少一个处理器将消息M分割为预定义数目“n”个子消息M1,…,Mn,并且根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn借助所述子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息。此外,可以提供包含该计算机程序的载体。该载体可以是例如电信号、光信号、无线电信号或者计算机可读存储介质。图9示出了载体是诸如磁盘或CD-ROM之类的计算机可读介质900的实施例。计算机可读介质900可以将上述计算机程序存储于其上。计算机程序因此可被加载到数据处理单元930或处理器中,其可以例如被包括在布置910中。当被加载到处理器930中时,计算机程序可被存储在与处理器930相关联或为一体的存储器920中。布置910一般还包括发送模块(Tx)940。因此,发送模块(Tx)910可以被配置为向接收机发送形成的数据分组P1,…,Pn。布置910可以体现为编码器。此外,布置910可被包括在发射机100中。
在实施例中,计算机程序包括指令,当其在至少一个处理器上执行时,使得该至少一个处理器在接收到数据分组P1,…,Pn时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组P1,…,Pn进行解码。此外,可以提供包含该计算机程序的载体。该载体可以是例如电信号、光信号、无线电信号或者计算机可读存储介质。图10示出了载体是诸如磁盘或CD-ROM之类的计算机可读介质1000的实施例。计算机可渎介质1000可以将上述计算机程序存储于其上。计算机程序因此可被加载到数据处理单元1030或处理器中,其可以例如被包括在布置1010中。当被加载到处理器1030中时,计算机程序可被存储在与处理器1030相关联或为一体的存储器1020中。布置1010一般还包括接收模块(Rx)940。接收模块(Rx)1010可以被配置为从发射机100接收数据分组P1,…,Pn,其中,接收到的数据分组是根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn由所述子消息的线性组合来形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息。布置1010可以体现为解码器。此外,布置1010可被包括在接收机300中。
在本公开中描述的各种实施例是有利的。通过允许随着数据分组的到达(即,接收)有顺序地执行解码,可以在数据分组到达接收机(即,被接收机接收)时已经执行了与解码相关联的大部分计算或运算。因此,不需要等待接收到所有数据分组才对整个消息M进行解码。因此,可以降低任何潜在的解码延迟。这减小了总等待时间,并且因此可以降低时延。在一些实施例中,执行对接收到的数据分组的解码,直到对接收到的分组的解码不成功为止。该方法然后还可以包括:接收n个数据分组的所有剩余数据分组,并且响应于接收到所有剩余的数据分组而对所述剩余数据分组进行解码。与接收到所有接收数据分组时才开始对消息M进行解码的传统情况相比,上述方法通常还将改善时延。
受益于以上的描述和相关联的附图中呈现的教导,本领域技术人员将想到对所述实施例的修改和其他变体。因此,将理解,实施例不限于所公开的特定示例实施例,修改和其他变体意在被包括在本公开的范围中。虽然本文可能使用了特定术语,但是其用于一般性或描述性意义,且不用于限制目的。因此,本领域技术人员将会认识到,对描述的实施例的多种变化仍然会落入所附权利要求的范围。如本文所使用,术语“包括”或“包含”不排除其他要素或步骤的存在。此外,尽管单个特征可被包括在不同的权利要求中,其可以有利地相组合,并且包括不同权利要求并不意味着特征组合不可行和/或不有利。此外,应当注意的是,在实施例的描述中,将功能块划分为特定单元绝不是限制性的。相反,这些划分仅是示例性的。本文描述为一个单元的功能块可以分割为两个或更多个单元。通过相同的方式,在不脱离权利要求的范围的情况下,本文描述为实现为两个或更多个单元的功能块可以实现为单个单元。此外,单数指代并不排除复数指代。最后,权利要求中的附图标记仅提供为澄清性示例,而不应理解为以任何方式限制权利要求的范围。
缩写
O(n^k)=阶数n^k。
Claims (9)
1.一种由接收机执行的用于对从发射机接收到的消息“M”中的数据进行解码的解码方法(400),其中,接收机在解码时使用解码矩阵“C”,并且所述消息“M”被分割为预定义数目“n”个子消息“M1,…,Mn”,所述方法(400)包括:
从发射机接收(410)数据分组“P1,…,Pn”,其中,接收到的数据分组“P1,…,Pn”是根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn由所述子消息的线性组合来形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息;以及
当接收到数据分组“P1,…,Pn”时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组“P1,…,Pn”进行解码(420),其中,随着数据分组的到达有顺序地执行解码。
2.根据权利要求1所述的方法,其中,执行对接收到的数据分组“P1,…,Pn”的解码(420),直到对接收到的分组的解码不成功为止。
3.根据权利要求2所述的方法,还包括:
接收(440)所有剩余数据分组;以及
响应于接收到所有剩余数据分组而对所述剩余数据分组进行解码(440)。
4.一种由发射机执行的用于对要向接收机发送的消息“M”的数据进行编码的编码方法(500),所述方法包括:
将所述消息“M”分割(510)为预定义数目“n”个子消息“M1,…,Mn”;
根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助所述子消息的线性组合来形成(520)数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息;以及向接收机发送(530)形成的数据分组“P1,…,Pn”。
5.一种用于对能够从发射机(100)接收到的消息“M”中的数据进行解码的接收机(300),其中,所述接收机(300)被配置为在解码时使用解码矩阵“C”,并且所述消息“M”被分割为预定义数目“n”个子消息“M1,…,Mn”,其中,所述接收机(300)包括:
接收模块(310),被配置为从发射机(100)接收数据分组“P1,…,Pn”,其中,接收到的数据分组是根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn由所述子消息的线性组合来形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息;以及
解码器(320),被配置为当接收到数据分组“P1,…,Pn”时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组“P1,…,Pn”进行解码,并且其中解码器(320)被配置为随着数据分组的到达有顺序地执行解码。
6.根据权利要求5所述的接收机(300),其中,解码器(320)被配置为对接收到的数据分组“P1,…,Pn”执行解码,直到解码不成功为止。
7.根据权利要求6所述的接收机(300),其中,接收模块(310)被配置为接收所有剩余数据分组,并且解码器(320)被配置为响应于接收到所有剩余数据分组而对所述剩余数据分组进行解码。
8.一种用于对要向接收机(300)发送的消息“M”的数据进行编码的发射机(100),所述发射机(100)包括:
编码器(110),被配置为将所述消息分割为预定义数目“n”个子消息“M1,…,Mn”,并且根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn,借助所述子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息;以及
发送模块(120),被配置为向接收机发送形成的数据分组“P1,…,Pn”。
9.一种包括用于对消息“M”的数据进行编码的发射机(100)和用于对消息“M”进行解码的接收机(300)在内的系统,其中
发射机(100)包括:编码器(110),被配置为将所述消息“M”分割为预定义数目“n”个子消息“M1,…,Mn”,并且根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn借助所述子消息的线性组合来形成数据分组,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的编码矩阵,且Mn是第n个子消息;以及发送模块(120),被配置为向接收机发送形成的数据分组“P1,…,Pn”,并且其中
接收机(300)被配置为在解码时使用解码矩阵“C”,并且包括:接收模块(310),被配置为从发射机(100)接收数据分组“P1,…,Pn”,其中,接收到的数据分组是根据Pn=Cn1*M1+Cn2*M2+Cn3*M3+…+Cnn*Mn由所述子消息的所述子消息的线性组合来形成的,其中,Pn是第n个数据分组,C是在位置(i,j)处具有元素Cij的解码矩阵,且Mn是第n个子消息;以及解码器(320),被配置为当接收到数据分组“P1,…,Pn”时,根据Mn=Cnn^(-1)*(Pn-C(N-1)*M(N-1)-…-C(1)*M(1))对接收到的数据分组“P1,…,Pn”进行解码,并且其中解码器(320)被配置为随着数据分组的到达有顺序地执行解码。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/SE2013/051542 WO2015094037A1 (en) | 2013-12-17 | 2013-12-17 | Decoding of a message and corresponding encoding of a message |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105814800A true CN105814800A (zh) | 2016-07-27 |
| CN105814800B CN105814800B (zh) | 2020-03-27 |
Family
ID=53403210
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201380081637.1A Active CN105814800B (zh) | 2013-12-17 | 2013-12-17 | 消息解码以及相应的消息编码 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10256943B2 (zh) |
| EP (1) | EP3084969A4 (zh) |
| CN (1) | CN105814800B (zh) |
| WO (1) | WO2015094037A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110089158A (zh) * | 2016-10-24 | 2019-08-02 | 弗劳恩霍夫应用研究促进协会 | 用于在低功耗网络中进行电报拆分的可变子分组长度 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3163780A4 (en) * | 2014-07-29 | 2017-07-12 | Huawei Technologies Co., Ltd. | Data encryption and transmission method and device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080320104A1 (en) * | 2007-06-19 | 2008-12-25 | Turner Bryan C | Streaming network coding |
| CN101742313A (zh) * | 2009-12-10 | 2010-06-16 | 北京邮电大学 | 基于压缩感知技术的分布式信源编码的方法 |
| CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007092214A1 (en) | 2006-02-08 | 2007-08-16 | Thomson Licensing | Decoding of raptor codes |
| US9160440B1 (en) * | 2006-06-02 | 2015-10-13 | Massachusetts Institute Of Technology | Method for coding-based, delay-efficient data transmission |
| US8005990B2 (en) * | 2008-02-29 | 2011-08-23 | Newport Media, Inc. | Efficient decoding of mobile multimedia multicast system non real-time service files |
| US8068426B2 (en) | 2008-05-29 | 2011-11-29 | Massachusetts Institute Of Technology | Feedback-based online network coding |
| WO2010025362A2 (en) * | 2008-08-28 | 2010-03-04 | Massachusetts Institute Of Technology | Random linear network coding for time division duplexing |
| US8516344B2 (en) * | 2008-10-01 | 2013-08-20 | Lg Electronics Inc. | Symbol-level random network coded cooperation with hierarchical modulation in relay communication |
| US8228800B2 (en) * | 2009-02-03 | 2012-07-24 | Microsoft Corporation | Optimized transport protocol for delay-sensitive data |
| US8671332B2 (en) * | 2009-04-30 | 2014-03-11 | The Johns Hopkins University | Systems and methods for a rateless round robin protocol for adaptive error control |
| FR2952252B1 (fr) * | 2009-11-05 | 2011-12-09 | Canon Kk | Procede et dispositif de decodage, produit programme d'ordinateur, moyen de stockage correspondants et noeud destination correspondants |
| KR101258958B1 (ko) | 2011-08-23 | 2013-04-29 | 고려대학교 산학협력단 | 랩터 부호를 이용하는 부호화 장치 및 부호화 방법 |
-
2013
- 2013-12-17 US US15/105,243 patent/US10256943B2/en active Active
- 2013-12-17 EP EP13899495.9A patent/EP3084969A4/en not_active Withdrawn
- 2013-12-17 WO PCT/SE2013/051542 patent/WO2015094037A1/en not_active Ceased
- 2013-12-17 CN CN201380081637.1A patent/CN105814800B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080320104A1 (en) * | 2007-06-19 | 2008-12-25 | Turner Bryan C | Streaming network coding |
| CN101742313A (zh) * | 2009-12-10 | 2010-06-16 | 北京邮电大学 | 基于压缩感知技术的分布式信源编码的方法 |
| CN102164026A (zh) * | 2011-05-20 | 2011-08-24 | 哈尔滨工业大学深圳研究生院 | 基于深空通信环境下的喷泉码编译方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110089158A (zh) * | 2016-10-24 | 2019-08-02 | 弗劳恩霍夫应用研究促进协会 | 用于在低功耗网络中进行电报拆分的可变子分组长度 |
| CN110089158B (zh) * | 2016-10-24 | 2022-05-24 | 弗劳恩霍夫应用研究促进协会 | 用于在低功耗网络中进行电报拆分的可变子分组长度 |
| US11516703B2 (en) | 2016-10-24 | 2022-11-29 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Variable sub-packet lengths for telegram splitting in networks with low power consumption |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3084969A1 (en) | 2016-10-26 |
| EP3084969A4 (en) | 2017-11-29 |
| US10256943B2 (en) | 2019-04-09 |
| WO2015094037A1 (en) | 2015-06-25 |
| CN105814800B (zh) | 2020-03-27 |
| US20170019209A1 (en) | 2017-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI732000B (zh) | 傳輸數據的方法和裝置 | |
| US11240812B2 (en) | Communication method and communications device | |
| JP6979050B2 (ja) | 予測的確認応答フィードバックメカニズム | |
| CN108462554B (zh) | 一种极性码的传输方法和装置 | |
| CN110402553B (zh) | 用于多级控制信息的编码技术的方法和设备 | |
| EP3520274B1 (en) | Encoding and decoding techniques | |
| US20110167326A1 (en) | Relay apparatus and wireless communication system | |
| CN105850059A (zh) | 极性码的速率匹配方法和速率匹配装置 | |
| CN109756307B (zh) | 数据重传方法及装置 | |
| CN110011764B (zh) | 执行混合自动重传请求处理的调制解调器芯片和接收器 | |
| CN109088702B (zh) | 通信方法、网络设备和终端 | |
| WO2022228467A1 (zh) | 数据传输方法、装置及可读存储介质 | |
| CN106685577B (zh) | 一种用户设备、接入网设备及下行数据的发送和接收方法 | |
| CN105814800B (zh) | 消息解码以及相应的消息编码 | |
| US20250125904A1 (en) | Apparatus and methods for source coding and channel coding of low entropy signals | |
| WO2018126450A1 (zh) | 无线通信的方法和设备 | |
| CN111886823B (zh) | 方法、装置和计算机程序 | |
| CN111756479A (zh) | 一种通信方法及装置 | |
| CN117426060A (zh) | 通信方法和通信装置 | |
| WO2015149868A1 (en) | Method and node for improving error rate performance based on packet header information | |
| WO2019158002A1 (zh) | 一种传输方法和通信设备 | |
| CN120785466A (zh) | 一种通信方法及装置 | |
| CN103107869A (zh) | 传输反馈信息的方法及设备 | |
| HK1258243B (zh) | 传输数据的方法和装置 | |
| WO2017101069A1 (zh) | 传输数据的方法和终端设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| TA01 | Transfer of patent application right | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20190605 Address after: No. 18, Wu Sha seashore road, Changan Town, Dongguan, Guangdong Applicant after: OPPO Guangdong Mobile Communications Co., Ltd. Address before: Stockholm Applicant before: Telefon AB L.M. Ericsson [SE] |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant |