为什么 DQPSK 需要预编码器,它有什么作用?

信息处理 调制 解调 信道编码 qpsk
2022-01-28 07:40:50

我已经使用我在这里收到的精彩答案为 DQPSK 实现了一个软解码器:

如何软解码 DQPSK?

为了让软解码器正常工作,我需要对我发送的数据进行预编码。我实现了本文中提到的预编码器

Ik=ukvk¯(ukIk1)+(ukvk)(vkQk1) Qk=ukvk¯(vkQk1)+(ukvk)(ukIk1)

我想知道为什么这个预编码器是必要的——XOR 的复杂表达式实际上完成了什么?

这是一个表格,显示了等式产生的结果。如果“to_encode”为 00,则 to_send 符号与前一个(“prev”)符号相同。如果“to_encode”为11,则to_send符号就是前一个符号xor 11。在其他情况下是什么意思?

to_encode prev 发送
[ 0 0 ] [ 0 0 ] [ 0 0 ]
[ 0 1 ] [ 0 0 ] [ 1 0 ]
[ 1 0 ] [ 0 0 ] [ 0 1 ]
[ 1 1 ] [ 0 0 ] [ 1 1 ]
[ 0 0 ] [ 0 1 ] [ 0 1 ]
[ 0 1 ] [ 0 1 ] [ 0 0 ]
[ 1 0 ] [ 0 1 ] [ 1 1 ]
[ 1 1 ] [ 0 1 ] [ 1 0 ]
[ 0 0 ] [ 1 0 ] [ 1 0 ]
[ 0 1 ] [ 1 0 ] [ 1 1 ]
[ 1 0 ] [ 1 0 ] [ 0 0 ]
[ 1 1 ] [ 1 0 ] [ 0 1 ]
[ 0 0 ] [ 1 1 ] [ 1 1 ]
[ 0 1 ] [ 1 1 ] [ 0 1 ]
[ 1 0 ] [ 1 1 ] [ 1 0 ]
[ 1 1 ] [ 1 1 ] [ 0 0 ]
2个回答

将双位视为整数的格雷码表示0,1,2,3, 进一步来说,

[0,0]0,  [0,1]1,  [1,1]2,  [1,0]3.

那么,预编码方案只不过是 QPSK 的 差分编码

to send = prev - to_encode模数4.

例如[ 1 0 ] [ 0 1 ] [ 1 1 ],问题中的行说要编码3= [1 0] 当前一个符号是1= [0 1],我们发送13=22mod4其中如上一个问题 的答案和评论中所述2= [1 1]

QPSK 的差分编码不同于分别对 I 和 Q 比特流进行差分(二进制)编码。

所以预编码方案只是 QPSK 的差分编码。至于为什么它包含在系统中,必须是信道特性和系统要求使得信号的相干检测被认为是不可行的,因此正在实施的接收器是用于 DQPSK(差分编码 QPSK)的差分相干检测器)。请注意,相干检测要求接收器锁相环在频率和相位(包括四倍相位模糊度的分辨率)上捕获(和跟踪)输入载波,而对于差分相干检测,频率捕获和跟踪就足够了,因此接收器更简单且更稳健,当然对于给定的 SNR,差分相干接收器的 BER 高于相干接收器的 BER。

差分编码器到格雷映射是为了去除90度相位变化,例如接收到的星座旋转90度。接收器不回复 QAM 星座的绝对相位,而是使用连续符号之间的转换来解调数据。

其它你可能感兴趣的问题