GNU Radio系列教程(八):初级篇之GNU Radio GRC BPSK调制解调

本文是在“GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调”的基础上,给出BPSK调制解调的实例。BPSK与QPSK的主要区别在于每个符号的比特位数,QPSK是一个符号2个比特,BPSK是一个符号1个比特。

需要具备的基础知识:

(1)GNU Radio系列教程(二):初级篇之GNU Radio介绍

(2)GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析

(3)GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调

目录

一、发射一个BPSK信号

二、加上信道仿真

三、时钟恢复

四、多径效应消除

五、相位矫正和频率微调

六、解码

七、有用链接和联系方式


一、发射一个BPSK信号

下图与生成QPSK信号的最主要区别在于“Constellation Object”参数设置。

二、加上信道仿真

信道仿真内容,参见“GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调”相应内容。

三、时钟恢复

时钟恢复内容,参见“GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调”相应内容。

四、多径效应消除

多径效应消除内容,参见“GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调”相应内容。

五、相位矫正和频率微调

相位矫正和频率微调内容,参见“GNU Radio系列教程(七):初级篇之GNU Radio GRC PSK调制解调”相应内容。

六、解码

到现在为止,前边已经将比较难啃的骨头都解决了。最后一步就是实现解码了。我们在mpsk_stage6.grc程序中,添加一个Constellation Decoder模块来实现解码。并使用“Map”模块来实现符号映射关系的转换。使用“Unpack K Bits”模块来分解bit,得到原始的bit流数据。

但是,我们如何才能判断我们解码的数据是否是正确的呢?由于我们是仿真程序,我们知道发送的原始bit数据,我们通过对比这两份数据来查看解码数据是否正确。但是由于前边做各种同步和均衡等操作,引入了延迟,所以我们需要将发送的原始数据进行延迟后,再跟解码后数据进行比对。

七、有用链接和联系方式

https://wiki.gnuradio.org/index.php/Simulation_example:_BPSK_Demodulation

淘宝店铺、QQ技术交流群、CSDN联系方式如下:

微信公众号二维码:

猜你喜欢

转载自blog.csdn.net/OpenSourceSDR/article/details/108538020
GNU