LTE通信系统中,UE要想完成初始的小区搜索,在检测完PSS之后要检测SSS,因为PSS完成后只获得了5ms定时和NID2,大家都知道完整的PCI是由NID1和NID2组成的,而NID1的信息在SSS中,还需要获取10ms定时,以及当前小区是FDD还是TDD,当前小区工作的CP循环前缀模式,在获取完整的PCI后就可以获取当前CRS的位置供搜索完成后测量使用。
SSS的时域位置
对于FDD系统,SSS位于倒数第二个OFDM symbol上,比PSS提前一个OFDM symbol,紧邻PSS。
对于TDD系统,SSS位于子帧0和子帧5的最后一个OFDM symbol上发送,比PSS提前三个OFDM symbol
SSS的频域位置
PSS和SSS这两种信号都占据了中心频点1.08M带宽,即72个子载波,72个子载波由信号本身的62个和两边各5个子载波的保护带,如下图:
SSS信号的生成:
SSS由2个长度为31的m序列交织而成,两个m序列互相交错构成,形成长为62的序列,其生成多项式如下:
其中0<=n<=31,m0和m1从组小区ID1中得来,把当前的序列跟小区PCI挂钩,如下:
m0和m1与小区ID1的关系如下表:
和是m序列的两个循环移位序列,表示为:
其中,x(i)由下式给出
初始化x(0)=0,x(1)=0,x(2)=0,x(3)=0,x(4)=1
两个加扰序列c0(n)和c1(n)是m序列
的循环移位序列,循环移位跟小区组NID2有关,如下:
初始化x(0)=0,x(1)=0,x(2)=0,x(3)=0,x(4)=1
另外两个加扰序列和是m序列的两个循环移位序列,这两个循环移位只跟小区组ID1有关,如下式:
初始化x(0)=0,x(1)=0,x(2)=0,x(3)=0,x(4)=1
如下图这两个长度31的交织m序列称为SSC1和SSC2,其交织关系如下图:
MATLAB实现
clc,clear,close all;
% function :LTE Secondary synchronization signal
%
%
%author old cow
%coding time 2024.08.28
%
%
%
subframe = 0;
pci = 111;
NID1 = floor(pci/3);
NID2 = mod(pci,3);
qq = floor(NID1/30);
q = floor((NID1+qq*(qq+1)/2)/30);
mm = NID1+q*(q+1)/2;
m0 = mod(mm,31);
m1 = mod(m0+floor(mm/31)+1, 31);
PN_gen = commsrc.pn('GenPoly', [1 0 0 1 0 1], ...
'InitialStates', [1 0 0 0 0], ...
'Shift', 0, ...
'NumBitsOut', 31);
PN_seq_temp = generate(PN_gen).';
PN_seq = 1-2*PN_seq_temp;
SC_gen1 = commsrc.pn('GenPoly', [1 0 1 0 0 1], ...
'InitialStates', [1 0 0 0 0], ...
'Shift', 0, ...
'NumBitsOut', 31);
SC_seq1_temp = generate(SC_gen1).';
SC_seq1 = 1-2*SC_seq1_temp;
%%
SC_gen2 = commsrc.pn('GenPoly', [1 1 0 1 1 1], ...
'InitialStates', [1 0 0 0 0], ...
'Shift', 0, ...
'NumBitsOut', 31);
SC_seq2_temp = generate(SC_gen2).';
SC_seq2 = 1-2*SC_seq2_temp;
SecSync = zeros(62,1);
for n=0:30
switch subframe
case 0
SecSync(2*n+1) = PN_seq(mod(n+m0,31)+1).*SC_seq1(mod(n+NID2, 31)+1);
SecSync(2*n+2) = PN_seq(mod(n+m1,31)+1).*SC_seq1(mod(n+NID2+3,31)+1).*SC_seq2(mod(n+mod(m0,8),31)+1);
case 5
SecSync(2*n+1) = PN_seq(mod(n+m1,31)+1).*SC_seq1(mod(n+NID2, 31)+1);
SecSync(2*n+2) = PN_seq(mod(n+m0,31)+1).*SC_seq1(mod(n+NID2+3,31)+1).*SC_seq2(mod(n+mod(m1,8),31)+1);
otherwise
end
end
更多精彩内容请关注微信号订阅号:nb_lte_5g ,老牛nb5g老牛每天带你学通信同步更新
努力只能及格,拼命才能优秀。
想成功,先发疯,不顾一切往前冲。
学通信任道重远,老牛带你走最捷径的路.