resetSoftBuffer
在UL-SCH或DL-SCH解码器中重置HARQ进程的软缓冲区
描述
resetSoftBuffer (
重置指定UL-SCH解码器中编号为0的混合自动重复请求(HARQ)进程的软缓冲区decUL
)decUL
.
例子
基于多重HARQ进程的UL-SCH解码器软缓冲区复位
生成一个二进制值的随机序列,对应于一个长度为5120的传输块。
trBlkLen1 = 5120;trBlk1 = randi([0 1],trBlkLen1,1,“int8”);
创建并配置带有多个HARQ进程的UL-SCH编码器系统对象。
encUL = nrULSCH(“MultipleHARQProcesses”,真正的);
为HARQ进程号1将传输块加载到UL-SCH编码器中。
harqID = 1;setTransportBlock (encUL trBlk1 harqID);
用QPSK调制方案调用编码器,1个传输层,输出长度为10240位,冗余版本0,HARQ进程号1。编码器将UL-SCH处理链应用于使用HARQ进程号1加载到对象中的传输块。
Rv = 0;codedTrBlock1 = encUL(“正交相移编码”1, 10240年,房车,harqID);
创建并配置带有多个HARQ进程的UL-SCH解码器系统对象。
decUL = nrULSCHDecoder(“MultipleHARQProcesses”,真正的);
为编码的传输块配置解码器。
decUL。TransportBlockLength = trBlkLen1;
向表示编码传输块的软位添加噪声。为HARQ进程号1调用修改后的软位上的UL-SCH解码器。
rxSoftBits1 = awgn(1-2*double(codedTrBlock1),5);[decBits1,blkErr1] = decUL(rxSoftBits1,“正交相移编码”1房车harqID);
在解码过程中增加的噪声会导致错误。
blkErr1
blkErr1 =逻辑1
对长度为4400的HARQ进程号为1的新传输块重复编码操作。
trBlkLen2 = 4400;trBlk2 = randi([0 1],trBlkLen2,1,“int8”);setTransportBlock (encUL trBlk2 harqID);codedTrBlock2 = encUL(“正交相移编码”1, 8800年,房车,harqID);
为第二个传输块配置解码器。
decUL。TransportBlockLength = trBlkLen2;
如果在HARQ进程号1的前一次解码过程中发生了错误,必须在解码第二个传输块之前重置HARQ进程的软缓冲区。
如果blkErr1 resetSoftBuffer (decUL harqID);结束
使用HARQ进程号1调用表示第二个已编码传输块的软位上的解码器。
rxBits2 = 1-2*double(codedTrBlock2);[decBits2, blker2] = decUL(rxBits2,“正交相移编码”1房车harqID);blkErr2
blkErr2 =逻辑0
验证第二个传输的和解码的消息位是相同的。
isequal (decBits2 trBlk2)
ans =逻辑1
基于多重HARQ进程的DL-SCH解码器软缓冲区复位
生成一个二进制值的随机序列,对应于一个长度为5120的传输块。
trBlkLen1 = 5120;trBlk1 = randi([0 1],trBlkLen1,1,“int8”);
创建并配置具有多个HARQ进程的DL-SCH编码器系统对象。
encDL = nrDLSCH(“MultipleHARQProcesses”,真正的);
为HARQ进程号1和码字索引1将传输块加载到DL-SCH编码器中。
harqID = 1;cwID = 0;cwID setTransportBlock (encDL trBlk1, harqID);
用QPSK调制方案调用编码器,1个传输层,输出长度为10240位,冗余版本0,HARQ进程号1。编码器将DL-SCH处理链应用到HARQ进程号1加载到对象中的传输块。
Rv = 0;codedTrBlock1 = encDL(“正交相移编码”1, 10240年,房车,harqID);
创建并配置具有多个HARQ进程的DL-SCH解码器系统对象。
decDL = nrDLSCHDecoder(“MultipleHARQProcesses”,真正的);
为编码的传输块配置解码器。
decDL。TransportBlockLength = trBlkLen1;
向表示编码传输块的软位添加噪声。为HARQ进程号1调用修改后的软位上的DL-SCH解码器。
rxSoftBits1 = awgn(1-2*double(codedTrBlock1),5);[decBits1,blkErr1] = decDL(rxSoftBits1,“正交相移编码”1房车harqID);
增加的噪声导致解码过程中出现错误。
blkErr1
blkErr1 =逻辑1
对长度为4400的HARQ进程号为1的新传输块重复编码操作。
trBlkLen2 = 4400;trBlk2 = randi([0 1],trBlkLen2,1,“int8”);cwID setTransportBlock (encDL trBlk2, harqID);codedTrBlock2 = encDL(“正交相移编码”1, 8800年,房车,harqID);
为第二个传输块配置解码器。
decDL。TransportBlockLength = trBlkLen2;
如果在HARQ进程号1的前一次解码过程中发生了错误,必须在解码第二个传输块之前重置HARQ进程的软缓冲区。
如果blkErr1 resetSoftBuffer (decDL harqID);结束
使用HARQ进程号1调用表示第二个已编码传输块的软位上的解码器。
rxBits2 = 1-2*double(codedTrBlock2);[decBits2,blkErr2] = decDL(rxBits2,“正交相移编码”1房车harqID);blkErr2
blkErr2 =逻辑0
验证第二个传输的和解码的消息位是相同的。
isequal (decBits2 trBlk2)
ans =逻辑1
输入参数
decUL
- - - - - -UL-SCH译码器
nrULSCHDecoder
系统对象™
UL-SCH解码器,指定为anrULSCHDecoder
系统对象。该对象实现了与TR 38.212节6.2中指定的UL-SCH编码的逆操作相对应的UL-SCH解码器处理链。
decDL
- - - - - -DL-SCH译码器
nrDLSCHDecoder
系统对象
DL-SCH解码器,指定为nrDLSCHDecoder
系统对象。该对象实现了DL-SCH解码器处理链,对应于TR 38.212节7.2中指定的DL-SCH编码的逆操作。
cwid
- - - - - -DL-SCH码字索引
0
|1
DL-SCH码字索引,指定为0
或1
.
数据类型:双
harqID
- - - - - -HARQ过程号
0 ~ 15之间的整数
HARQ进程号,指定为0 ~ 15之间的整数。
数据类型:双
参考文献
[1]3gpp ts 38.212。“NR;多路复用和信道编码。”第三代伙伴计划;技术规范集团无线接入网.
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
在R2019a中引入
Matlabコマンド
Matlabのコマンドを実行するリンクがクリックされました。
このリンクは,Webブラウザ,では動作しません。Matlabコマンドウィンドウに以下を入力すると、このコマンドを実行できます。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。