srsLTE - PCFICH 源码解析 00

    就从 PCFICH 开始吧, PCFICH 的物理层处理相对于 PBCH, PDSCH 等都比较简单:引用金辉老师在《深入理解LTE-A》里面的一张图:


    可以看到 PCFICH 的 channel coding (TS36.212 5.3.4)不需要 CRC,Rate matching 等过程,直接根据 TS36.212 Table5.3.4-1 来做 coding 就可以了。接下来就是对 coding 后的结果进行 scrambling、modulation、layer mapping、precoding 和 mapping(图中 layer mapping 和 precoding 过程没有画出来)。在 srsLTE 中,这些过程都在 pcfich.c 里面的 srslte_pcfich_encode 函数中。PCFICH 的 decode 当然就是 encode 的逆过程了,一开始我以为看明白了 encode 的实现过程那 decode 的实现就应该很 easy 了,实际却发现并不如此,后面会做进一步的阐述。decode 的过程在 pcfich.c 里面的 srslte_pcfich_decode 函数中。

    在整个 pcfich_test.c 当中,除了调用这两个 encode 和 decode 函数,还调用了 pcfich.c 中的初始化、指针和内存分配相关的函数,因为自己本身也不是做软件的,对于这类 tricky 的地方就不做深入的探究了,有兴趣的朋友欢迎帮我做进一步的理解。下面是整理后的后的 pcfich_test.c。后面会深入的分析各个函数。


    pcfich_test 默认留给我们仿真的设置包括 eNB 的 antenna ports = {1,2,4}、下行带宽(number of RBs)、cell ID。但是实际上我们也可以调试与物理层处理相关的各种参数,比如 encode 过程中加扰序列的生成方法、decode 过程中 demodulation 的算法等等。


猜你喜欢

转载自blog.csdn.net/liu_xuxiang/article/details/80956895
00