
通信原理这门课里讲到数字基带传输和码间串扰ISI的时候部分响应系统几乎是必考也必问的一个点。很多人第一遍学完只记住一句话部分响应就是故意引入已知的码间干扰来换频带利用率但真让他说优缺点、讲原理、谈工程应用又讲不连贯。这篇把部分响应系统的来龙去脉、设计思路、优缺点以及它在现代通信里还活着的地方一次性说透。无论你是期末复习、考研专业课还是做基带系统仿真想找个可落地的参考这篇都适合。1. 先把背景讲清楚为什么会有部分响应系统1.1 奈奎斯特第一准则和那道理想滤波器的坎数字基带传输里有一条几乎所有人都背过的结论带宽为 B 的信道理论上每秒最多无干扰地传 2B 个码元这个极限叫奈奎斯特速率对应码元周期 T 1/(2B)。要实现它整个系统发射成形、信道、接收滤波的等效基带传输特性必须是一个严格的矩形低通频谱时域上对应的是 sinc 脉冲。问题就出在这个矩形上。理想矩形滤波器在频域上有两个跳变点带内幅频恒定、带外直接归零物理上需要无限阶的滤波器才能实现任何有限阶逼近都会在带沿留下过渡带码间干扰立刻冒出来。更麻烦的是sinc 脉冲的拖尾按 1/t 的速度衰减衰减得太慢稍微有点定时误差前后几十个码元的尾巴都会叠加到当前抽样点上。所以无 ISI 奈奎斯特速率在理论上很美工程上却几乎不可能直接落地。1.2 两条技术路线的分歧硬压滚降 vs 放一点 ISI 进来既然理想矩形做不出来常规做法是用升余弦滚降滤波器用多余的带宽换可实现性。滚降系数 α 越大滤波器越好做但占用带宽变成 (1α)B频带利用率从 2 降到 2/(1α) Baud/Hz很多实际系统停在 α 0.2~0.3等于主动放弃了一两成的符号速率。部分响应系统选了另一条路不回避 ISI而是自己设计出一个完全已知、完全可控的 ISI。打个比方奈奎斯特准则要求马路上每个人保持绝对等间距否则就会撞车部分响应则规定每个人必须和前一个人牵手牵手规则是公开约定的到终点再按规则把人一个个还原。只要规则足够简单确定接收端就能把这段人为引入的干扰精确地算回来。这就是部分响应系统的核心思想与其拼命消除所有 ISI不如把 ISI 从敌人变成已知数。2. 部分响应系统到底怎么工作以第Ⅰ类双二进制为例2.1 相关编码和那个自找的码间干扰第Ⅰ类部分响应也叫双二进制duobinary是最经典的一种。假设输入双极性序列 x_k ∈ {1, -1}相关编码器做的事极其简单c_k x_k x_{k-1}就是当前符号和前一符号相加后送去成形滤波。就这么一个加法相邻码元的干扰被精确写进信号结构里。从频域看系统等效传输特性是矩形频谱乘上 (1e^{-j2πfT})幅频变成 2T|cos(πfT)|在 |f| ≤ 1/(2T) 范围内像半个余弦波带沿处平滑归零不再有矩形跳变。时域上看更直观对应的冲激响应在 t0 和 tT 两个采样点都是 1其他抽样点全部为 0。也就是说每个码元只故意影响下一个码元影响量还精确等于自身幅度。接收端在每个码元周期取样得到的电平只有三种2、0、-2。这就是为什么双二进制接收机要用三电平判决器两个门限分别设在 1 和 -1也是教科书上常说部分响应系统眼图是两个重叠的眼的原因。2.2 预编码把差错传播从根上掐掉直接用 c_k 反推 x_k 可以吗可以但很危险。最自然的做法是 x_k c_k - x_{k-1}把上一码元的判决结果代回去做减法。问题在于只要 x_{k-1} 判错一次这个错误会顺着递归关系一路传染下去后面的码元可能全错这叫差错传播是部分响应系统最初被嫌弃的核心原因。解决办法是预编码也叫差分编码把递归从接收端挪到发送端。设原始数据为 d_k ∈ {0,1}发送端先做a_k d_k ⊕ a_{k-1}其中 ⊕ 是模 2 加法a_k 是预编码后的序列再映射成双极性 x_k 2a_k - 1 去参与相关编码 c_k x_k x_{k-1}。这时接收端的判决规则变得极其简洁抽样值 |c_k| 1 判 d_k 0|c_k| 1 判 d_k 1和 a_{k-1}、x_{k-1} 一点关系都没有。验证一下设 a_{k-1}0、x_{k-1}1若 d_k0则 a_k0、x_k1c_k2判 0若 d_k1则 a_k1、x_k-1c_k0判 1。因为预编码把数据之间的递归关系摊到了发送序列里接收端只需要对当前电平做三电平切片单次判决错误就是独立事件不会滚雪球。代价是发送端多一个模 2 加法器和一个符号周期的延迟但和差错传播的灾难性后果相比完全值得。2.3 其他常见类型第Ⅳ类修正双二进制的 DC 空口除了第Ⅰ类教材还会重点讲第Ⅳ类也叫修正双二进制modified duobinary。它的相关编码是c_k x_k - x_{k-2}也就是让当前符号和前两个符号做差。频域幅频是 2T|sin(2πfT)| 的形状特点是 f0 处频谱正好为零奈奎斯特带沿处也为零。这个零点非常实用很多物理信道变压器耦合、交流耦合、带通载波系统传不了直流分量第Ⅰ类双二进制频谱在零频处是最大值反而不合适第Ⅳ类天生没有直流直接匹配这类信道。预编码也要相应改成 a_k d_k ⊕ a_{k-2}思路一样只是延迟从一拍变成两拍。教材还顺带提过第Ⅱ类、第Ⅲ类等类型本质都是用关于延迟算子的多项式如 1D、1-D²去设计已知的码间干扰再配合相应预编码。看懂第Ⅰ类其他类型就是换系数、换延迟的套娃不需要硬背。3. 优点为什么工程上愿意引狼入室3.1 频带利用率顶到理论极限部分响应系统最大的卖点是它在 B Hz 带宽里能跑满 2B Baud 的符号速率也就是 2 Baud/Hz一步到位达到奈奎斯特速率却不需要实现那个不可能的理想矩形滤波器。用多电平再往上堆还能继续提高比特级效率M 电平的部分响应理论上可以达到 2log₂M bit/s/Hz。这个指标在带宽受限场景里非常诱人电话线、卫星转发器、水声信道带宽都是按 kHz 甚至更小算的省下来的每一点带宽都是实打实的收益。3.2 频谱平滑、拖尾衰减快、滤波器友好把几类方案放在一起对比更清楚方案占用带宽频带利用率滤波器可实现性相对抗噪损失理想低通奈奎斯特B2 Baud/Hz矩形频谱物理不可实现基准升余弦 α0.51.5B约 1.33 Baud/Hz容易无额外损失但多占带宽升余弦 α→0B2 Baud/Hz逼近矩形极难接近基准双二进制部分响应B2 Baud/Hz余弦滚降容易约 2~3 dB双二进制的幅频特性在带沿连续且平滑归零频谱没有跳变连带的好处是时域冲激响应拖尾按 1/t² 衰减比理想 sinc 的 1/t 快得多对定时误差的敏感度也低一些。工程上发射和接收各放一个普通有限阶滤波器就能很好逼近整体响应不用为了凑矩形烧掉十倍滤波复杂度。3.3 结构简单配合预编码后就是无记忆判决实现层面相关编码器只有一个延迟和一个加法器预编码器也只有一个模 2 加法加一个寄存器接收端不需要反馈均衡器一个三电平判决器就够。相比非要做到无 ISI 的系统这算极简。而且因为有预编码兜底判决是逐个符号独立的天然适合高速流水线实现也容易和纠错编码、多电平调制组合使用。对实际工程来说简单可靠、能跑满速率常常比理论性能漂亮更值钱。4. 缺点这些代价必须心里有数4.1 抗噪声能力打了折扣电平距离和平均功率的账引狼入室当然要付代价最大的代价是抗噪声性能变差。直观算一笔账双二进制把两个相邻符号相加判决电平从二电平变三电平判决门限从一个变两个电平间距依然是 2-2 到 0、0 到 2但平均功率从二进制时的 1 涨到 2±2 电平各占 1/4 概率贡献能量 4·1/44·1/42。同样平均发射功率下三电平信号的有效距离被变相压缩噪声容限下降。教科书上给的结论通常是相同传信率、相同带宽下双二进制比理想二进制系统大约多付出 2~3 dB 的功率代价不同口径下具体数字有差异考试常说的 2.1 dB 是其中一种参考。如果继续堆多电平每翻一倍电平数代价还会进一步增加。这就是部分响应系统频带换功率的明确账单设计时要先算清楚账再决定用不用。4.2 对信道畸变与定时抖动更敏感部分响应系统所有的精妙都建立在信道确实就是我设计的那个样子这个前提上。实际信道哪有那么听话幅度不平坦、相位非线性、多径衰落都会让 c_k 不再是干净的 x_k x_{k-1}已知干扰变成未知畸变三电平判决的余量立刻被吃掉。所以工程上的部分响应系统几乎都要配均衡器先把信道拉回设计目标附近同时它对符号定时恢复的要求也更高抽样点偏一点眼图闭合速度比普通二进制快。换句话说它把对滤波器的苛刻要求转移了一部分到信道均衡与定时同步上。4.3 差错传播的隐患与实现复杂度暗面没有预编码的状态差错传播会让误码率曲线出现错误地板绝对不能接受所以预编码不是可选项而是必选项。但预编码本身有隐藏代价a_k d_k ⊕ a_{k-1} 是一条反馈链每个符号都要等前一个符号算完在极高符号速率下这个串行依赖会限制芯片主频需要额外流水线或前瞻逻辑去破环白白增加面积和功耗。接收端还要处理初始状态、门限漂移、多电平判决边界等一堆细节整体复杂度并不像一个加法器看起来那么便宜。5. 工程上它去哪儿了从 PRML 到光双二进制5.1 硬盘读出信道里的 PRML如果觉得部分响应系统只是教科书里的古董那就大错特错了。现代硬盘读出信道最著名的 PRMLPartial Response Maximum Likelihood部分响应最大似然技术就是部分响应思想的嫡系后代。磁盘记录的比特密度极高读出头得到的信号 ISI 严重传统均衡很难直接判决。PRML 的做法是先通过均衡器把信道响应整形成某个设计好的部分响应目标比如 PR4 的 1-D²、EPR4 的 1D-D²-D³让 ISI 变成已知网格再用维特比算法做最大似然序列检测。这和双二进制故意造已知 ISI、再用已知规则还原一脉相承只是判决器从三电平切片升级成了更聪明的序列检测器。5.2 光通信里的双二进制光通信里也有部分响应活跃的身影。光双二进制optical duobinary把电域的双二进制编码搬到强度调制/直接检测系统里信号光谱明显变窄色散容忍度提升在 40G/100G 时代的城域网和接入网里一度很常见。它本质上还是那套相邻码元相关编码 三电平判决的玩法只是载体从基带电信号变成了光强度与相位的组合。看到这里你应该能感觉到部分响应不是一个过时的名词而是一种被反复复用的设计范式。5.3 给水声通信读者的一句题外话这几年水下无人系统和海洋观测火起来现代水声通信也成了热门方向。水声信道带宽极窄、多径严重ISI 是头号敌人大多数实际系统靠自适应均衡、OFDM 和强纠错编码。但如果你想弄懂为什么信道这么窄还能硬塞进去这么多信息部分响应系统是绕不开的基础课。手头如果有《现代水声通信原理与 MATLAB 应用》这类书建议把均衡和信道估计的章节和部分响应放在一起读你会更清楚工程师是怎么设计信道而不是只能忍受信道。6. 学习与考试避坑指南6.1 考试和面试常问的几个点把常见考点整理成速查表复习时直接对着过问题一句话答案为什么部分响应能跑 2B 速率却不需要理想低通因为它不追求无 ISI而是让 ISI 完全已知可控接收端能还原预编码为什么要用模 2 加法把递归关系挪到发送端让接收端判决只依赖当前抽样电平阻断差错传播为什么第Ⅰ类接收端是三个电平相邻双极性符号求和结果只有 2/0/-2 三种为什么误码性能比理想二进制差三电平判决、有效距离被平均功率稀释约多付 2~3 dB 功率第Ⅰ类和第Ⅳ类有什么区别一个求和、一个隔符号相减第Ⅳ类频谱在 DC 处为零适合不能传直流的信道另外提一句搜索时容易混进iic 通信原理这个词I2C 是芯片间低速总线协议讨论的是设备寻址、时序和应答和这里说的数字基带传输理论完全是两个层次。如果你是顺着 I2C 关键词进来的确认一下要找的到底是总线时序还是物理层传输理论别拿错资料。6.2 仿真验证时容易踩的坑在 MATLAB 里验证双二进制核心代码骨架很短但坑不少% 双二进制(第Ⅰ类部分响应)基带仿真要点 N 1e6; % 比特数 d randi([0 1], 1, N); % 原始数据 d_k a0 0; % 预编码初值 a_0, 收发双方约定 a zeros(1, N); for k 1:N a(k) xor(d(k), a0); % a_k d_k XOR a_{k-1} a0 a(k); end x 2*a - 1; % 0/1 - 1/-1 xs [1, x]; % 初始参考符号 x_0 1 (对应 a_0 0) c xs(2:end) xs(1:end-1); % c_k x_k x_{k-1}, 长度 N % 加噪声, sigma 由目标 Eb/N0 换算; 这里直接作为变量 r c sigma * randn(1, N); % AWGN % 判决: |r|1 判 0, |r|1 判 1 dhat double(abs(r) 1); ber mean(dhat ~ d); % 与理论 1.5*Q(1/sigma) 做对比三个最容易翻车的地方一是忘记预编码直接对 c 做差分还原误码率会难看得没法看二是把判决门限设在 0等于默认电平是 ±1 而不是 ±2/0多出一堆边界误判三是不处理初值把第一拍符号也统计进误码率导致仿真对不上理论。另外强烈建议画一下eyediagram(r, 2)你会直观看到双二进制特有的两个叠加眼这是理解三电平判决最好的视觉材料。6.3 三个容易混淆的概念和一句提醒最后把三个最容易混的概念掰开无 ISI 传输是让信号互不干扰部分响应是让信号按已知规则互相干扰再还原均衡器是把不听话的信道拉平部分响应是把信道主动设计成听话的形状二者经常配合使用而不是互斥部分响应和线路编码、信道编码也是三个不同层面的东西别在考场上画等号。想快速建立这部分直觉的话可以翻《深入浅出通信原理》里讲奈奎斯特和码间串扰的章节那里的图形化讲解比很多教材的公式更友好。我个人在实际教学和仿真里体会最深的一点是通信系统里从来没有免费午餐部分响应就是用几个 dB 的抗噪代价换回被升余弦滚降让掉的宝贵带宽还顺手把滤波器从理想拉回现实。每次遇到某指标看起来好得不真实的方案我都会先问一句代价藏在哪把这个问题想明白了部分响应学通了后面看 PRML、看光双二进制、看任何高速传输系统你都会比别人多一层设计信道的视角。复习时也别硬背结论自己推一遍双二进制的频谱和一个误码率表达式比背十遍考点的效果都好。