当前位置:网站首页>UCI and data multiplexing are transmitted on Pusch - determine the bit number of harqack, csi1 and csi2 (Part II)
UCI and data multiplexing are transmitted on Pusch - determine the bit number of harqack, csi1 and csi2 (Part II)
2022-07-03 09:39:00 【Communication pawn】
1. obtain harq-ack How much subcarrier space needs to be allocated
This is a typeA The calculation process of is as follows ,typeB The calculation process is similar , I'm not going to introduce you here .
harq-ack The occupied symbol must be the data symbol following the first continuous pilot symbol .






% Get the number of coded HARQ-ACK symbols and bits, TS 38.212,
% Section 6.3.2.4.1.1
[qDashACK,EuciACK] = rateMatchInfoACK(...
tbs,oack,pusch.BetaOffsetACK,alpha,numCodedBits,s1,s2,rqm,nlqm); % This is real harqbit Count to count
[qDashACKrvd,EuciACKRvd] = rateMatchInfoACK(...
tbs,oACKrvd,pusch.BetaOffsetACK,alpha,numCodedBits,s1,s2,rqm,nlqm); % This is reserved ackbit Count to count .
function [Qd,E] = rateMatchInfoACK(ulschFlag,oack,beta,alpha,sumKr,s1,s2,rqm,nlqm)
%rateMatchInfoACK Rate matching information of HARQ-ACK on PUSCH
% Symbol and bit capacity of HARQ-ACK
if oack
firstTerm = getFirstTermOfFormula(ulschFlag,oack,beta,s1,sumKr,rqm);
secondTerm = ceil(alpha*s2);
Qd = min(firstTerm,secondTerm);
E = nlqm*Qd;
else
Qd = 0;
E = 0;
end
end
function val = getFirstTermOfFormula(ulschFlag,ouci,beta,s1,sumKr,rqm)
%getFirstTermOfFormula First term of UCI rate match calculations
% Value of first term in the formula
if ulschFlag
% In the presence of UL-SCH
val = ceil((double(ouci)+getCRC(ouci))*double(beta)*s1/sumKr);%ceil Rounding up
else
% In the absence of UL-SCH
val = ceil((double(ouci)+getCRC(ouci))*double(beta)/rqm);
end
end
function L = getCRC(oUCI)
% CRC bits for UCI information for input length oUCI, according to TS
% 38.212, Section 6.3.1.2.1
if oUCI > 19
L = 11;
elseif oUCI > 11
L = 6;
else
L = 0;
end
end
2. obtain csi -port1 How much subcarrier space needs to be allocated
If harq-ack Less than 2 , according to 2 Retain , Greater than 2 If so, just keep it true .csi1 It's just an introduction typeA The situation of ,typeB The situation is similar , No introduction .



This is a csi And data are not reused , And even if not csi2 The situation of :




% Get the number of coded CSI part 1 symbols and bits, TS 38.212,
% Section 6.3.2.4.1.2
if ocsi1 % If there is CSI1 Then calculate the rate matching according to the reserved , without CSI1 If so, follow the real harq ack Count it .
if oACKrvd
qDashACKCSI1 = qDashACKrvd;
else
qDashACKCSI1 = qDashACK;
end
firstTerm = getFirstTermOfFormula(...
tbs,ocsi1,pusch.BetaOffsetCSI1,s1,numCodedBits,rqm);
if tbs
qDashCSI1 = min(firstTerm,ceil(alpha*s1)-qDashACKCSI1);
else
if ocsi2
qDashCSI1 = min(firstTerm,s1-qDashACKCSI1);
else
qDashCSI1 = s1-qDashACKCSI1;
end
end
EuciCSI = nlqm*qDashCSI1;
else
qDashCSI1 = 0;
EuciCSI = 0;
end
% Get the bit capacity of UL-SCH Get the space left for the data
if tbs
gULSCH = G - EuciCSI - EuciCSI2 - EuciACK*(oACKrvd==0);
else
gULSCH = 0;
end
3. obtain csi -port2 How much subcarrier space needs to be allocated
When HARQ-ACK Less than 2bit Count ,csi2 You can occupy his space first 







% Get the number of coded CSI part 2 symbols and bits, TS 38.212,
% Section 6.3.2.4.1.3
if ocsi2
qDashACKCSI2 = qDashACK;
if oack <= 2
qDashACKCSI2 = 0;
end
if tbs
firstTerm = getFirstTermOfFormula(...
tbs,ocsi2,pusch.BetaOffsetCSI2,s1,numCodedBits,rqm);
qDashCSI2 = min(firstTerm,ceil(alpha*s1)-qDashACKCSI2-qDashCSI1);
else
qDashCSI2 = s1-qDashACKCSI2-qDashCSI1;
end
EuciCSI2 = nlqm*qDashCSI2;
else
qDashCSI2 =0;
EuciCSI2 = 0;
end
边栏推荐
- ERROR: certificate common name “*.” doesn’t match requested ho
- LeetCode每日一题(1856. Maximum Subarray Min-Product)
- Failed building wheel for argon2 cffi when installing Jupiter
- Getting started with shell programming
- Leetcode daily question (745. prefix and suffix search)
- 专利查询网站
- LeetCode每日一题(985. Sum of Even Numbers After Queries)
- Error output redirection
- 307. Range Sum Query - Mutable
- 数字身份验证服务商ADVANCE.AI顺利加入深跨协 推进跨境电商行业可持续性发展
猜你喜欢

MySQL Data Definition Language DDL common commands

Flink learning notes (VIII) multi stream conversion

Spark structured stream writing Hudi practice

Directory and switching operation in file system
![[kotlin learning] control flow of higher-order functions -- lambda return statements and anonymous functions](/img/a3/b442508af9b059d279cffb34dee9bf.png)
[kotlin learning] control flow of higher-order functions -- lambda return statements and anonymous functions

Leetcode daily question (2090. K radius subarray averages)

PolyWorks script development learning notes (I) - script development environment

Flask+supervisor installation realizes background process resident

Detailed steps of windows installation redis

Matlab reads hexadecimal numbers and converts them into signed short
随机推荐
QT sub window is blocked, and the main window cannot be clicked after the sub window pops up
解决Editor.md上传图片获取不到图片地址问题
从0开始使用pnpm构建一个Monorepo方式管理的demo
LeetCode每日一题(745. Prefix and Suffix Search)
Global KYC service provider advance AI in vivo detection products have passed ISO international safety certification, and the product capability has reached a new level
PolyWorks script development learning notes (I) - script development environment
Process communication - semaphore
Alibaba cloud notes for the first time
1922. Count Good Numbers
Leetcode daily question (2305. fair distribution of cookies)
Jetson Nano 自定义启动图标kernel Logo cboot logo
Hudi quick experience (including detailed operation steps and screenshots)
LeetCode每日一题(968. Binary Tree Cameras)
Leetcode daily question (931. minimum falling path sum)
PolyWorks script development learning notes (III) -treeview advanced operation
CATIA automation object architecture - detailed explanation of application objects (I) document/settingcontrollers
Leetcode daily question (1362. closest divisors)
PolyWorks script development learning notes (II) -treeview basic operations
Leetcode daily question (1856. maximum subarray min product)
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 3 --blinker_ MIOT_ Light (lighting technology app control + Xiaoai classmate control)