用c简单实现了对NB-IoT下行链路的处理过程,没有性能验证和实现最优化(减少资源消耗,如MIPS及memory)等等。简单总结学习下实现的整体流程,对于细节的频偏估计,AGC等等相关部分还没仔细推敲。
实现功能
利用抓取仪器IQ数据进行小区搜索,公共信道的解码处理(NPBCH、SIB1、SI等)。由于没有整体协议功能,无法进入连接态获取相应的数据,所以无法进行NPDCCH/NPDSCH等信道的处理。同时只是对抓取的数据进行验证,所以省略了扫频寻找最佳频点的过程。具体实现功能如下:
小区搜索
实现方案,主要参考R1-161936 NB-PSS and NB-SSS Design.pdf。需要经过频点扫描,NPSS、NSSS解析等过程,才能得到小区的CellID,完成小区搜索过程。细节的实现公式及方式都是根据文档实现,描述下简单的过程。首先通过NPSS(11*11的序列)粗同步找到粗略的峰值点,具体实现过程中将采样数据滤波降采到240kHz进行处理,在采样率为1.92MHz的情形下,每个RE(不含冗余前缀CP)时域长度为128个点,而在204k情形下每个RE包含CP近似长度为