当前位置:网站首页>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
边栏推荐
- Leetcode daily question (2232. minimize result by addressing parents to expression)
- 【22毕业季】我是毕业生yo~
- Jestson Nano 从tftp服务器下载更新kernel和dtb
- Install database -linux-5.7
- Equality judgment of long type
- [kotlin learning] control flow of higher-order functions -- lambda return statements and anonymous functions
- Leetcode daily question (2212. maximum points in an archery competition)
- LeetCode每日一题(985. Sum of Even Numbers After Queries)
- Flink learning notes (IX) status programming
- [csdn] C1 analyse des questions de formation Partie III Bar _ JS Foundation
猜你喜欢

numpy. Reshape() and resize() functions
![[CSDN]C1訓練題解析_第三部分_JS基礎](/img/b2/68d53ad09688f7fc922ac65e104f15.png)
[CSDN]C1訓練題解析_第三部分_JS基礎

Hudi 数据管理和存储概述

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

IDEA 中使用 Hudi

How MySQL modifies null to not null

LeetCode每日一题(931. Minimum Falling Path Sum)

Spark 概述

Alibaba cloud notes for the first time

Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 4 --blinker_ DHT_ WiFi (lighting technology app control + temperature and humidity data app display)
随机推荐
Jestson Nano 从tftp服务器下载更新kernel和dtb
QT sub window is blocked, and the main window cannot be clicked after the sub window pops up
Trial of the combination of RDS and crawler
Powerdesign reverse wizard such as SQL and generates name and comment
Installation and uninstallation of pyenv
Win10安装ELK
Flink-CDC实践(含实操步骤与截图)
LeetCode每日一题(2115. Find All Possible Recipes from Given Supplies)
Find all possible recipes from given supplies
Logstash+jdbc data synchronization +head display problems
LeetCode每日一题(2212. Maximum Points in an Archery Competition)
Implementing distributed lock with redis
【22毕业季】我是毕业生yo~
The idea of compiling VBA Encyclopedia
MySQL environment variable configuration
Arduino handles JSON data, arduinojson assistant
307. Range Sum Query - Mutable
Flink learning notes (IX) status programming
LeetCode每日一题(931. Minimum Falling Path Sum)
顺利毕业[3]-博客系统 更新中。。。