当前位置:网站首页>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每日一题(2115. Find All Possible Recipes from Given Supplies)
- Learning C language from scratch -- installation and configuration of 01 MinGW
- 基于opencv实现桌面图标识别
- Hudi learning notes (III) analysis of core concepts
- Vscode Arduino installation Library
- Send mail using WP mail SMTP plug-in
- Solve the problem of disordered code in vscode development, output Chinese and open source code
- Epollet lessons
- Leetcode daily question (931. minimum falling path sum)
- 专利查询网站
猜你喜欢
Spark 概述
MySQL Data Definition Language DDL common commands
Flask+supervisor installation realizes background process resident
[CSDN]C1训练题解析_第三部分_JS基础
Directory and switching operation in file system
Development of fire evacuation system
[CSDN]C1训练题解析_第四部分_Web进阶
Development of electrical fire system
解决Editor.md上传图片获取不到图片地址问题
Learning C language from scratch -- installation and configuration of 01 MinGW
随机推荐
Shell logic case
Flask+supervisor installation realizes background process resident
MySQL Data Definition Language DDL common commands
Development of fire evacuation system
[combinatorics] Introduction to Combinatorics (context of combinatorics | skills of combinatorics | thought of combinatorics 1: one-to-one correspondence)
2021-09-26
NR technology -- MIMO
软件测试工程师是做什么的 通过技术测试软件程序中是否有漏洞
Directory and switching operation in file system
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 1 -- establishment of engineering template -template
Trial of the combination of RDS and crawler
Development of electrical fire system
Detailed steps of windows installation redis
Esp32 at command does not respond
Word segmentation in full-text indexing
Leetcode daily question (516. long palindromic subsequence)
LeetCode每日一题(2232. Minimize Result by Adding Parentheses to Expression)
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 2 --blinker_ Hello_ WiFi (lighting technology - Mobile App control routine)
LeetCode每日一题(1856. Maximum Subarray Min-Product)
Implementing distributed lock with redis