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

5G NR 辅同步信号SSS介绍 MATLAB实现

5G NR辅同步信号SSS,和PSS一起包含了小区的全部ID信息,跟NBIOT 和LTE不一样,PSS和SSS并不携带任何的帧信息,只携带帧头同步信息,所以搜索完成PSS和SSS并不知道当前的slot号和帧号,在5G NR中,PSS和SSS要携带1008个小区ID信息,要比LTE的小区个数多一倍,此外SSS信号还要参与RSRP的测量以及PBCH的相干解调,所以对SSS序列的生成要比LTE要求严格一些,鉴于此,SSS为了降低检测的复杂度和和生产至少1000个以上的序列以及性能的考虑,最终选择了m序列作为生成式。

   SSS的产生用了两个长度为127的m序列,然后按位相乘,最终生成一个Gold序列,主同步信号PSS参与第一个m序列的移位,第二个m序列,PSS未参与,这样就形成了第一个m序列对第二个m序列进行加扰,不同小区的SSS干扰也会随机化。

SSS 位置如下:

频域上占据GSCN中心频点的56:182子载波,两边有56和57个子载波不发任何信号作为保护带,低速率采样时,由于滤波器的不完美性,降低对PSS信号的干扰。

时域上位于SSB的第三个symbol,夹在了PBCH的中间,这种映射方式有利用SSS辅助解码PBCH。

生成公式:

n属于[0 127],m0和m1分别按下式计算,

x0(n)和x1(n)根据下式生成:

X0(n)和x1(n)初始化值都为[1 0 0 0 0 0 0]

MATLAB实现:

clc,clear,close all;
%
%
%
%author old cow
%

%code time 2024.08.29
%
%
%
%

pci = 111;

NID1 = floor(pci/3);
NID2 = mod(pci,3);
x0 = zeros(1,512);
x0(1) = 1;
for n = 0:512-7
    temp = x0(n+4+1) + x0(n+1);
    x0(n+7+1) = mod(temp,2);
end

x1 = zeros(1,512);
x1(1) = 1;
for n = 0:512-7
    temp = x1(n+1+1) + x1(n+1);
    x1(n+7+1) = mod(temp,2);
end


d_sss = zeros(1,127);
for n = 0:126
    m0 = 15*floor(NID1/112) + 5*NID2;
    temp0 = 1 - 2*x0(mod(n+m0,127)+1);
    m1 = mod(NID1,112);
    temp1 = 1 - 2*x1(mod(n+m1,127)+1);
    d_sss(n+1) = temp0*temp1;
end
d_sss = [ d_sss 0];

更多精彩内容请关注微信号订阅号:nb_lte_5g ,老牛nb5g老牛每天带你学通信同步更新

努力只能及格,拼命才能优秀。
想成功,先发疯,不顾一切往前冲。
学通信任道重远,老牛带你走最捷径的路.


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

相关文章:

  • Git 使用指南 --- 版本管理
  • 【conda】导出和重建 Conda 环境
  • 动作损失 ​ 的定义
  • 恭喜各位天命人!2024年国自然基金放榜了!优青654项、杰青433项,附个人查询攻略
  • 如何将开发工具设置成滚动鼠标改变字体大小
  • 可能是支持属性最多的类似验证码的输入控件了。一个超好用的验证码,卡号,车牌号,IP地址-输入控件 - 掘金
  • 计算机毕设选题推荐-基于python的豆瓣电子图书数据可视化分析
  • 博弈论(Nim游戏的扩展)
  • 【Linux】Ubuntu 安装 NFS 步骤详解
  • IPv6配置实验(OSPFv3)
  • 2024年8月文章一览
  • 项目实战-多子集循环嵌套 更新时的处理逻辑
  • 2D 智慧水务厂:引领水资源数字化管理
  • 【Linux修行路】进程通信——消息队列、信号量
  • 使用智谱AI大模型翻译视频字幕
  • 【性能优化】:从理论中来到实践中去(三)
  • 音频检测电路 | 声音传感器模块 | 口哨开关 | Arduino
  • 精简多组时间代码量
  • 01:【stm32HAL】对GPIO的操作
  • 如何实现OpenHarmony的OTA升级