文章目录
-
- [DBPSK 波形查找表](#DBPSK 波形查找表)
- 提升每比特的周期数量
- 脉冲成形
- CG
DBPSK 波形查找表
c
// =============================================================================
// DBPSK 波形查找表
// =============================================================================
int16 DBPSK_Signal[2][SYMBLE_LEN] = {
{DBPSK_SIG_0},
{DBPSK_SIG_1}
};
- 一个完整正弦周期的采样(8 个样点):
c
#define DBPSK_SIG_0 32767, 23170, 0, -23170, -32767, -23170, 0, 23170 // 相位 0:一个完整正弦周期(0° 起始)
#define DBPSK_SIG_1 -32767, -23170, 0, 23170, 32767, 23170, 0, -23170 // 相位 1:反相正弦(180° 起始),即相位 0 的逐点取负
- 波形本质是 sin(2π·n/8) 的 8 点量化值(幅值归一化到 int16 满量程 32767):
| n | sin(2πn/8) | ×32767(int16 正满量程) | 实际值 |
|---|---|---|---|
| 0 | 1.000 | 32767 | 32767 ✓ |
| 1 | 0.707 | 23170 | 23170 ✓ |
| 2 | 0.000 | 0 | 0 ✓ |
| 3 | -0.707 | -23170 | -23170 ✓ |
| 4 | -1.000 | -32767 | -32767 ✓ |
| 5 | -0.707 | -23170 | -23170 ✓ |
| 6 | 0.000 | 0 | 0 ✓ |
| 7 | 0.707 | 23170 | 23170 ✓ |
DBPSK_SIG_1就是DBPSK_SIG_0逐点取负,正好实现 180° 反相。
提升每比特的周期数量
c
int16 DBPSK_Signal[2][SYMBLE_LEN] = {
// 相位 0 的基带波形:通常是一串正电平样点(+A)
// 若做过脉冲成形,这里应是升余弦/根升余弦的一个符号周期内的采样序列
{DBPSK_SIG_0, DBPSK_SIG_0},
// 相位 1 的基带波形:与相位 0 反相(-A),实现 180° 相位翻转
// 收发两端必须使用同一套波形表,接收端做匹配滤波/相关累加才能正确判决
{DBPSK_SIG_1, DBPSK_SIG_1}
};
- 提高每比特能量,改善抗噪能力:DBPSK 在非相干解调下的误码率约为: P e = 1 2 exp ( − E b N 0 ) P_e = \frac{1}{2}\exp\left(-\frac{E_b}{N_0}\right) Pe=21exp(−N0Eb),每个比特里包含的正弦周期越多,接收端做相关累加时能收集到的信号能量就越多。 4 个周期比 1 个周期能积累更多能量,判决更稳。
- 让接收端相关检测更可靠:相关运算输出更稳定。
- 相位跳变更清晰,差分判决更准:DBPSK 靠相邻比特之间的相位差判决 0/1,如果只进行抽样(多数投票、中点采样)判决的话,每个比特里有多个完整周期,接收端更容易区分"相位保持"和"相位翻转",对定时误差和相位抖动的容忍度更高。
- 降低对精确载波同步的依赖:每比特多周期相当于给接收端提供了更多相位样本,即使存在小幅频偏或相位漂移,差分判决仍较稳健。
- 便于 DAC 输出和后续滤波:每比特 32 个采样、4 个完整正弦周期,意味着 DAC 输出的是连续、周期对齐的波形,频谱更干净,后续模拟滤波或功放驱动也更容易处理。
脉冲成形
- 一个完整正弦周期,幅度从头到尾都是恒定的,比特边界处直接相位翻转,没有平滑过渡。这相当于基带是矩形脉冲(1/-1),再乘以载波。优点是简单、接收端相关峰很尖锐;缺点是频谱旁瓣较高(sinc 形状),如果信道带宽紧张,带外辐射明显。
- 当前波形是纯载波的抽样,可通过提高采样率来接近理想波形,或者进行做脉冲成形(矩形包络)。
理想波形
-
BPSK 相位映射:
s k ( t ) = A cos ( 2 π f c t + π ϕ k ) , t ∈ [ k T , ( k + 1 ) T ) s_k(t) = A \cos\left(2\pi f_c t + \pi \phi_k\right), \quad t \in [kT,(k+1)T) sk(t)=Acos(2πfct+πϕk),t∈[kT,(k+1)T)
- 若 ϕ k = 0 \phi_k = 0 ϕk=0:输出 + A cos ( 2 π f c t ) +A\cos(2\pi f_c t) +Acos(2πfct)
- 若 ϕ k = 1 \phi_k = 1 ϕk=1:输出 − A cos ( 2 π f c t ) -A\cos(2\pi f_c t) −Acos(2πfct)
矩形包络发送波形
- 当前实现的每个比特周期内直接输出固定幅度的正弦采样:
s k n = A ⋅ w n ⋅ cos ( 2 π f c n T s ) s_kn = A \cdot wn \cdot \cos\left(2\pi f_c n T_s \right) skn=A⋅wn⋅cos(2πfcnTs)
-
其中:
- T s T_s Ts:采样周期
- N = DLPHY_SAMPLE_PER_BIT N = \text{DLPHY\_SAMPLE\_PER\_BIT} N=DLPHY_SAMPLE_PER_BIT:每比特采样数
- w n wn wn:矩形窗,值为 1或-1。
-
其中, w n wn wn 在一个比特周期内为常数,比特边界处直接跳变。这种波形频谱是 sinc 2 \operatorname{sinc}^2 sinc2 形状,旁瓣衰减慢,带外辐射较大;经过带限信道后,矩形脉冲的高频分量被截断,拖尾会延伸到相邻比特,产生码间干扰。
- 理想矩形脉冲 + 理想无限带宽信道:每个符号在时域上互不重叠,接收端在正确采样点采样,没有 ISI。
- 实际信道都是带限的:矩形脉冲频谱是 sinc 函数,旁瓣衰减慢、带宽无限。经过带限信道后,高频分量被截断,时域波形会展宽、产生拖尾,相邻符号就会互相干扰,这就是 ISI。
-
升余弦成形的作用,就是把这个"硬切"的矩形块换成一种带宽可控、拖尾衰减快、采样点无 ISI 的成形脉冲。
基带成形脉冲(升余弦方式)
- 矩形是"时域干净、频域脏",升余弦是"频域干净( F ( f ) \color{red}F(f) F(f))、时域带拖尾( f \color{blue}f f)"

- 升余弦成形脉冲的时域响应为(图中蓝色曲线):
g ( t ) = sin ( π t / T ) π t / T ⋅ cos ( π α t / T ) 1 − ( 2 α t / T ) 2 g(t)=\frac{\sin\!\left(\pi t/T\right)}{\pi t/T}\cdot \frac{\cos\!\left(\pi \alpha t/T\right)}{1-\left(2\alpha t/T\right)^2} g(t)=πt/Tsin(πt/T)⋅1−(2αt/T)2cos(παt/T)
-
其中:
- T T T:符号周期;
- α \alpha α:滚降因子, 0 ≤ α ≤ 1 0\le \alpha \le 1 0≤α≤1。
-
它满足奈奎斯特第一准则(奈奎斯特第一准则本质是"无码间串扰传输"的充要条件,核心结论是:带宽为 W 的理想低通信道中,最高无 ISI 码元速率为 2W Baud。):
g ( k T ) = { 1 , k = 0 0 , k ≠ 0 g(kT)=\begin{cases}1,&k=0\\0,&k\neq 0\end{cases} g(kT)={1,0,k=0k=0
-
也就是说,在每个符号的采样时刻,其他符号的拖尾正好为零,理想采样点上没有码间干扰。
-
滚降因子 α \alpha α 的作用:
- α \alpha α 控制带宽和时域拖尾之间的折中:
- 基带带宽:
B base = 1 + α 2 T B_{\text{base}}=\frac{1+\alpha}{2T} Bbase=2T1+α - 带通带宽:
B pass = ( 1 + α ) R s B_{\text{pass}}=(1+\alpha)R_s Bpass=(1+α)Rs - 其中 R s = 1 / T R_s=1/T Rs=1/T 是符号率。
- α \alpha α 越小,频谱越紧凑,但时域拖尾衰减慢,对定时误差更敏感; α \alpha α 越大,拖尾衰减快,抗定时偏差能力更强,但占用带宽更宽。工程上常用 α = 0.2 ∼ 0.5 \alpha=0.2\sim0.5 α=0.2∼0.5。

- α=0 时,升余弦退化成理想低通滤波器,时域就是 sinc 函数。
- 成形滤波本质上就是对离散样点序列做 FIR 滤波;而且可以完全在发射前把每个符号周期内的样点值算好,存成表,发送时直接查。
成形后的发送信号
- 加上成形后,DBPSK 发送信号变为:
s ( t ) = ∑ k a k g ( t − k T ) cos ( 2 π f c t ) s(t)=\sum_k a_k\, g(t-kT)\,\cos(2\pi f_c t) s(t)=k∑akg(t−kT)cos(2πfct)
-
其中 a k ∈ { + 1 , − 1 } a_k\in\{+1,-1\} ak∈{+1,−1} 是差分编码后的符号。
-
采样形式为:
s n = ( ∑ k a k g ( n T s − k T ) ) cos ( 2 π f c n T s ) sn=\left(\sum_k a_k\, g(nT_s-kT)\right)\cos(2\pi f_c n T_s) sn=(k∑akg(nTs−kT))cos(2πfcnTs)
- 这里 g n gn gn 就是根升余弦 FIR 滤波器的冲激响应。发送端先把符号序列过采样,再用 g n gn gn 做 FIR 滤波,最后乘以载波采样。
收发两端用根升余弦
- 工程上通常不在发送端直接用完整升余弦,而是把它拆成两个根升余弦:
H RC ( f ) = H RRC ( f ) ⋅ H RRC ( f ) H_{\text{RC}}(f)=H_{\text{RRC}}(f)\cdot H_{\text{RRC}}(f) HRC(f)=HRRC(f)⋅HRRC(f)
-
发送端用 RRC 做成形滤波,接收端用同样的 RRC 做匹配滤波。这样有两个好处:
- 收发级联后等效为完整升余弦,采样点无 ISI;
- 接收端 RRC 同时是匹配滤波器,在 AWGN 下使输出信噪比最大。
成型滤波器的影响
| 作用 | 说明 |
|---|---|
| 消除/降低码间串扰 | 通过满足奈奎斯特第一准则,使系统冲激响应在非本符号采样点为零,从而避免前后符号拖尾干扰当前判决。 |
| 限制信号带宽 | 矩形脉冲频谱无限宽,直接发射会占用过宽频谱并干扰相邻信道;成型滤波器把能量压缩到规定带宽内。 |
| 实现匹配滤波 | 发送端用根升余弦,接收端再用一个根升余弦,级联后等效升余弦,既无 ISI,又能在 AWGN 下最大化信噪比。 |
| 降低定时误差敏感度 | 滚降系数 α 越大,时域拖尾衰减越快,采样点稍有偏移时 ISI 增长更慢。 |
| 为信道估计和均衡提供基准 | 成型后信号本身在理想条件下无 ISI,接收端观测到的额外 ISI 主要来自信道,均衡器只需补偿信道失真。 |
- 有成型(RRC 等):符号间有重叠,叠加后幅度随数据序列变化,不再恒定。滚降系数 α 越大,拖尾越长,包络起伏通常也越明显。
- 正因为脉冲成型后的 BPSK/QPSK 不再恒包络(发射端特性),功放如果工作在饱和区(如 C 类)就会产生 AM-AM/AM-PM 失真,导致频谱再生和 EVM 恶化。所以实际链路里通常需要:
让功放回退到线性区工作;或者改用真正恒包络/近恒包络的调制,如 GMSK、 π/4 -DQPSK、CPM 等。 - 恒包络指的是发射机调制后输出的射频信号,其幅度包络保持恒定,信息只由相位或频率携带。 这一特性之所以重要,是因为它直接决定了发送端功放(PA)可以工作在饱和区(如C类),从而获得很高的功率效率。
- AM 之所以能用包络检波解调,就是因为它故意让包络随基带信号变化。