主要内容

nrULSCH

应用UL-SCH编码器处理链

描述

nrULSCH系统对象™应用上行共享通道(UL-SCH)编码器处理链传输块。UL-SCH编码过程由循环冗余校验(CRC),代码块分割和CRC,低密度奇偶校验码(LDPC)编码,连接速度匹配和代码块。TS 38.212的对象实现这些方面[1]:

  • 章节6.2.1:交通阻塞CRC附件

  • 6.2.2部分:选择LDPC的基础图

  • 6.2.3部分:代码块分割和代码块CRC附件

  • UL-SCH部分6.2.4:信道编码

  • 6.2.5部分:速度匹配

  • 6.2.6部分:代码块连接

应用UL-SCH编码器处理链:

  1. 创建nrULSCH对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

encUL= nrULSCH创建一个UL-SCH编码器系统对象。

encUL= nrULSCH (名称,值)创建对象的属性设置通过使用一个或多个名称-值对。附上报价内的属性名,其次是指定值。未指定的属性的默认值。

例子:例如,nrULSCH (MultipleHARQProcesses,真的)创建对象并使多个混合自动重发请求(HARQ)过程。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

启用多个HARQ进程,指定为真正的。当设置为,对象使用一个单一的过程。当设置为真正的,对象使用多个HARQ进程最多16。在这两种情况下,使重发失败发生时,对象缓冲区输入数据。

数据类型:逻辑

目标代码,指定为一个实数区间(0,1)。默认值对应于526/1024。

可调:是的

数据类型:

使有限的缓冲速度匹配,指定为真正的。当设置为,内部缓冲区的大小用于速率匹配是完整的每个代码块的编码长度。当设置为真正的内部缓冲区的大小,您可以指定用于速率匹配通过设置LimitedBufferSize财产。

数据类型:逻辑

有限的缓冲区大小用于速度匹配,指定为一个正整数。默认值对应于384×66,这是一个代码块的最大编码长度。默认值意味着缓冲区大小没有限制。

依赖关系

要启用这个特性,设置LimitedBufferRateMatching真正的

数据类型:

使用

描述

例子

codedBits= encUL (国防部,nLayers,outlen,房车)UL-SCH编码器处理链适用于传输块之前加载到对象。对象返回编码、rate-matched和连接代码块的码字长度outlen。在您调用这个对象之前,您必须传输块加载到对象使用setTransportBlock对象的功能。国防部指定了调制方案。nLayers指定数量的传输层。房车指定的冗余版本传播。

例子

codedBits= encUL (___,harqID)指定HARQ进程数harqID使用当前的传输块除了输入参数在前面的语法。使用这个语法,设置MultipleHARQProcesses财产真正的。当属性设置,对象使用HARQ过程数字0。

输入参数

全部展开

调制方案,指定为“π/ 2-BPSK”,“正交相移编码”,16 qam的,64 qam,或256 qam。这个调制方案决定调制类型和使用的比特数/调制符号。

调制方案 每个符号的比特数
“π/ 2-BPSK” 1
“正交相移编码” 2
16 qam的 4
64 qam 6
256 qam 8

数据类型:字符|字符串

传输层的数量,指定为一个整数从1到4。有关更多信息,请参见6.3.1.3 TS 38.211部分。

数据类型:

位,输出码字长度指定为一个非负整数。实际的输出长度的多个产品的每个符号的比特数和数量的传输层。例如,对于64 - qam和1传输层,如果指定16outlen,实际的输出长度是6 x1x3 = 18。

数据类型:

冗余版本,指定为一个整数,从0到3。

数据类型:

HARQ进程数量,指定为一个整数,从0到15。

数据类型:

输出参数

全部展开

UL-SCH码字,作为一个二进制返回列向量的长度outlen。编码码字,rate-matched和获得的连接代码块处理传输块。

数据类型:int8

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

getTransportBlock 从UL-SCH得到交通阻塞或DL-SCH编码器
setTransportBlock 传输块加载到UL-SCH或DL-SCH编码器
一步 运行系统对象算法
克隆 创建重复的系统对象
isLocked 确定系统对象在使用
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

生成一个随机序列的二进制值对应于一个传输块长度为5120。

trBlkLen = 5120;trBlk =兰迪([0 1]trBlkLen 1,“int8”);

创建和配置一个UL-SCH编码器系统对象与指定的目标代码。

targetCodeRate = 567/1024;encUL = nrULSCH;encUL。TargetCodeRate = TargetCodeRate;

传输块加载到UL-SCH编码器。

setTransportBlock (encUL trBlk);

调用编码器与64 - qam调制方案,1传输层,输出10240位的长度,和冗余版本0。编码器应用UL-SCH处理链传输块加载到对象。

mod =64 qam;nLayers = 1;outlen = 10240;房车= 0;codedTrBlock = encUL (mod, nLayers outlen, rv);

创建和配置一个UL-SCH解码器系统对象。

decUL = nrULSCHDecoder;decUL。TargetCodeRate = TargetCodeRate;decUL。TransportBlockLength = trBlkLen;

调用UL-SCH解码器在软比特代表编码传输块。对编码器使用指定的配置参数。错误标志在输出表明,块解码没有错误。

rxSoftBits = 1.0 - 2.0 *双(codedTrBlock);[decbits, blkerr] = decUL (mod, rxSoftBits nLayers, rv)
decbits =5120年x1 int8列向量1 1 0 1 1 0 0 1 1 1⋮
blkerr =逻辑0

确认消息发送和接收部分是相同的。

isequal (decbits trBlk)
ans =逻辑1

生成一个随机序列的二进制值对应于一个传输块长度为5120。

trBlkLen = 5120;trBlk =兰迪([0 1]trBlkLen 1,“int8”);

创建和配置一个UL-SCH编码器系统对象为多个HARQ进程使用。

encUL = nrULSCH;encUL。MultipleHARQProcesses = true;

传输块加载到UL-SCH编码器,指定HARQ过程2号。

harqID = 2;setTransportBlock (encUL trBlk harqID);

调用QPSK调制方案的编码器,3传输层,输出10002位的长度,和冗余版本3。编码器应用UL-SCH处理链传输块加载到对象HARQ过程2号。

mod =“正交相移编码”;nLayers = 3;outlen = 10002;房车= 3;codedTrBlock = encUL (mod, nLayers outlen,房车,harqID);

验证编码传输块所需的比特数。

isequal(长度(codedTrBlock)、outlen)
ans =逻辑1

引用

[1]3 gpp TS 38.212。“NR;多路复用和信道编码”。第三代合作伙伴项目;技术规范集团无线接入网络

[2]3 gpp TS 38.211。“NR;物理渠道和调制。”第三代合作伙伴项目;技术规范集团无线接入网络

扩展功能

另请参阅

对象

功能

介绍了R2019a