OptiCommPy中的五种调制方法:OOK, PAM, QAM, PSK, APSK

发布时间:2026/8/15 13:33:06
OptiCommPy中的五种调制方法:OOK, PAM, QAM, PSK, APSK 文章目录简介和OOK调制pamqampskapsk简介和OOK调制【modulateGray】是OptiCommPy库中用于将离散的二进制比特流映射为调制符号并严格采用格雷编码Gray Coding规则具体来说将log ⁡ 2 M \log_2Mlog2​M个比特组成一个符号并赋予其具体的电压或光强。在函数的输入参数中bits为二进制比特列表M就是符号的状态数。此外还有一个参数constType为调制格式可选qam, psk, apsk, pam或ook。其中通断键控(On-Off Keying, OOK)是最简单的调制方法有光为1无光为0一个bit对应一个符号即其M只能选2。从信号的角度来看ook编码并未对比特流进行任何改变示例如下importnumpyasnp bsnp.array([0,0,0,1,1,0,1,1])fromoptic.comm.modulationimportmodulateGray ookmodulateGray(bs,2,ook)sum(bs!ook)# np.int64(0)pam脉冲幅度调制(Pulse Amplitude Modulation, PAM)是用脉冲的幅度来携带信息的调制方法具体来说一个PAM的基带信号可以表示为s ( t ) ∑ n a n ⋅ p ( t − n T s ) s(t)\sum_n a_n\cdot p(t-nT_s)s(t)n∑​an​⋅p(t−nTs​)式中T s 1 R s T_s\frac{1}{R_s}Ts​Rs​1​是符号周期p ( t ) p(t)p(t)是脉冲成型函数a n a_nan​是第n nn个符号的幅度值。对于M-PAM来说a n a_nan​的取值集合为± 1 , ± 3 , ⋯ ± ( M − 1 ) \pm1,\pm3,\cdots\pm(M-1)±1,±3,⋯±(M−1)。当M 4 M4M4时PAM的映射关系为00011011-3-131pam4modulateGray(bs,4,pam)print(pam4)# [-3., -1., 3., 1.]qam正交幅度调制(Quadrature Amplitude Modulation, QAM)是现代高速相干光通信的核心调制格式。与 PAM 不同QAM 同时利用了光场的幅度和相位两个维度其数学表达式为s ( t ) I ( t ) cos ⁡ ( 2 π f c t ) − Q ( t ) sin ⁡ ( 2 π f c t ) Re ⁡ { [ I ( t ) j Q ( t ) ] e j 2 π f c t } s(t)I(t)\cos(2\pi f_ct)-Q(t)\sin(2\pi f_ct)\operatorname{Re}\left\{\left[I(t)jQ(t)\right]e^{j2\pi f_ct}\right\}s(t)I(t)cos(2πfc​t)−Q(t)sin(2πfc​t)Re{[I(t)jQ(t)]ej2πfc​t}式中I ( t ) I(t)I(t)是同相分量对应余弦载波Q ( t ) Q(t)Q(t)是正交分量对应正弦载波f c f_cfc​是光载波频率。QAM常见的M值有4 , 16 , 64 , 256 4,16,64,2564,16,64,256示例如下qam4modulateGray(bs,4,qam)print(qam4)# [-1.1.j, 1.1.j, -1.-1.j, 1.-1.j]psk相移键控(Phase Shift Keying, PSK)是一种只利用相位携带信息的调制格式其核心特征是恒包络即所有星座点都在复平面的单位圆上幅度恒定。数学表达式为s ( t ) A cos ⁡ ( 2 π f c t ϕ n ) s(t)A\cos(2\pi f_ct\phi_n)s(t)Acos(2πfc​tϕn​)式中A AA是恒定振幅f c f_cfc​是载波频率ϕ n 2 π k M \phi_n\frac{2\pi k}{M}ϕn​M2πk​是第n nn个符号的相位。其复数形式更加直观s n A e j ϕ n A ( cos ⁡ ϕ n j sin ⁡ ϕ n ) s_nAe^{j\phi_n}A(\cos\phi_nj\sin\phi_n)sn​Aejϕn​A(cosϕn​jsinϕn​)示例如下可见其振幅均为1。psk4modulateGray(bs,4,psk)print(np.abs(psk4))# [1. 1. 1. 1.]apsk幅相键控 (Amplitude Phase Shift Keying, APSK) 是一种结合幅度和相位调制的调制格式其星座图采用同心圆环排列而非 QAM 的矩形网格核心优势是更低的峰均功率比 (PAPR)特别适合非线性信道。其数学表达式为s n , k R n e j ϕ n , k s_{n,k}R_ne^{j\phi_{n,k}}sn,k​Rn​ejϕn,k​式中n nn是圆环索引k kk是圆环上的点索引R n R_nRn​是第n nn个圆环的半径对应振幅ϕ n , k 2 π k M θ n \phi_{n,k}\frac{2\pi k}{M}\theta_nϕn,k​M2πk​θn​是第k kk个点的相位其中M n M_nMn​是第n nn个圆环上的点数θ n \theta_nθn​是第n nn个圆环的相位偏移。和前面几种调制方式不同从数学变换的角度来说apsk有两个参数n , k n,kn,k且二者分别沿着径向和切向并不存在严格的均匀分布形式。因此对于常见的APSK格式其圆环结构有着更多的人为规定的因素调制格式总点数每符号比特数圆环结构半径比16-APSK164内环 4 点 外环 12 点2.85 (最优)32-APSK325内环 4 中环 12 外环 162.85 / 4.3064-APSK646内环 4 中环 12 外环 16 最外环 282.85 / 4.30 / 5.70但实测标明modulateGray的apsk调制其内外环的点数是相同的。下面生成一组从0到15的二进制序列并采用16-APSK调制获取其星座点xsnp.arange(16)bs(xs[:,None]np.arange(4)[::-1])1bsbs.flatten()apsk16modulateGray(bs,16,apsk)importmatplotlib.pyplotasplt plt.rcParams[font.sans-serif]Times New Romanplt.scatter(apsk16.real,apsk16.imag,marker*)plt.show()结果为