首页> 中国专利> 基于网格图的译码方法、分量译码器和信道译码器

基于网格图的译码方法、分量译码器和信道译码器

摘要

本申请提供了一种基于网格图的译码方法、分量译码器和信道译码器。该基于网格图的译码方法包括在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N1个有效状态和R1个无效状态,其中,M、N1和R1为正整数,M个状态为网格图的至少一个时刻中任一时刻对应的所有状态;将N1个有效状态参与计算至少一个时刻的下一时刻对应状态的状态度量和/或上一时刻对应状态的状态度量,以生成译码信息。本申请能够减少译码的状态数,从而降低译码的计算量和工程实现复杂度。

著录项

  • 公开/公告号CN113824452A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 南京创芯慧联技术有限公司;

    申请/专利号CN202111389573.4

  • 发明设计人 张凯;倪海峰;檀甲甲;

    申请日2021-11-23

  • 分类号H03M13/39(20060101);H04L1/00(20060101);

  • 代理机构11505 北京布瑞知识产权代理有限公司;

  • 代理人孟潭

  • 地址 210048 江苏省南京市江北新区星火路15号智芯科技楼9楼915室

  • 入库时间 2023-06-19 13:46:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-12

    授权

    发明专利权授予

说明书

技术领域

本申请涉及通信技术领域,具体涉及一种基于网格图的译码方法、分量译码器和信道译码器。

背景技术

在通信系统中,由于通信环境的多样性以及接收端的移动特性等导致接收端接收到的信号是叠加了各种噪声的有噪信号。当各种噪声较多时就会使有噪信号中存在较多的错误,严重时甚至无法进行信号中有用信息的传输。

为了保证有用信息的有效传输,通常发送端采用信道编码的方法在有用信息中添加冗余信息,接收端采用信道译码的方法基于这些冗余信息将信息传输过程中出现的错误进行纠正。其中,接收端所采用信道译码的方法直接决定了译码复杂度及译码性能的好坏。

通常,从信息转换/提取以及计算方式的层面进行简化译码的复杂度。例如,最大后验概率(Maximum Aprior Probility, MAP)算法虽有优良的译码性能,但是这种译码方法是以高复杂度以及超大的计算量为代价的。基于MAP算法,将网格(Trellis)图上传递的概率域信息转变为对数域信息,将乘法转换为加法,从而提出了对数域的MAP(Log-MAP)译码算法;为了进一步降低网格图上每个状态的计算量,对计算状态的过程进行了简化,从而提出了最大对数域的MAP(Max-Log-MAP)译码算法。再例如,基于软输出维特比算法(SoftOutput Viterbi Algorithm,SOVA),利用双向SOVA提高译码性能等。

然而,这些译码方法中均没有从译码的流程上进行优化。这些译码方法的计算量主要集中在前向状态度量和后向状态度量的计算过程中,且要根据网格(Trellis)图的拓扑结构遍历每一时刻的所有状态,而后针对每一时刻的所有状态进行前向状态度量和后向状态度量的计算,因而这些译码方法的复杂度仍然较高且计算量仍然较大。

发明内容

有鉴于此,本申请致力于提供一种基于网格图的译码方法、分量译码器和信道译码器,能够减少译码的状态数,从而降低译码的计算量和工程实现复杂度。

本申请的第一方面提供了一种基于网格图的译码方法。该基于网格图的译码方法包括在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N

在一实施例中,上述根据M个状态的状态度量大小将M个状态划分为N

在一实施例中,上述根据M个状态的状态度量大小将M个状态划分为N

在一实施例中,在上述若M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

在一实施例中,上述若M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

在一实施例中,当M=16时,12≤N

在一实施例中,在上述将N

本申请的第二方面提供了一种分量译码器。该分量译码器包括划分模块,用于在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N

本申请的第三方面提供了一种信道译码器。该信道译码器包括至少一个本申请的第二方面所提供的任一种分量译码器。

本申请的第四方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现如本申请的第一方面中任一种基于网格图的译码方法。

根据本申请实施例提供的技术方案,通过采用状态度量的大小作为划分M个状态的划分准则,将M个状态划分为N

附图说明

图1所示为本申请一实施例提供的一种通信系统的框图。

图2A所示为本申请一实施例提供的一种分量编码器中寄存器的状态变化图。

图2B所示为本申请一实施例提供的一种分量编码器对应的网格图的示意图。

图3所示为本申请第一实施例提供的一种基于网格图的译码方法的流程示意图。

图4所示为本申请第二实施例提供的一种基于网格图的译码方法的流程示意图。

图5所示为本申请第三实施例提供的一种基于网格图的译码方法的流程示意图。

图6所示为本申请第四实施例提供的一种基于网格图的译码方法的流程示意图。

图7所示为本申请一实施例提供的一种分量译码器的示意图。

图8所示为本申请一实施例提供的一种信道译码器的示意图。

图9A所示为本申请一实施例提供的一种仿真过程中使用的信道编码器的示意图。

图9B所示为本申请一实施例提供的一种仿真处理后译码性能对比的示意图。

图10所示为根据本申请一实施例提供的一种电子设备的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1所示为本申请一实施例提供的一种通信系统的框图。如图1所示,该通信系统100中包括发送端110、信道120和接收端130。发送端110将信号通过信道120发送给接收端130。发送端110中设置有信道编码器1101,信道编码器1101中包含有至少一个分量编码器11011。接收端130中设置有信道译码器1301,信道译码器1301中包含有至少一个分量译码器13011。

信道编码器1101用于在有用信息中添加冗余信息,以生成编码后的信息。应当理解,发送端110还可以对编码后的信息进行交织、脉冲成形和调制等方式进行处理,从而形成信号,之后将信号通过信道120传输给接收端130。

信道译码器1301用于将待译码信息进行译码以检查并纠正信道传输过程中出现的错误,最终输出有用信息。应当理解,待译码信息为信道译码器所接收的信息,具体地,待译码信息可以是接收端130对信号进行解调、采样判决和去交织等方式进行处理后形成的信息。

由于不管发送端110发送的比特是比特1还是比特0,接收端130都可能误判。如果收到信号r,正确判为0的概率与正确判为1的概率的比值就是似然比,再取个自然对数就是对数似然比了,所以接收端130还可以采用公式LLR = ln[p(r|b=0)/p(r|b=1)]计算出对数似然比。待译码信息也可以为接收端130进一步进行对数似然比计算后的信息。

应当理解,图1所示的通信系统仅仅是示例性的一种单向通信系统,还可以是双向通信系统等,例如,接收端130也可以将信号通过信道120发送给发送端110,本申请对通信系统的类型不做具体限定。

图2A所示为本申请一实施例提供的一种分量编码器中寄存器的状态变化图。图2B所示为本申请一实施例提供的一种分量编码器对应的网格图的示意图。

如图2A所示,分量编码器11011中有4个寄存器11011a,4个寄存器11011a一共有2

举例来说,图2A中,寄存器的初始状态为s

将状态的这种变化可以转变为图2B所示的网格图。如图2B所示,网格图中共有k节,且每节均相同,k表示输入分量编码器的比特个数,同时每一时刻都有16个状态,每个状态伸出两条边,分别对应比特0和比特1,因此,每节共有16×2=32条边,用

从图2B中能够清楚地反映寄存器状态的变化以及编码过程。例如待编码比特为(1,0,1,...),假设从s

图2A所示仅仅为示例性地一种分量编码器,应当理解,分量编码器中寄存器的数量包括但不限于4个,例如还可以为2个或6个等,本申请对此不做具体限定。寄存器的数量可以与卷积码中的约束长度相关,举例来说,约束长度为K,则寄存器的数量为K-1个,每个时刻对应的所有状态(对应于本申请实施例中的M个状态)的数量M为2

图3所示为本申请第一实施例提供的一种基于网格图的译码方法的流程示意图。该基于网格图的译码方法的执行主体可以为接收端中信道编码器的任一分量译码器,也可以是处理器、控制器等,本申请对此不做具体限定。以下以分量译码器为例。如图1所示,该基于网格图的译码方法包括以下步骤。

S110:在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N

在一些实施例中,可以针对每一时刻对应的M个状态,将M个状态划分为N

根据M个状态的状态度量大小将M个状态划分为N

状态度量可以被定义为达到某一状态的概率。以前向状态度量的计算为例,概率越大则说明这一状态在当前时刻出现的可能性就越大,对下一时刻对应状态的状态度量的计算做出的贡献越大,也就是说拥有较大概率的状态度量在前向状态度量的计算中起到主导作用,拥有较小概率的状态度量在前向状态度量的计算中起的作用较小,当概率非常小时可以认为此状态对前向状态度量的计算不做任何贡献,即可以省略关于其的计算。后向状态度量的计算与前向状态度量的计算类似,此处不再赘述。

有效状态可以为对前向状态度量和/或后向状态度量的计算具有贡献的状态或者贡献较大的状态,无效状态可以为对前向状态度量和/或后向状态度量的计算没有贡献的状态或者贡献较小的状态。

分量编码器的网格图与分量译码器的网格图类似,可以参考图2B所示的网格图对本申请实施例中基于网格图的译码方法进行举例说明。参考图2B,M=16时,M个状态可以为s

若至少一个时刻为多个时刻,N

S120:将N

具体而言,将N

本申请所提供的任何一种基于网格图的译码方法可以应用于所有需要计算前向状态度量和/或后向状态度量的译码方法中,包括但不限于MAP算法、Log-Map算法、Max-Log-Map算法或SOVA。以下以Max-Log-Map算法为例。

在前向状态度量的计算过程中,通常,Max-Log-Map算法中所采用的前向状态度量的计算公式为

而在本申请实施例中,由于将M个状态划分为N

在后向状态度量的计算过程中,通常的Max-Log-Map算法中所采用的后向状态度量的计算公式为

而在本申请实施例中,由于将M个状态划分为N

根据本申请实施例提供的技术方案,通过采用状态度量的大小作为划分M个状态的划分准则,将M个状态划分为N

图4所示为本申请第二实施例提供的一种基于网格图的译码方法的流程示意图。图4所示实施例为图3所示实施例的一变型例。如图4所示,与图3所示实施例的不同之处在于,步骤S1101为图3所示实施例中的步骤S110的一种示例性的实现方式。

S1101:将M个状态中状态度量较大的前N

具体而言,将M个状态对应的M个状态度量依照从大到小的顺序进行排序,并从M个状态度量中选取状态度量较大的前N

根据本申请实施例提供的技术方案,通过N

在本申请一实施例中,该基于网格图的译码方法还可以包括步骤S101和S102,S1201对应于图3所示实施例中的步骤S120。

S101:在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,接收待译码信息,待译码信息包括系统信息、校验信息和先验信息。

具体而言,经信道传输后,分量译码器可以接收到系统信息、校验信息以及先验信息,系统信息、校验信息和先验信息可以统称为待译码信息。先验信息可以由外部系统如另一分量译码器等提供。

以Max-Log-Map算法为例,系统信息可以为系统位对数似然比

S102:根据待译码信息计算N

以Max-Log-Map算法为例,在当前时刻t下,状态p对应的分支度量可以表示为

S1201:根据N

举例来说,在计算至少一个时刻的下一时刻对应状态的状态度量时,可以采用公式

本申请实施例中,通过根据待译码信息计算N

图5所示为本申请第三实施例提供的一种基于网格图的译码方法的流程示意图。图5所示实施例为图3所示实施例的一变型例。如图5所示,与图3所示实施例的不同之处在于,步骤S1102为图3所示实施例中的步骤S110的一种示例性的实现方式。

S1102:在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,若M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

具体而言,分量译码器可以判断M个状态中是否存在状态度量为无效数据的状态,若判断结果为M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

若判断结果为M个状态中不存在状态度量为无效数据的状态,则可以将M个状态均确定为N

无效数据可以采用任何不可能存在的状态度量的数值表示,例如-33333、-99999或-∞等,本申请对此不做具体限定。

根据本申请实施例提供的技术方案,通过若M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

在本申请一实施例中,在步骤S1102之后还可以包括S111和S112,步骤S1201对应于图3所示实施例中的步骤S120。

S111:确定预设数值N

预设数值N

举例来说,当预设数值N

S112:若N

具体而言,分量译码器可以判断N

在本申请一实施例中,当M=16时,12≤N

举例来说,参考图2B,针对任一时刻对应的所有状态共有16个状态,也即M=16,可以设置N

本申请实施例中,通过设置当M=16时,12≤N

S1202:将N

本申请实施例中,综合考虑到在N

图6所示为本申请第四实施例提供的一种基于网格图的译码方法的流程示意图。图6所示实施例为图5所示实施例的一变型例。如图6所示,与图5所示实施例的不同之处在于,步骤S11021至S11023为图5所示实施例中的步骤S1102的一种示例性的实现方式。

S11021:在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,若至少一个时刻为初始时刻,将M个状态中已知状态的状态度量设置为0,已知状态以外的其他状态的状态度量设置为无效数据。

举例来说,参考图2B,无效数据设置为-∞,在前向状态度量的计算过程中,初始时刻为第一时刻(t=0),初始时刻时所有状态的状态度量可以采用ɑ

在后向状态度量的计算过程中,初始时刻为最后时刻(t=k),初始时刻时所有状态的状态度量可以采用β

S11022:将已知状态确定为N

举例来说,在前向状态度量的计算过程中,若已知状态为状态s

S11023:将其余M-N

举例来说,在前向状态度量的计算过程中,将除状态s

应当理解,步骤S11021至S11023可以为图5所示实施例中的步骤S1102的一种示例性的实现方式,也可以为图5所示实施例中的步骤S1102在初始时刻时的一种示例性的实现方式,在其他时刻时,可以采用图5所示实施例中的其他方式实现,本申请对此不做具体限定。

根据本申请实施例提供的技术方案,通过在初始时刻时,将已知状态确定为有效状态,已知状态以外的其他状态设置为无效状态,从而使得针对初始时刻的特殊性,精准地确定有效状态和无效状态,极大地降低了初始时刻对应状态的前向状态度量和/或后向状态度量的计算量。

图7所示为本申请一实施例提供的一种分量译码器的示意图。如图7所示,该分量译码器700包括划分模块710和计算模块720。划分模块710用于在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N

根据本申请实施例提供的技术方案,通过采用状态度量的大小作为划分M个状态的划分准则,利用划分模块将M个状态划分为N

在本申请一实施例中,划分模块710还用于将M个状态中状态度量较大的前N

在本申请一实施例中,划分模块710还用于若M个状态中存在状态度量为无效数据的状态,则将状态度量为无效数据的状态确定为R

在本申请一实施例中,划分模块710还用于若N

在本申请一实施例中,划分模块710还用于若至少一个时刻为初始时刻,将M个状态中已知状态的状态度量设置为0,已知状态以外的其他状态的状态度量设置为无效数据;将已知状态确定为N

在本申请一实施例中,当M=16时,12≤N

在本申请一实施例中,该分量译码器700还可以包括接收模块701,接收模块701用于接收待译码信息,待译码信息包括系统信息、校验信息和先验信息。计算模块720还用于根据待译码信息计算N

应当理解,上述实施例中的划分模块710、计算模块720和接收模块701的具体工作过程和功能可以参考上述图3所示实施例至图6所示实施例提供的基于网格图的译码方法中的描述,为了避免重复,在此不再赘述。

图8所示为本申请一实施例提供的一种信道译码器的示意图。如图8所示,信道译码器800可以包括第一分量译码器810和第二分量译码器820,其中,第一分量译码器810和第二分量译码器820中任一个或两个可以采用图7所示实施例中的分量译码器。此外,信道译码器800还可以包括交织器830、交织器840和逆交织器850。

具体而言,信道译码器800接收到对数似然比(Log Likelihood Ratio,LLR)

其中,第一分量译码器820和第二分量译码器820输出的软信息可以采用公式

应当理解,图8所示仅仅为一种示例性的信道译码器的示意图,本申请实施例中的信道译码器可以包括一个或多个分量译码器,并不限于2个分量译码器。

根据本申请实施例提供的技术方案,通过在信道译码器中设置本申请实施例中的分量译码器,从而采用状态度量的大小作为划分M个状态的划分准则,将M个状态划分为N

图9A所示为本申请一实施例提供的一种仿真过程中使用的信道编码器的示意图。如图9A所示,信道编码器900可以包括第一分量编码器910、第二分量编码器920和交织器930。图中符号“

举例来说,第一分量编码器910和第二分量编码器920可以使用相同的生成多项式。待编码比特向量X=(x

信道编码器900产生的码字可以以一维向量的形式给出,针对码字矩阵式按照从上到下、从左到右的顺序输出得到最终码字

图9A中交织器930的输入X=(x

应当理解,图9A所示仅仅为示例性地示意图,信道编码器900为一种Turbo编码器,仿真过程中也可以使用包含其他结构的分量编码器的信道编码器,例如,分量编码器中寄存器的数量可以为5个、6个,甚至更多个,寄存器数量不同时,网格图的连接方式会发生改变,因此,不同结构的分量编码器会导出不同连接方式的网格图,本申请对分量编码器的结构不做具体限定。信道编码器900可以是由两个或多个卷积码并行得到的,每个卷积码的生成多项式可以相同也可以不同。由于系统码中直接包含了有用信息,在信噪比较大时可以直接输出信息比特,因此信道编码器中通常选用递归系统卷积码(Recursive SystemConvolutional,RSC)作为分量码。虽然图9A给出了含有两个分量码的信道编码器的示意图,但本申请对分量码的数量不做具体限定。

图9B所示为本申请一实施例提供的一种仿真处理后译码性能对比的示意图。具体的仿真过程可以如下:令信息长度5000bit,打孔矩阵

图9B中横坐标为信噪比E

此外,采用本申请实施例的译码方法中,由于将N

图10所示为根据本申请一实施例提供的一种电子设备的框图。

参照图10,电子设备1000包括处理组件1010,其进一步包括一个或多个处理器,以及由存储器1020所代表的存储器资源,用于存储可由处理组件1010的执行的指令,例如应用程序。存储器1020中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1010被配置为执行指令,以执行上述基于网格图的译码方法。

电子设备1000还可以包括一个电源组件被配置为电子设备1000的电源管理,一个有线或无线网络接口被配置为将电子设备1000连接到网络,和一个输入输出(I/O)接口。电子设备1000可以操作基于存储在存储器1020的操作系统,例如Windows Server

一种非临时性计算机可读存储介质,当存储介质中的指令由上述电子设备1000的处理器执行时,使得上述电子设备1000能够执行一种基于网格图的译码方法,该译码方法由代理程序执行,该译码方法包括:在针对待译码信息进行前向状态度量和/或后向状态度量的计算过程中,根据M个状态的状态度量大小将M个状态划分为N

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序校验码的介质。

本领域的技术人员可以清楚的了解到,为了描述的方便和简洁,上述描述的装置、系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

还需要说明的是,本申请实施例中各技术特征的组合方式并不限本申请实施例中所记载的组合方式或是具体实施例所记载的组合方式,本案所记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号