当前位置:网站首页>The cyclic shift of PUCCH in NR channel is generated by MATLAB
The cyclic shift of PUCCH in NR channel is generated by MATLAB
2022-07-03 09:38:00 【Communication pawn】
One . Circular shift related protocols :


Two pseudo-random sequence generation :
Pseudo random sequences have been specifically mentioned in previous articles , If necessary, you can click the following article to view : Add link description
Three below is pucch Channel generates pseudo-random sequence matlab Code :
%--- according to 38.211 Inside 6.3.2.2.2 and 5.21 To write ---------------------------------------------------------------------
%N_CELL_ID Refers to the physical cell ID
%N_UL_symb It means a slot How many symbols
%Nc yes 1600, The agreement has stated
%Mpn This can be set by yourself , As long as it is longer than the length you need , This is larger than 14*20*8
%x10=1 The agreement has given
%x11 yes 0 The agreement has given
%ns Pointer is slot Number
% This time m0 =0 mcs =0 These two values need to be different according to different formats
N_CELL_ID = 55;
N_UL_symb = 14;
Nc = 1600;
Mpn=3000;
m0 =0 ;
mcs =0;
% Generate pseudo-random sequence
x10 =1;
x11 = zeros(1,30);
x1 = [x10 x11];% to x1 The first cycle of the sequence is initialized
% Generate x1 Sequence
for i = 1:(Nc +Mpn - 31)
x1(i + 31) = mod((x1(i + 3) + x1(i)),2);
end
% ------------------------
cinit=N_CELL_ID;
x20 = de2bi(cinit);
len = length(x20);
x21 = zeros(1,31-len);
x2 = [x20 x21]; % to x2 The first cycle of the sequence is initialized ;
%- Generate x2 Sequence
for i = 1:(Nc + Mpn- 31)
x2(i + 31) = mod((x2(i + 3) + x2(i + 2) + x2(i + 1) + x2(i)),2);
end
% Generate pseudo-random sequence
c_pseudo=zeros(1,Mpn);
for i = 1: Mpn % Generate pseudo-random sequence c(i)
c_pseudo(i) = mod((x1(i + Nc) + x2(i + Nc)),2);
end
n_cs=zeros(20,N_UL_symb);
a=zeros(20,N_UL_symb);
for ns = 0:19
for l=0:13
for i=0:7
n_cs(ns+1,l+1)=n_cs(ns+1,l+1)+c_pseudo(8*N_UL_symb*ns+8*l+i+1)*2^i;
end
a(ns+1,l+1) =mod(n_cs(ns+1,l+1)+m0+mcs,12);
end
end
边栏推荐
- Failed building wheel for argon2 cffi when installing Jupiter
- Leetcode daily question (931. minimum falling path sum)
- LeetCode每日一题(2115. Find All Possible Recipes from Given Supplies)
- LeetCode每日一题(1162. As Far from Land as Possible)
- ERROR: certificate common name “*.” doesn’t match requested ho
- Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 1 -- establishment of engineering template -template
- Epollet lessons
- Hudi quick experience (including detailed operation steps and screenshots)
- Leetcode daily question (1856. maximum subarray min product)
- The rise and fall of mobile phones in my perspective these 10 years
猜你喜欢

Flink-CDC实践(含实操步骤与截图)

Development of electrical fire system

Flask+supervisor installation realizes background process resident

About the configuration of vs2008+rade CATIA v5r22
![[CSDN]C1训练题解析_第二部分_Web基础](/img/91/72cdea3eb3f61315595330d2c9016d.png)
[CSDN]C1训练题解析_第二部分_Web基础

Vscode Arduino installation Library

Spark overview

Modify idea code

Django operates Excel files through openpyxl to import data into the database in batches.

Detailed steps of windows installation redis
随机推荐
[solution to the new version of Flink without bat startup file]
Jetson nano custom boot icon kernel logo CBOOT logo
Flink learning notes (VIII) multi stream conversion
How MySQL modifies null to not null
Alibaba cloud notes for the first time
Leetcode daily question (2212. maximum points in an archery competition)
[CSDN]C1训练题解析_第三部分_JS基础
Powerdesign reverse wizard such as SQL and generates name and comment
Installation and uninstallation of pyenv
Arduino handles JSON data, arduinojson assistant
IDEA 中使用 Hudi
Flink学习笔记(九)状态编程
软件测试工程师是做什么的 通过技术测试软件程序中是否有漏洞
小王叔叔的博客目录【持续更新中】
Development of electrical fire system
Spark structured stream writing Hudi practice
LeetCode每日一题(985. Sum of Even Numbers After Queries)
LeetCode每日一题(931. Minimum Falling Path Sum)
文件系统中的目录与切换操作
Leetcode daily question (1162. as far from land as possible)