GNU Radio + NI USRP B210模拟物理层(零):环境选择
GNU Radio + NI USRP B210模拟物理层(零):环境选择
一 目标
本人实验室方向涉及6G架构,其中物理层是创新重要一环,我的任务是先在物理层上搭建一个Testbed进行一些初步验证,因此本系列会一直更新下去,第一阶段的目标会是用OFDM和USRP实现一个SISO的系统。
二 环境选择
本人本科不是通信方向,属于是半路出家,也是在师兄建议下有了几个调研目标
- matlab + USRP
- labview + USRP
- GNU Radio + USRP
1 什么是USRP
USRP是实验室已经有的,原本是用于做一个原型基站的,目前工作不太推进的下去,因此把工作简化到了物理层。,USRP的架构如下
可以看到USRP实际上是由四部分组成的
-
天线
-
放大器和振荡器
-
ADC/DAC
-
DDC/DUC
其中天线模拟的就是基站天线,放大器振荡器也是信道必备的器件,ADC/DAC则体现了模拟之处
FPGA控制的DDC和DUC实际上起到频谱搬移的工作,也就是将信号转换为基带信号或者是基带信号调制成射频信号。
在USRP中,FPGA并没有开源,只可以烧录固件,不过目前我们也没有修改DDC/DUC的需求,因此无伤大雅
2 基带信号生成环境选择
1 GNU Radio
这是GNU Radio官方提供的tutorial,内容不能算丰富,但是基本的技术路线已经可以看到了。Gnu Radio 包含波形发生器,调制器,仪器,数学运算符,信道模型,滤波器。FFT,并可以自建模块。
此外调研时我们也看到了别人的技术路线,USRP就是起到信道的功能
而且GNU Radio的python接口调用socket是可以实现TCP/IP的,也就是说后续会有一个很好的演示效果(给老板一个交代)
不过这里涉及到了MAC层,所以这是很后面的内容了。
2 matlab
https://ww2.mathworks.cn/help/supportpkg/usrpradio/examples.html?category=digital-modulation&s_tid=CRUX_topnav
matlab是提供了官方demo的,不过除此以外就没有更多资料了
另一方面是担心simulink的自由度没有那么高,所以暂时没有选用matlab
3 labview
会考虑labview主要是Stanford的USRP课程使用了labview,不过labview作为大名鼎鼎的图形化编程环境,理论上自由度肯定也没有GNU Radio高,所以也不考虑了
https://max.book118.com/html/2019/0806/6215153014002053.shtm
3 总结
总的来说最后选用了GNU Radio + USRP的方案,下面一章会进行环境搭建。