GNURadio+USRP+OFDM实现文件传输(一)https://developer.aliyun.com/article/1474028
3、发送结果
1)仿真结果
2)USRP 发射实际频谱图
- 2M*52/64 = 1,625,000Hz
二、接收端
接收机主要由 OFDM同步器、频率调制器、信号混频器、FFT 和帧采集组成。来自天线的输入信号,采取的带宽对应于包含实际数据的载波数,直接发送到同步器(Schmidl & Cox OFDM synch)。该同步器负责定时同步和频率误差校正。**频率误差校正被馈送到频率调制器,以产生与同步块的频率误差成比例的信号。然后将其与接收到的数据混合以校正错误并输入到解复用器。**解复用器一旦得到数据包的开头,就开始接收数据,并输出报头和有效载荷进行解调。
1、参数设置
1)Schmidl & Cox OFDM synch
Schmidl & Cox OFDM synch:
- Schmidl & Cox OFDM Sync 是 GNU Radio 中用于实现 OFDM(正交频分复用)系统的同步的模块之一。它的作用是对接收到的信号进行同步,以便正确解调和处理数据。
- Schmidl & Cox OFDM Sync 模块采用了一种基于循环前缀(Cyclic Prefix)的同步方法,称为 Schmidl & Cox 算法。这种方法通常包括以下步骤:
信号检测
: 首先,接收端需要检测到信号并确定接收到的信号是否包含 OFDM 数据。这可能涉及到自动增益控制(AGC)和能量检测等技术。同步序列检测
: 然后,接收端需要在接收到的信号中找到用于同步的特定序列,通常是 OFDM 帧的循环前缀(Cyclic Prefix)。频率偏移估计
: 接着,模块会估计接收信号的频率偏移,以便进行频率校正。频率偏移可能是由于发送端和接收端的本地振荡器不精确而引起的。时间同步
: 最后,模块会根据找到的同步序列进行时间同步,以确定接收到的信号的起始位置,从而进行正确的数据解调。
- detect 引脚通常用于指示同步算法是否成功检测到 OFDM 信号的起始点,当 detect 引脚为真时,表示同步算法已经成功地检测到了 OFDM 信号的起始点,即找到了帧同步。这意味着接收到的信号可以进一步处理,例如进行解调、解码等操作。
2)Frequency Mod
Frequency Mod:
- 这个模块是一个输入振幅控制复正弦。它输出一个信号,该信号具有与灵敏度和输入幅度成比例的瞬时相位增加。
- 以产生与同步块的频率误差成比例的信号
3)Delay
Delay:
- 将输入延迟一定数量的样本,正延迟在流的开头插入零个项目
4)Header/Payload Demux
Header/Payload Demux:
- 将数据流中的头部和负载分开。这在通信系统中非常常见,因为数据帧通常包含头部(Header)和负载(Payload),头部用于携带一些控制信息、帧类型、地址等,而负载则携带实际的用户数据。
- Header/Payload Demux 模块的 trigger 输入端用于指示何时开始解析下一个数据帧的头部信息。这个触发输入可以是一个布尔型信号,当它为真时,模块将开始解析下一个数据帧的头部。
- 在一个无线通信系统中,当接收到数据帧的结束符或者校验通过时,可以发送一个触发信号给 Header/Payload Demux 模块,以指示当前帧的头部信息已经完整接收,并且可以开始解析下一个帧的头部信息了。
5)OFDM Channel Estimation
OFDM Channel Estimation:
- 对接收到的 OFDM 信号进行信道估计,以获取信道的频率响应信息。
6)OFDM Frame Equalizer
OFDM Frame Equalizer:
- 首先,它消除了粗略的载波偏移,接下来,它对标记的 OFDM 帧执行一维或二维均衡。
7)OFDM Serializer
OFDM Serializer:
- 将 OFDM 子载波中的复数调制符号串行化
- 这是OFDM 载波分配器的逆块。它将复数数据符号作为标记流输出,并丢弃导频符号
8)Constellation Decoder
Constellation Decoder:
- 星座解码器,根据对象的映射将星座点从复数空间解码为(解包)位
9)Packet Header Parser
Packet Header Parser:
- 这是数据包头生成器的逆块。不同的是,解析后的 header 不是作为流输出,而是作为 PMT 字典输出,并发布到 ID 为“header_data”的消息端口。
2、接收端 grc 图
1)提取数据流中头部和负载
2)提取 OFDM 头原始数据
3)提取 OFDM 有效负载
4)解调 OFDM 有效负载
符号倍解映射,重新打包和检查字节对应的头数据和发送到文件接收器。
GNURadio+USRP+OFDM实现文件传输(三)https://developer.aliyun.com/article/1474031