PLUTO-SDR入门-3

在simulink中使用自带的QPSK发送接收模型进行仿真,更好地去理解整个QPSK通信系统的简单模型。

1.在matlab中搜索相关模块

2.找到相关模块

作者的matlab版本是2024a,大家可以看下搜出来的说明是否是simulink的模型。

3.打开模块

打开之后是这样的:

4.模块介绍:

a.发送模块

双击Transmitter,可以查看子模块设计。

由图可知,首先有一个bit产生模块用来产生数据源。产生的数据经过QPSK调制,之后进入根余弦滤波器进行脉冲成形,再进入信道。

然后点击Bits Generation 模块:

每个数据帧包含26位报头(用于同步目的)和1120位数据位包含“Hello world ###”消息。扰频器是用来改善数据的过渡密度和频偏估计。

1.巴克码模块:用来生成一帧的帧头(用来检测一帧的开始),这里是13位巴克码。

2.有效消息生成:这里生成的是“Hello world ###”消息,其中###是帧的序列,比如001 002 003等

3.叠加模块:将13位巴克码叠加生成26位的帧头。

4.扰频器:是用来改善数据的过渡密度和频偏估计。

最后将3和4输出的数据组合成一帧信号。

从数据结构可以看出,一条数据是长度是16个ASCII码。一个是7bit,一条消息就是112bits,一次发了20个,所以输出是2240bits。 

b,信道模块

看输入1,首先经过一个频率/相位偏移模块,接着经过一个可变延迟模块,可变延迟由下面的Delay Generator模块生成。

经过可变延迟之后,经过一个AWGN通道。

c.接收模块

信道传输过来的信号,首先经过一个ADC(Auto Gain Controller)增益控制器,接着通过一个接收端的匹配滤波器,然后是粗频率校正模块,符号同步模块,载波同步模块,帧同步模块。

粗频率校正模块,符号同步模块,载波同步模块这几个模块上一篇帖子解释了作用,这里就不再多说。

说一下帧同步模块。

作用:将得到的结果进行数据帧的对齐,转化为固定大小的帧,并且给出一个valid信号,让下游模块判断此帧是否有效。

最后同步帧进入到数据解码模块(BER Data Decoing)。

仿真结果:

接着我们来看仿真结果:

上面的3个星座图由左到右分别是:

1.经过接收端的匹配滤波器(升余弦滤波器)的星座图

2.经过符号同步之后的星座图

3.经过载波同步之后的星座图

可以看到经过同步之后,星座图上的点已经很好地分布在理想点(参考点)附近了。

然后我们在诊断日志中,可以看到接收到地信息。

从这里打开:

打印的信息:

可以看到,一开始打印的是乱码,因为此时接收机还没有完成同步。完成同步之后,就能正确解调出信息了。

更多嵌入式,FPGA的资料可以参考:天津大学四川院FPGA实训  www.sxfpga.cn

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值