首页 / 专利分类库 / 基本电子电路 / 极化码的译码方法、编码方法、装置及可读存储介质

极化码的译码方法、编码方法、装置及可读存储介质

申请号 CN202211285952.3 申请日 2022-10-20 公开(公告)号 CN117917869A 公开(公告)日 2024-04-23
申请人 华为技术有限公司; 发明人 谭志远; 董朋朋; 郭志恒; 牛凯; 李炫钰; 韩雨欣; 戴金晟;
摘要 本 申请 涉及移动通信领域,可以应用于LTE或NR等协议 框架 下,尤其涉及一种极化码的译码方法、编码方法、装置及可读存储介质,该方法包括:接收第一接收序列,并对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,根据第一译码结果更新第一接收序列获得第二接收序列,再对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,根据第一译码结果和第二译码结果确定译码输出序列。采用本申请 实施例 ,可以在复杂度不明显增加的情况下,提高译码性能增益,实现译码复杂度和译码性能的良好折中。本申请可以应用于XR业务和低时延业务。
权利要求

1.一种极化码的译码方法,其特征在于,包括:
接收第一接收序列,对所述第一接收序列的第一部分进行第一极化码译码获得第一译码结果;
根据所述第一译码结果更新所述第一接收序列获得第二接收序列;
对所述第二接收序列的第二部分进行第二极化码译码获得第二译码结果;
根据所述第一译码结果和所述第二译码结果确定译码输出序列。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一接收序列的第一部分进行第一极化码译码获得第一译码结果,包括:
对所述第一接收序列进行一级串行抵消译码获得第一译码序列,并采用第一译码算法对所述第一译码序列的第一部分进行译码获得第一译码结果。
3.根据权利要求2所述的方法,其特征在于,所述第一译码结果包括m条候选序列,m为大于或等于1的整数;
所述第一译码算法为SCL译码算法,所述第一译码结果包括的m条候选序列为所述第一译码序列的第一部分经过所述SCL译码算法译码得到的译码列表中通过冻结位校验的前m条序列,所述译码列表中的序列按照度量值从大到小排列;
所述第一译码算法为CA‑SCL译码算法,所述第一译码结果包括的m条候选序列为所述第一译码序列的第一部分经过所述CA‑SCL译码算法译码得到的译码列表中通过循环冗余校验CRC和冻结位校验的前m条序列,所述译码列表中的序列按照度量值从大到小排列。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述第二接收序列的第二部分进行第二极化码译码获得第二译码结果,包括:
对所述第二接收序列进行一级串行抵消译码获得第二译码序列,并采用第二译码算法对所述第二译码序列的第二部分进行译码获得第二译码结果。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述第一译码结果更新所述第一接收序列获得第二接收序列,包括:
对所述第一译码结果进行编码获得第一编码结果;
根据所述第一编码结果更新所述第一接收序列的软值和硬值获得第二接收序列。
6.根据权利要求5所述的方法,其特征在于,所述第一译码结果包括m条候选序列,所述第一编码结果包括m条编码序列,其中所述第一译码结果中的一条候选序列经过编码后得到一条编码序列;所述第一接收序列经过一条编码序列更新后得到一条第二接收序列;
所述第二译码结果包括n条候选序列,一条所述第二译码序列的第二部分经过所述第二译码算法译码后得到k条候选序列,m条所述第二译码序列的第二部分经过所述第二译码算法译码后得到m乘以k条候选序列,n等于m与k的乘积,k和m均为大于或等于1的整数。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述第一译码结果和所述第二译码结果确定译码输出序列,包括:
根据所述第一译码结果包括的m条候选序列和所述第二译码结果包括的n条候选序列确定n条候选译码序列;
对所述n条候选译码序列进行编码获得n条候选编码序列;
根据所述n条候选编码序列确定译码输出序列,所述译码输出序列是所述n条候选编码序列中与所述第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列。
8.根据权利要求1至6中任一项所述的方法,其特征在于,若所述第一译码结果和所述第二译码结果均包括1条候选序列,所述译码输出序列为所述第一译码结果中的候选序列与所述第二译码结果中的候选序列拼接得到。
9.根据权利要求2或3所述的方法,其特征在于,所述第一译码算法包括以下任一种:
串行抵消列表SCL译码算法、循环冗余校验辅助的串行抵消列表CA‑SCL译码算法、统计排序译码OSD算法、猜测随机加性噪声译码GRAND算法、或GRAND算法的各种变形
10.根据权利要求4所述的方法,其特征在于,所述第二译码算法包括以下任一种:
统计排序译码OSD算法、猜测随机加性噪声译码GRAND算法、或GRAND算法的各种变形。
11.根据权利要求2、3、9中任一项所述的方法,其特征在于,所述第一译码序列的第一r
部分与所述第一译码序列的第二部分之间的比值为(2‑1):1,r为大于或等于1的整数。
12.根据权利要求4或10所述的方法,其特征在于,所述第二译码序列的第一部分与所r
述第二译码序列的第二部分之间的比值为(2‑1):1,r为大于或等于1的整数。
13.一种极化码的编码方法,其特征在于,包括:
生成码字,所述码字包括信源序列、冻结位和循环冗余校验CRC比特,所述码字的长度为N,所述信源序列的长度为K,所述CRC比特的长度为E,所述冻结位的长度为(N‑K‑E);
其中,所述信源序列包括长度为K1的第一信源子序列和长度为K2的第二信源子序列,K=K1+K2;所述CRC比特包括长度为E1的第一CRC比特和长度为E2的第二CRC比特,E=E1+E2;
所述冻结位包括长度为F1的第一冻结位和长度为F2的第二冻结位,(N‑K‑E)=F1+F2;所述第一CRC比特的校验范围包括所述第一信源子序列和所述第一冻结位,所述第二CRC比特的校验范围包括所述信源序列、所述冻结位以及所述第一CRC比特;
传输所述码字。
14.根据权利要求13所述的方法,其特征在于,所述(K1+F1+E1)与(K2+F2+E2)的比值为r
(2‑1):1,r为大于或等于1的整数。
15.一种通信装置,其特征在于,包括:
一个或多个处理器,所述一个或多个处理器与一个或多个存储器耦合;
其中,所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于执行存储于所述一个或多个存储器中的计算机程序,以使得所述通信装置执行如权利要求1‑12中任一项所述的方法,或者执行如权利要求13‑14中任一项所述的方法。
16.一种可读存储介质,其特征在于,用于存储程序,所述程序被一个或多个处理器执行,使得包括所述一个或多个处理器的装置执行如权利要求1‑12中任一项所述的方法,或者执行如权利要求13‑14中任一项所述的方法。

说明书全文

极化码的译码方法、编码方法、装置及可读存储介质

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种极化码的译码方法、编码方法、装置及可读存储介质。

背景技术

[0002] 信道编码理论的进步,对无线通信技术的进步意义重大。2008年,Arikan首次提出了信道极化的概念,随后提出了极化(Polar)码。相比其它编码方案(比如涡轮(Turbo)码或低密度奇偶校验(low‑density parity‑check,LDPC)码等),Polar码不仅具有确定的构造方式,还具有最优的理论性能、较低的编译码复杂度等优势。通过信道合并和信道分割的操作,在信道总容量不变的情况下,能够出现极化现象,即部分信道容量增大,另一部分信道容量减少。理论已经证明,当信道数趋近于无穷时,信道极化的现象愈加明显,最终可以使该编码方式(即Polar码)达到香农信道容量。因此,Polar码被确定为第五代移动通信技术(5th generation mobile communication technology,5G)增强移动宽带(enhanced mobile broadband,eMBB)场景下的控制信道编码方案。
[0003] 2018年,针对离散信道中任意码本的最大似然(maximum likelihood,ML)译码问题,Ken R.Duffy等提出了猜测随机加性噪声译码(guessing random addictive noise decoding,GRAND)算法。GRAND算法的核心思想是:对接收序列中所叠加的噪声序列,从最可能的候选噪声序列开始进行猜测,直到得到一个候选噪声序列,使得该接收序列减去该候选噪声序列后得到的序列存在于码本中,该序列即为译码序列。GRAND算法的优势在于,其与任意码本配合使用时,都可以达到信道容量。因此,有人提出将GRAND算法应用于循环冗余校验(cyclic redundancy check,CRC)辅助的(CRC‑Aided,CA)Polar码的译码中,其相比于现有Polar码的主流译码算法:CRC辅助的串行抵消列表(CRC‑Aided successive cancellation list,CA‑SCL)译码,GRAND算法拥有接近1dB(Decibel,分贝)的性能优势。
[0004] 但是,GRAND算法在低码率的情况下译码复杂度显著提高,猜测次数明显增加,其很难在译码复杂度可接受的情况下获得增益。因此,如何获得相较于CA‑SCL译码算法更好的译码性能,并且译码复杂度相对较低是一个极具挑战的问题。发明内容
[0005] 本申请实施例提供一种极化码的译码方法、编码方法、装置及可读存储介质,可以在复杂度不明显增加的情况下,提高译码性能增益,实现译码复杂度和译码性能的良好折中。
[0006] 下面从不同的方面介绍本申请,应理解的是,下面的不同方面的实施方式和有益效果可以互相参考。
[0007] 第一方面,本申请提供一种极化码的译码方法,该方法可以应用于接收端、或者接收端中的处理器、芯片或芯片系统、功能模等。该方法包括:接收端接收第一接收序列,并对该第一接收序列的第一部分进行第一极化码译码获得第一译码结果;接收端再根据第一译码结果更新该第一接收序列获得第二接收序列,对该第二接收序列的第二部分进行第二极化码译码获得第二译码结果;接收端再根据第一译码结果和第二译码结果确定译码输出序列。
[0008] 因为码字经过分块后具有上半块码字的平均码率显著小于总码率,下半块码字的平均码率显著大于总码率的现象。所以,本申请充分考虑polar码的信道极化现象,在复杂度不明显增加的情况下,提高短码的译码性能增益,实现复杂度与译码性能的良好折中。
[0009] 结合第一方面,在一种可能的实现方式中,接收端对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,包括:接收端对该第一接收序列进行一级串行抵消译码获得第一译码序列,并采用第一译码算法对该第一译码序列的第一部分进行译码获得第一译码结果。其中,第一译码序列的第一部分与第一译码序列的第二部分之间的比值为r(2‑1):1,r为大于或等于1的整数。示例性的,r等于1。
[0010] 可选的,第一译码算法包括以下任一种:串行抵消列表(successive cancellation list,SCL)译码算法、循环冗余校验辅助的串行抵消列表(CRC‑Aided SCL,CA‑SCL)译码算法、统计排序译码(ordered statistic decoding,OSD)算法、猜测随机加性噪声译码(GRAND)算法、或GRAND算法的各种变形。可理解,这里提及的各种算法的具体实现参考现有技术,这里不一一赘述。
[0011] 可选的,上述第一译码结果包括m条候选序列,m为大于或等于1的整数。如果第一译码算法为SCL译码算法,第一译码结果包括的m条候选序列为第一译码序列的第一部分经过该SCL译码算法译码得到的译码列表中通过冻结位校验的前m条序列。如果第一译码算法为CA‑SCL译码算法,该第一译码结果包括的m条候选序列为第一译码序列的第一部分经过该CA‑SCL译码算法译码得到的译码列表中通过CRC和冻结位校验的前m条序列。其中,该译码列表中的序列按照度量值从大到小排列。
[0012] 本申请通过在对第一译码序列的第一部分进行译码时保留多条候选序列,可以提高译码准确率。
[0013] 结合第一方面,在一种可能的实现方式中,接收端对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,包括:接收端对该第二接收序列进行一级串行抵消译码获得第二译码序列,并采用第二译码算法对该第二译码序列的第二部分进行译码获得第二译码结果。其中,第二译码序列的第一部分与第二译码序列的第二部分之间的比值为r(2‑1):1,r为大于或等于1的整数。示例性的,r等于1。
[0014] 可选的,第二译码算法包括以下任一种:OSD算法、GRAND算法、或GRAND算法的各种变形。其中,第一译码算法和第二译码算法可以不相同。可理解,这里提及的各种算法的具体实现参考现有技术,这里不一一赘述。
[0015] 结合第一方面,在一种可能的实现方式中,接收端根据第一译码结果更新第一接收序列获得第二接收序列,包括:接收端对第一译码结果进行编码获得第一编码结果;根据该第一编码结果更新第一接收序列的软值和硬值获得第二接收序列。
[0016] 可选的,上述第一译码结果包括m条候选序列,相应的第一编码结果也包括m条编码序列,其中第一译码结果中的一条候选序列经过编码后得到一条编码序列。而第一接收序列经过一条编码序列更新后得到一条第二接收序列。那么,第二译码结果可以包括n条候选序列,一条第二译码序列的第二部分经过第二译码算法译码后得到k条候选序列,m条第二译码序列的第二部分经过第二译码算法译码后得到m乘以k条候选序列。n等于m与k的乘积,k和m均为大于或等于1的整数。
[0017] 本申请在对第二译码序列的第二部分进行译码时保留多条候选序列,可以进一步提高译码性能。
[0018] 结合第一方面,在一种可能的实现方式中,接收端根据第一译码结果和第二译码结果确定译码输出序列,包括:接收端根据第一译码结果包括的m条候选序列和第二译码结果包括的n条候选序列确定n条候选译码序列;再对这n条候选译码序列进行编码获得n条候选编码序列;根据这n条候选编码序列确定译码输出序列。其中,该译码输出序列是该n条候选编码序列中与第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列。
[0019] 结合第一方面,在一种可能的实现方式中,如果第一译码结果和第二译码结果均包括1条候选序列,则译码输出序列为第一译码结果中的候选序列与第二译码结果中的候选序列拼接得到。
[0020] 第二方面,本申请实施例提供一种通信装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。该通信装置包括具有执行第一方面或第一方面的任意可能的实现方式中的方法的单元。
[0021] 示例性的,该通信装置可以为接收端设备或芯片,该芯片可以应用于接收端设备中等。
[0022] 在第二方面中,上述通信装置可以包括收发单元和处理单元。对于收发单元和处理单元的具体描述还可以参考下文示出的装置实施例。上述第二方面的有益效果可以参考前述第一方面的相关描述,这里不赘述。
[0023] 第三方面,本申请提供一种极化码的编码方法,该方法可以应用于发送端、或者发送端中的处理器、芯片或芯片系统、功能模块等。该方法包括:发送端生成码字,该码字包括信源序列、冻结位和循环冗余校验CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E);发送端传输该码字。其中,该信源序列包括长度为K1的第一信源子序列和长度为K2的第二信源子序列,K=K1+K2。该CRC比特包括长度为E1的第一CRC比特和长度为E2的第二CRC比特,E=E1+E2。该冻结位包括长度为F1的第一冻结位和长度为F2的第二冻结位,(N‑K‑E)=F1+F2。该第一CRC比特的校验范围包括该第一信源子序列和该第一冻结位,该第二CRC比特的校验范围包括该信源序列、该冻结位以及该第一CRC比特。
[0024] 本申请生成的码字可以等效为两部分组成,并且满足第二部分码字的码率高于总码率且第一部分码字的码率小于总码率;以使第一部分码字更加适用于SCL相关的译码算法,第二部分码字更加适用于GRAND译码算法,从而获得更低的译码复杂度和更好的译码性能。
[0025] 结合第三方面,在一种可能的实现方式中,(K1+F1+E1)与(K2+F2+E2)的比值为r(2‑1):1,r为大于或等于1的整数。
[0026] 第四方面,本申请实施例提供一种通信装置,用于执行第三方面或第三方面的任意可能的实现方式中的方法。该通信装置包括具有执行第三方面或第三方面的任意可能的实现方式中的方法的单元。
[0027] 示例性的,该通信装置可以为发送端设备或芯片,该芯片可以应用于发送端设备中等。
[0028] 在第四方面中,上述通信装置可以包括收发单元和处理单元。对于收发单元和处理单元的具体描述还可以参考下文示出的装置实施例。上述第四方面的有益效果可以参考前述第三方面的相关描述,这里不赘述。
[0029] 第五方面,本申请提供一种通信装置,该通信装置包括处理器,用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法。或者,该处理器用于执行存储器中存储的程序,当该程序被执行时,上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
[0030] 在一种可能的实现方式中,存储器位于上述通信装置之外。
[0031] 在一种可能的实现方式中,存储器位于上述通信装置之内。
[0032] 本申请中,处理器和存储器还可以集成于一个器件中,即处理器和存储器还可以被集成在一起。
[0033] 在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收信号或发送信号。示例性的,该收发器还可以用于接收第一接收序列。
[0034] 本申请中,该通信装置可以为接收端或接收端中的芯片等。
[0035] 第六方面,本申请实施例提供一种通信装置,该通信装置包括处理器,用于执行上述第三方面或第三方面的任意可能的实现方式所示的方法。或者,处理器用于执行存储器中存储的程序,当该程序被执行时,上述第三方面或第三方面的任意可能的实现方式所示的方法被执行。
[0036] 在一种可能的实现方式中,存储器位于上述通信装置之外。
[0037] 在一种可能的实现方式中,存储器位于上述通信装置之内。
[0038] 在本申请中,处理器和存储器还可以集成于一个器件中,即处理器和存储器还可以被集成在一起。
[0039] 在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收信号或发送信号。示例性的,该收发器可以用于传输码字。
[0040] 本申请中,该通信装置可以为发送端或发送端中的芯片等。
[0041] 第七方面,本申请提供一种通信装置,该通信装置包括逻辑电路接口,该逻辑电路和该接口耦合。接口,用于输入第一接收序列;逻辑电路,用于对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,根据第一译码结果更新第一接收序列获得第二接收序列,再对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,根据第一译码结果和第二译码结果确定译码输出序列。
[0042] 第八方面,本申请提供一种通信装置,该通信装置包括逻辑电路和接口,该逻辑电路和该接口耦合。逻辑电路,用于生成码字,该码字包括信源序列、冻结位和CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E);接口,用于输出该码字。其中,该信源序列包括长度为K1的第一信源子序列和长度为K2的第二信源子序列,K=K1+K2。该CRC比特包括长度为E1的第一CRC比特和长度为E2的第二CRC比特,E=E1+E2。该冻结位包括长度为F1的第一冻结位和长度为F2的第二冻结位,(N‑K‑E)=F1+F2。该第一CRC比特的校验范围包括该第一信源子序列和该第一冻结位,该第二CRC比特的校验范围包括该信源序列、该冻结位以及该第一CRC比特。
[0043] 第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第一方面、或第一方面的任意可能的实现方式所示的方法被执行。
[0044] 第十方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第三方面、或第三方面的任意可能的实现方式所示的方法被执行。
[0045] 第十一方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第一方面、或第一方面的任意可能的实现方式所示的方法被执行。
[0046] 第十二方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第三方面、或第三方面的任意可能的实现方式所示的方法被执行。
[0047] 第十三方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第一方面、或第一方面的任意可能的实现方式所示的方法被执行。
[0048] 第十四方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第三方面、或第三方面的任意可能的实现方式所示的方法被执行。
[0049] 第十五方面,本申请实施例提供一种无线通信系统,该无线通信系统包括发送端和接收端,所述接收端用于执行上述第一方面、或第一方面的任意可能的实现方式所示的方法,所述发送端用于执行上述第三方面、或第三方面的任意可能的实现方式所示的方法。
[0050] 上述各个方面达到的技术效果可以相互参考或参考下文所示的方法实施例中的有益效果,此处不再赘述。附图说明
[0051] 图1是本申请实施例提供的通信系统的架构示意图;
[0052] 图2是本申请实施例提供的应用场景示意图;
[0053] 图3是本申请实施例提供的通信系统的简化示意图;
[0054] 图4是本申请实施例提供的无线通信的基本流程示意图;
[0055] 图5是本申请实施例提供的Polar码的编码示意图;
[0056] 图6是本申请实施例提供的CA‑Polar码的编码示意图;
[0057] 图7是本申请实施例提供的SCL译码的树状结构示意图;
[0058] 图8是本申请实施例提供的使用CRC的通信编码示意图;
[0059] 图9是本申请实施例提供的CA‑SCL译码框图
[0060] 图10是本申请实施例提供的CA‑SCL译码的流程示意图;
[0061] 图11是本申请实施例提供的码长为16、64、256以及1024时各子信道的信道容量的分布示意图;
[0062] 图12是本申请实施例提供的极化码的译码方法的流程示意图;
[0063] 图13是本申请实施例提供的CA‑SCL联合GRAND的分块译码算法的示意图;
[0064] 图14是本申请实施例提供的一种译码程序框图;
[0065] 图15是本申请实施例提供的另一种译码程序框图;
[0066] 图16是本申请实施例提供的又一种译码程序框图;
[0067] 图17是本申请实施例提供的一种分块译码算法的误块率示意图;
[0068] 图18是本申请实施例提供的一种分块译码算法的平均译码时间示意图;
[0069] 图19是本申请实施例提供的误块率和平均查询次数分别随码率变化的示意图;
[0070] 图20是本申请实施例提供的极化码的编码方法的流程示意图;
[0071] 图21a是本申请实施例提供的码字的一种结构示意图;
[0072] 图21b是本申请实施例提供的码字的另一种结构示意图;
[0073] 图21c是本申请实施例提供的码字的又一结构示意图;
[0074] 图22是本申请实施例提供的通信装置的一结构示意图;
[0075] 图23是本申请实施例提供的通信装置1000的结构示意图;
[0076] 图24是本申请实施例提供的通信装置的另一结构示意图。

具体实施方式

[0077] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0078] 在本申请的描述中,“第一”、“第二”等字样仅用于区别不同对象,并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。例如,第一接收序列和第二接收序列等都仅仅是为了区分不同的信息,并不对其先后顺序进行限定。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
[0079] 在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个(项)”、“以下一项(个)或多项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c;a和b;a和c;b和c;或a和b和c。其中a,b,c可以是单个,也可以是多个。
[0080] 在本申请的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“举例来说”或者“例如”等词旨在以具体方式呈现相关概念。
[0081] 可以理解,在本申请的描述中,“当…时”、“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
[0082] 本申请中的“同时”可以理解为在相同的时间点,也可以理解为在一段时间段内,还可以理解为在同一个周期内,具体可以结合上下文进行理解。
[0083] 本申请中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。
[0084] 另外,本文中术语“系统”和“网络”在本文中常被可互换使用。
[0085] 可以理解,在本申请各实施例中,“A对应B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
[0086] 本申请实施例的技术方案可以应用于各种通信系统中,例如:长期演进(long term evolution,LTE)系统,全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统,5G系统,如新一代无线接入技术(new radio access technology,NR),多种系统融合的网络,物联网系统,车联网系统,以及未来的通信系统,如6G系统等。
[0087] 通信系统中包括通信设备,通信设备间可以利用空口资源进行无线通信。其中,通信设备可以包括网络设备和终端设备,网络设备还可以称为基站设备。空口资源可以包括时域资源、频域资源、码资源和空间资源中至少一个。
[0088] 可理解的,本申请实施例下文描述的系统架构和应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。
[0089] 参见图1,图1是本申请实施例提供的通信系统的架构示意图。如图1所示,该通信系统包括接入网设备100(如图1中的Node1和Node2)和UE 200,可选的还包括核心网设备(core network,CN)300。其中,接入网设备100可配置有多个天线,UE 200也可配置有多个天线。接入网设备和核心网设备可以统称为网络设备,或,网络侧设备,接入网和核心网可以统称为网络侧。在该通信系统中,Node1和Node2均可以与多个UE通信。但应理解,与Node1通信的UE和与Node2通信的UE可以是相同的,也可以是不同的。图1中示出的UE 200可同时与Node1和Node2通信,但这仅示出了一种可能的场景,在某些场景中,UE可能仅与Node1或Node2通信,本申请对此不做限定。
[0090] 应理解,接入网设备和终端还可包括与信号发送和接收相关的多个部件(例如,处理器、调制器、复用器、解调器或解复用器等中的一项或多项)。
[0091] 本申请实施例涉及到的网络设备包括接入网设备,例如基站(base station,BS),BS可以是网络侧的一种用于发射或接收信号的实体,也是一种部署在无线接入网中能够和终端进行无线通信的设备。基站(BS)可以是固定的,也可以是移动的。其中,基站可能有多种形式,比如宏基站、微基站、中继站和接入点等。示例性地,本申请实施例涉及到的基站可以是5G中的基站或LTE中演进的基站(Evolved Node B,eNB)。其中,5G中的基站还可以称为发送接收点(transmission reception point,TRP)或5G基站(Next‑Generation Node B,gNB)。基站还可以与如下名称进行替换,比如:节点B(NodeB)、发射点(transmitting point,TP)、主站MeNB、辅站SeNB、多制式无线(multi standard radio,MSR)节点、家庭基站、网络控制器、接入节点、无线节点、传输节点、收发节点、基带单元(baseband unit,BBU)、射频拉远单元(remote radio unit,RRU)、有源天线单元(active antenna unit,AAU)、射频头(remote radio head,RRH)、集中式单元(centralized unit,CU)、分布式单元(distributed unit,DU)、定位节点、IAB宿主(IAB donor)等。
[0092] 本申请实施例中,用于实现网络设备的功能的装置可以是网络设备;也可以是能够支持网络设备实现该功能的装置,例如芯片系统、或通信模块、或调制解调器等,该装置可以被安装在网络设备中。在本申请实施例提供的技术方案中,以用于实现网络设备的功能的装置是网络设备,以网络设备是基站为例,描述本申请实施例提供的技术方案。基站可以支持相同或不同接入技术的网络。本申请的实施例对网络设备所采用的具体技术和具体设备形态不做限定。
[0093] 本申请实施例涉及到的终端设备还可以称为终端、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,其可以是用户侧的一种用于接收或发射信号的实体,如手机;其可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。UE包括具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,UE可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。终端设备还可以是虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
[0094] 本申请实施例中,用于实现终端的功能的装置可以是终端;也可以是能够支持终端实现该功能的装置,例如芯片系统、或通信模块、或调制解调器等,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。本申请实施例提供的技术方案中,以用于实现终端的功能的装置是终端,以终端是UE为例,描述本申请实施例提供的技术方案。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
[0095] 可选的,UE也可以用于充当基站。例如,UE可以充当调度实体,其在车辆外联(vehicle‑to‑everything,V2X)、设备到设备(device‑to‑device,D2D)或点对点(peer to peer,P2P)等中的UE之间提供侧行链路信号。
[0096] 可选的,UE还可以用于充当中继节点。例如:UE可以充当中继设备(relay),或者接入回传一体化(integrated access and backhaul,IAB)节点,用于为终端设备提供无线回传服务。
[0097] 本申请实施例提供的技术方案可以应用于通信设备间的无线通信。通信设备间的无线通信可以包括:网络设备和终端间的无线通信、网络设备和网络设备间的无线通信以及终端和终端间的无线通信。在本申请实施例中,术语“无线通信”还可以简称为“通信”,术语“通信”还可以描述为“数据传输”、“信息传输”或“传输”。
[0098] 本申请实施例提供的极化码的译码方法和编码方法主要针对LTE或NR等协议框架,可应用于多种移动通信场景中。比如,基站和UE之间、或UE和UE之间独立组网(standalone,SA)场景的点对点传输、基站和用户设备的多跳/中继(relay)传输、多个基站和用户设备的双连接(dual connectivity,DC)或多连接等场景。参见图2,图2是本申请实施例提供的应用场景示意图。如图2所示,图2示出了四种应用场景,分别是点对点单连接、多跳单连接、双连接、以及多跳多连接。应理解的,本申请实施例提供的极化码的译码方法和编码方法可以应用于图2所示的各种应用场景中,还应理解,图2仅是示例性的,从业务场景度而言,本申请实施例提供的极化码的译码方法和编码方法还适用于诸多场景,包括但不限于诸如扩展现实(extended reality,XR)业务中的分层数据编码、上行大容量场景等。此外,图2不对适用于本申请的网络架构产生限制,并且本申请不限制上行、下行、接入链路、回传(backhaul)链路、侧链路(sidelink)等传输。
[0099] 参见图3,图3是本申请实施例提供的通信系统的简化示意图。为了简单起见,图3仅示出了基站110、UE 120以及网络130。基站110包括接口111和处理器112。处理器112可选地可以存储程序114。基站110可选地可以包括存储器113。存储器113可选地可以存储程序115。UE 120包括接口121和处理器122。处理器122可选地可以存储程序124。UE 120可选地可以包括存储器123。存储器123可选地可以存储程序125。这些组件一起工作,以提供本申请中描述的各种功能。例如,处理器112和接口111一起工作以提供基站110与UE 120之间的无线连接。处理器122和接口121共同作用,实现UE 120的下行传输和/或上行传输。
[0100] 网络130可以包括一个或多个网络节点130a、130b,以提供核心网功能。网络节点130a、130b可以是5G核心网节点,或更早一代(例如4G、3G或2G)核心网节点。例如,网络节点
130a、130b可以是接入管理功能(AMF)、移动性管理实体(MME)等。网络130还可以包括公共交换电话网络(PSTN)、分组数据网络、光网络、互联网协议(IP)网络中的一个或多个网络节点。广域网(WAN)、局域网(LAN)、无线局域网(WLAN)、有线网络、无线网络、城域网和其他网络,以使UE 120和/或基站110之间能够进行通信。
[0101] 处理器(例如,处理器112和/或处理器122)可包括一个或多个处理器并实现为计算设备的组合。处理器(例如,处理器112和/或处理器122)可分别包括以下一种或多种:微处理器微控制器数字信号处理器(digital signal processor,DSP)、数字信号处理设备(DSP device,DSPD)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程阵列(filed programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、选通逻辑、晶体管逻辑、分立硬件电路、处理电路或其它合适的硬件、固件和/或硬件和软件的组合,用于执行本申请中所描述的各种功能。处理器(例如,处理器112和/或处理器122)可以是通用处理器或专用处理器。例如,处理器112和/或处理器122可以是基带处理器或中央处理器。基带处理器可用于处理通信协议和通信数据。中央处理器可用于使基站110和/或UE 120执行软件程序,并处理软件程序中的数据。
[0102] 接口(例如,接口111和/或121)可包括用于实现与一个或多个计算机设备(例如,UE、BS和/或网络节点)之间的通信。在一些实施例中,接口可以包括用于耦合有线连接的电线、或用于耦合无线收发器的管脚、或用于无线连接的芯片和/或管脚。在一些实施例中,接口可以包括发射器、接收器、收发器和/或天线。接口可以被配置为使用任何可用的协议(例如第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)标准)。
[0103] 本申请中的程序在广义上用于表示软件。软件的非限制性示例是程序代码、程序、子程序、指令、指令集、代码、代码段、软件模块、应用程序、软件应用程序等。程序可以在处理器和/或计算机中运行,以使基站110和/或UE 120执行本申请中描述的各种功能和/或过程。
[0104] 内存(例如存储器113和/或存储器123)可存储由处理器112、122在执行软件时操纵的数据。存储器113、123可以使用任何存储技术实现。例如,存储器可以是处理器和/或计算机能够访问的任何可用存储介质。存储介质的非限制性示例包括:RAM、ROM、EEPROM、CD‑ROM、可移动介质、光盘存储器、磁盘存储介质、磁存储设备、闪存、寄存器、状态存储器、远程挂载存储器、本地或远程存储器组件,或能够携带或存储软件、数据或信息并可由处理器/计算机访问的任何其它介质。
[0105] 内存(例如存储器113和/或存储器123)和处理器(例如处理器112和/或处理器122)可以分开设置或集成在一起。存储器可以用于与处理器连接,使得处理器能够从存储器中读取信息,在存储器中存储和/或写入信息。存储器113可以集成在处理器112中。存储器123可以集成在处理器122中。处理器(例如处理器112和/或处理器122)和存储器(例如处理器112和/或处理器122)可以设置在集成电路中(例如,该集成电路可以设置在UE或基站或其他网络节点中)。
[0106] 参见图4,图4是本申请实施例提供的无线通信的基本流程示意图。如图4所示,在发送端,信源依次经过信源编码、信道编码、速率匹配以及调制映射后通过天线发送出去。在接收端,通过天线接收到的信号依次通过解调解映射、解速率匹配、信道译码、信源译码后输出信宿。可理解,无线通信的基本流程还包括其他流程,比如预编码和交织,这里不一一列举。其中,信道编译码可以采用Polar码,Polar码的码长为2的整数次幂,在实际应用中可以通过速率匹配实现任意码长的Polar码。也就是说,在实际应用中,发送端在信道编码后进行速率匹配实现任意码长;相应地,在接收端,信道译码之前需要先进行解速率匹配。
本申请主要关注无线通信中的信道译码流程和信道编码流程。
[0107] 下面对本申请涉及的一些术语进行介绍。
[0108] 一、极化码(Polar码)编码
[0109] Polar码构造的核心是通过信道极化(channel polarization)处理,在编码侧采用方法使各个子信道呈现出不同的可靠性,当码长持续增加时,部分信道将趋向于容量接近于1的完美信道(无误码),另一部分信道将趋向于容量接近于0的纯噪声信道,选择在容量接近于1的信道上传输信息可以逼近香农信道容量。
[0110] 码长为N的Polar码的编码矩阵记为GN,编码过程为x1N=u1NGN,其中u1N=(u1,Nu2,...,uN)是一个二进制的行矢量,长度为N;GN是一个N×N的矩阵,且 n=log2 ,表示n个矩阵F2的克罗内克(Kronecker)乘积。
[0111] 其中,矩阵F2也称标准极化核, 例如,当n等于2时,可得到码长N=4的Polar码的编码矩阵G4为:
[0112]
[0113] Polar码的编码过程中,u1N中的一部分比特用于携带信息,称为信息比特集合N(data bits),这些比特的索引集合记为A;u1中的另外部分比特设置为发送端和接收端预先约定的固定值(通常为0),称为冻结比特集合(frozen bits)或固定比特集合,其索引的c N N
集合用A的补集A 表示。那么,Polar码的编码过程x1 =u1 GN相当于:
这里,GN(A)表示GN中与集合A包含的索引对应的那些行组成
c c N
的子矩阵,GN(A)表示GN中与集合A包含的索引对应的那些行组成的子矩阵。uA表示u1中的N
信息比特集合,信息比特的个数为K,也就是说集合A中的元素个数为K;uAc表示u1中的冻结c
比特集合,冻结比特的个数为(N‑K),也就是说集合A中的元素个数为(N‑K)。其中,冻结比特的值通常设置为0,在实际传输中发送端和接收端都已知。因此,Polar码的编码输出可以N
简化为:x1=uAGN(A),这里uA是长度为K的行矢量,GN(A)是K×N的矩阵。
[0114] Polar码的构造过程即集合A的选取过程,其决定了Polar码的性能。Polar码的构造过程通常为:根据码长N确定N个极化信道,分别对应编码矩阵GN的N个行;计算各个极化信道的可靠度;将可靠度较高的前K个极化信道的索引作为集合A的元素,也就是说这K个极c化信道用于传输信息比特,剩余的(N‑K)个极化信道的索引作为集合A的元素,也就是说这剩余的(N‑K)个极化信道用于传输冻结比特。可理解,本申请将用于传输信息比特的极化信道称为信息信道,用于传输冻结比特的极化信道称为冻结信道(或固定信道)。
[0115] 示例性的,参见图5,图5是本申请实施例提供的Polar码的编码示意图。在n等于3时,码长N=8的Polar码的编码矩阵G8为:
[0116]
[0117] 如图5所示,{u7,u6,u5,u3}为可靠度靠前的四位比特,设置为信息比特;{u4,u2,u1,u0}为可靠度靠后的四位比特,设置为冻结比特;将长度为4的信息向量(即uA)中的4位信息比特(即{u7,u6,u5,u3})编码成8位编码比特(即x1到x8)。
[0118] 为了提升Polar码的性能,通常会对信息比特集合先进行校验预编码,再进行Polar码编码。一种常见的校验预编码方式为CRC辅助的Polar编码。参见图6,图6是本申请实施例提供的CA‑Polar码的编码示意图。如图6所示,{u3,u4,u5,u6}为可靠度靠前的四位比特,设置为信息比特;{u2,u1}为可靠度靠后的两位比特,设置为冻结比特;{u7,u8}为CRC比特集合。其中,{u7,u8}的值由{u3,u4,u5,u6}做CRC得到。
[0119] 二、Polar码的SC译码、SCL译码以及CA‑SCL译码
[0120] 串行抵消(successive cancellation,SC)译码可以对Polar码的N个极化信道(其中 )进行逐一译码,从i=1开始到i=N结束。示例性的,可以先N N
从接收序列y1 (其中y1=(y1,y2,y3,...,yN))判决u1(如果u1是冻结比特则直接判决),再将N
得到的u1和接收序列y1视为第二个极化信道 并对其译码得到u2。重复此过程直到第N个N
比特uN被解出,译码结束。也就是说,SC译码在译码时不仅考虑接收序列y1 ,还可以利用之前判决的结果。
[0121] 串行抵消列表(successive cancellation list,SCL)译码是建立在SC译码基础上的,SCL译码算法可以解决SC译码算法中最大似然(maximum likelihood,ML)路径在某些层的扩展过程中容易被遗漏的问题。SCL译码算法在对每个极化信道译码时,不立即对ui进行判决,而是同时保持ui=0和ui=1两种可能性。由于译码池中的候选序列大小是按指数增长的,所以为控制译码复杂度,通常会对SCL译码器的路径搜索宽度(用L表示)进行一定的限制,即每次只保留概率值最大的L条候选路径。具体的,同SC译码算法一样,SCL译码算法也是从码树的根节点开始,逐层向叶子节点进行路径搜索。与之不同的是,SCL译码算法在每一层路径扩展后,不再是只从两条后继路径中选择后验概率值较大的一条保留,而是保留尽可能多的后继路径(但每一层路径总数不超过L条)。下一步扩展时,所有被保留的候选路径均会被分别扩展,然后再次进行比较和选择,直到叶子节点层。完成一层的路径扩展N后,被保留的(至多)L条路径将会被存储到一个列表中,留待下一次扩展。而在最终输出u1时,在L条候选路径中选择概率值最大的路径作为译码结果。
[0122] 示例性的,SCL译码算法的流程可以概括为:1)初始化,空置初始列表,表示为将所有路径度量值归零;2)路径扩展,向第i层节点扩展时,对列表 内的所有候选路径进行扩展,在新表 中记录扩展后的路径,同时计算所有新路径的路径度量值,c
对于i属于集合A (即冻结比特集合),则按照ui=0进行路径扩展;3)路径竞争,若列表 中的候选路径数量超过L,保留路径度量值最大的前L条路径,删除其它路径;4)判决,若路径未扩展到叶子节点,则返回步骤2);否则(即路径扩展到叶子节点),选择列表 中具有最大路径度量值的候选序列作为译码输出,从而完成译码。其中,路径度量值的计算方式如下述公式(1‑1):
[0123]
[0124] 表示在已知接收序列y1N(其中y1N=(y1,y2,y3,...,yN))的条件下,部分i i
译码序列u1 (其中u1 =(u1,u2,u3,...,ui))的后验概率。ln()表示e为底的对数。可理解,本申请中,术语“路径度量值”和“度量值”表示相同含义,均为公式(1‑1)所示含义。
[0125] 参见图7,图7是本申请实施例提供的SCL译码的树状结构示意图。其中,N等于4,路径搜索宽带L等于2。如图7所示,树状结构的每一层表示一个比特,第i层表示比特ui,1≤i(i‑1) (i‑1)≤4。对于第i层的比特ui,根据之前的判决比特u1 (其中u1 =(u1,u2,u3,...,u(i‑1)))分别对ui=0和ui=1进行概率计算。因此,随着i的增大,得到的层数也不断增加,形成图7中的树形结构。如图7所示,每条路径都有相应的权重,其值由该路径上对应u值的概率决定。
从而在最终输出的L条路径中选择权重(或者概率)最大的路径作为译码输出。如图7所示,最终输出的2条路径分别是路径①②④⑥和路径①③⑤⑦⑧,而SCL译码输出的结果为
1000,也就是说译码输出序列为1000。
[0126] 可理解,SC译码算法还可以理解为SCL译码算法在L=1时的特殊情况。
[0127] CRC辅助的SCL(CRC‑Aided SCL,CA‑SCL)译码是建立在SCL译码基础上的。循环冗余校验(cyclic redundancy check,CRC)在数字通信系统中广泛用于信道检错。参见图8,图8是本申请实施例提供的使用CRC的通信编码示意图。如图8所示,在发送端,输入信道编码器的序列包含CRC比特,在接收端,如果信道译码后的序列的CRC值不为0,接收端通常会要求发送端重发原始消息序列,即混合自动重传请求。参见图9,图9是本申请实施例提供的CA‑SCL译码框图。如图9所示,在发送端,发送消息加CRC比特后再经过极化编码(即Polar码编码)后,通过信道传输至接收端。在接收端,对于CA‑SCL译码,其与SCL译码的不同之处在于:SCL译码最终在L条候选路径中选择路径度量值最大的候选序列作为译码输出,而CA‑SCL译码最终在L条候选路径中选择能通过CRC的候选序列作为译码输出,以提高纠错能
[0128] 示例性的,参见图10,图10是本申请实施例提供的CA‑SCL译码的流程示意图。如图10所示,CA‑SCL译码的流程可以概括为:1)初始化,空置初始列表,表示为 将所有路径度量值置零;2)路径扩展,向第i层节点扩展时,对列表 内的所有候选路径进行扩c
展,在新表 中记录扩展后的路径,同时计算所有新路径的路径度量值,对于i属于集合A(即冻结比特集合),则按照ui=0进行路径扩展,若i是校验位则按照y0进行路径扩展,y0是校验位;3)路径竞争,若列表 中的候选路径数量超过L,保留路径度量值最大的前L条路径,删除其它路径;4)判决,若路径未扩展到叶子节点层,即i
[0129] 可理解,上述对于SC译码算法、SCL译码算法以及CA‑SCL译码算法的介绍仅是示例,对于SC译码算法、SCL译码算法以及CA‑SCL译码算法的具体实现还可以参考现有技术,本申请实施例不做限制。
[0130] 三、GRAND算法和软信息GRAND算法
[0131] 猜测随机加性噪声译码(guessing random addictive noise decoding,GRAND)算法的基本原理是:接收端将噪声序列从最有可能到最不可能的噪声序列进行排序,然后依次查询,从接收信号中去除噪声后,剩下的序列是否为码本中的元素;如果剩下的序列是码本中的元素,则该剩下的序列作为译码序列输出;如果遍历完所有噪声序列都没有找到接收信号中去除噪声后剩下的序列是码本中的元素,则译码失败。GRAND算法的具体实现参考现有技术,这里不一一详述。
[0132] 为了扩展GRAND算法的可适性,提出了GRAND算法的一种变形:软信息GRAND(Soft GRAND,SGRAND)算法。SGRAND算法建立了软检测符号可靠性信息的能力,在软检测中,从信道中接收的符号,可以被准确地标注为无误或可能受到独立加性随机噪声的影响。与GRAND算法不同,SGRAND算法在接收端还拥有符号可靠性矩阵S,符号可靠性矩阵S还可以理解为候选噪声向量集合。SGRAND算法的具体实现参考现有技术,这里不详述。
[0133] 可理解,GRAND算法还有其他变形,比如具有截断阈值的GRAND(GRAND with abandon,GRANDAB),基于有序可靠性比特的GRAND(ordered reliability bits GRAND,ORBGRAND),其算法的具体实现可以参考现有技术,这里不详述。
[0134] 由上述Polar码的译码算法可知,CA‑SCL译码算法的译码性能和复杂度都表现较好,但在短码下还有性能提升的空间(大约2dB)。而GRAND算法在短码下的性能较好,其在高码率的情况下已经取得了优于CA‑SCL译码算法的译码性能,并且是最大似然译码,但GRAND算法的复杂度较大,其受码长和码率的限制较大,受信道条件影响大。换句话说,GRAND算法在低码率的情况下译码复杂度显著提升,猜测次数明显增加,因此很难在译码复杂度可接受的情况下获得译码性能增益。因此,对于Polar码来说,如何获得相较于CA‑SCL译码算法更好的性能,并且译码复杂度相对较低是一个极具挑战的问题。
[0135] 本申请提供一种极化码的译码方法、编码方法、装置及可读存储介质,该方法充分考虑了Polar码的信道极化现象,可以在复杂度不明显增加的情况下,提高译码性能增益,实现译码复杂度和译码性能的良好折中。
[0136] 可选的,本申请提供的方法可应用于上文所示的终端设备(如UE)或网络设备(如基站)上。本申请的所有实施例均通过发送端(或编码端)和接收端(或译码端)来描述,但在实际应用中,发送端(或编码端)可以是终端设备,也可以是网络设备;同理,接收端(或译码端)可以是网络设备,也可以是终端设备;本申请对此不作限定。另外,在一次数据传输过程中,发送端(或编码端)和接收端(或译码端)是针对通信双方而言,在一次通信过程中,通信的一方是发送端(或编码端),另一方就是接收端(或译码端)。
[0137] 下面将详细介绍本申请提供的技术方案。
[0138] 为便于清楚描述本申请的技术方案,本申请通过多个实施例进行阐述,具体参见下文各个实施例的描述。本申请中,除特殊说明外,各个实施例或实现方式之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以下所述的本申请实施方式并不构成对本申请保护范围的限定。
[0139] 实施例一
[0140] 本申请实施例主要介绍Polar码的分块联合译码方法。
[0141] 在介绍本申请实施例的分块联合译码方法之前,先对分块后码字和各分块之间新呈现的特性进行分析说明。参见图11,图11是本申请实施例提供的码长为16、64、256以及1024时各子信道的信道容量的分布示意图。观察图11可知,上半块码字的平均信道容量较小,下半块码字的平均信道容量较大,并且随着子信道数目的增多,在出现信道极化现象的同时,下半块码字的平均信道容量明显增大。此外,上半块码字的平均码率显著小于总码率,下半块码字的平均码率显著大于总码率,这种现象在本申请中称为码率极化现象。该码率极化现象在信道可靠性排序时,表现为上半块码字中的信息信道占比较小,而下半块码字中的信息信道占比较大。
[0142] 参见图12,图12是本申请实施例提供的极化码的译码方法的流程示意图。如图12所示,该极化码的译码方法包括但不限于以下步骤:
[0143] S101,接收第一接收序列。
[0144] 可选的,接收端对接收到的信号进行解调、解映射、以及解速率匹配后获得第一接收序列。为便于描述,长度为N的第一接收序列用{y0,y1,y2,...,y(N‑1)}表示。
[0145] S102,对该第一接收序列的第一部分进行第一极化码译码获得第一译码结果。
[0146] 可选的,第一接收序列可以分为两部分,第一接收序列的第一部分与第一接收序r列的第二部分之间的长度比值为(2 ‑1):1,r为大于或等于1的整数。示例性的,r等于1,则第一接收序列的第一部分与第一接收序列的第二部分之间的长度比值为1:1,此时第一接收序列的第一部分可以是第一接收序列的前半部分,即{y0,y1,y2,...,y(N/2‑1)}。再示例性的,当r等于2时,第一接收序列的第一部分与第一接收序列的第二部分之间的长度比值为
3:1,此时第一接收序列的第一部分可以是第一接收序列的前(N*3/4),即{y0,y1,y2,...,y(N*3/4‑1)}。
[0147] 可选的,第一极化码译码包括一级串行抵消(successive cancellation,SC)译码和第一译码算法译码。接收端对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,包括:接收端对第一接收序列进行一级SC译码获得第一译码序列,并采用第一译码算法对该第一译码序列的第一部分进行译码获得第一译码结果。其中,第一译码序列的长度也为N,为便于描述,用{v0,v1,v2,...,v(N‑1)}表示。第一译码序列可以分为两部分,第一译r码序列的第一部分与第一译码序列的第二部分之间的长度比值为(2 ‑1):1,r为大于或等于1的整数。示例性的,r等于1,则第一译码序列的第一部分与第一译码序列的第二部分之间的长度比值为1:1,此时第一译码序列的第一部分可以是第一译码序列的前半部分,即{v0,v1,v2,...,v(N/2‑1)}。再示例性的,当r等于2时,第一译码序列的第一部分与第一译码序列的第二部分之间的长度比值为3:1,此时第一译码序列的第一部分可以是第一译码序列的前(N*3/4),即{v0,v1,v2,...,v(N*3/4‑1)}。
[0148] 下文为便于描述,以r等于1为例进行说明。也就是说,下文以第一译码序列均分为两部分,且第一译码序列的第一部分是第一译码序列的前半部分(即{v0,v1,v2,...,v(N/2‑1)});第一接收序列也均分为两部分,且第一接收序列的第一部分是第一接收序列的前半部分(即{y0,y1,y2,...,y(N/2‑1)})为例进行说明。
[0149] 可选的,接收端对第一接收序列进行一级SC译码获得第一译码序列,包括:接收端利用软信息传递的方式,对第一接收序列进行一级SC译码得到第一译码序列。
[0150] 可选的,上述第一译码算法可以是以下任一种:SCL译码算法、CA‑SCL译码算法、统计排序译码(ordered statistic decoding,OSD)算法、GRAND算法、或GRAND算法的各种变形(包括但不限于:SGRAND算法、ORBGRAND算法、GRANDAB算法)。可理解,这里提及的各种算法的具体实现参考现有技术,这里不一一赘述。
[0151] 可选的,因为SCL译码算法和CA‑SCL译码算法中都具有列表 所以为了提高译码准确率,可以保留列表 中的多条候选路径,并将这多条候选路径对应的候选序列作为第一译码结果。那么,上述第一译码结果中可以包括m条候选序列,m为大于或等于1的整数。举例来说,如果第一译码算法是SCL译码算法,则第一译码结果包括的m条候选序列可以是上述第一译码序列的第一部分经过该SCL译码算法译码得到的译码列表(即列表 )中通过冻结位校验的前m条序列,该译码列表中的序列按照度量值从大到小排列。再举例来说,如果第一译码算法为CA‑SCL译码算法,则第一译码结果包括的m条候选序列可以是上述第一译码序列的第一部分经过该CA‑SCL译码算法译码得到的译码列表(即列表 )中通过CRC和冻结位校验的前m条序列,该译码列表中的序列按照度量值从大到小排列。
[0152] 可以理解,因为第一译码结果是第一译码序列的第一部分经过译码后得到,所以第一译码结果中每条候选序列的长度与第一译码序列的第一部分的长度相同。示例性的,假设第一译码序列的第一部分是第一译码序列的前半部分,即{v0,v1,v2,...,v(N/2‑1)},则第一译码结果中每条候选序列的长度为N/2。
[0153] S103,根据该第一译码结果更新该第一接收序列获得第二接收序列。
[0154] 可选的,接收端根据上述第一译码结果更新上述第一接收序列获得第二接收序列,包括:接收端对上述第一译码结果进行编码获得第一编码结果,并根据该第一编码结果更新上述第一接收序列的软值和硬值获得第二接收序列。可理解,这里的“软值”是指软信息值,“硬值”是指硬判决值。
[0155] 示例性的,假设第一译码结果是长度为N/2的候选序列,用{u0,u1,u2,...,u(N/2‑1)}表示,接收端对该第一译码结果进行Polar码编码,获得长度为N/2的编码序列(即第一编码结果是长度为N/2的编码序列),用{y0′,y1′,y2′,...,y(N/2‑1)′}表示。接收端再用第一编码结果(即{y0′,y1′,y2′,...,y(N/2‑1)′})替换第一接收序列的前半部分(如{y0,y1,y2,...,y(N/2‑1)}),而第一接收序列的后半部分({y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)})不变,获得长度为N的第二接收序列即{y0′,y1′,y2′,...,y(N/2‑1)′,y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}。
[0156] 可理解,如果上述第一译码结果包括m条候选序列,则接收端对该第一译码结果中的每条候选序列都进行Polar码编码,获得第一编码结果,该第一编码结果中也包括m条编码序列。接收端根据第一编码结果中的一条编码序列更新第一接收序列的软值和硬值,获得一条第二接收序列,那么接收端利用这m条编码序列分别更新第一接收序列的软值和硬值后,获得m条第二接收序列。或者,可以理解为以下步骤执行m次,获得m条第二接收序列:接收端对第一译码结果中的第i(i分别取1,2,3,...,m)条候选序列进行Polar码编码,获得一条编码序列,并根据该条编码序列更新第一接收序列的软值和硬值,获得一条第二接收序列。
[0157] S104,对该第二接收序列的第二部分进行第二极化码译码获得第二译码结果。
[0158] 可选的,第二接收序列可以分为两部分,第二接收序列的第一部分与第二接收序r列的第二部分之间的长度比值为(2 ‑1):1,r为大于或等于1的整数。示例性的,r等于1,第二接收序列的第一部分与第二接收序列的第二部分之间的长度比值为1:1,此时第二接收序列的第二部分可以是第二接收序列的后半部分,即{y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)};而第二接收序列的前半部分可以是上述第一译码结果经过Polar码编码获得的编码序列,即{y0′,y1′,y2′,...,y(N/2‑1)′}。可理解,本申请实施例中,第二接收序列的第二部分与第一接收序列的第二部分相同。
[0159] 可选的,第二极化码译码包括一级SC译码和第二译码算法译码。接收端对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,包括:接收端对第二接收序列进行一级SC译码获得第二译码序列,并采用第二译码算法对该第二译码序列的第二部分进行译码获得第二译码结果。其中,第二译码序列的长度为N,为便于描述,用{v0′,v1′,v2′,...,v(N‑1)′}表示。第二译码序列可以分为两部分,第二译码序列的第一部分与第二译r码序列的第二部分之间的长度比值为(2‑1):1,r为大于或等于1的整数。示例性的,r等于
1,则第二译码序列的第一部分与第二译码序列的第二部分之间的长度比值为1:1,此时第二译码序列的第一部分可以是第二译码序列的前半部分,即{v0′,v1′,v2′,...,v(N/2‑1)′};
第二译码序列的第二部分可以是第二译码序列的后半部分,即{v(N/2)′,v(N/2+1)′,v(N/2+2)′,...,v(N‑1)′}。
[0160] 可选的,接收端对第二接收序列进行一级SC译码获得第二译码序列的实现方式,可以参考前述接收端对第一接收序列进行一级SC译码获得第一译码序列的实现方式,这里不再赘述。可理解,一条第二接收序列经过一级SC译码后获得一条第二译码序列。如果第二接收序列有m条,接收端对这m条第二接收序列分别进行一级SC译码获得m条第二译码序列。m为大于或等于1的整数。
[0161] 可选的,上述第二译码算法可以是以下任一种:SCL译码算法、CA‑SCL译码算法、OSD算法、GRAND算法、或GRAND算法的各种变形(包括但不限于:SGRAND算法、ORBGRAND算法、GRANDAB算法)。其中,第二译码算法可以选用与前述第一译码算法不相同的译码算法。举例来说,第一译码算法为SCL译码算法,第二译码算法为GRAND算法或GRAND算法的各种变形;或者第一译码算法为CA‑SCL译码算法,第二译码算法为GRAND算法或GRAND算法的各种变形;或者第一译码算法为OSD算法,第二译码算法为GRAND算法或GRAND算法的各种变形,等等。
[0162] 需要说明的是,为进一步提高GRAND算法的译码性能,本申请实施例对GRAND算法进行了改进,改进后的算法称为GRAND‑List(列表GRAND)算法。GRAND‑List算法与GRAND算法的不同之处在于:GRAND‑List算法在译码得到能够通过双重校验(即CRC和冻结位校验)的序列后,不直接译码输出,而是将其存入列表中;当列表中的候选序列数量达到设定的阈值时,将列表中的候选序列按序取出,各自重新编码,计算重新编码得到的序列与接收序列的欧式距离,最终选择欧式距离最小的重编码序列对应的候选序列作为译码输出的结果。同理,GRAND‑List算法可以扩展到GRAND算法的其它各种变形,这里不一一详述。可理解,GRAND算法的各种变形还包括GRAND‑List算法。
[0163] 因此,上述第二译码结果可以包括n条候选序列,这n条候选序列可以是m条第二译码序列的第二部分经过第二译码算法译码后得到。其中,一条第二译码序列的第二部分经过第二译码算法译码后得到k条候选序列。m条第二译码序列的第二部分经过第二译码算法译码后得到m乘以k条候选序列。n等于m与k的乘积,k和m均为大于或等于1的整数。
[0164] 可以理解,因为第二译码结果是第二译码序列的第二部分经过译码后得到,所以第二译码结果中每条候选序列的长度与第二译码序列的第二部分的长度相同。
[0165] 可以理解,本申请实施例将第一接收序列分成两部分,对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,利用第一译码结果来辅助第一接收序列的第二部分(也是第二接收序列的第二部分)进行译码;这样,可以提高译码准确度。
[0166] S105,根据该第一译码结果和该第二译码结果确定译码输出序列。
[0167] 可选的,如果上述第一译码结果和上述第二译码结果均只包括一条候选序列,则接收端可以将第一译码结果中的候选序列和第二译码结果中的候选序列拼接得到译码输出序列。示例性的,假设第一译码结果是长度为N/2的候选序列,表示为{u0,u1,u2,...,u(N/2‑1)},第二译码结果也是长度为N/2的候选序列,表示为{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)},则拼接得到的译码输出序列为{u0,u1,u2,...,u(N/2‑1),u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}。
[0168] 可选的,如果上述第一译码结果包括m条候选序列,上述第二译码结果包括n条候选序列。接收端可以根据该第一译码结果包括的m条候选序列和该第二译码结果包括的n条候选序列确定n条候选译码序列。n等于m与k的乘积。可理解,第一译码结果中的一条候选序列经过Polar编码后得到一条编码序列,根据一条编码序列更新第一接收序列的软值和硬值后获得一条第二接收序列,一条第二接收序列经过一级SC译码后得到一条第二译码序列,一条第二译码序列的第二部分经过第二译码算法后得到k条候选序列;因此,第一译码结果中的m条候选序列与第二译码结果中的n(n=m*k)条候选序列存在对应关系,且第一译码结果中的一条候选序列对应第二译码结果中的k条候选序列,接收端将第一译码结果和第二译码结果中存在对应关系的候选序列进行拼接,获得n条候选译码序列。
[0169] 接收端再可以对该n条候选译码序列进行Polar码编码获得n条候选编码序列,并可以根据该n条候选编码序列确定译码输出序列。其中,一条候选译码序列经过Polar码编码后得到一条候选编码序列。该译码输出序列是该n条候选编码序列中与该第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列。
[0170] 可以理解,由前述图11所示,一个码字经过分块后,上半块码字的平均码率降低,已经不再适合使用适用于高码率的译码算法(比如GRAND算法等),而应当为上半块码字选用更加适合中低码率的译码算法(比如SCL译码算法或CA‑SCL译码算法等),以便于充分发挥分块后码率极化的特点。这是因为如果对上半块码字使用适用于高码率的译码算法,比如GRAND算法,其译码复杂度较高(需要猜测的噪声位置很多);而适合中低码率的译码算法,如SCL译码算法或CA‑SCL译码算法,其随着码率的降低复杂度并不会升高,并且也能保证译码性能。对于下半块码字而言,下半块码字的平均码率升高,适合使用适用于高码率的译码算法(比如GRAND算法等),这一类译码算法对下半块码字具有很快的译码速度,并且译码复杂度也会降低(需要猜测的噪声位置显著减少)。
[0171] 因此,本申请实施例结合码字经过分块后新呈现的码率极化特性,将接收序列分成两部分,对第一部分和第二部分分别采用不同的译码算法进行译码,并且再对第二部分进行译码时,利用第一部分的译码结果来辅助第二部分的译码;充分考虑了Polar码的信道极化现象,可以在复杂度不明显增加的情况下,提高译码性能增益,实现译码复杂度和译码性能的良好折中。
[0172] 为更好地理解本申请实施例提供的极化码的译码方法,下面通过几个具体的例子进行说明。下文示例中提及的GRAND算法代指GRAND算法本身及其各种变形。
[0173] 示例1:CA‑SCL联合GRAND的分块译码
[0174] 可理解,第一译码算法为CA‑SCL译码算法,第二译码算法为GRAND算法。参见图13,图13是本申请实施例提供的CA‑SCL联合GRAND的分块译码算法的示意图。其中,图13的(a)表示第一接收序列的前半部分的译码示意图,图13的(b)表示第二接收序列的后半部分的译码示意图。
[0175] 具体的,CA‑SCL联合GRAND的分块译码算法如下:
[0176] 1)利用软信息传递的方式,对第一接收序列{y0,y1,y2,...,y(N‑1)}进行一级SC译码,获得第一译码序列{v0,v1,v2,...,v(N‑1)}。如图13的(a)中虚线箭头所示。
[0177] 2)使用CA‑SCL译码算法对第一译码序列的前半部分{v0,v1,v2,...,v(N/2‑1)}进行译码,如图13的(a)中灰色阴影部分所示。
[0178] 3)对CA‑SCL译码的结果即第一译码结果{u0,u1,u2,...,u(N/2‑1)}进行再编码,修改第一接收序列的前半部分{y0,y1,y2,...,y(N/2‑1)}对应的软值和硬值,而第一接收序列的后半部分{y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}不变。如图13的(b)中虚线框所示。
[0179] 4)将再编码得到的第一编码结果{y0′,y1′,y2′,...,y(N/2‑1)′}传递给第一接收序列的后半部分,组成长度为N的第二接收序列{y0′,y1′,y2′,...,y(N/2‑1)′,y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}。对第二接收序列进行一级SC译码,得到第二译码序列{v0′,v1′,v2′,...,v(N‑1)′}。如图13的(b)中虚线箭头所示。使用GRAND算法对第二译码序列的后半部分{v(N/2)′,v(N/2+1)′,v(N/2+2)′,...,v(N‑1)′}进行译码,如图13的(b)中灰色阴影部分所示。GRAND算法的具体实现参见现有技术,这里仅作简要说明,如下述步骤5)到步骤7)。
[0180] 5)根据可靠性矩阵S对第二译码序列的后半部分中的噪声比特进行翻转。
[0181] 6)将第二译码序列的后半部分与生成矩阵G相乘,得到第二译码结果{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}。
[0182] 7)对第二译码结果进行冻结位校验和CRC,能通过冻结位校验和CRC则完成译码;否则(即不能通过冻结位校验和CRC)修改可靠性矩阵S并回到步骤5)。
[0183] 可理解,通过冻结位校验和CRC的第二译码结果和第一译码结果按照先后顺序拼接得到译码输出序列{u0,u1,u2,...,u(N/2‑1),u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}。
[0184] 参见图14,图14是本申请实施例提供的一种译码程序框图。如图14所示,对第一接收序列进行一级SC译码得到第一译码序列,第一译码序列分为两部分,对第一译码序列的第一部分采用CA‑SCL译码算法进行译码后得到第一译码结果;对该第一译码结果进行再编码获得第一编码结果,将第一编码结果传递给第一接收序列的第二部分,组成长度为N的第二接收序列;对第二接收序列进行一级SC译码得到第二译码序列,第二译码序列也可分为两部分,对第二译码序列的第二部分采用GRAND算法进行译码后得到第二译码结果。将第一译码结果和第二译码结果拼接后得到译码输出序列。
[0185] 可以理解,CA‑SCL联合GRAND的分块译码算法相比于针对完整码字采用GRAND算法,在译码速度和计算复杂度上具有较大的优势。
[0186] 示例2:CA‑SCL List联合GRAND List的分块译码
[0187] 可理解,第一译码算法为CA‑SCL List译码算法,第二译码算法为GRAND List算法。
[0188] 具体的,CA‑SCL List联合GRAND List的分块译码算法如下:
[0189] 1)利用软信息传递的方式,对第一接收序列{y0,y1,y2,...,y(N‑1)}进行一级SC译码,获得第一译码序列{v0,v1,v2,...,v(N‑1)}。
[0190] 2)使用CA‑SCL译码算法对第一译码序列的前半部分{v0,v1,v2,...,v(N/2‑1)}进行译码,在译码列表 (该译码列表中的序列按照度量值从大到小排列)中取出前m条能通过CRC和冻结位校验的候选序列作为译码输出,即第一译码结果包括m条候选序列。将这m条能通过CRC和冻结位校验的候选序列按顺序分别进行步骤3)至步骤8)。
[0191] 3)对CA‑SCL译码输出的候选序列{u0,u1,u2,...,u(N/2‑1)}进行再编码,修改第一接收序列的前半部分{y0,y1,y2,...,y(N/2‑1)}对应的软值和硬值,而第一接收序列的后半部分{y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}不变。
[0192] 4)将再编码得到的编码序列{y0′,y1′,y2′,...,y(N/2‑1)′}传递给第一接收序列的后半部分,组成长度为N的第二接收序列{y0′,y1′,y2′,...,y(N/2‑1)′,y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}。对第二接收序列进行一级SC译码,得到第二译码序列{v0′,v1′,v2′,...,v(N‑1)′}。使用GRAND List算法对第二译码序列的后半部分{v(N/2)′,v(N/2+1)′,v(N/2+2)′,...,v(N‑1)′}进行译码。GRAND List算法包括下述步骤5)到步骤10),其中步骤5)到步骤7)为循环过程。
[0193] 5)根据可靠性矩阵S对第二译码序列的后半部分中的噪声比特进行翻转。
[0194] 6)将第二译码序列的后半部分与生成矩阵G相乘,得到一条候选序列{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}。
[0195] 7)对候选序列{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}进行冻结位校验。如果通过冻结位校验,则对拼接得到的候选译码序列{u0,u1,u2,...,u(N‑1)}进行CRC,如果通过CRC的候选译码序列{u0,u1,u2,...,u(N‑1)}是码本中的元素,则将候选译码序列{u0,u1,u2,...,u(N‑1)}存入列表中。不能通过冻结位校验和/或CRC,则修改可靠性矩阵S并回到步骤5)。
[0196] 8)如果步骤7)得到的列表中的候选译码序列数量达到设定的阈值m*k,或者猜测次数达到要求,则终止步骤5)到步骤7)的循环过程。可理解,针对第一译码结果包括的每条候选序列分别经过步骤3)到步骤7)的处理后,可以得到k条候选译码序列。
[0197] 9)对步骤7)得到的列表中的每条候选译码序列进行再编码,获得m*k条候选编码序列。
[0198] 10)计算这m*k条候选编码序列分别与第一接收序列的欧式距离,将这m*k条候选编码序列中与第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列作为译码输出序列。
[0199] 参见图15,图15是本申请实施例提供的另一种译码程序框图。如图15所示,对第一接收序列进行一级SC译码得到第一译码序列,第一译码序列分为两部分,对第一译码序列的第一部分采用CA‑SCL译码算法进行译码后得到第一译码结果(包括m条候选序列);对该第一译码结果中的每条候选序列进行再编码获得第一编码结果,将第一编码结果传递给第一接收序列的第二部分,组成m条长度为N的第二接收序列;对每条第二接收序列进行一级SC译码得到第二译码序列,每条第二译码序列也可分为两部分,对每条第二译码序列的第二部分采用GRAND算法进行译码后得到第二译码结果(包括m*k条候选序列);对第二译码结果中的每条候选序列进行再编码获得m*k条编码序列,将这m*k条编码序列与第一编码结果中的m条编码序列进行拼接,获得m*k条候选编码序列;保留这m*k条候选编码序列中与第一接收序列的欧式距离最小的候选编码序列。将与第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列作为译码输出序列。可理解,一条候选译码序列是第一译码结果中的一条候选序列与第二译码结果中的一条候选序列拼接得到,一条候选译码序列再编码后得到一条候选编码序列。
[0200] 可以理解,虽然上述CA‑SCL联合GRAND的分块译码算法在译码速度和计算复杂度上具有较大的优势,但与此同时,其在译码准确率上有一些损失。而CA‑SCL List联合GRAND List的分块译码可以使得准确率上的损失小到可以接受的同时,得到其在复杂度上的巨大增益,以此来实现在准确率和复杂度上的优秀折中。
[0201] 示例3:SCL List联合GRAND List的分块译码
[0202] 可理解,第一译码算法为SCL List译码算法,第二译码算法为GRAND List算法。具体的,SCL List联合GRAND List的分块译码算法如下:
[0203] 1)利用软信息传递的方式,对第一接收序列{y0,y1,y2,...,y(N‑1)}进行一级SC译码,获得第一译码序列{v0,v1,v2,...,v(N‑1)}。
[0204] 2)使用SCL译码算法对第一译码序列的前半部分{v0,v1,v2,...,v(N/2‑1)}进行译码,在译码列表 (该译码列表中的序列按照度量值从大到小排列)中取出前m条能通过冻结位校验的候选序列作为译码输出,即第一译码结果包括m条候选序列。将这m条能通过冻结位校验的候选序列按顺序分别进行步骤3)至步骤8)。
[0205] 3)对SCL译码输出的候选序列{u0,u1,u2,...,u(N/2‑1)}进行再编码,修改第一接收序列的前半部分{y0,y1,y2,...,y(N/2‑1)}对应的软值和硬值,而第一接收序列的后半部分{y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}不变。
[0206] 4)将再编码得到的编码序列{y0′,y1′,y2′,...,y(N/2‑1)′}传递给第一接收序列的后半部分,组成长度为N的第二接收序列{y0′,y1′,y2′,...,y(N/2‑1)′,y(N/2),y(N/2+1),y(N/2+2),...,y(N‑1)}。对第二接收序列进行一级SC译码,得到第二译码序列{v0′,v1′,v2′,...,v(N‑1)′}。使用GRAND List算法对第二译码序列的后半部分{v(N/2)′,v(N/2+1)′,v(N/2+2)′,...,v(N‑1)′}进行译码。GRAND List算法包括下述步骤5)到步骤10),其中步骤5)到步骤7)为循环过程。
[0207] 5)根据可靠性矩阵S对第二译码序列的后半部分中的噪声比特进行翻转。
[0208] 6)将第二译码序列的后半部分与生成矩阵G32相乘,得到一条候选序列{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}。
[0209] 7)对候选序列{u(N/2),u(N/2+1),u(N/2+2),...,u(N‑1)}进行冻结位校验。如果通过冻结位校验,则对拼接得到的候选译码序列{u0,u1,u2,...,u(N‑1)}进行CRC,如果通过CRC的候选译码序列{u0,u1,u2,...,uN‑1}是码本中的元素,则将候选译码序列{u0,u1,u2,...,uN‑1}存入列表中。不能通过冻结位校验和/或CRC,则修改可靠性矩阵S并回到步骤5)。
[0210] 8)如果步骤7)得到的列表中的候选译码序列数量达到设定的阈值m*k,或者猜测次数达到要求,则终止步骤5)到步骤7)的循环过程。可理解,针对第一译码结果包括的每条候选序列经过步骤3)到步骤7)的处理后,可以得到k条候选译码序列。
[0211] 9)对步骤7)得到的列表中的每条候选译码序列进行再编码,获得m*k条候选编码序列。
[0212] 10)计算这m*k条候选编码序列分别与第一接收序列的欧式距离,将这m*k条候选编码序列中与第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列作为译码输出序列。
[0213] 参见图16,图16是本申请实施例提供的又一种译码程序框图。如图16所示,对第一接收序列进行一级SC译码得到第一译码序列,第一译码序列分为两部分,对第一译码序列的第一部分采用SCL译码算法进行译码后得到第一译码结果(包括m条候选序列);对该第一译码结果中的每条候选序列进行再编码获得第一编码结果,将第一编码结果传递给第一接收序列的第二部分,组成m条长度为N的第二接收序列;对每条第二接收序列进行一级SC译码得到第二译码序列,每条第二译码序列也可分为两部分,对每条第二译码序列的第二部分采用GRAND算法进行译码后得到第二译码结果(包括m*k条候选序列);对第二译码结果中的每条候选序列进行再编码获得m*k条编码序列,将这m*k条编码序列与第一编码结果中的m条编码序列进行拼接,获得m*k条候选编码序列;保留这m*k条候选编码序列中与第一接收序列的欧式距离最小的候选编码序列。将与第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列作为译码输出序列。可理解,一条候选译码序列是第一译码结果中的一条候选序列与第二译码结果中的一条候选序列拼接得到,一条候选译码序列再编码后得到一条候选编码序列。
[0214] 可以理解,SCL List联合GRAND List的分块译码算法依赖SCL List和GRAND本身具有的一定纠错性能,不再需要添加较长的CRC,从而实现容量和性能上界的最大化。
[0215] 为说明本申请实施例提供的译码算法的有益效果,下面通过不同分块译码算法的误块率(block error rate,BLER)仿真结果和平均译码时间仿真结果进行验证。可理解,误块率可用于反映译码的性能,平均译码时间可用于反映译码的复杂度。
[0216] 本申请实施例提供的极化码的译码方法,相比于GRAND算法适合高码率和CA‑SCL译码算法适合中低码率而言,该极化码的译码方法适合的码率范围更广,大约适合码率为0.5到0.7。也就是说,本申请实施例的极化码的译码方法既适用于短码,也适用于中短码;
并且可以针对分块的特性进行设计,进一步得到性能增益。
[0217] 参见图17,图17是本申请实施例提供的一种分块译码算法的误块率示意图。图17示出了码率为0.68和0.65时的误块率。参见图18,图18是本申请实施例提供的一种分块译码算法的平均译码时间示意图。图18示出了码率为0.68和0.65时的平均译码时间。其中,图17和图18中的码长均为64。图17中横坐标表示比特能量与噪声功率谱密度的比值,即Eb/No(dB);纵坐标表示误块率(BLER);纵坐标表示误块率(BLER);这里的噪声功率谱密度使用的是加性高斯白噪声(additive white gaussian noise,AWGN)的噪声功率谱密度。图17中SCL‑GRAND表示SCL List联合GRAND List的分块译码算法。图18中横坐标表示比特能量与噪声功率谱密度的比值,纵坐标表示平均译码时间或平均查询次数(Avg.Queries)。图18中“Q:SGRANDAB”表示SGRANDAB算法中噪声序列的查询次数,“Q:SCL‑GRAND”表示SCL List联合GRAND List的分块译码算法中噪声序列的查询次数,“T:SCL‑GRAND”表示SCL List联合GRAND List的分块译码算法的平均译码时间(即复杂度),“T:CA‑SCL”表示CA‑SCL算法的平均译码时间(即复杂度)。
[0218] 由图17的误块率仿真结果可知,不同码率下,在中低信噪比时,SCL List联合GRAND List的分块译码算法的误块率性能优于SGRANDAB算法和CA‑SCL译码算法的误块率性能。
[0219] 由图18可知,在时间开销上,SGRANDAB算法在低信噪比时的译码速度很慢(或者查询次数很多),而分块译码算法的译码速度对信噪比不敏感。具体的,在时间开销(或者查询次数)上,当码率为0.68时,CA‑SCL译码算法<分块译码算法
[0220] 参见图19,图19是本申请实施例提供的误块率和平均查询次数分别随码率变化的示意图。图19的(1)中横坐标表示码率(rate),纵坐标表示误块率;图19的(2)中横坐标表示5
码率,纵坐标表示平均查询次数(Avg.Queries)。图19中“SGRANDAB(10)”表示SGRANDAB算
5 4
法中噪声序列的最大查询次数为10 ,“SGRANDAB(10)”表示SGRANDAB算法中噪声序列的最
4
大查询次数为10,“SCL‑GRAND”表示SCL List联合GRAND List的分块译码算法。
[0221] 由图19可知,在中低码率(小于0.68)下,分块译码算法的误块率性能优于SGRANDAB算法;而在不同码率下,分块译码算法的平均搜索次数小于SGRANDAB算法的平均搜索次数。
[0222] 一方面,本申请实施例的极化码的译码方法通过上半块先译码,将上半块的译码结果传递给下半块,再进行下半块译码,相比现有的译码方法,本申请充分考虑了Polar码的信道极化现象,可以在复杂度不明显增加的情况下,提高译码性能增益,实现译码复杂度和译码性能的良好折中。另一方面,本申请实施例的极化码的译码方法还可以不再需要添加较长的CRC,从而实现容量和性能上界的最大化。
[0223] 实施例二
[0224] 本申请实施例二提供一种极化码的编码方法,该极化码的编码方法可使用前述实施例一中的译码方法进行译码,其中第一译码算法为CA‑SCL译码;当然该极化码的编码方法还可用其他译码方法进行译码,本申请实施例不限定。换句话说,本申请实施例二可以与前述实施例一结合实施,也可以单独实施例,本申请实施例不做限制。
[0225] 参见图20,图20是本申请实施例提供的极化码的编码方法的流程示意图。如图20所示,该极化码的编码方法包括但不限于以下步骤:
[0226] S201,发送端生成码字,该码字包括信源序列、冻结位和CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E)。
[0227] 其中,该信源序列包括长度为K1的第一信源子序列和长度为K2的第二信源子序列,且K=K1+K2。该CRC比特包括长度为E1的第一CRC比特和长度为E2的第二CRC比特,且E=E1+E2。该冻结位包括长度为F1的第一冻结位和长度为F2的第二冻结位,且(N‑K‑E)=F1+F2。该第一CRC比特的校验范围包括该第一信源子序列和该第一冻结位,该第二CRC比特的校验范围包括该信源序列、该冻结位以及该第一CRC比特。
[0228] 可选的,(K1+F1+E1)与(K2+F2+E2)的比值为(2r‑1):1,r为大于或等于1的整数。
[0229] 示例性的,当r等于1时,(K1+F1+E1)与(K2+F2+E2)的比值为1:1,也就是说(K1+F1+E1)=(K2+F2+E2)=N/2。参见图21a,图21a是本申请实施例提供的码字的一种结构示意图。如图21a所示,码字的长度为N,其可以理解为两个长度为(N/2)的半块码字组成,为便于描述,称为上半块码字和下半块码字。其中,图21a中的CRC1表示第一CRC比特,CRC2表示第二CRC比特。上半块码字包括第一信源子序列、第一冻结位以及第一CRC比特,且第一CRC比特位于第一信源子序列和第一冻结位之后,用于校验第一信源子序列和第一冻结位。下半块码字包括第二信源子序列、第二冻结位以及第二CRC比特,且第二CRC比特位于第二信源子序列和第二冻结位之后,用于校验该第二CRC比特之前的序列,即用于校验信源序列、冻结位以及第一CRC比特。可理解,上半块码字和下半块码字的比特数相同,且本申请实施例生成的码字满足:下半块码字的码率高于总码率,上半块码字的码率小于总码率。
[0230] 举例来说,对于长度为64比特(即N=64)的CRC辅助的Polar码(即CA‑Polar码),假设信源序列的长度为41比特(即K=41),CRC比特的长度为10比特(即E=10),那么冻结位的长度为13比特(即N‑K‑E=13);上半块码字和下半块码字的长度均为32比特。其中,上半块码字中第一信源子序列的长度为14比特(即K1=14),第一CRC比特的长度为6比特(即E1=6),第一冻结位的长度为12比特(即F1=12)。下半块码字中第二信源子序列的长度为27比特(即K2=27),第二CRC比特的长度为4比特(即E2=4),第二冻结位的长度为1比特(即F2=
1)。
[0231] 示例性的,当r大于1时,第一信源子序列可以包含多个子序列,为便于描述,后续用子序列1,子序列2,子序列3等等来表示。当r等于2时,(K1+F1+E1)与(K2+F2+E2)的比值为3:1,也就是说(K1+F1+E1)=3N/4,(K2+F2+E2)=N/4。参见图21b,图21b是本申请实施例提供的码字的另一种结构示意图。如图21b所示,码字的长度为N,其可以理解为两部分组成,为便于描述,称为第一部分和第二部分,第一部分码字的长度为3N/4,第二部分码字的长度为N/4。其中,第一部分码字包括第一信源子序列、第一冻结位以及第一CRC比特。一种可能的实现方式中,第一信源子序列包括子序列1,子序列2,以及子序列3;第一冻结位包括冻结位1,冻结位2以及冻结位3。一个示例中,第一CRC比特为图21b中的CRC3,CRC3位于第一信源子序列和第一冻结位之后,用于校验第一信源子序列和第一冻结位。另一个示例中,第一CRC比特包括图21b中的CRC1、CRC2以及CRC3。其中,CRC1位于子序列1和冻结位1之后,用于校验子序列1和冻结位1;CRC2位于子序列2和冻结位2之后,用于校验CRC2之前的序列,即用于校验子序列1、冻结位1、CRC1、子序列2以及冻结位2;CRC3位于子序列3和冻结位3之后,用于校验CRC3之前的序列,即用于校验第一信源子序列、第一冻结位、CRC1以及CRC2。可选的,子序列1和冻结位1(以及CRC1)的长度之和、子序列2和冻结位2(以及CRC2)的长度之和、以及子序列3和冻结位3以及CRC3的长度之和相等。
[0232] 另一种可能的实现方式中,参见图21c,图21c是本申请实施例提供的码字的又一结构示意图。如图21c所示,第一信源子序列包括两个子序列,分别是子序列1和子序列,相应的,第一冻结位包括冻结位1和冻结位2。一个示例中,第一CRC比特为图21c中的CRC2,CRC2位于第一信源子序列和第一冻结位之后,用于校验第一信源子序列和第一冻结位。另一个示例中,第一CRC比特包括图21c中的CRC1和CRC2,CRC1位于子序列1和冻结位1之后,用于校验子序列1和冻结位1;CRC2位于子序列2和冻结位2之后,用于校验CRC2之前的序列,即用于校验第一信源子序列、第一冻结位以及CRC1。可选的,子序列1和冻结位1(以及CRC1)的长度之和、与子序列2和冻结位2以及CRC2的长度之和的比值为2:1。
[0233] 而图21b和图21c的第二部分码字包括第二信源子序列、第二冻结位以及第二CRC比特,第二CRC比特位于第二信源子序列和第二冻结位之后,用于校验该第二CRC比特之前的序列,即用于校验信源序列、冻结位以及第一CRC比特。其中,第二CRC比特为图21b中的CRC4,或者图21c中的CRC3。可理解,本申请实施例生成的码字满足:第二部分码字的码率高于总码率,第一部分码字的码率小于总码率。
[0234] S202,发送端传输该码字。
[0235] 可选的,发送端可以对该码字进行信道编码(如Polar码编码)后,再经过速率匹配、调制映射等操作,最后通过天线发送出去。具体的信道编码过程这里不一一详述。发送端通过天线发送的信号经过信道传输至接收端。接收端可以通过天线接收信号,并将接收到的信号进行解调解映射、解速率匹配后,再经过信道译码(如前述实施例一所示的译码方法)获得译码序列。
[0236] 本申请实施例生成的码字可以等效为两部分组成,并且满足第二部分码字的码率高于总码率且第一部分码字的码率小于总码率;以使第一部分码字更加适用于SCL相关的译码算法,第二部分码字更加适用于GRAND译码算法,从而获得更低的译码复杂度和更好的译码性能。
[0237] 上述内容详细阐述了本申请提供的方法,为了便于实施本申请实施例的上述方案,本申请实施例还提供了相应的装置或设备。
[0238] 本申请根据上述方法实施例对通信装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面将结合图22至图24详细描述本申请实施例的通信装置。
[0239] 参见图22,图22是本申请实施例提供的通信装置的一结构示意图。如图22所示,该通信装置包括收发单元10和处理单元20。
[0240] 在本申请的一些实施例中,该通信装置可以是上文示出的接收端或接收端中的芯片等。即图22所示的通信装置可以用于执行上文方法实施例中由接收端执行的步骤或功能等。
[0241] 收发单元10,用于接收第一接收序列,对该第一接收序列的第一部分进行第一极化码译码获得第一译码结果;处理单元20,用于根据该第一译码结果更新该第一接收序列获得第二接收序列,对该第二接收序列的第二部分进行第二极化码译码获得第二译码结果,以及根据该第一译码结果和该第二译码结果确定译码输出序列。
[0242] 在一种可能的实现方式中,处理单元20,具体用于:对该第一接收序列进行一级串行抵消译码获得第一译码序列,并采用第一译码算法对该第一译码序列的第一部分进行译码获得第一译码结果。
[0243] 在一种可能的实现方式中,处理单元20,具体用于:对该第二接收序列进行一级串行抵消译码获得第二译码序列,并采用第二译码算法对该第二译码序列的第二部分进行译码获得第二译码结果。
[0244] 在一种可能的实现方式中,处理单元20,具体用于:对该第一译码结果进行编码获得第一编码结果;根据该第一编码结果更新该第一接收序列的软值和硬值获得第二接收序列。
[0245] 在一种可能的实现方式中,处理单元20,具体用于:根据该第一译码结果包括的m条候选序列和该第二译码结果包括的n条候选序列确定n条候选译码序列;对该n条候选译码序列进行编码获得n条候选编码序列;根据该n条候选编码序列确定译码输出序列,该译码输出序列是该n条候选编码序列中与该第一接收序列的欧式距离最小的候选编码序列对应的候选译码序列。
[0246] 本申请实施例中,关于第一接收序列、第一译码序列、第一译码结果、第二接收序列、第二译码序列、第二译码结果等的具体说明可以参考上文所示的方法实施例(包括图12),这里不再一一详述。
[0247] 可以理解,本申请实施例示出的收发单元和处理单元的具体说明仅为示例,对于收发单元和处理单元的具体功能或执行的步骤等,可以参考上述方法实施例,这里不再详述。
[0248] 复用图22,在本申请的另一些实施例中,该通信装置可以是上文示出的发送端或发送端中的芯片。即图22所示的通信装置可以用于执行上文方法实施例中由发送端执行的步骤或功能等。
[0249] 处理单元20,用于生成码字,该码字包括信源序列、冻结位和CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E);处理单元20,还用于传输该码字。其中,该信源序列包括长度为K1的第一信源子序列和长度为K2的第二信源子序列,K=K1+K2。该CRC比特包括长度为E1的第一CRC比特和长度为E2的第二CRC比特,E=E1+E2。该冻结位包括长度为F1的第一冻结位和长度为F2的第二冻结位,(N‑K‑E)=F1+F2。该第一CRC比特的校验范围包括该第一信源子序列和该第一冻结位,该第二CRC比特的校验范围包括该信源序列、该冻结位以及该第一CRC比特。
[0250] 在一种可能的实现方式中,收发单元10,还用于发送该码字。
[0251] 本申请实施例中,关于第一信源子序列、第二信源子序列、第一CRC比特、第二CRC比特、第一冻结位、以及第二冻结位等的具体说明可以参考上文所示的方法实施例(包括图20),这里不再一一详述。
[0252] 可以理解,本申请实施例示出的收发单元和处理单元的具体说明仅为示例,对于收发单元和处理单元的具体功能或执行的步骤等,可以参考上述方法实施例,这里不再详述。
[0253] 以上介绍了本申请实施例的发送端和接收端,以下介绍所述发送端和接收端可能的产品形态。应理解,但凡具备上述图22所述的发送端的功能的任何形态的产品,或者,但凡具备上述图22所述的接收端的功能的任何形态的产品,都落入本申请实施例的保护范围。还应理解,以下介绍仅为举例,不限制本申请实施例的发送端和接收端的产品形态仅限于此。
[0254] 在一种可能的实现方式中,图22所示的通信装置中,处理单元20可以是一个或多个处理器,收发单元10可以是收发器,或者收发单元10还可以是发送单元和接收单元,发送单元可以是发送器,接收单元可以是接收器,该发送单元和接收单元集成于一个器件,例如收发器。本申请实施例中,处理器和收发器可以被耦合等,对于处理器和收发器的连接方式,本申请实施例不作限定。在执行上述方法的过程中,上述方法中有关发送信息的过程,可以理解为由处理器输出上述信息的过程。在输出上述信息时,处理器将该上述信息输出给收发器,以便由收发器进行发射。该上述信息在由处理器输出之后,还可能需要进行其他的处理,然后才到达收发器。类似的,上述方法中有关接收信息的过程,可以理解为处理器接收输入的上述信息的过程。处理器接收输入的信息时,收发器接收该上述信息,并将其输入处理器。更进一步的,在收发器收到该上述信息之后,该上述信息可能需要进行其他的处理,然后才输入处理器。
[0255] 参见图23,图23是本申请实施例提供的通信装置1000的结构示意图。该通信装置1000可以为接收端或发送端,或其中的芯片。图23仅示出了通信装置1000的主要部件。除处理器1001和收发器1002之外,该通信装置还可以进一步包括存储器1003、以及输入输出装置(图未示意)。
[0256] 处理器1001主要用于对通信协议以及通信数据进行处理,以及对整个通信装置进行控制,执行软件程序,处理软件程序的数据。存储器1003主要用于存储软件程序和数据。收发器1002可以包括控制电路和天线,控制电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
[0257] 当通信装置开机后,处理器1001可以读取存储器1003中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器1001对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到通信装置时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器1001,处理器1001将基带信号转换为数据并对该数据进行处理。
[0258] 在另一种实现中,所述的射频电路和天线可以独立于进行基带处理的处理器而设置,例如在分布式场景中,射频电路和天线可以与独立于通信装置,呈拉远式的布置。
[0259] 收发器1002可以包括接收机和发射机,该接收机用于执行接收的功能(或操作),该发射机用于执行发射的功能(或操作)。以及收发器用于通过传输介质和其他设备/装置进行通信。
[0260] 其中,处理器1001、收发器1002、以及存储器1003可以通过通信总线连接。
[0261] 示例性的,当该通信装置用于执行上述接收端执行的步骤或方法或功能时,收发器1002用于接收第一接收序列;处理器1001用于对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,根据第一译码结果更新第一接收序列获得第二接收序列,再对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,根据第一译码结果和第二译码结果确定译码输出序列。
[0262] 本申请实施例中,关于第一接收序列、第一译码结果、第二接收序列、第二译码结果等的具体说明可以参考上文所示的方法实施例,这里不再一一详述。
[0263] 示例性的,当该通信装置用于执行上述发送端执行的步骤或方法或功能时,处理器1001用于生成码字,该码字包括信源序列、冻结位和CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E);收发器1002用于传输该码字。
[0264] 本申请实施例中,关于信源序列、CRC比特、冻结位等的具体说明可以参考上文所示的方法实施例,这里不再一一详述。
[0265] 可理解,对于处理器和收发器的具体说明还可以参考图22所示的处理单元和收发单元的介绍,这里不再赘述。
[0266] 可选的,处理器1001中可以包括用于实现接收和发送功能的收发器。例如该收发器可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。
[0267] 可选的,处理器1001可以存有指令,该指令可为计算机程序,计算机程序在处理器1001上运行,可使得通信装置1000执行上述方法实施例中描述的方法。计算机程序可能固化在处理器1001中,该种情况下,处理器1001可能由硬件实现
[0268] 在一种实现方式中,通信装置1000可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、无线射频集成电路(radio frequency integrated circuit,RFIC)、混合信号IC、专用集成电路(application specific integrated circuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属化物半导体(complementary metal oxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal‑oxide‑semiconductor,NMOS)、P型金属氧化物半导体(positive channel metal oxide semiconductor,PMOS)、双极结型晶体管(bipolar junction transistor,BJT)、双极CMOS(BiCMOS)、锗(SiGe)、砷化镓(GaAs)等。
[0269] 可理解,本申请实施例示出的通信装置还可以具有比图23更多的元器件等,本申请实施例对此不作限定。以上所示的处理器和收发器所执行的方法仅为示例,对于该处理器和收发器具体所执行的步骤可参考上文方法实施例的介绍。
[0270] 在另一种可能的实现方式中,图22所示的通信装置中,处理单元20可以是一个或多个逻辑电路,收发单元10可以是输入输出接口,又或者称为通信接口,或者接口电路,或接口等等。或者收发单元10还可以是发送单元和接收单元,发送单元可以是输出接口,接收单元可以是输入接口,该发送单元和接收单元集成于一个单元,例如输入输出接口。参见图24,图24是本申请实施例提供的通信装置的另一结构示意图。如图24所示,图24所示的通信装置包括逻辑电路901和接口902。即上述处理单元20可以用逻辑电路901实现,收发单元10可以用接口902实现。其中,该逻辑电路901可以为芯片、处理电路、集成电路或片上系统(system on chip,SoC)芯片等,接口902可以为通信接口、输入输出接口、管脚等。示例性的,图24是以上述通信装置为芯片为例示出的,该芯片包括逻辑电路901和接口902。
[0271] 本申请实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本申请实施例不作限定。
[0272] 示例性的,当通信装置用于执行上述接收端执行的方法或功能或步骤时,接口902用于输入第一接收序列;逻辑电路901用于对第一接收序列的第一部分进行第一极化码译码获得第一译码结果,根据第一译码结果更新第一接收序列获得第二接收序列,再对第二接收序列的第二部分进行第二极化码译码获得第二译码结果,根据第一译码结果和第二译码结果确定译码输出序列。
[0273] 本申请实施例中,关于第一接收序列、第一译码结果、第二接收序列、第二译码结果等的具体说明可以参考上文所示的方法实施例,这里不再一一详述。
[0274] 示例性的,当该通信装置用于执行发送端执行的步骤或方法或功能时,逻辑电路901用于生成码字,该码字包括信源序列、冻结位和CRC比特,该码字的长度为N,该信源序列的长度为K,该CRC比特的长度为E,该冻结位的长度为(N‑K‑E);接口902用于输出该码字。
[0275] 本申请实施例中,关于信源序列、CRC比特、冻结位等的具体说明可以参考上文所示的方法实施例,这里不再一一详述。
[0276] 可理解,对于逻辑电路901和接口902的具体说明还可以参考图22所示的处理单元和收发单元的介绍,这里不再赘述。
[0277] 可理解,本申请实施例示出的通信装置可以采用硬件的形式实现本申请实施例提供的方法,也可以采用软件的形式实现本申请实施例提供的方法等,本申请实施例对此不作限定。
[0278] 对于图24所示的各个实施例的具体实现方式,还可以参考上述各个实施例,这里不再详述。
[0279] 本申请实施例还提供了一种无线通信系统,该无线通信系统包括发送端和接收端,该发送端可以用于执行前述图20所示实施例中的方法,该接收端可以用于执行前述图12所示实施例中的方法。
[0280] 此外,本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由接收端执行的操作和/或处理。
[0281] 本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由发送端执行的操作和/或处理。
[0282] 本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由接收端执行的操作和/或处理。
[0283] 本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由发送端执行的操作和/或处理。
[0284] 本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由接收端执行的操作和/或处理被执行。
[0285] 本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由发送端执行的操作和/或处理被执行。
[0286] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0287] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例提供的方案的技术效果。
[0288] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0289] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘只读存储器(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0290] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
QQ群二维码
意见反馈