2026a

# 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.

# 另请参阅

mskmod | fskmod | fskdemod