• OAI框架下OFDM调制过程


    OFDM通过进一步压缩载波间隔,使得在同一带宽,信号数目增加,信号输出量增加,频带利用率上升。LTE标准中多为下行传输方案。5G中因为使用的调制方式仍然是OFDM

    1.串并转换

    进行IFFT,即由单点变N点,增加了系统的抗干扰能力。

    2.增加循环前缀

    消除码间干扰,加CP增加冗余符号信息,保证正交性,减少多载波间干扰。

    常规CP:14;扩展CP:12;

    OFDM的优势与不足:

    优势:抗衰落能力强;频带利用率高;适合高速数据传输;抗码间干扰(ISI)能力强。

    不足:对频偏和相位噪声比较敏感;功率峰值与均值比(PAPR)大,导致射频放大器的功率效率较低。

    首先观察openair1/README.TXT

    可以发现每个目录下至少都有一个def.h文件来声明结构体和函数,extern.h来声明外部变量以及vars.h文件来声明变量,知道MODULATION是存放调制解调操作的

    进入openair1\PHY\MODULATION\ofdm_mod.c,找到OFDM调制代码,OFDM输入信号在经过信道编码,交织,调制后成为比特流,通过IFFT及那个频域输入映射到时域后根据情况加上循环前缀(后缀,补零或者无)。

    首先是函数do_OFDM_mod

    根据帧来判定是MBSFN调制还是PDCCH调制,同时判定为常规CP还是扩展CP,实现一是IFFT,二是添加循环CP。

     

    判断常规和扩展CP,?6:7。

    然后实现调制功能的PHY_ofdm_mod函数

    通过ifdef~endif测试函数是否可用 

    对每个OFDM符号进行IFFT

    openair1\PHY\MODULATION\ofdm_mod.c中引入的头文件中,找到了PHY_ofdm_mod的详细定义(通过循环扩展或者补零完成调制过程)

    PDCCH是下行控制信道,在PHY/defs_common.h中可找到PDCCH_CONFIG的定义

    在进入PHY/impl_defs_top.h后找到相关OFDM调制的过程

    _PHY_MODULATION_ Modulation and Demodulation负责与OFDMA调制和解调相关的程序

    在ofdm_mod.c文件中关于idft_size_idx_t的使用中

    可以在PHY/TOOLS/tools_defs.h中找到其定义

    可以发现其上方是dft点数的定义

    在同一文件中可找到关于dft和idft函数调用的定义

    进入load_dftslib函数中,跳转到dfts_load.c文件中,找到idft相关具体操作

    搜寻shlib_fdesc,找到定义数组

    继续搜寻结构体loader_shlibfunc_t,找到common/utils/load_module_shlib.h

    在ofdm_mod.c文件最后找到rotate_cpx_vector,执行向量与复数向量相乘的操作,可在tools_defs.h文件中找到相关定义

    在oai_dfts.c文件中找到相关idft具体算法

    先完成第一个蝶形的运算

    调整了stage1的输出序列的顺序,使得stage2的输出序列是顺序的

    计算第二个蝶形

    继续观察,发现idft64等更高阶idft基于idft16完成定义

     

  • 相关阅读:
    运维技术linux、nginx
    用长tree方式做等长线
    java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码
    GRS认证与TC交易证明的区别
    ORACLE获取 表的主键id值
    v87.01 鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main () | 百篇博客分析 OpenHarmony 源码
    Pytorch重点概念笔记:都是本人学习中真实遇到的(一)
    xctf攻防世界 Web高手进阶区 easytornado
    Electron是什么以及可以做什么
    学习react的getSnapshotBeforeUpdate和其他生命周期
  • 原文地址:https://blog.csdn.net/yyfloveqcw/article/details/126431531