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()
参考链接:https://blog.csdn.net/qq_40074819/article/details/105432327