当前位置: 首页 > article >正文

LTE SSS产生过程中z序列的介绍和MATLAB以及C语言实现

参考3GPP 36.211 6.11章节

接上期介绍完LTE SSS产生过程中加扰序列c的产生和代码实现,本期介绍一下LTE SSS产生过程中加扰序列z的原理和MATLAB以及C语言的实现。

SSS产生过程中用到的加扰Z1序列有两个,一个是

另一个是

两个序列是由一个m序列z移位而来的,如下:

m0和m1跟小区的N_ID_1有关,如下

matlab实现:

function [z] = gen_z1(m)

%

%

%

%

% coding time 2024.09.23

offset = 1;

x = zeros(1,32);

x(4+offset) = 1;

for n=0:25

    x(n+5+offset) = mod(x(n+4+offset) + x(n+2+offset)+ x(n+1+offset)+ x(n+offset),2);

end

z = zeros(1,31);

for n=0:30

    z(n+offset) = x(mod(n+mod(m,8),31)++offset);

end

z = 1-2.*z;

 C语言实现:

void lte_sss_gen_z(char *c,unsigned char m) //m is m0 or m1

{

  int i;

  unsigned char x[32] = {0};

  

  x[4] = 1;

  for(i = 0; i < 25; i++)

  {

    x[i+5] = (x[i+4] + x[i+2] + x[i+1] + x[i]) & 0x01;

  }

  for(i = 0; i < 31; i++)

  {

c[i] = 1 - 2*x[(i+(m&7))%31];

  }

}


http://www.kler.cn/a/322285.html

相关文章:

  • Linux网络:守护进程
  • JavaScript 高级—求数组的最大值与最小值
  • 大连理工大学概率上机作业免费下载
  • CSS3_动画(九)
  • 详细解读CNAS实验室认证
  • 每日OJ题_牛客_天使果冻_递推_C++_Java
  • 7个不为人知的实用软件推荐
  • 关于VSCode里需要用的一些插件总结
  • 19 基于51单片机的倒计时音乐播放系统设计
  • USB 3.1 标准 A 型到 USB 3.1 标准 A 型或 B 型的电缆组件
  • Spring MVC 基础 : 文件、cookies的接收 ,REST响应
  • python命令行怎么换行
  • Python批量处理客户明细表格数据,挖掘更大价值
  • 电脑退域或切换系统账号后系统黑屏
  • C#基于SkiaSharp实现印章管理(8)
  • 这五本大模型书籍,让你从大模型零基础到精通,非常详细收藏我这一篇就够了
  • 【PyTorch】环境配置
  • MySQL 数据转换技巧:列转行与行转列
  • Redis支持数据类型,它们各自的应用场景是
  • 基于以太坊+IPFS的数据交易平台进行效率评估
  • MapReduce学习与理解
  • 14年408-计算机网络
  • 【Kubernetes】常见面试题汇总(三十九)
  • 图像分割(九)—— Mask Transfiner for High-Quality Instance Segmentation
  • 虚幻蓝图Ai随机点移动
  • 【数据结构取经之路】图解红黑树