NBIOT PSS检测之一粗同步 MATLAB实现

NBIOT同步过程需要完成NPSS同步和NSSS同步,NPSS同步作为同步的第一步显得至关重要,其同步分为粗同步和精同步,本期主要完成粗同步,根据3GPP协议 NPSS分布在每个帧的子帧5,从生成公式上看,本身不携带本小区的任何信息,所有小区的NPSS信号都相同,这点有区别于LTE和5G,所以在同频多小区的时候特别会受到邻区的干扰,实际网络中,使用相位差分方法估计时频偏,不可以使用NPSS,要使用NRS和NSSS,NPSS在频域占据11个子载波,时域占据14个符号中的11个,这是因为要避开LTE的PDCCH信道,按照子载波间隔15K,PSS实际占据11*15k=165k,根据奈奎斯特采样定理实际中粗同步的采样率可以从1.92M降低为1.92M/8就可以完全不失真的获取到NPSS所有的信息。

在通信中,同步阶段要使用自相关的话,信号发送本身就有重复的信号,否则无法利用自相关来获取同步位置,NBIOT中NPSS本身也不包含重复信号,但是时域扩展码是固定且已知的,而公式生成中的ZC序列都是相同的,所以在时域上解扰后,剩余的都是相同的ZC序列,所以可以使用自相关来实现粗同步。

粗同步MATLAB代码实现:

clc,clear,close all;

% rxSig = zeros(1,1920*12);

rxSig = load('npss.txt');

Sl = [1,1,1,1,-1,-1,1,1,1,-1,1];

rxSig240k = rxSig(1:8:1920*11);

xcorr_result = zeros(4,2400);

for n = 0:2400-1

    R = reshape(rxSig240k(n+(1:17*11)),17,11);

    for symb = 1:4

        accuValue = 0;

        for m = 1:11-symb

            accuValue = accuValue + Sl(m)*Sl(m+symb)*R(:,m)'*R(:,m+symb);

        end

        accuAvg = accuValue/(11-symb);

        xcorr_result(symb,n+1) = accuAvg;

    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、付费专栏及课程。

余额充值