LTE 辅同步信号SSS介绍,MATLAB实现

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老牛每天带你学通信同步更新

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


​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nb_lte_5G

小编每天一篇文章很辛苦望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值