各位看到这篇文章的时候可不可以帮忙把代码和注释写出来学习!!!
QPSK调制与解调
1)生成长度num=1000的随机0、1比特序列
2)将生成的序列,2个比特为一组,按照以下规则进行相位映射:
最终得到一个长度为num/2的相位序列。
3)定义基准波形如下:
例如:
,基准波形为
4)利用第2步得到的相位序列
,根据公式,生成QPSK波形。
部分波形如图所示:
5)接收波形=步骤5得到的QPSK波形
6)QPSK解调:每个相位映射得到的波形点数是知道的,即Fs。对接收波形,以长度Fs进行截取分段。每一段的点数都是Fs。为了便于表示,令任一段表示为s。
7)将得到的信号s分别与两个基准波形cos_base和sin_base,进行点乘并求和,即
观察:I与Q的值是否为0、1或-1
7)令
。重复步骤7,将所有信号分段的结果得出。用scatterplot(res)画出星座图,如下:
8)根据I与Q组合,研究推导出与比特对的对应关系。验证是否如下:
9)根据对应关系,恢复出比特序列。
10)对比步骤9得到的序列,与步骤1的序列,统计出错的个数。
11)在步骤5中加入高斯白噪声,噪声功率自定。再依次进行步骤6,7,8,9,10步骤。画出星座图,以及比特出错个数。
例如: