USRP N310,Gnuradio初探

近期实验需要搭建一个软件无线电环境平台,在琢磨一段时间后,以下是对之前的实验总结一下。

实验平台

  • 硬件:笔记本2台,USRP N310两台,及辅助天线等
  • 软件:在Ubuntu系统下安装Gnuradio3.7
    实验前提,USRP能与电脑建立收发通信

USRP-OFDM发送端框架

在这里插入图片描述
​利用Socket PDU模块与外部程序建立TCP连接,通过外部程序向9090端口发送数据从而写入发送端,经PDU to Tagged Stream将协议数据转换为byte格式数据,再经过CRC32给数据加上循环冗余校验码,再分两路生成数据头部和数据载荷部分,分别进行BPSK与QPSK映射,通过Tagged Stream Mux模块组装在一起,然后经过OFDM调制部分,分别进行载频子波分配、加入导频系列、加入同步字与循环前缀,再通过Multiply Const进行约束,防止波形发生非线性失真,Tag Gate模块抑制标记符号向下传递,最后通过UHD:USRP Sink 模块连接硬件设备,对数据进行DAC转换,数字变频发送到环境空间。

发送端模块简介

Socket PDU:与外部程序建立socket连接,对整个流图进行数据输入。

PDU to Tagged Stream:将协议数据转化为固定长度byte类型数据,并给数据加上长度标记。

Stream CRC32:给数据尾部加上32位(4字节)循环冗余校验-----信道编码。

Protocol Formatter:利用数据头生成对象创建一个6字节的数据头,包含数据帧长度,当前数据帧号等。

Repack Bits:对数据进行重新打包,8bits一组转换为2bits一组或者1bit一组的数据,为后续进行BPSK、 QPSK映射,此过程不存在数据bit丢失。

Chunks to Symbols:根据Symbol Table将byte数据进行浮点数或者复数映射,byte型数据转换为复数型数 据。

Tagged Stream Mux:将头部BPSK符号与载荷QPSK符号组装在一起进行OFDM调制。

OFDM Carrier Allocator:OFDM子载波分配,分配数据子载波,导频子载波,同步子载波,直流子载波。

FFT:对分配后的子载波进行傅里叶变换,完成OFDM调制。

OFDM Cyclic Prefixer:给OFDM加入循环前缀,防止ofdm符号间干扰(ISI)。

Multiply Const:乘常数模块,乘以小于1的值,限制幅度,防止发送非线性失真。

Tag Gate:阻止标记符号向后延续。

其他参数:

protocol parser: 协议分析器

FEC: 前向纠错编码,送入传输信道之前

MSB: 最高位有效

Becimation: 抽取,转变频率

OFDM符号结构

  • ofdm输出标签:载波偏移,信道均衡系数,数据帧,接收时间

  • ofdm子载波: 左6个子载波[-32,-27],右5个子载波[26,31]为虚拟子载波

​ 不使用载波为0,———减少带外功率,抑制ACI(相邻信道干扰)

  • 一个OFDM符号:包含 虚拟子载波直流子载波射频子载波有效数据子载波

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CfNVPpsv-1601025338052)(D:\实验作图记录\OFDM符号结构.jpg)]

​ 以进行64FFT变换为例,总载波个数为64,除去虚拟子载波,直流子载波,射频子载波,剩余有效数据子载波48个,数据头部Head采用BPSK调制,(6 * 8)/1一个符号用一位比特表示,数据载荷加上校验码Payload部分采用QBSK调制,((96+4 )* 8)/2,一个符号用两个比特位表示。数据生成头部加载荷总共需要OFDM符号个数:
( 6 ∗ 8 ) / 1 + ( 96 + 4 ) ∗ 8 / 2 = 448 (6*8)/1 + (96 + 4 )*8 / 2 = 448 6

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值