QPSK解调原理及Python实现

文章目录

  • QPSK解调原理
  • 代码实现
    • 调制信号经过高斯信道
    • 信号解调
    • 低通滤波
    • 作图
    • 运行结果

QPSK解调原理

QPSK解调原理及Python实现_第1张图片

代码实现

QPSK调制信号的产生在上一篇博客中我已经介绍了,本文将不再赘述。
下面是根据QPSK解调原理编写的部分Python代码:

调制信号经过高斯信道

#调制信号经过高斯信道
s11 = wgn(s, SNR)     #高斯噪声曲线
s1 = s + s11          #加上高斯信道之后的信号 

信号解调

#解调(高斯信道)
idata2 = s1*np.array(a)       #这里面其实隐藏了一个串并转换的过程
qdata2 = s1*np.array(b)       #对应的信号与正余弦信号相乘

低通滤波

[b, a] = signal.butter(2, 2*fc/fs)
idata22 = signal.filtfilt(b, a, idata2)
qdata22 = signal.filtfilt(b, a, qdata2)
demodata0 = idata22 + qdata22

作图

plt.figure(figsize=(14,20))
plt.subplot(2,1,1)
plt.plot(s1)
plt.title('调制信号(Awgn)',fontproperties=font, fontsize=20)
plt.subplot(2, 1, 2)
plt.plot(demodata0)
plt.title('解调输出',fontproperties=font, fontsize=20)
plt.axis([0, 5000, -4, 4])
plt.show()

运行结果

QPSK解调原理及Python实现_第2张图片
QPSK解调原理及Python实现_第3张图片
参考链接:https://blog.csdn.net/qq_40074819/article/details/105432327

你可能感兴趣的:(QPSK解调原理及Python实现)