2026a
# dpskmod
差分相移键控调制
函数库: TyCommunication
# 语法
y = dpskmod(x, M)
y = dpskmod(x, M, phaserot)
y = dpskmod(x, M, phaserot, symorder)
# 说明
y = dpskmod(x, M) 用差分相移键控 (DPSK) 调制 M 阶输入信号。示例
y = dpskmod(x, M, phaserot) DPSK 调制的相位旋转。
y = dpskmod(x, M, phaserot, symorder) 指定符号顺序。
# 示例
对信号进行差分相移键控调制
将调制阶数设置为 4 来创建 DQPSK 调制。
using TyCommunication
using TyMath
rng = MT19937ar(1234)
M = 4
生成一个 4 元随机符号序列。
x = randi(rng,[0 M - 1], 500, 1)
对输入符号应用 DQPSK 调制。
y = dpskmod(x, M, pi / 8)
y = 500×1 Matrix{ComplexF64}:
0.9238795325112867 + 0.3826834323650898im
-0.7071067811865477 - 0.7071067811865475im
0.9238795325112865 - 0.3826834323650904im
-4.286263797015736e-16 - 1.0im
-0.9238795325112862 - 0.3826834323650912im
0.7071067811865489 - 0.7071067811865461im
0.3826834323650876 + 0.9238795325112876im
⋮
0.7071067811852875 + 0.7071067811878076im
0.38268343236340524 + 0.9238795325119845im
-1.0 - 1.8023478246514573e-12im
-0.38268343236683067 + 0.9238795325105656im
0.7071067811851571 + 0.7071067811879379im
0.38268343236323504 + 0.923879532512055im
1.9243653555104583e-12 - 1.0im
# 输入参数
x - 输入信号向量 | 矩阵
输入信号,指定为正整数的向量或矩阵。x 的元素值必须在 [0,M - 1] 的范围内。
数据类型: Float64
M - 调制阶数2 的整数次幂
调制阶数,指定为 2 的整数次幂
示例: 2 | 4 | 16
数据类型: Float64
phaserot - 相位旋转角0 (默认) | 标量 | [ ]
DPSK 调制的相位旋转角,以弧度作为实标量指定。每个符号的总相移是相位差和由差分调制产生的相位之和。
如果将 phaserot 指定为空,那么 dpskmod 使用 0 度的相位旋转角。
示例: pi/4
数据类型: Float64
symorder - 符号顺序"bin" (默认) | "gray"
符号顺序,指定为 "bin" 或 "gray"。这个参数指定函数如何将二进制向量赋值给相应的整数。
如果 symorder 为 "bin",则函数使用自然二进制编码顺序;
如果 symorder 为"gray",则函数使用 gray 编码顺序。
数据类型: String
# 输出参数
y - dpsk 调制输出信号向量 | 矩阵
dpsk 调制输出信号的复基带表示,作为复值的向量或矩阵返回。列表示独立的通道。
注:初始相位旋转为 0 用于确定输出 y 的第一个元素(如果是多行矩阵则为 y 的第一行),因为微分算法需要两个连续的元素。