无线通信基础:调制与解调技术_(21).4.3.1多进制相移键控(MPSK).docxVIP

无线通信基础:调制与解调技术_(21).4.3.1多进制相移键控(MPSK).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

4.3.1多进制相移键控(MPSK)

多进制相移键控(MPSK,MultiplePhaseShiftKeying)是一种数字调制技术,通过改变载波信号的相位来表示不同的数据符号。与二进制相移键控(BPSK)相比,MPSK使用多个相位状态来表示多个符号,从而在相同的带宽内传输更多的信息。常见的MPSK技术包括4相移键控(QPSK,QuadraturePhaseShiftKeying)和8相移键控(8PSK,EightPhaseShiftKeying)。

4.3.1.1QPSK原理

QPSK(QuadraturePhaseShiftKeying)是一种四进制相移键控技术,使用四个不同的相位状态来表示两个比特的信息。QPSK的相位状态通常分布在复平面上的四个等距点上,形成一个正方形星座图。每个相位状态对应一个独特的符号,可以表示两个比特的数据。

星座图

QPSK的星座图如图1所示,四个相位状态分别对应00、01、11和10四个符号。

90°

**

180°0°

**

270°

图1:QPSK星座图

每个相位状态可以用复数表示,例如:-0°:1+0j-90°:0+1j-180°:-1+0j-270°:0-1j

调制过程

QPSK的调制过程可以分为以下几个步骤:

比特到符号映射:将每两个比特映射到一个QPSK符号。

载波生成:生成两个正交的载波信号,通常为cos2πft

I/Q调制:将符号映射到I(同相)和Q(正交)两个分量上。

信号合成:将I和Q分量合成一个复数信号。

发送:将合成的复数信号通过无线信道发送。

代码示例

以下是一个使用Python和NumPy库实现QPSK调制的示例代码:

importnumpyasnp

importmatplotlib.pyplotasplt

#比特序列

bits=np.array([0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0])

#比特到符号映射

defbit_to_qpsk_symbol(bits):

symbols=[]

foriinrange(0,len(bits),2):

b1,b2=bits[i],bits[i+1]

ifb1==0andb2==0:

symbols.append(1+0j)

elifb1==0andb2==1:

symbols.append(0+1j)

elifb1==1andb2==1:

symbols.append(-1+0j)

elifb1==1andb2==0:

symbols.append(0-1j)

returnnp.array(symbols)

#生成QPSK符号

qpsk_symbols=bit_to_qpsk_symbol(bits)

#生成载波信号

f=1#载波频率

t=np.arange(0,1,0.01)#时间向量

carrier_i=np.cos(2*np.pi*f*t)#同相载波

carrier_q=np.sin(2*np.pi*f*t)#正交载波

#I/Q调制

defqpsk_modulate(symbols,carrier_i,carrier_q):

i_signal=np.real(symbols)*carrier_i

q_signal=np.imag(symbols)*carrier_q

returni_signal+q_signal

#生成调制信号

modulated_signal=qpsk_modulate(qpsk_symbols,carrier_i,carrier_q)

#绘制星座图

plt.figure(figsize=(8,6))

plt.scatter(np.real(qpsk_symbols),np.imag(qpsk_symbols),color=red)

plt.title(QPSK星座图)

plt.xlabel(实部(I))

plt.ylabel(虚部(Q))

plt.grid(True)

plt.show()

您可能关注的文档

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档