# mskdemod
最小移位键控解调
函数库: TyCommunication
# 语法
z, = mskdemod(y, nsamp)
z, = mskdemod(y, nsamp, dataenc)
z, = mskdemod(y, nsamp, dataenc, ini_phase)
z, = mskdemod(y, nsamp, dataenc, ini_phase, ini_state)
z, phaseout = mskdemod(___)
z, phaseout, stateout = mskdemod(___)
# 说明
z, = mskdemod(y, nsamp) 利用差分编码最小移位键控 (MSK)方法解调信号的复包络 y。nsamp 表示每个符号的样本数,必须是一个正整数。解调器的初始相位为 0。如果 y 是一个多行多列的矩阵,该函数将列视为独立的通道,并独立处理它们。
z, = mskdemod(y, nsamp, dataenc) dataenc 可以是 "diff",用于差异化编码的 MSK;也可以是 "nondiff",用于非差异化编码的 MSK。
z, = mskdemod(y, nsamp, dataenc, ini_phase) ini_phase 是一个行向量,其列维度等于 y 的通道数,其值是 pi/2 的整数倍。为了避免覆盖 dataenc 的默认值,将 dataenc 设置为 [ ]。
z, = mskdemod(y, nsamp, dataenc, ini_phase ini_state) ini_state 为 MSK 解调器的初始状态,以 nsamp * 1 或 nsamp * C 的矩阵形式输入。C 是 y 中的通道数。
z, phaseout = mskdemod(___) 使用前述语法输入参数,返回 y 的最终相位
z, phaseout, stateout = mskdemod(___) 使用前述语法输入参数,返回与之前接收到的信号的最后一个符号对应的样本值。
# 示例
MSK 解调
using TyCommunication
using TyMath
rng = MT19937ar(1234)
x = randi(rng, 0:1, 100, 1)
y, = mskmod(x, 8, [], pi / 2)
z = awgn(rng, y, 30, "measured")
r, = mskdemod(z, 8, [], pi / 2)
x = 100×1 Matrix{Int64}:
0
1
0
1
1
0
⋮
0
1
1
1
0
1
r = 100×1 Matrix{Float64}:
0.0
1.0
0.0
1.0
1.0
0.0
0.0
⋮
0.0
1.0
1.0
1.0
0.0
1.0
# 输入参数
y - MSK 调制信号向量 | 矩阵
MSK调制信号,指定为向量或矩阵。如果 y 是矩阵,则函数独立处理每一列。
数据类型: ComplexF64
nsamp - MSK 符号数正实数
每个 MSK 符号的样本数,以正整数形式输入。
数据类型: Int
dataenc - 数据编码方法"diff" | "nondiff" | []
数据编码方法,可输入以下选项:
- "diff": 使用差分编码的MSK;
- "nondiff": 使用非差分编码的MSK;
- []: 用于避免覆盖默认值。
数据类型: String
ini_phase - MSK 解调器的初始相位全零行向量(默认) | 标量 | 行向量
MSK 解调器的初始相位,以弧度为单位,指定为 pi/2 整数倍的标量或行向量。ini_phase 的长度等于 y 中的通道数。
数据类型: Float64
ini_state - MSK 解调器的初始相位矩阵
MSK 解调器的初始状态,以 nsamp * 1 或 nsamp * C 的矩阵形式输入。C 是 y 中的通道数。ini_state 参数包含先前接收到的信号的最后一个符号。
数据类型: ComplexF64
# 输出参数
z - 解调信号列向量 | 矩阵
解调后的输入信号,以列向量或二进制值矩阵的形式返回。
数据类型: Float64
phaseout - MSK 调制信号的最终相位行向量
解调后的输入信号,以列向量或二进制值矩阵的形式返回。
数据类型: Float64
stateout - 与先前接收信号的最后一个符号对应的采样值矩阵
与先前接收到的信号的最后一个符号对应的采样值,MSK 解调器的初始状态,以 nsamp * 1 或 nsamp * C 的矩阵形式返回。C 是 y 中的通道数。输出参数 stateout 的维度与输入参数 ini_state 相同。
数据类型: ComplexF64
# 参考文献
[1] Pasupathy, S., "Minimum Shift Keying: A Spectrally Efficient Modulation". IEEE Communications Magazine, July, 1979, pp. 14–22.