用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近似长度为17个点(137(138)/8),利用17个点长度的相关峰值得到相应的peak点(利用NPSS只是在时域code cover不同的特性,在接收到数据的不同RE symbol间进行相关),同时可以粗略的估计频偏等信息。在粗同步得到相应粗略峰值的基础上,可以进行NPSS的精同步,NPSS精通需要采用原始采样频率,并且和NPSS理论ZC序列进行相关。由于NPSS固定位于每帧的subframe5,精通同步后可以得到小区的帧边界。NSSS位于偶数帧的subframe9,在得到帧边界后,对NSSS和不同的cellID 序列进行相关、排序、判决,最后得到小区cellID(0-503 共504个cellID),同时NSSS设计时的循环以为因子(cyclic shift)可以得到相应SFN%8的周期序列。
信道解码流程
在得到相应小区CellID,小区SFN%8周期之后,可以依次进行NPBCH、SIB1和SI的解码。信道解码的大致流程如下:
各个流程的功能说明,由于采用OFDM方式,FFT是离散数据的傅里叶变换将接收的数据进行时频转换,在实现FFT的时候可以使用基二或基四等蝶形算法(利用其对称、周期等特性)已达到优化运算开销的目的,另外FFT和IFFT可以采用同一段代码实现,简单描述一段数据的IFFT为其共轭数据FFT结果的共轭;信道估计是通过理想的NRS序列和接收到的数据中的NRS位置的符号来估计信道响应H;解资源映射是获取接收数据中有效的信道符号的过程,亦即将相应的有效数据提取出来;信道均衡是根据信道响应将接收数据进行滤波处理过程;解扰与数据合并,需要产型相应的伪随机Gold序列,将数据进行解扰,扰码的初始状态和CellID及SFN slot等信息相关,由于处理周期为每个RU,而一段数据发送时可占用多个RU,需要在解码前进行合并;速率匹配是将编码数据适配到信道承载比特数目的过程,解速率匹配恢复编码结果的过程,此过程会将重复数据合并,删除掉的数据使用0数据补入;由于下行采用TBCC(tail biting convolutional coding),所以viterbi编码需要进行相应的wrap around处理(找到的文献中还有一种方式采用的是同时向两个方向译码),viterbi同样可以采用蝶形方式来减少运算开销;目前NB-IoT中使用的CRC有CRC16、CRC24A两类,在CRC上有些需要使用RNTI进行掩码处理,CRC当然除了蛮力运算外,可以采用查表法减少运算工作量。
NPBCH MIB的解码
NPBCH固定发送在subframe0,其原始数据为34比特,CRC使用的长度为16,码率为1/3,所以编码后比特数为150,速率匹配后输出比特数为1600,RNTI固定为0xFFFF(两个antenna port)或是0x0000(一个antenna port),NPBCH的加扰是根据SFN mod 64的周期进行,而在每个80ms内NPBCH RU上发送的是同样200比特的重复,亦将1600比特分成8个200比特,每个80ms为其中一个200比特的不断重复(QPSK,每个RE两个比特)。NPBCH采用盲解方式,同时能得到64内SFN号(SSS只能得到SFN mod 8的周期)以及Antenna port个数,解码得到相应数据如下:
其中SFN为10比特中的高四位;hyperSFN为HFN低两比特;operationMode为部署模式可以是In-Band(亦可分为同PCI和不同的PCI - physical cell identity),Guard-Band,standalone等模式的一种;ab-Enabled为access barring的标志,指示是否允许接入网络;systemInfoValueTage用于指示系统消息是否发生变化,用于系统消息更新功能;schedulingInfoSIB1提供SIB1的接收信息,用于指示SIB1 transport block size、重复次数等信息。在36.213的table 16.4.1.3-3中可以查表得到SIB1-NB解码需要重复次数的信息,而在table 16.4.1.5.2上指示TBS情形。
SIB1的解码信息
在得到NPBCH信息,可以解析得到SIB1的解码所需信息,SIB1固定在subframe 4发送,其发送以SFN 256为周期,重复次数及传输块大小可以根据NPBCH MIB中的SchedulingInfoSIB1得到,同时根据重复次数和小区ID PCI得到起始发送帧号信息,SIB1信息映射在连续16个帧中的间隔8个帧上。得到相应数据如下:
在SIB1中包含了相应的PLMN网络信息、TAC及用于小区重选的Rxlev、Qual等信息,同时可以得到SI的信息,在图示信元中可以看到SI的周期为64,重复周期为8,传输块大小为552,窗口长度为160ms,SI最多可以配置8个信息,目前的SIB1消息中只配置了一个。
SI的解码信息
根据SIB1消息中的信息,SI周期为64frame,frame offset为0,重复模式为8frame,SI-window-length为160ms,SI从subframe1映射到可用的所有可用的(downlinkbitmap没有配置)subframe上,目前的配置除了NPBCH、SIB1、NPSS、NSSS等subfarme,其他都可以用来发送SI信息;SI可以根据传输块大小不同,映射到8个sub-frame或2个sub-frame上,在协议36.331上说明了当比特数为56、120时使用2个sub-frame,其他情况使用8个sub-frame,目前的大小为552使用8个sub-frame。最终解码得到的SI信息如下:
此SI中包含了SIB2的信息,含有公共信道,dl-gap配置等信息。

NB-IoT下行链路简单实现相关推荐

  1. 产品 电信nb接口调用_艾礼安NB—IoT产品通过中国电信物联网开放平台接入认证...

    原标题:艾礼安NB-IoT产品通过中国电信物联网开放平台接入认证 近日,从电信部门传来好消息,艾礼安NB-IoT系列产品成功通过了中国电信物联网开放平台接入认证. 艾礼安NB-IoT产品通过电信认证 ...

  2. HiLink LiteOS IoT芯片 让IoT开发简单高效

    HiLink & LiteOS & IoT芯片 让IoT开发简单高效 华为HiLink & LiteOS & IoT芯片使能三件套,让IoT开发更简单高效.下一代智能手 ...

  3. NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)

    NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)      LWM2M协议中Object ID-对 ...

  4. nb信号和4g信号_三大运营商NB—IoT技术对比

    龙源期刊网 http://www.qikan.com.cn 三大运营商 NB - IoT 技术对比 作者:通信世界网 来源:<物联网技术> 2018 年第 02 期 摘 要: NB-IoT ...

  5. 一文说尽NB—IOT和Lora

    https://baijiahao.baidu.com/s?id=1568706798230922&wfr=spider&for=pc 这篇文章的确很切合我们学生的审美观哈哈,图就不复 ...

  6. Nb iot php_电信NBIoT物联网平台完整测试流程整理

    最近在负责一个物联网相关的项目,需要对接电信NBIoT平台,首次对接感觉没有头绪.这里将整个过程记录下来,希望这个能帮到需要的人. 另外提供对接部署咨询服务欢迎私信. 先在开发平台自测 自测主要要求开 ...

  7. nb iot 与java_NB-IoT物联网技术解析与案例详解 PDF 下载

    相关截图: 资料简介: 以NB-IoT为典型应用的移动物联网技术正处于规模发展的关键期,各行各业都在思考如何把NB-IoT与行业应用有效结合起来.由于垂直行业普遍缺乏对通信技术和通信行业的认知,同时对 ...

  8. 什么是NB(门磁) IoT技术?

    NB IoT技术简介 诞生背景 随着智能城市.大数据时代的来临,无线通信将实现万物连接, 然而这些连接大多通过蓝牙.Wi-Fi等短距通信技术承载,但非运营商移动网络.为了满足不同物联网业务需求,根据物 ...

  9. 腾讯云IoT全栈方案助力智慧交通基建,详解四大重点与两个案例

    5月22日,腾讯举办了以"交通行业的数字化转型观"为主题的智慧交通分论坛.论坛上,腾讯在智慧交通领域的多家合作伙伴到场,分享了各自"创造数字化交通.数字化出行愿景&quo ...

最新文章

  1. oracle账号注册公司名称,oracle+账号创建与管理oracle创建数据库
  2. mysql $的用法_MYSQL limit用法
  3. Android adb你真的会用吗?
  4. 我的MAXSCRIPT笔记
  5. 共建智慧海关 第四范式打造快、准、稳海关单证识别系统
  6. php title限制字数,dedecms:title解决字数限制的两种方法
  7. python中cumsum_在python里“np.cumsum”这个命令是干什么的?怎么使用?
  8. 【LeetCode笔记】299. 猜数字游戏 (Java、偏数学)
  9. 常见食物营养成分表图_营养成分表,你会看么?
  10. 利用wxWindows开发界面程序
  11. linux-系统资源查看-动态
  12. 【工具】Get Data-获取论文图片中数据的工具
  13. ubuntu虚拟机ping通内网
  14. linux dnf教程视频,DNF的命令使用教学
  15. Flutter开发之常用Widget学习
  16. C#篇-unity和序列化和反序列
  17. 密码太多不知道怎么记录?不如自己写个密码箱小程序
  18. 假装自己升级了Win11~
  19. Dubbo3.0 整合 Nacos
  20. 【中土世界】萨鲁曼小传

热门文章

  1. 几种常见的Kafka集群监控工具「送书」
  2. 类似易企秀的UI框架 整屏滑动
  3. PHP导入Excel文件后缀xlsx与xls的处理问题
  4. 我所知道的中国NLP「破圈」十年
  5. node基础知识部分小记
  6. 车载智能导航系统有没有采用嵌入式计算机,嵌入式车载导航系统的应用与研究...
  7. C++数据结构算法(一)
  8. 开山斧 WEBSHELL管理器 V0.2
  9. AutoSAR系列讲解(实践篇)7.1-DaVinci Developer使用初探
  10. 设计公司该怎样开展业务?