当前位置:网站首页>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
边栏推荐
- Directory and switching operation in file system
- Development of fire power monitoring system
- Flink CDC practice (including practical steps and screenshots)
- Convert IP address to int
- Overview of image restoration methods -- paper notes
- 307. Range Sum Query - Mutable
- Install local sources using yum
- Learning C language from scratch -- installation and configuration of 01 MinGW
- 顺利毕业[3]-博客系统 更新中。。。
- Definition and use of enum in C language
猜你喜欢

LeetCode每日一题(2212. Maximum Points in an Archery Competition)

Overview of image restoration methods -- paper notes

MySQL Data Definition Language DDL common commands

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

Flink CDC practice (including practical steps and screenshots)

Spark structured stream writing Hudi practice

Nodemcu-esp8266 development board to build Arduino ide development environment

Leetcode daily question (2212. maximum points in an archery competition)

About the configuration of vs2008+rade CATIA v5r22

Vscode Arduino installation Library
随机推荐
PolyWorks script development learning notes (II) -treeview basic operations
Win10 install elk
Nodemcu-esp8266 development board to build Arduino ide development environment
LeetCode每日一题(745. Prefix and Suffix Search)
Hudi integrated spark data analysis example (including code flow and test results)
ERROR: certificate common name “*.” doesn’t match requested ho
Development of fire power monitoring system
LeetCode每日一题(2109. Adding Spaces to a String)
LeetCode每日一题(1856. Maximum Subarray Min-Product)
Equality judgment of long type
PolyWorks script development learning notes (I) - script development environment
Flink-CDC实践(含实操步骤与截图)
Powerdesign reverse wizard such as SQL and generates name and comment
CATIA automation object architecture - detailed explanation of application objects (III) systemservice
The number of weak characters in the game (1996)
一款开源的Markdown转富文本编辑器的实现原理剖析
Call the contents of Excel cells opened at the same time - button line feed
PIP configuring domestic sources
Find all possible recipes from given supplies
MySQL environment variable configuration