主要内容

NR极性解码器

根据5G NR标准进行极性解码

自从R2020a

  • NR极性解码器块

库:
无线HDL工具箱/错误检测和纠正

描述

NR极性解码器Block实现了一个流极解码器与硬件友好的控制信号。5G NR标准采用极性码对DCI、UCI和BCH发射信道进行信道编码。

5G NR标准定义的下行消息和上行消息的编码方案不同,需要指定链路方向。下行链路消息使用交错编码,并使用24位的CRC长度。上行链路消息不使用交叉,并使用6或11的CRC长度。

这个代码块实现了一个crc辅助的连续取消列表解码器。的性能匹配nrPolarDecode(5 g工具箱)函数。您可以选择列表长度为2、4或8。增加列表长度可以提高纠错性能,但会占用更多的硬件资源,并增加解码延迟。您可以通过使用可选选项来提高DCI消息的解码性能RNTI端口指定期望的RNTI值。

此块还执行消息的CRC解码,相当于nrCRCDecode(5 g工具箱)函数。块根据您指定的链路方向和参数选择CRC长度K你提供的价值。的值检测DCI消息K而且E,自动在消息前加上1,相当于padCRC的输入参数。nrPolarDecode(5 g工具箱)函数。

因为极性解码操作的延迟可以变化,所以块提供了一个输出信号,nextFrame,表示该块何时准备好接受新的输入。有关详细信息,请参见延迟部分。

港口

输入

全部展开

输入样本,指定为标量对数似然比(LLR)。该块支持内置类型,以金宝app及字长为4到16位的带符号定点值。

软件支持金宝app而且用于模拟的数据类型,但不用于HDL代码生成。

数据类型:不动点|int8|int16||

与采样流伴随的控制信号,指定为samplecontrol公共汽车。总线包括开始结束,有效的控制信号,它表示框架的边界和样本的有效性。

  • 开始—输入帧的开始

  • 结束—输入帧的结束

  • 有效的—输入的数据数据端口有效

详情请参见示例控制总线

数据类型:公共汽车

信息块的长度(以位为单位),指定为正整数。对于下行消息,K必须在36到164之间。对于上行消息,K必须在18到25或31到1023之间。

依赖关系

若要启用此端口,请设置配置源参数输入端口

数据类型:fixdt (0 10 0)

速率匹配的输出长度(以位为单位),指定为标量正整数。为指定值E它大于K小于等于8192。

依赖关系

若要启用此端口,请设置配置源参数输入端口

数据类型:fixdt (0 14 0)

目标RNTI,指定为16位无符号整数。该值可提高DCI消息的解码精度。例如,解码SIB1 DCI消息时,打开该端口,并将目标RNTI设置为65,535。对于MIB解码,可以关闭该端口或将目标RNTI设置为0。

依赖关系

若要启用此端口,请设置连接方向下行并选择启用目标器RNTI端口参数。

数据类型:uint16

输出

全部展开

解码的数据位,作为标量返回。输出消息长度为一个位,一个K- - - - - -CRCLen.对于下行消息,CRCLen是24。对于上行消息,CRCLen为11或6,根据5G NR标准定义。

数据类型:fixdt (0,1,0)|布尔||
复数支持:金宝app是的

与样本流一起返回的控制信号samplecontrol公共汽车。总线包括开始结束,有效的控制信号,它表示框架的边界和样本的有效性。

  • 开始—输出帧的开始

  • 结束—输出帧结束

  • 有效的—输出数据数据端口有效

详情请参见示例控制总线

数据类型:公共汽车

CRC结果,作为标量返回。如果你清除完全校验和不匹配参数,此值为布尔值。当你选择完全校验和不匹配参数,此值为aufix24标量用于下行链路消息和ufix11ufix6上行链路消息的标量。

如果您启用RNTI端口时,块将内部CRC校验和与目标RNTI值进行比较。否则,块将CRC校验和与值0进行比较。

数据类型:布尔|ufix11|ufix24

该块设置此信号为1当块准备好接受下一帧的开始时。如果块接收到一个输入开始信号而nextFrame0,块丢弃正在进行的帧,并开始处理新的数据。

有关更多信息,请参见使用nextFrame输出信号

数据类型:布尔

参数

全部展开

5G NR链路方向,指定为下行上行.当你选择的时候下行时,该块按照5G NR标准进行去交织。当你选择上行,块省略了去交错逻辑。

下行解码使用24位的CRC长度。上行解码使用6位的CRC长度(K在18至25的范围内)或11位(K在31到1023之间)。

该参数是解码树中维护的最大并行路径数。增加列表长度可以提高纠错性能,但会占用更多的硬件资源,并增加解码延迟。的列表长度4而且8时,延迟可以随输入信号的信噪比而变化,对于给定的值,延迟不是恒定的K而且E.使用nextFrame输出信号,以确定何时块对新消息可用。

选择输入端口要启用K而且E港口。选择财产使用消息长度(K)而且速率匹配长度(E)参数。

对于下行消息,K必须在36到164之间。对于上行消息,K必须在18到25或31到1023之间。

依赖关系

若要启用此参数,请设置配置源参数财产

为指定值E它大于K小于等于8192。

依赖关系

若要启用此参数,请设置配置源参数财产

属性上的布尔标量犯错端口,表示CRC校验是否成功。选择此参数时,块将返回节点上的完整CRC校验和犯错端口。如果您的设计解码DCI消息并使用RNTI余数,请选择此参数。

如果您启用RNTI端口,块比较内部CRC校验和与目标RNTI值。否则,块将CRC校验和与值0进行比较。

nrPolarDecode(5 g工具箱)函数返回一个包含CRC位的解码消息。该块返回不带CRC位的已解码消息,并在犯错端口。此行为等价于调用nrCRCDecode(5 g工具箱)函数。nrPolarDecode函数。不重新计算CRC位可以节省硬件延迟和资源。

选择此参数可启用RNTI输入端口。提供目标RNTI值可以提高DCI消息的解码精度。例如,解码SIB1 DCI消息时,打开该端口,并将目标RNTI设置为65535。对于MIB解码,可以关闭该端口或将目标RNTI设置为0。

启用此端口还会改变块计算的方式犯错输出端口值。如果您启用RNTI端口,块比较内部CRC校验和与目标RNTI值。否则,块将CRC校验和与值0进行比较。

依赖关系

若要启用此参数,请设置连接方向参数下行

算法

全部展开

这个代码块实现了一个crc辅助的连续取消列表解码器。属性所配置的列表长度可以为2、4或8列表的长度参数。解码器遍历树中的所有llr以获得一个比特的决定,然后使用该决定来解码下一个比特。属性时,才会包含去交错步骤连接方向参数下行

这张图显示了极性解码器的结构。

时,块使用Configuration阶段K而且E输入端口值发生变化。块计算信息位的位置,并将它们传递给Decision阶段。由于映射模式是根据需要计算的,而不是存储在硬件中,所以该块支持所有映射模式金宝appK而且E支持范围内的值。金宝app属性时,配置阶段还会计算交织图案连接方向参数下行

当你设置配置源参数财产,K而且E值是常量,因此解码器不实现配置阶段。在这种情况下,块包括包含预计算配置的静态查找表。

为了减少每个解码的计算量,树内存存储每个节点为1或0的概率。每次迭代只更新已更改的llr。核心解码阶段使用LLR更新方程[3]

Decision阶段根据信息位和冻结位的预期位置检查LLR值,并将硬决策返回到树内存。如果预计位将被冻结,Decision阶段将返回一个硬决策为零,并更新相关路径的概率。路径内存从硬决策结果中重建最有可能的路径,并将路径和分数传递到下一阶段。

树内存和路径内存最多包含列表的长度路径。如果路径上的所有冻结位都为零(正如预期的那样),那么块将丢弃其他并行路径。当列表长度大于2时,这种优化会导致解码操作中的可变延迟。对于高噪声水平的信号,解码器必须增加并行路径的数量和解码周期。对于低噪声信号,译码器可以只使用两条并行路径,减少译码延迟。

路径选择阶段计算所有路径的CRC,然后选择通过CRC的路径。当你使用RNTI输入端口时,块将内部CRC校验和与目标RNTI值进行比较。否则,块将CRC校验和与值0进行比较。如果所有的crc都失败,块将返回得分较高的路径。

此实现与5G Toolbox™功能的性能相匹配nrPolarDecode(5 g工具箱)用相同的列表长度。因为块使用定点内部类型,所以任何差异都是量化的结果。

该图显示了块错误率性能与三种可能的列表长度。输入为6位LLR值。

显示较高列表长度时性能增加的图表。

参考文献

[1] 3gpp ts 38.211。“NR;物理通道和调制。”第三代伙伴计划;技术规范集团无线接入网.URL:https://www.3gpp.org

[2]阿里坎,埃尔达尔。信道极化:一种构造对称二进制输入无记忆信道容量实现码的方法IEEE信息论汇刊55岁,没有。7(2009年7月):3051-73。https://doi.org/10.1109/TIT.2009.2021379。

Balatsoukas-Stimming, Alexios, Mani Bastani Parizi和Andreas Burg。基于llr的极性码连续取消列表解码IEEE信号处理汇刊63年,没有。19(2015年10月):5165-79。https://doi.org/10.1109/TSP.2015.2439211。

扩展功能

版本历史

R2020a中引入

另请参阅

(5 g工具箱)|