一、QPSK基础:从原理到实战

各位同学好,我是老张。今天咱们聊聊QPSK——数字通信里最经典的调制方式之一。说实话,我入行那会儿第一个接触的调制就是QPSK,到现在做项目还经常跟它打交道。它不像BPSK那么基础,也不像高阶QAM那么复杂,但恰恰是这种「刚刚好」的特性,让它成了很多通信系统的首选。

1.1 QPSK原理:为什么是4个相位?

QPSK的全称是Quadrature Phase Shift Keying,中文叫正交相移键控。说白了,就是用载波的4种不同相位来表示2个比特的信息。

你可能会问:为什么是4种相位?而不是2种或8种?

嗯,这里有个关键点:每个符号携带2个比特,所以需要2²=4种状态。这4种状态分别对应00、01、11、10,每种状态相差90度相位。

核心公式

s(t) = A·cos(2πfct + φn),  φn ∈ {π/4, 3π/4, 5π/4, 7π/4}

我在项目中遇到过一个问题:有次调试卫星通信链路,发现QPSK的相位偏移总是对不上。后来查了半天,原来是本振的相位噪声太大。嗯,从那以后我选晶振都特别留意相位噪声指标。

1.2 星座图:一眼看懂信号质量

星座图是通信工程师的「心电图」。它把QPSK的4个符号画在复平面上,横轴是I路(同相分量),纵轴是Q路(正交分量)。

理想的QPSK星座图,4个点应该落在单位圆上,彼此相距90度。但实际中,你会看到各种变形——

  • 点聚成一团:信噪比太低,信号被噪声淹没了
  • 点旋转了:载波同步没做好,相位有偏差
  • 点散成椭圆:I/Q不平衡,两路增益不一致

避坑指南:我曾经在调试一款软件无线电设备时,星座图总是歪的。折腾了两天,最后发现是ADC的采样时钟抖动太大。所以啊,看到星座图异常,先检查时钟,再查射频链路,最后才怀疑算法。

1.3 I/Q信号:QPSK的数学基础

QPSK的调制过程,本质上就是生成两路正交的基带信号——I路和Q路。你想想看,为什么叫「正交」?因为cos和sin相差90度,它们互不干扰。

数学表达

I(t) = A·cos(φn)
Q(t) = A·sin(φn)

举个例子,如果我们要发送比特对「10」,对应的相位是π/4:

I = cos(π/4) = 0.707
Q = sin(π/4) = 0.707

我个人习惯把I/Q信号想象成「左右手」——左手管cos,右手管sin。两路信号同时传输,效率翻倍。这就是QPSK比BPSK快一倍的原因。

1.4 QPSK调制器结构:从比特到波形

调制器的结构其实不复杂,我画个框图你就明白了。

QPSK调制器结构框图 串并转换 比特流 I路映射 Q路映射 I Q 成型滤波 成型滤波 × × cos(2πfct) -sin(2πfct) + s(t)

调制过程分三步走:

  1. 串并转换:把串行的比特流分成两路,一路给I,一路给Q
  2. 符号映射:把比特对映射成对应的幅度值(±0.707)
  3. 正交调制:I路乘cos,Q路乘-sin,然后相加得到QPSK信号

实战技巧:我建议你在做FPGA实现时,把成型滤波器的系数提前算好存到ROM里。这样能省不少乘法器资源,而且时序更容易收敛。

1.5 QPSK解调器结构:从波形到比特

解调是调制的逆过程,但多了两个关键环节——载波同步和定时同步。没有它们,你解出来的全是乱码。

解调流程

接收信号 → 下变频 → 低通滤波 → 抽样判决 → 并串转换 → 比特流

这里有个容易踩的坑:下变频需要本地载波与发送端严格同频同相。我曾经在调试一个QPSK接收机时,发现误码率始终下不去。折腾了一周,最后发现是载波恢复环路里的环路滤波器带宽设得太宽了,把噪声也锁进来了。

重要提醒:解调器的性能很大程度上取决于同步模块。我个人经验是,载波同步的捕获范围要留够余量,至少±10%的符号速率。定时同步则建议用Gardner算法,它对载波偏移不敏感。

1.6 关键参数速查表

参数 QPSK典型值 说明
每符号比特数 2 比BPSK翻倍
相位间隔 90° 4个相位点均匀分布
频谱效率 1 bps/Hz 理想情况下
误码率(10dB SNR) 约10⁻⁵ 加性高斯白噪声信道
解调复杂度 中等 需要载波和定时同步

嗯,QPSK的基础知识就这些。你可能会觉得内容不多,但相信我,把这些吃透了,后面学QAM会轻松很多。毕竟QAM就是在QPSK的基础上增加了幅度维度,原理是相通的。


专注资料整理