当前位置:网站首页>UCI and data multiplexing are transmitted on Pusch - Part I
UCI and data multiplexing are transmitted on Pusch - Part I
2022-07-03 09:39:00 【Communication pawn】
One . total
UCI Include harq-ack,csi,sr. these uci Information can be obtained through PUCCH transmission , It can also be done through pusch transmission ( There is a question about this ,sr Is in the pusch Before dispatching ,ue Need to send sr, But when sr When the dispatching base station cannot receive , By re connecting , then msg3 Carry the bsr Instead of , normal sr It can't go through pusch Sent , This is to be determined .),csi Pass periodically pucch transmission , Aperiodic passage pusch transmission , Semi persistent line passing PUCCH perhaps dci Activation of pusch.CSI The report consists of two parts :CSI port1 and CSI port2.CSI port1 There is a fixed load , Used to identify CSI port2 Number of information bits ,CSI port1 Must be in CSI port2 Complete transmission before transmission .CSI and harq-ack Can be in PUSCH Upper transmission can be multiplexed with data , It can also be transmitted separately ( This scene I understand is PUCCH There are not enough resources on , To be determined ). This time, there is UC_SCH Data reuse .
Case description
The introduction strategy of this article is based on matlab The built-in use case introduces the Protocol , Sort out the agreement , I wrote it myself directly , But on the company computer , Don't rewrite , Use the example of thread to sort . Because it will be empty to sort out the agreement directly , So it's better to sort out the agreement by case , This is my way of learning . This case ack =1 ,csi1=10,csi2=10, Choosing the example of comparative envoys can better introduce , Of course, the agreement introduced later is not just ; Count this case , Other information will also be introduced .
## Cell parameters entered in the use case 
Inside NSizeGrid It refers to the community prb Count , This parameter is determined by two factors , Bandwidth and subcarrier spacing , bandwidth /( Subcarrier spacing 12)= 10M/(15K12)=55, Reserve a part on both sides, that is 52 了 ,
## Use case input ue Level parameter 
tcr Is the target bit rate 

1. According to the data a The length of A Calculation ,crc The length of , And then calculate crc Put it in the data Back , become b

2.graph The choice is 1 still 2, Later, you need to use .

The calculation process :
if A <= 292 || (A <= 3824 && R <= 0.67) || R <= 0.25
bgn = 2;
else
bgn = 1;
end
% Get transport block size after CRC attachment according to 38.212
% 6.2.1 and 7.2.1, and assign CRC polynomial to CRC field of output
% structure info
if A > 3824
L = 24;
info.CRC = '24A';
else
L = 16;
info.CRC = '16';
end
% Get the length of transport block after CRC attachment
B = A + L;
3., First calculate for each cb Size of the block data allocation container ,B‘=B+C*L , Then find out K’=B’/C,
Find another Zc The multiple is greater than the nearest K As the size of the container , Put the data b, according to K Put it into cr, Every cr Add your own crc, From here on, the following are based on each cb Block handled by itself .






% Get the maximum code block size
if bgn == 1 % This means graph
Kcb = 8448; % This refers to every cb The size of the block
else
Kcb = 3840;
end
% Get number of code blocks and length of CB-CRC coded block
if B <= Kcb
L = 0;
C = 1;
Bd = B;
else
L = 24; % Length of the CRC bits attached to each code block
C = ceil(B/(Kcb-L)); % This is divided into how many cb block
Bd = B+C*L;
end
% Obtain the number of bits per code block (excluding CB-CRC bits)
cbz = ceil(B/C);% This is exclusion crc Every cb The inclusion of the block bit The amount of
% Get number of bits in each code block (excluding filler bits)
Kd = ceil(Bd/C);% This is each cb Blocks exclude padding bit, contain crc Of bit Count
% Find the minimum value of Z in all sets of lifting sizes in 38.212
% Table 5.3.2-1, denoted as Zc, such that Kb*Zc>=Kd
if bgn == 1
Kb = 22;
else
if B > 640
Kb = 10;
elseif B > 560
Kb = 9;
elseif B > 192
Kb = 8;
else
Kb = 6;
end
end
Zlist = [2:16 18:2:32 36:4:64 72:8:128 144:16:256 288:32:384];
Zc = min(Zlist(Kb*Zlist >= Kd));% To calculate the ZC
% Get number of bits (including <NULL> filler bits) to be input to the LDPC
% encoder
if bgn == 1
K = 22*Zc; % Why must this be Zc Multiple , This is a problem ?
else
K = 10*Zc;
end
4. Get including padding bit Count bit Count

% Get number of bits (including filler bits) to be encoded by LDPC
% encoder
if bgInfo.BGN == 1
N = 66*cbInfo.Zc;
else
N = 50*cbInfo.Zc;
end
5. Calculation UCI and data Location and size that can be placed
according to type type , Select the table below , Yes type-1 Come on ,dmrs The location of 
How to arrange the specific position ?



Calculation UCI Can be placed bit Subcarriers , Calculate the subcarrier position that the array can place
UCI It can only be done in the non dmr Put on the symbol , Data can be placed on data symbols , It can also be placed where there is no pilot station on the pilot symbol .
% Calculate bit capacity of PUSCH (excluding DM-RS and PT-RS)
E = sum(rinfo.MULSCH);
G = nlqm*E;
% Get the number of resource elements available for UCI transmission on
% PUSCH from l_0
if ~isempty(l0)
s2 = sum(rinfo.MUCI(l0(1):end)); %s2 Means uci Where you can put it
else
s2 = 0;
end
边栏推荐
- Leetcode daily question (931. minimum falling path sum)
- ERROR: certificate common name “*.” doesn’t match requested ho
- Jestson Nano 从tftp服务器下载更新kernel和dtb
- Leetcode daily question (968. binary tree cameras)
- Learning C language from scratch -- installation and configuration of 01 MinGW
- Development of fire power monitoring system
- LeetCode每日一题(1300. Sum of Mutated Array Closest to Target)
- Directory and switching operation in file system
- Vscode Arduino installation Library
- NR technology -- MIMO
猜你喜欢

Spark structured stream writing Hudi practice

Hudi learning notes (III) analysis of core concepts

Electronic product design

Arduino handles JSON data, arduinojson assistant

Learning C language from scratch -- installation and configuration of 01 MinGW

全球KYC服务商ADVANCE.AI 活体检测产品通过ISO国际安全认证 产品能力再上一新台阶

LeetCode每日一题(1162. As Far from Land as Possible)

Idea uses the MVN command to package and report an error, which is not available

Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 5 --blinker_ MIOT_ MULTI_ Outside (lighting technology app + Xiaoai classmate control socket multiple jacks)

Common software open source protocols
随机推荐
Vscode Arduino installation Library
Find all possible recipes from given supplies
[CSDN]C1训练题解析_第二部分_Web基础
Basic knowledge of database design
About the configuration of vs2008+rade CATIA v5r22
[combinatorics] Introduction to Combinatorics (combinatorial thought 2: mathematical induction | mathematical induction promotion | multiple induction thought)
Error output redirection
LeetCode每日一题(931. Minimum Falling Path Sum)
Detailed steps of windows installation redis
软件测试工程师是做什么的 通过技术测试软件程序中是否有漏洞
Electronic product design
LeetCode每日一题(968. Binary Tree Cameras)
Run flash demo on ECS
The rise and fall of mobile phones in my perspective these 10 years
Arduino handles JSON data, arduinojson assistant
Solve editor MD uploads pictures and cannot get the picture address
Make the most basic root file system of Jetson nano and mount NFS file system on the server
How MySQL modifies null to not null
LeetCode每日一题(516. Longest Palindromic Subsequence)
Leetcode daily question (1162. as far from land as possible)