做基带系统设计的人,十有八九都被这三个名字折磨过:理想低通系统、升余弦滚降系统、部分响应系统。我第一次认真把它们摆在一起研究,是在调试一个带宽严格受限的链路的时候。当时信道带宽就那么大,码率又提不上去,领导说你去把频带利用率榨干。于是我把课本重新翻出来,老老实实把这三个系统的物理可实现性、时域波形衰减快慢和频带利用率捋了一遍,才真正明白它们不是三个孤立的知识点,而是同一个问题下的三种回答:有限带宽下,怎么把符号可靠地送到接收端。
这篇文章就是我当时梳理结果的一个完整版本。既适合期末考研前想把概念串起来的通信专业学生,也适合刚接手基带波形设计、正在为“选多大滚降系数”发愁的工程师。不绕弯子,直接从工程关心的三个维度切入:能不能实现、波形拖尾有多长、一赫兹带宽能塞多少符号。
1. 先建立三把尺子:可实现性、波形拖尾、频谱效率
三个系统放在一起比较之前,必须先把“物理可实现性”“时域波形衰减快慢”“频带利用率”这三件事分别说透。没有这三把尺子,后面所有公式和结论都容易变成死记硬背。
1.1 物理可实现性不是一句“做不出来”那么简单
很多教材讲到理想低通时,直接甩一句“物理不可实现”就翻页了。但工程上,这个结论背后是三条环环相扣的硬条件。
- 因果性。系统的冲激响应h(t)在t<0时必须恒等于0。理想低通的sinc波形在t<0就有值,这就已经违背了因果关系。你不可能让响应出现在激励之前。
- 稳定性。冲激响应必须绝对可积,也就是∫|h(t)|dt是有限值。理想低通的h(t)按1/t衰减,而1/t的绝对积分是发散的,所以从严格意义上说,它连稳定性都不满足。
- 可实现复杂度。就算在仿真里“近似”做出来,还要看滤波器需要多少阶。理想矩形的过渡带宽是0,真实滤波器想逼近它,阶数只能往无穷大走,伴随而来的是吉布斯振荡、数值精度问题和硬件成本。
这里可以用一个生活化类比:理想低通相当于要求一台音箱把某个频段完整重放、其他频段完全隔离,而且房间里不能有任何残响。听起来可行,但物理世界根本不存在这种“一刀切”还能不留尾巴的系统。
我特别想强调第三点。前两条是理论结论,第三条才是工程上真正卡住你的地方。后文讨论升余弦和部分响应时会反复用到这三把尺子。
1.2 时域波形衰减慢,为什么是接收机的噩梦
时域拖尾长意味着一个码元的能量会残留到后面很多个码元上。如果抽样时刻绝对精准,这些残留会在采样点上恰好过零,不影响判决。但现实接收机的时钟不可能那么完美,定时环路总有抖动,抽样时刻总会偏离理论位置。
- 拖尾按1/t衰减的系统,抽样时刻偏一点点,相邻码元的残留叠加就非常可观。
- 拖尾按1/t²或1/t³衰减的系统,同样的定时误差下,残留要小一个甚至两个数量级。
所以“时域波形衰减快慢”直接对应接收端定时同步的难度。这也就是为什么理想低通的频谱效率最高,却没人真的用它——它对定时的要求苛刻到不现实,任何一个带限系统的工程实现都要在这一关上做取舍。
1.3 频带利用率,到底在算什么
频带利用率的定义本身不复杂:η = 码元速率R_B ÷ 占用带宽B,单位是Baud/Hz。二进制传输时,一个符号就是1比特,所以也可以写成bit/s/Hz。
这里面容易混的是“占用带宽取哪里”。对理想低通和升余弦系统,一般取传递函数非零的支撑带宽,也就是从0到最高频率的整个宽度。对部分响应系统同理。
有了这三把尺子,再进入三个系统的细节时,主线和取舍逻辑就非常清楚了。
2. 理想低通系统:理论极限,但不是能直接用的方案
理想低通是奈奎斯特第一准则最直白的产物,它给出了无码间串扰传输的理论边界,也把“极限”和“可用”之间的距离暴露得明明白白。
2.1 频域时域长什么样
频域上,理想低通就是矩形:|f|≤f_N范围内幅度为1,之外为0。f_N = 1/(2T_s),T_s是码元间隔,f_N习惯上叫奈奎斯特带宽。
对应的冲激响应是:
h(t) = 2f_N · sinc(2f_N t)
换成码元间隔T_s表示,也可以写成 h(t) = (1/T_s)·sinc(t/T_s)。其中sinc(x) = sin(πx)/(πx),是归一化sinc函数。
这个波形中心一个主瓣,两侧旁瓣按1/t的速度缓慢衰减。第一旁瓣峰值大约为主瓣的0.089倍,数字看起来不大,问题是衰减太慢,后面几十个旁瓣仍然有不可忽略的幅度。
2.2 为什么说它物理不可实现
因果性上,sinc函数在整条时间轴上都有值,t<0的部分不可能凭空消失。有人会说“加个延迟不就行了吗”。延迟只能把主要能量移到t>0,但只要拖尾是无限长的,就永远做不到严格因果。
稳定性上,|h(t)|按1/|t|衰减,绝对积分发散。这意味着如果给这个系统一个持续激励,它的输出不会在有限时间内收敛到稳态。用控制理论的话说,它不在BIBO稳定的范畴里。
工程实现上更直白:矩形频谱的过渡带宽度为0,真实滤波器想逼近它,阶数只能无限增加。你可以用仿真软件做几百阶甚至几千阶FIR,但真实场景里器件噪声、温漂、非线性、成本都不答应。
这就是理想低通的定位:它清晰地告诉我们,带宽为B的信道里,2 Baud/Hz就是频谱效率的天花板,但天花板本身是不能直接踩上去的。
2.3 波形衰减慢带来的实际问题
我在仿真里拿理想低通做过匹配滤波,纯粹想看看理论极限的实际表现。结果一加定时误差就崩:定时偏差到0.05T_s,眼图已经开始明显闭合;到0.1T_s,误码率飙升几个数量级。
原因就是sinc拖尾。理论上相邻码元的旁瓣在抽样点可以互相抵消,但只要抽样时刻偏离理想点,这些旁瓣不但不抵消,反而同相叠加。1/t的衰减意味着距离当前码元很远的旁瓣,仍然在给干扰“添砖加瓦”。
所以在工程上,理想低通的角色是标尺,不是候选方案。所有后来者,本质上都是在“靠近它的频带利用率”和“远离它的不可实现性”之间找一个现实落点。
3. 升余弦滚降系统:用一点带宽换真正的可实现性
工程上最常见的无码间串扰波形,就是把理想低通的矩形频谱“滚”一下。这一滚,滚出了可实现性,也滚出了频带利用率的折中。
3.1 频谱是怎么滚起来的
升余弦滚降系统的传递函数分三段:
- 在0到(1-α)/(2T_s)之间,幅度平坦,等于T_s;
- 在(1-α)/(2T_s)到(1+α)/(2T_s)之间,幅度按余弦函数从T_s平滑降到0;
- 超过(1+α)/(2T_s),幅度为0。
这里的α就是滚降系数,取值0到1。α越小,过渡带越窄,频谱越接近理想低通;α越大,过渡带越宽,频谱形状越平滑。
对应的冲激响应是:
h(t) = sinc(t/T_s) · [cos(παt/T_s) ÷ (1 - (2αt/T_s)²)]
这个式子第一眼看有点吓人,但核心特征非常清晰:分母里多了一个t²项,导致整体按1/t³衰减,比理想低通的1/t快了两个数量级。
3.2 为什么衰减突然变快了:频域越平滑,时域拖尾越短
这里有一条值得刻在桌上的规律:频域波形越平滑,时域衰减越快。理想低通频谱在边界处直接跳变,时域按1/t衰减;升余弦频谱本身连续,一阶导数也连续,只有二阶导数不连续,时域按1/t³衰减。这个对应关系在信号与系统里叫“频域平滑度决定时域衰减速度”。
打个比方:用刀直接切纸箱,边缘全是毛刺;用砂纸把切口打磨成斜坡,切口变宽了,但毛刺几乎没了。时域拖尾就是那个毛刺,滚降系数就是砂纸的目数。
3.3 物理可实现性:延迟、截断、根号升余弦
升余弦的冲激响应理论上还是无限长,但因为衰减快,截断的影响容易控制。实际系统一般分三步:
- 给整体响应加一个足够大的延迟,让主要能量落在t>0区间,满足因果性;
- 用有限长度FIR做截断逼近,截断长度取决于α和系统对额外码间串扰的容忍度;
- 在收发端各放一个根号升余弦滤波器,两者级联后恰好构成完整的升余弦响应,同时发送端滤波器还能起到成型滤波的作用,接收端则是匹配滤波。
截断长度怎么选是有讲究的。α越大,旁瓣衰减越快,截断可以短一些;α越小,旁瓣越大,截断必须加长,否则截断本身会引入新的码间串扰,抵消掉波形设计的收益。我一般会在无噪声仿真里扫截断长度从20个码元到100个码元的眼图开口度,性能不再变化的位置再留一点余量,就是工程可用的长度。
3.4 频带利用率与α的工程取舍
升余弦系统的占用带宽是(1+α)/(2T_s),所以频带利用率为:
η = 2/(1+α)(Baud/Hz)
α=0时就是理想低通,2 Baud/Hz,但同样不可实现;α=1时只有1 Baud/Hz。升余弦滚降的本质,就是用一部分频带利用率换取可实现性和定时容忍度。
工程上怎么选α,完全看系统约束。卫星链路带宽贵,通常用α=0.1~0.2;地面微波或光纤链路带宽相对宽裕,α=0.3~0.5很常见;带限无线系统如果对多径和时钟抖动容忍度要求高,甚至会选更大的α。
这里有个经典矛盾:α越小,频带利用率越高,但对定时误差越敏感;α越大,系统越皮实,但占频带宽。没有绝对正确的参数,只有适合当前场景的折中。
4. 部分响应系统:既然串扰躲不掉,就让它可控
升余弦仍然是在“无码间串扰”框架里改良。部分响应系统换了另一种思路,它的核心观点是:我不追求抽样时刻完全没有串扰,而是让相邻码元的串扰是已知的、受控的,最后在接收端用数学手段消掉它。这个思路的转变,让系统可以做到2 Baud/Hz的频带利用率,同时物理可实现。
4.1 核心思想:从消除串扰到利用串扰
奈奎斯特第一准则要求系统折叠频谱平坦,确保抽样点上只有当前码元有值。部分响应系统主动破坏这个条件,人为引入相邻码元之间的串扰,但把这个串扰设计得非常确定。
这个做法最大的价值在于:不增加占用带宽,就能达到和理想低通一样的频带利用率,而且不需要做那种不可实现的矩形滤波。代价是接收端的判决逻辑变复杂,还需要额外的预编码来防止错误传播。
4.2 第一类部分响应:两个sinc的叠加
第一类部分响应也叫双二进制,冲激响应可以看作两个相隔一个码元间隔的sinc函数相加:
h(t) = sinc(t/T_s) + sinc((t-T_s)/T_s)
这个波形有两个关键优势。第一,它的频谱是2T_s·cos(πfT_s),在|f|≤1/(2T_s)内非零、带外为0,占用带宽正好等于奈奎斯特带宽,频带利用率仍然是2 Baud/Hz。第二,两个sinc叠加后,主衰减项按1/t的部分互相抵消,整体变成按1/t²衰减,比理想低通好一档,虽然还比不上升余弦的1/t³。
物理实现上,它只需要简单的抽头延迟线,发送端可以先产生理想低通脉冲,再延迟一个码元间隔后相加,没有任何需要精密逼近的频域形状。用数字逻辑做这件事非常便宜。
4.3 预编码是必须的,不然错误会滚雪球
直接按h(t)=sinc(t/T_s)+sinc((t-T_s)/T_s)传输数据,接收端判决时会遇到严重问题:当前码元的抽样值里混着上一个码元的电平,一旦前一个判错,后面全跟着错。这就是误码传播。
标准解法是做预编码。以二进制序列a_k为例:
- 发送端先做模2运算:b_k = a_k ⊕ b_{k-1};
- 把b序列送入相关编码器,得到三电平信号c_k = b_k + b_{k-1};
- 接收端对c_k判决后,取模2恢复a_k,也就是a_k = c_k mod 2。
预编码的本质,是把相关运算从信道挪到发送端。接收端恢复当前比特时只依赖当前接收符号,不依赖前面的判决历史,误码传播链就被切断了。
代价是什么?电平数从二进制变成三电平,在同样的平均发送功率下,三电平相邻判决电平之间的距离变小,判决容错空间缩小。双二进制三电平相对普通二进制双极性传输,信噪比损失大约在2 dB量级。用这大约2 dB的代价,换到了2 Baud/Hz的频谱利用率和一个可实现的物理系统。
4.4 第四类部分响应:把能量从直流搬开
第一类部分响应的频谱在零频处最大,不巧的是很多实际信道(比如带耦合变压器或者带通特性的信道)会把直流分量卡掉。于是有了改进版本:两个sinc改成相减。
h(t) = sinc(t/T_s) - sinc((t-T_s)/T_s)
这样得到的频谱在零频处为0,能量集中在奈奎斯特带宽的中高段,所以也叫修正双二进制或第四类部分响应。它和第一类的衰减量级一样,按1/t²走,但零频为零的特性让它在不适合直流传输的场景下更实用。
部分响应家族理论上可以构造出无限多个sinc的线性组合,对应不同长度的受控串扰和不同的频谱形状。实际工程用得最多的就是第一类和第四类,因为实现最简单、性能收益最直接。
4.5 部分响应和升余弦怎么选
从频带利用率看,部分响应系统是2 Baud/Hz,直接追平理想低通的理论极限,而升余弦系统只要α>0就只能到2/(1+α) Baud/Hz。如果带宽是极度稀缺资源,部分响应优势明显。
代价在信噪比和实现复杂度。如果链路噪声不大、链路余量充足,部分响应的多电平判决压力并不明显,是非常划算的选择;如果链路本身信噪比紧张,宁可多占带宽用升余弦,换更低的中断概率。现代高速存储和部分有线链路里,部分响应思想以更进阶的形态出现,比如部分响应最大似然检测,本质上就是受控串扰加序列维特比译码。
5. 三套系统同台对比:到底怎么选
到这里,三个系统的核心特性可以收进一张表里。但这张表不是让你背的,是让你在做设计取舍时快速定位问题边界的。
| 对比项 | 理想低通系统 | 升余弦滚降系统 | 部分响应系统(第一类) |
|---|---|---|---|
| 频域特性 | 矩形,带外为0 | 平坦区+余弦过渡带 | 余弦形,带外为0 |
| 冲激响应主衰减阶数 | 1/t | 1/t³ | 1/t² |
| 物理可实现性 | 不可实现 | 可实现 | 可实现 |
| 非因果/非稳定/需无限阶 | 延迟加截断,FIR可实现 | 抽头延迟线加预编码 | 可实现 |
| 频带利用率 | 2 Baud/Hz(理论极限) | 2/(1+α) Baud/Hz | 2 Baud/Hz |
| 对定时误差敏感度 | 极高 | 低,α越大越不敏感 | 中 |
| 主要实现代价 | 无实际方案 | FIR阶数随α减小而增加 | 多电平判决加2 dB量级信噪比损失 |
| 典型场景 | 理论边界参考 | 绝大多数现代数字通信系统 | 高频谱效率传输、部分有线与存储链路 |
5.1 工程决策:三条约束怎么排优先级
我实际做设计的时候,不会上来就翻书说“我要用哪个系统”,而是先回答三个问题:
- 带宽是不是最紧的资源?如果是,把频带利用率放在第一位,这时候部分响应或者小α升余弦才有资格进入候选。
- 定时抖动预算有多少?如果接收机时钟质量一般、多径环境复杂,优先选大α升余弦,用频谱效率换稳定。
- 信噪比余量有多少?链路余量小,就尽量避免多电平判决带来的信噪比损失,升余弦的单符号判决更稳妥。
这三个问题排序不同,答案就不同。链路带宽极窄、噪声又低的固定场景,部分响应是理想选择;带宽有一定余量、但环境干扰复杂,升余弦是默认安全项。
5.2 别被2 Baud/Hz迷惑:表格后面的代价
表格里理想低通和部分响应都是2 Baud/Hz,但一个不可实现,一个需要额外代价,这个差异非常关键。理想低通的2 Baud/Hz建立在完美矩形滤波和绝对精确的定时之上,现实中不存在;部分响应的2 Baud/Hz靠的是人为引入受控串扰、再用预编码和更多电平数把信息换回来。
升余弦的2/(1+α)看上去似乎“不极限”,但它是用实实在在的带宽换来的简单可靠。工程里大部分情况下,稳定可靠比极限效率值钱得多。这就像开车:理论最高时速是纸面参数,真正好用是综合油耗、舒适度和可靠性。
6. 实操中最容易踩的认知误区
概念串起来之后,还有几个从仿真和调试里反复出现的坑,值得单独写出来。文本看再多,不如实际踩一次印象深刻。
6.1 误区一:α=0的升余弦就是理想低通?
从频域看,α=0时升余弦过渡带宽度变成0,确实退化成矩形频谱,时域衰减也回到1/t。这时候它的物理可实现性问题跟理想低通完全一样:非因果、不稳定、需要无限阶数逼近。
所以升余弦系统的“可实现性”来自α>0时频谱的平滑过渡,而不是来自升余弦这个公式本身。考试时容易忽略这一点,做设计时也容易犯“把α调小到接近0去省带宽”的冲动。我见过有人把α压到0.05,最后定时系统完全锁不住,回过来查原因,就是拖尾太长导致定时误差下的码间串扰压不住了。
6.2 误区二:部分响应的带宽比理想低通更窄?
并没有。第一类和第四类部分响应系统的占用带宽就是奈奎斯特带宽,和理想低通一样是1/(2T_s)。它们的优势不是带宽更窄,而是带内频谱是平滑的半个余弦形状,不需要做陡峭矩形滤波器。
换句话说,理想低通和部分响应站在同一条频带利用率线上,但前者是试图用完美滤波凭空够到极限,后者是用可控串扰从地面上接近极限。理解这一点,才算真正理解部分响应的存在价值。
6.3 误区三:波形衰减越快就一定是更好的系统?
时域衰减快在“定时容忍度”维度上确实是优势,但不能推广成“衰减越快越好”。时域衰减快通常要求频域平滑,而频域平滑的代价要么是占用带宽变大(升余弦),要么是电平间距缩小(部分响应)。
工程上所有设计都是有限资源下的交换。你不可能同时拿到最高的频带利用率、最快的时域衰减、最简单的收发机和最大的信噪比余量。正确做法是先画约束边界,再选落点,而不是拿着单一指标去比较两个方案的好坏。
6.4 关于截断长度,我踩过的坑
用FIR实现升余弦滤波器时,截断长度太短,频谱会振铃,时域也会长出额外旁瓣。我早期做过一个α=0.2的系统,为了省片上资源把截断长度压到16个码元,结果眼图开口度比理论值差了一个量级,误码率怎么都压不下去。
后来我把方法固定下来:先跑无噪声仿真,截断长度从16、32、64、128逐个往上试,同时观察眼图开口度或者误码率,性能基本不再变化的位置再留一点余量。α小的系统一定要留更长的截断长度,这是很多初学者最容易忽略的耦合关系。还要注意接收端和发送端根号升余弦滤波器要一起设计,单独优化任何一侧都得不到全局最优。
最后再分享一个心得体会。这三个系统本质上不是“谁取代谁”的关系,而是在物理可实现性、时域波形衰减快慢、频带利用率三个维度里做选择题。理想低通画出了理论边界,升余弦用带宽换可行性,部分响应用可控串扰换频谱效率。我后来每次设计接收机,都会先把链路预算和定时抖动预算列出来,再决定要不要上部分响应、α到底选多大。你如果也正在纠结这个选择,不妨先做同样的事——很多答案,列完约束后自己就浮出来了。