
搞通信这些年有一个问题我从读书时一直带到做项目才真正想明白奈奎斯特准则说了那么多无码间串扰、sinc函数、频带利用率它到底管的是哪一段信息究竟是“放在”被调制的载波上还是直接放在脉冲波形上为什么教材里讲通带传输的时候几乎不再提sinc而是大谈星座图、IQ调制如果你也卡在这几个关卡上这篇文章正好帮你把它们打通。先给结论奈奎斯特准则传送的码元信息不是被调制到载波信号上的某种“附加属性”而是直接承载在时域为sinc形状的脉冲串上它的直接适用对象是基带等效基带传输系统的合成传递函数对带通实信号不能原样套用。这句话看着绕其实把它拆成“码元、波形、载波是三层东西”和“基带与通带要做等效变换”两个问题就顺了。下面从原理到工程一层一层剥开讲。1. 先把奈奎斯特准则的“管辖范围”划清楚1.1 码元、波形、载波三个经常被搅在一起的概念很多初学者混淆奈奎斯特准则根本原因是把“码元”“波形”“载波”这三样东西当成了一回事。我们一个一个说清楚。码元是信息的最小单位。在二进制系统里它就是一个0或1在QPSK里它是四组比特组合00、01、10、11中的一个。码元本身是抽象的它必须以某种实实在在的物理形式出现才能被发送、被接收。这种物理形式就是波形。波形是承载码元的物理信号。基带传输里我们发送的信号本质上是一串脉冲的叠加把第k个码元写成a_k把发送的脉冲形状记为g(t)那么发送信号就是所有 a_k·g(t-kT) 的求和T是码元周期。信息a_k以脉冲的幅度或者极性、位置体现出来。也就是说在基带这一层“信息放在波形上”这句话是字面意义的它直接决定了一串脉冲里每个脉冲的幅度是正是负、是大是小。载波又是另一层的东西。它通常是一个高频正弦波cos(2πf_c t)作用是把整个基带信号的频谱从零频附近搬到高频附近好让信号能够通过天线辐射出去、能够和别的通信系统隔开频段。载波本身不携带码元信息它只是频谱的“搬运工”。发射机做的事情可以理解为把那一串基带脉冲和载波相乘或做更复杂的IQ调制把脉冲串“驮”到高频上去。这三层关系搞明白后再看奈奎斯特准则就清楚了它从头到尾约束的是承担码元的那个基带脉冲g(t)以及整个基带系统发端滤波器、信道、收端滤波器串在一起的总冲激响应。载波只负责频谱搬移不参与无码间串扰的判决。1.2 奈奎斯特准则管的是哪一环抽样点上的“接力赛”数字接收机最终要做的事情不是去看载波长什么样而是把射频信号搬回基带然后在每个码元的中心时刻tkT抽一个样看看这一点的幅度或相位是正还是负、接近哪个星座点。判决准不准取决于两件事一是噪声大不大二是相邻码元的波形有没有“拖尾巴”拖到当前抽样点上。奈奎斯特准则处理的就是第二个问题它给整个基带系统的冲激响应h(t)提出一个苛刻但可行的条件——在同一码元的抽样点上响应要为1或某个固定常数在所有相邻码元的抽样点上响应必须为0。用数学表达就是h(0) 1h(kT) 0k为任意非零整数这个条件的理解方式就像接力赛每个码元都有自己的“赛道时刻”第0个码元只在t0这个瞬间对接收机的抽样结果做贡献其他所有码元的波形即使拖了很长的尾巴也必须保证在tkT这些抽样时刻上刚好过零。谁都不许跑到别人的时间格子里去。所以奈奎斯特准则盯住的对象是“传完整个链路之后单个码元脉冲长成什么样”而不是“载波是怎么被调制的”。只要最终冲到抽样器上的总响应满足上述零点条件无论用的是QPSK还是16QAM、无论前面有没有载波判决都是干净的。这一点是理解标题中“并非被调制的载波信号上”的关键。2. sinc信号是怎么登场的从“无串扰”到“理想波形”2.1 时域直觉什么样的波形能在别人的抽样点上恰好归零现在问题变成冲激响应h(t)要满足“自己抽样点是1别人抽样点是0”那它应该长什么样最容易想到的一种波形就是sin(πt/T)除以(πt/T)这种形状也就是sinc函数$$h(t) \frac{\sin(\pi t/T)}{\pi t/T}$$它的特点是在t0时函数值为1在t±T、±2T、±3T……这些位置上函数值全部为0。这正是我们想要的。换句话说如果接收端看到的每个码元脉冲都长成sinc的样子那么在第0个码元抽样点上看只有第0个码元的贡献是1其他码元即使紧挨着它们的波峰也都不会出现在这个抽样瞬间。码间串扰为零。这就是标题里“直接承载在sinc信号上”的来历。发送端送出的那串脉冲理论上可以理解为就是一组sinc脉冲的叠加信息a_k直接决定每个sinc脉冲的正负和大小。你不需要再额外找个载波去“承载信息”sinc脉冲本身已经把码元信息表现得明明白白。这个直觉可以用物理世界的例子来理解想象一排摆钟每个钟只在整点敲一下你只在整点听声音。只要每个钟的敲击声不会拖到下一个整点之后还有余音那每个整点你听到的就是当前这个钟的声音。sinc脉冲就是那个“敲完就安静、绝不拖延到下一个整点”的钟声。2.2 频域视角为什么矩形频谱对应sinc脉冲时域看到的现象背后频域一定有严格的对应关系。对sinc函数做傅里叶变换得到的结果是一个矩形函数理想低通当|f|≤W时H(f)T当|f|W时H(f)0其中W1/(2T)。也就是说sinc脉冲的频谱是一个带宽为W的理想低通形状。这给了我们一个对偶的、也是工程上更常用的解释想要时域无码间串扰整个系统需要一个矩形的传递函数而矩形频谱反变换回来时域就是一个sinc波形。这个结论直接通向奈奎斯特准则的经典表述$$\sum_{i-\infty}^{\infty} H\left(f \frac{i}{T}\right) T, \quad |f| \le \frac{1}{2T}$$这个式子的意思是把整个系统的频响H(f)以1/T为间隔沿频率轴折叠折叠后叠加起来必须是一段“平”的常数。理想情况下一个矩形低通天然满足这个条件只要它的带宽W等于1/(2T)折叠加和后就刚好填平。反过来如果系统频响不是矩形的折叠叠加后出现塌陷或者凸起时域上就一定会有码间串扰。频域的视角还顺便给出了一个极其重要的极限数值在带宽为W的基带信道里无码间串扰的最大码元速率是2W Baud。这个“2”是sinc脉冲、矩形频谱和抽样定理共同决定的频率利用率的上限就是每秒每赫兹两个码元。我们做系统设计时带宽和速率怎样换算都得回到这个数字上来。2.3 工程用升余弦保留sinc的“骨架”换掉它的“尾巴”sinc是理论完美工程上却没人直接拿它当发送脉冲。原因有两个第一理想低通频谱无法用物理器件精确实现它要求从“通”到“断”瞬间完成这是物理上做不到的第二sinc脉冲的尾巴衰减太慢大约按1/t的速度衰减收端抽样定时稍微偏一点点那些“本来应该为零”的抽样点上就会叠加上大量邻码串扰系统对定时误差极其敏感。工程上的标准做法是采用升余弦滚降滤波器。它的频响不再是严格的矩形而是一个在边界处平滑过渡到零的形状过渡的陡峭程度用滚降系数β0到1之间表示β0时升余弦退化为理想低通频谱最省带宽但时域就是sinc尾巴衰减慢β1时频谱过渡最平缓带宽是理想低通的2倍但时域尾巴衰减速度大大加快对定时误差容忍度更好。升余弦的时域波形依然满足“在tkT处为零”这一奈奎斯特无串扰条件所以它本质上是sinc的“变体”继承了最关键的过零结构但通过平滑频响换来了可实现性和更好的定时鲁棒性。它的占用带宽变为(1β)/(2T)频带利用率为2/(1β) Baud/Hz。这里能看到一个经典在设计上进行取舍的地方β取得小省带宽但收端定时稍有抖动眼图就急剧恶化β取得大系统对定时误差更宽容但带宽付出更多。实际卫星通信、微波传输里β常在0.15到0.35之间就是在这两个目标之间平衡出来的经验区间。3. 基带与通带奈奎斯特准则真正的“势力范围”3.1 什么是基带传输什么是通带传输基带传输是信号从零频附近直接传输。它不需要载波信号的能量集中在直流和低频区段。计算机主板上的高速串行总线、板级芯片间的并行互连本质上都是基带传输过去电话线拨号上网的早期阶段也从基带形态起步。通带传输则要把基带信号频谱搬到某个较高的中心频率f_c附近再传输。无线通信基本都属于这一类频谱搬到哪里通常由国家分配给具体业务。通带传输的物理信号就是基带脉冲串乘以载波后的结果。用公式表示发送信号可以是$$s(t) \left[\sum_k a_k , g(t-kT)\right] \cdot \cos(2\pi f_c t)$$注意中括号里那一串是纯基带的sinc类脉冲序列后面的cos(2πf_c t)只是负责把它搬到高频的“搬运工”。这个公式其实就是对标题最好的注脚码元信息a_k仍然是在基带脉冲g(t-kT)上载波只是整个频谱的位置搬移器搬完之后信息还是在脉冲波形上不在载波本身上。接收机要做的第一步永远是先把s(t)搬回基带去掉那个cos项然后再对脉冲串进行抽样判决。3.2 为什么不能把奈奎斯特条件直接套在带通实信号上既然通带信号就是基带信号搬到高频那是不是直接把带通系统的传递函数H(f)代进奈奎斯特的折叠求和公式就行了答案是不能直接代。这里有三个原因。第一带通实信号的频谱是关于载波频率共轭对称的。它既包含正频率分量也包含负频率分量而且两边互为镜像。如果你直接拿这个实信号的频谱按1/T间隔去折叠叠加正负边带会被叠在一起得到的曲线和“常数”相差甚远你就完全无法判断是不是满足无串扰条件。这不是系统做得不好而是你选错了观察对象。第二带宽的定义不一样。基带信道的带宽W通常指单边带宽从0到W。带通信号在射频上的占用带宽一般指正频率一边的总宽度我把它记作B_rf。对常规双边带调制来说射频带宽近似等于等效基带单边带宽的两倍。尺寸改变了直接用基带公式会把速率算错一倍。第三带通系统里可能还存在载波相位偏移、频偏等额外因素。奈奎斯特准则本身根本不涉及这些东西它只回答“波形会不会串”的问题不回答“载波相偏怎么纠正”的问题。如果非要把载波相偏这些因素塞进奈奎斯特准测那就是让“裁判”去干“教练”的活职责搞混了。所以标题说“不适用通带传输系统”准确的理解是不能拿带通实信号自身的频响直接去套奈奎斯特的周期折叠条件。带通系统的无串扰分析必须先做一个数学变换把带通映射成等效基带再在等效基带上去应用。3.3 通带系统里其实在用“等效基带”版本这个变换在通信原理里叫取复包络也叫等效基带变换。做法是把带通信号表示成I/Q两路正交分量的形式$$s(t) \operatorname{Re}\left{s_B(t) , e^{j2\pi f_c t}\right}$$其中s_B(t)是等效复基带信号它的实部是I路虚部是Q路。这一步之后带通系统整体映射成一个复基带系统信道在载波附近的幅频响应也映射成等效基带响应。在这个等效基带域里奈奎斯特准则完全可以照常用折叠叠加条件、sinc脉冲、升余弦滚降全部成立。这就是为什么QPSK、16QAM这些通带系统设计滤波器时依旧用根升余弦滚降仿真时依旧通过眼图观察基带信号质量。它们在实际信道上发送的是高频带通信号但所有和码间串扰相关的设计都在等效基带里完成。换句话说奈奎斯特准则没有在通带系统里“失效”它只是换了一身衣服从“基带直通”变成了“等效基带”内里那套折叠叠加、零点抽样、升余弦滚降的规则一字未改。举个具体的数字例子帮助理解。QPSK系统符号速率R_s10MBd基带成型使用β0.25的升余弦滤波器。那么基带单边带宽W(1β)·R_s/26.25MHz复基带信号占用的总带宽就是2W12.5MHz经过载波上变频后射频通带里正频率一侧的主瓣带宽约12.5MHz。这里如果谁拿射频带宽12.5MHz直接套基带公式、或者拿它和基带带宽6.25MHz对不上号立刻就会在工程设计里出错。正确的关系是通带系统先把射频带宽除以2得到等效基带总带宽再除以2得到单边带宽然后才轮到奈奎斯特准则登场。4. 从理论到链路一次完整的基带成型设计实录4.1 先定参数码速、滚降、带宽、采样率我拿一个实际项目里常见的场景做例子。假设我们要设计一个QPSK数字发射链路符号速率R_s10MBd目标占用射频带宽约12.5MHz滚降系数取β0.25。这个选择背后的理由是12.5MHz正好等于(10.25)×10带宽宽度利用率尚可同时留出了应对定时抖动的余量。频谱设计参数如下表参数数值说明符号速率 R_s10 MBd每秒传送1000万个码元比特速率20 MbpsQPSK每符号2比特滚降系数 β0.25频谱过渡带占比复基带总带宽12.5 MHz(1β)×R_s基带单边带宽6.25 MHz总带宽的一半采样率 F_s40 MHz取4倍过采样满足成型滤波精度采样率这里我选了4倍过采样也就是每个码元采4个点。这个选择有两方面考量采样率太低成型滤波器的幅频误差大时域波形不够平滑采样率太高FPGA或DSP里的乘法资源吃不消。4倍过采样在大多数中速率链路里是一个性价比很高的平衡点既能保证成型质量又不至于让硬件跑不动。4.2 根升余弦滤波器为什么发端和收端各放一个理想的升余弦滤波器总特性要求“整个链路合成”是升余弦。这个“整个链路”包括发端脉冲成型、信道、收端匹配滤波。工程上最常用的分配方式是发端和收端各放一个根升余弦滤波器RRC两个RRC级联后等效于一个升余弦。这样做的道理有两层一是从匹配滤波的角度看收端滤波器与发端脉冲共轭匹配时抽样点上的信噪比最大二是两个相同根升余弦串起来总响应正好满足奈奎斯特过零条件。成型滤波器设计时我建议注意三个要点第一滤波器阶数要足够。实际实现RRC时必须把它截断成有限长。截断长度一般取6到10个码元周期太小了频响误差大码间串扰会从理论上的零变成明显可见。我通常取8个码元周期的滤波器长度量化后发现带外杂散和ISI都能压到工程可接受范围。第二群延迟要补偿。任何非对称实现都会在波形上引入延迟接收端匹配滤波后抽样时刻要相应偏移到滤波器主瓣位置而不是想当然地在脉冲起点抽样。这个延迟在做硬件联调时最容易让人一头雾水眼图看着全乱了其实不是滤波器设计错了只是抽样时钟没找到正确时刻。第三用查表还是用实时计算要提前想好。在FPGA里通常把RRC系数预先算好、量化为定点数存在ROM里发送数据与系数做卷积。系数量化位数至少12bit太少则带外抑制差太多则资源浪费。4.3 靠眼图验收看张开度不看单条波形链路搭好之后第一个要看的东西是眼图。把接收端抽样前的波形按码元周期重叠显示屏幕上会出现一只只“眼睛”。无码间串扰的理想状态下这只眼睛张得很大线条干净利落眼图的上下“眼皮”几乎重合。如果奈奎斯特条件没有满足比如滤波器阶数不够、滚降系数和实际环路不一致、或者接收端抽样时刻偏离了最佳点眼图就会出现明显的变化眼皮变厚、眼高变矮、交叉点发散严重时眼睛几乎闭成一条线。我用一个快速判断标准眼图的“眼睛高度”如果理论上应该接近2倍的信号幅度对于±1的基带信号实测掉到1.6以下先别急着怀疑硬件噪声回头查查成型滤波器和定时恢复环路。实测下来很多第一版链路眼图闭合最后都锁定在抽样时刻偏移了半个采样点这种细节上而不是噪声太大。另外眼图里还能顺带读出定时误差的容忍度。β越小眼睛横向张开的宽度越窄定时抖动稍微大一点就碰到眼皮β越大眼睛横向越宽越能容忍时钟抖动。所以前面说β取0.25而不是0.05就是在省带宽和抗抖动之间做的工程折中眼图能直接验证这个折中是否合理。5. 常见误区与排查速查表5.1 误区盘点我梳理了做通信链路时和奈奎斯特准则相关的四个高发误区基本都能和标题里的核心观点对应上。第一个误区是把奈奎斯特准则和载波调制混为一谈。总有人觉得“信息是调制在载波上的所以奈奎斯特准则应该和载波一起考虑”。实际上基带脉冲序列决定码元波形的频谱形状载波只把整个频谱搬到高频。发射端成型滤波器、接收端匹配滤波、抽样判决这三步都在基带等效基带完成载波不参与ISI的判定。第二个误区是拿直接射频带宽往基带公式里套。通带系统的射频带宽与等效基带带宽之间存在约2倍的关系不换算就套用奈奎斯特速率公式结果差出一倍。这是新手最容易算错的地方。第三个误区是试图“直接发送sinc脉冲”。理想sinc频谱是矩形物理上不可实现时域拖尾又太长实际必须用升余弦这类近似波形。既然标题说“直接承载在sinc信号上”那是对原理的准确描述不意味着工程上要照着理想sinc做硬件。第四个误区是把β取得特别小以为越省带宽越好。β小了定时抖动容忍度也低了整个系统对时钟质量的要求急剧上升。实际设计里带宽和鲁棒性要协商着来。5.2 排查思路速查表现象可能原因排查方向眼图闭合信号幅度正常抽样时刻偏移最佳点检查定时恢复环路的锁定点眼图眼皮厚、线条发散滤波器截断长度不够增大RRC滤波器阶数到8个码元以上误码率高于预期但噪声不大根升余弦与升余弦混用、滚降系数不一致核对收发两端滤波器类型与参数频谱宽度超出设计值实际滚降系数过大或成型未生效检查发射链路是否漏配成型滤波器通带系统速率上不去射频带宽与基带带宽换算错误先把射频带宽除以2得到等效基带单边带宽再套公式星座图旋转、发散载波同步未收敛和ISI无关单独排查载波恢复环路别去改成型滤波器排查时的一个经验是先分“病在哪个环节”。如果噪声和频谱都对就是眼图不好问题大概率在脉冲成型和定时上如果频谱形状都不对那是成型根本没做对如果星座图整个在转那是载波同步的问题改滤波器参数是徒劳的。分清环节再动手能省掉大量无意义的尝试。最后一个建议如果你想真正体会“码元信息直接承载在sinc上”这句话自己动手用软件仿一下就能感受到。生成一串随机码元用升余弦成型在接收端把每个码元的波形叠加在一起看你会发现尽管波形在时间轴上重重叠叠但只要奈奎斯特条件满足抽样点上永远“井水不犯河水”。那个瞬间原理、公式和工程实践就在你脑子里合成一张图了。