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
|双
|单
ctrl- - - - - -伴随采样流的控制信号
samplecontrol
公共汽车
与采样流伴随的控制信号,指定为samplecontrol
公共汽车。总线包括开始
,结束
,有效的
控制信号,它表示框架的边界和样本的有效性。
开始
—输入帧的开始结束
—输入帧的结束有效的
—输入的数据数据端口有效
详情请参见示例控制总线.
数据类型:公共汽车
K- - - - - -信息块的长度(以比特为单位)
正整数
信息块的长度(以位为单位),指定为正整数。对于下行消息,K必须在36到164之间。对于上行消息,K必须在18到25或31到1023之间。
依赖关系
若要启用此端口,请设置配置源参数输入端口
.
数据类型:fixdt (0 10 0)
E- - - - - -速率匹配的输出长度(以比特为单位)
标量正整数
速率匹配的输出长度(以位为单位),指定为标量正整数。为指定值E它大于K小于等于8192。
依赖关系
若要启用此端口,请设置配置源参数输入端口
.
数据类型:fixdt (0 14 0)
RNTI- - - - - -目标RNTI
16位无符号整数
目标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是的
ctrl- - - - - -伴随采样流的控制信号
samplecontrol
公共汽车
与样本流一起返回的控制信号samplecontrol
公共汽车。总线包括开始
,结束
,有效的
控制信号,它表示框架的边界和样本的有效性。
开始
—输出帧的开始结束
—输出帧结束有效的
—输出数据数据端口有效
详情请参见示例控制总线.
数据类型:公共汽车
犯错- - - - - -CRC的结果
标量
CRC结果,作为标量返回。如果你清除完全校验和不匹配参数,此值为布尔值。当你选择完全校验和不匹配参数,此值为aufix24
标量用于下行链路消息和ufix11
或ufix6
上行链路消息的标量。
如果您启用RNTI端口时,块将内部CRC校验和与目标RNTI值进行比较。否则,块将CRC校验和与值0进行比较。
数据类型:布尔
|ufix11
|ufix24
nextFrame- - - - - -为新的输入做好准备
标量
该块设置此信号为1
当块准备好接受下一帧的开始时。如果块接收到一个输入开始信号而nextFrame是0
,块丢弃正在进行的帧,并开始处理新的数据。
有关更多信息,请参见使用nextFrame输出信号.
数据类型:布尔
参数
连接方向- - - - - -5G NR链路方向
下行
(默认)|上行
5G NR链路方向,指定为下行
或上行
.当你选择的时候下行
时,该块按照5G NR标准进行去交织。当你选择上行
,块省略了去交错逻辑。
下行解码使用24位的CRC长度。上行解码使用6位的CRC长度(K在18至25的范围内)或11位(K在31到1023之间)。
列表的长度- - - - - -解码路径数
2
(默认)|4
|8
该参数是解码树中维护的最大并行路径数。增加列表长度可以提高纠错性能,但会占用更多的硬件资源,并增加解码延迟。的列表长度4
而且8
时,延迟可以随输入信号的信噪比而变化,对于给定的值,延迟不是恒定的K而且E.使用nextFrame输出信号,以确定何时块对新消息可用。
配置源- - - - - -K和E的源
财产
(默认)|输入端口
选择输入端口
要启用K而且E港口。选择财产
使用消息长度(K)而且速率匹配长度(E)参数。
消息长度(K)- - - - - -信息块的长度(以比特为单位)
56
(默认值)|正整数
对于下行消息,K必须在36到164之间。对于上行消息,K必须在18到25或31到1023之间。
依赖关系
若要启用此参数,请设置配置源参数财产
.
速率匹配长度(E)- - - - - -速率匹配的输出长度(以比特为单位)
864
(默认值)|正整数
为指定值E它大于K小于等于8192。
依赖关系
若要启用此参数,请设置配置源参数财产
.
完全校验和不匹配- - - - - -返回最后解码阶段的校验和
从
(默认)|在
属性上的布尔标量犯错端口,表示CRC校验是否成功。选择此参数时,块将返回节点上的完整CRC校验和犯错端口。如果您的设计解码DCI消息并使用RNTI余数,请选择此参数。
如果您启用RNTI端口,块比较内部CRC校验和与目标RNTI值。否则,块将CRC校验和与值0进行比较。
的nrPolarDecode
(5 g工具箱)函数返回一个包含CRC位的解码消息。该块返回不带CRC位的已解码消息,并在犯错端口。此行为等价于调用nrCRCDecode
(5 g工具箱)函数。nrPolarDecode
函数。不重新计算CRC位可以节省硬件延迟和资源。
启用目标器RNTI端口- - - - - -指定目标RNTI值的可选端口
从
(默认)|在
选择此参数可启用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值。
延迟
的示例延迟NR极性解码器每个方块N,当对列表长度为2的上行和下行通道解码时。N的值确定编码后的2的幂消息长度吗K而且E.
N | 上行延迟 | 下行延迟 |
---|---|---|
32 | 349 | 不适用 |
64 | 576 | 677 |
128 | 1034 | 1135 |
256 | 1961 | 2062 |
512 | 3896 | 3996 |
1024 | 8202 | 不适用 |
的值不同,具体的延迟时间也不同K而且E.帧的延迟较长K而且E输入端口值改变,块必须计算新的配置。
增加列表长度会增加延迟。列表长度大于2的给定没有固定的延迟K而且E值。为了提供最小的延迟,只有当冻结位没有被解码为零时,块才跟踪2条以上的路径。这种优化意味着延迟可以随着输入信号的信噪比而增加。例如,对于长度为4和的列表N=512,最好的情况下延迟是4108个周期,最坏的情况下延迟是4985个周期。
因为延迟不同,所以使用输出nextFrame控制信号,以确定何时块准备好一个新的输入帧。
此波形显示了延迟如何随K而且E输入长度为2的列表的端口值。当输入K而且E端口值为132和256,块从输入开始的延迟为2272个周期开始输出信号nextFrame.当K而且E端口值改为54和124,时延改为1234个周期。
此波形显示了当使用列表长度为4时,延迟如何随着输入信号的噪声级别而变化。方块有K而且E参数值为132、256和连接方向参数设置为上行
.第一条消息的延迟为2533个周期。生成的消息数据噪声低,误码率低。在这种情况下,解码器可以分解为两条路径,并在比解码噪声更大的信号时更少的周期内产生结果。生成的第二条消息具有较高的噪声级别,解码延迟增加到3174个周期。当输入信号有更多的误码时,解码器必须跟踪更多的路径来确定正确的位。
性能
该表显示配置块时,该块的资源和性能数据综合结果K而且E作为输入端口连接方向参数设置为下行
,以及6位输入llr。生成的HDL以Xilinx为目标®Zynq®-7000 ZC706评估板。该设计实现了250 MHz的时钟频率。
资源 | 长度为2 | 列表长度为4 | 列表长度为8 |
---|---|---|---|
片附近地区 | 3048 | 4725 | 9963 |
片寄存器 | 2509 | 3804 | 6471 |
DSP48 | 0 | 0 | 0 |
块内存 | 4.5 | 5.5 | 6.0 |
块使用较少的资源时K而且E由参数指定。当你设置连接方向参数上行
,该块使用更多的内存来容纳更大的消息大小。
参考文献
[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。
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
此块支持Simulin金宝appk的C/ c++代码生成金宝app®加速器和快速加速器模式以及用于DPI组件生成。
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
这个块有一个默认的HDL架构。
ConstrainedOutputPipeline | 通过在设计中移动现有延迟来放置在输出端的寄存器数量。分布式管道不会重新分发这些寄存器。默认为 |
InputPipeline | 要在生成的代码中插入的输入管道阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认为 |
OutputPipeline | 要在生成的代码中插入的输出管道阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认为 |
类型中的此块无法生成HDL可重置同步子系统(高密度脂蛋白编码器).
版本历史
R2020a中引入
另请参阅
nrPolarDecode
(5 g工具箱)|NR极性编码器
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。