LTE学习理解系列——利用matlab工具生成4G LTE信源

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

LTE学习理解系列——利用matlab工具生成4G LTE信源


前言

偶然将发现了matlab有LTE工具箱这东西。最近不是正好在研究LTE的同步么,之前需要信源来进行仿真还需要其他同事帮我生成一个信源,每次都怪麻烦人家的,那这个LTE工具箱中是否有生成信源的功能呢?
不去了解还不知道,一去了解感觉又发现了新大陆,这东西很强大呀。生成信源那是肯定可以的了,还可以进行物理层的各种算法仿真。

当然,根据当前的工作需要,暂时只关心信源的生成部分,其他以后再研究。

LTE工具箱的使用

在matlab中输入 : lteTestModelTool

用法很简洁,都不需要用文字来描述了,看图就知道怎么操作了。
LTE学习理解系列——利用matlab工具生成4G LTE信源
里面有我们常用的一些测试模式,例如TM11、TM31之类的。而且可以设定CELL ID,而我们做同步,解出CELLID,也就需要这些信息就行了。
不过似乎没看到哪里可以配置时隙配比的,不知道是没有这个接口配置,还是暂时我没发现。这个以后要是找到了再来补充了。

但每次通过这样使用tool界面还是有点麻烦,需要手动生成,导出数据(mat格式),然后在把mat数据导入到需要仿真的程序中。

  newData1 = load('-mat', 'TEST.mat');
  lte_data = newData1.waveStruct.waveform;
  lte_data = lte_data.';(这个转置,看实际是否需要)

直接使用函数

如果能用指令来实现生成信源就好了。查询了一下,还真有。

tmn = '3.1';
 bw = '20MHz'; 
 ncellid = 100;
 duplexmode = "TDD";
 
 tm = lteTestModel(tmn,bw,ncellid,duplexmode)
 [timeDomainSig, txGrid, txInfo] = lteTestModelTool(tm);
plot(txGrid,'.')

tmn — Test model number
'1.1' | '1.2' | '2' | '2a' | '2b' | '3.1' | '3.1a' | '3.1b' | '3.2' | '3.3'

bw — Channel bandwidth
'1.4MHz' | '3MHz' | '5MHz' | '10MHz' | '15MHz' | '20MHz' | '9RB' | '11RB' | '27RB' | '45RB' | '64RB' | '91RB'

duplexmode — Duplex mode of the generated waveform
'FDD' (default) | optional | 'TDD'

ncellid 配置0到503

timeDomainSig 就是我们所需要的时域信源数据了,默认是生成10个子帧的数据

lteCellSearch 这个函数可以帮我们解出CELLID,验证信源的是否生成正确

cellID = lteCellSearch(txInfo,timeDomainSig)

完整程序:

close all;clear all;clc;

tmn = '3.1';
 bw = '20MHz'; 
 ncellid = 100;
 duplexmode = "TDD";
 
 tm = lteTestModel(tmn,bw,ncellid,duplexmode)

 
 [timeDomainSig, txGrid, txInfo] = lteTestModelTool(tm);
figure(1)
plot(txGrid,'.')
cellID = lteCellSearch(txInfo,timeDomainSig)
figure(2)
power_figure(timeDomainSig,30.72e6)

LTE学习理解系列——利用matlab工具生成4G LTE信源
LTE学习理解系列——利用matlab工具生成4G LTE信源
看信号频谱似乎没有问题。CELLID解出来也是正确的。

总结

以上是简单生成信源的方法,有了这个方法,以后就可以自己制作信源了,哈哈。不过信源中的参数大部分都是默认的,但也有方法可以完全定制所有信源参数,就是这个函数,tmcfg是一个结构体。下一篇我们来研究一下这个结构体的详细配置

tm = lteTestModel(tmcfg)

上一篇:spark submit参数及调优


下一篇:linux下查看CPU、内存、磁盘信息