ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

奈奎斯特与香农定理:通信系统两把尺子的区别与工程应用

2026/9/25 10:35:53 拓冰建站 浏览量
奈奎斯特与香农定理:通信系统两把尺子的区别与工程应用 我不是没讲过通信原理但每次有人让我用一句话讲清奈奎斯特定理和香农定理的区别时我都有点犯怵。这两个定理是整个通信系统里绕不开的两座大山一个管着“能不能传”、一个管着“能传多快”但它俩长得太像了公式里都有带宽B名字又都是外国人初学者经常搞混。别说初学者了我当年刚入行做基带算法时也把这两个东西用错过——还是在一个实际项目的参数论证环节差点把系统的容量预算算错一倍。所以这篇文章我打算换个思路不讲教科书上的推导过程直接从我这些年做工程的角度把这两个定理掰开揉碎了讲清楚它们各自解决什么问题适用条件是什么为什么一个叫“定理”一个也叫“定理”以及你在实际设计中该怎么把它们落到位。这篇东西适合刚学通信原理的学生、转行做通信或嵌入式的小伙伴也包括那些工作几年但基础不太牢、想回头补课的工程师。咱们不用微积分尽量用生活化类比把公式背后那些“没说出口的话”都翻出来讲。1. 奈奎斯特定理先搞清楚“多快能采样”再谈“多快能传输”1.1 采样定理到底在说什么奈奎斯特定理最常见的形态是采样定理为了把一个连续信号无失真地还原出来采样频率必须大于信号最高频率的两倍。公式写出来就是fs 2 × fmax这里的fs是采样频率fmax是被采样信号里的最高频率分量。你看这个条件它是关于“时间轴上取点”的。说白了信号是个连续的波浪线你要用离散的点去描述它那取点的频率必须足够密密到能抓住波形的每一次起伏。为什么是两倍而不是1.5倍或者3倍道理其实很直观。正弦波一个周期里如果只在两个极端位置各取一个点正好能还原出频率信息但一旦频率分量超过fs/2这些点在还原时就会“串位”变成另一个低频信号的样子。这个现象叫做混叠——高频信号伪装成低频信号混进来了而且一旦混进来无论你怎么滤波都分不干净。我在实验室里第一次看到混叠现象时印象很深用示波器采样一个100kHz的正弦波采样率设为80kHz屏幕上居然出现了一条20kHz的干净波形。100kHz的信号和80kHz的采样系统打架最后呈现出来的20kHz完全是“幻觉数据”可波形又是实实在在的。那一刻我才真正理解什么叫“采样率不够鬼影重重”。采样定理在数字世界无处不在。你手机里的音频采样率是44.1kHz或者48kHz人耳能听到的频率上限大约是20kHz44.1kHz刚好大于2×20kHz留了一点点余量。这也是CD格式定44.1kHz而不是40kHz的原因——必须留出过渡带否则抗混叠滤波器做不干净。视频、雷达、示波器、模数转换器凡是涉及“把模拟变成数字”都要过这一关。1.2 从采样到无码间串扰奈奎斯特第一准则但通信人谈奈奎斯特定理往往不只是谈采样。在数字通信里还有一个更贴近工程的说法在带宽为B的信道中无码间串扰传输时的最大符号速率是2B。这个结论叫奈奎斯特第一准则。先解释一下什么是码间串扰。你把数字信号发出去经过信道后接收端看到的是一串被展宽的脉冲每个脉冲的“尾巴”会拖到下一个符号的时间窗口里干扰下一个符号的判决这就是码间串扰。奈奎斯特发现如果发送脉冲的频谱形状经过精心设计比如升余弦滚降那么在一个特定时刻点上本符号的幅度最大而相邻符号的贡献恰好为零。这样就能做到互不干扰。此时符号速率最多能到2BB是信道带宽单位是波特Baud也叫符号率。注意这里说的是符号速率不是比特速率。一个符号可以携带多个比特具体能带多少那就不是奈奎斯特能回答的了得请香农出来。我举个例子假设你有一条带宽为1MHz的信道。按照奈奎斯特第一准则无码间串扰的话你最多每秒发200万个符号。如果每个符号是2电平即0或1那比特率就是2Mbps。如果每个符号是4电平00、01、10、11那一个符号带2比特比特率就是4Mbps。你看同样的带宽通过提高每个符号的比特数可以让传输速率翻倍但符号速率本身是有上限的这就是奈奎斯特划的线。这句话反过来说也很重要如果你的系统码率超过2B不管你怎么调波形码间串扰都消不掉。所以奈奎斯特第一准则是设计通信系统物理层的第一把尺子任何一个做基带的人都要背下来。1.3 奈奎斯特定理给设计者的第一课奈奎斯特定理真正教会我的一件事是带宽是一种硬资源。在你的系统设计里带宽B往往不是你自己定的而是由频谱规划、天线尺寸、滤波器设计、硬件成本共同决定的。奈奎斯特告诉你在给定的带宽下符号率的极限划在了2B上。这意味着你如果想提升传输速率不能靠“无限加大符号率”只能从两个方向想办法一是提高每个符号的比特数也就是高阶调制二是压缩带宽——但压缩带宽又会反过来限制符号率。这就是一个跷跷板。还有一个工程上常被忽略的细节奈奎斯特准则里的B是等效基带带宽。对于带通传输比如无线通信里的射频信号带宽的算法要看你是双边带还是单边带是基带成型还是射频成型。我见过不少人直接把射频带宽代入公式结果符号率预算算错了一倍。这个坑我后面会专门说。2. 香农定理带宽再宽也扛不住噪声的“物理极限”2.1 信道容量公式的灵魂是信噪比香农定理给的是另一个极限在一个带宽为B、信噪比为S/N的信道里理论上能达到的最大信息传输速率C为C B × log2(1 S/N)这里的C是信道容量单位是比特/秒bpsB是信道带宽HzS是信号平均功率N是噪声平均功率。S/N就是信噪比注意是线性比值不是dB。我第一次认真算这个公式是在大学通信原理课上当时觉得它平平无奇不过是一个对数函数而已。后来工作之后才意识到这个公式的深刻程度远超想象——它把“以多高的可靠性传多少信息”这个终极问题压缩成了一个简洁的等式。看这个公式你会发现三个隐含结论带宽固定时信噪比每增加一点点容量只增加一点点对数关系。信噪比固定时带宽增加容量线性增加。无论你怎么提升信噪比每赫兹带宽所能承载的比特数都有一个上限这个上限就是 log2(1S/N)。换句话说哪怕你手里的带宽大到无限只要信噪比是有限的信道容量就是有限的。这就是为什么深海通信那么困难——水的信道噪声大、带宽窄容量低得可怜。反过来光纤通信为什么能跑那么高因为光纤里的噪声极低加上激光器功率可以做得很大S/N高带宽又巨大所以容量轻松上Tbps。2.2 香农极限为什么是“极限”而不是“目标”我遇到很多刚入行的工程师一上来就想着“我要逼近香农极限”。这个想法值得肯定但要清醒香农极限是在理想编码前提下的极限现实世界要靠近它得付出极大的复杂度代价。这一点我体会特别深。当年做LDPC码低密度奇偶校验码仿真的时候我们为了让系统里BER误码率性能逼近香农极限0.5个dB以内光迭代译码的次数、校验矩阵的结构优化就折腾了几个月。最终确实接近了但换来的是ASIC功耗和面积的大幅增加。如果你在做一个对成本和功耗敏感的产品可能不会为了那0.5dB去上复杂度极高的编解码方案而是选择更成熟的、离极限稍微远一点的码。所以香农定理的实际意义更多是给你一把“标尺”它告诉你任何编码方案在给定带宽和信噪比下都有一个不可逾越的速率上限。它也告诉你如果你的方案离这个上限还很远说明优化空间很大。它还警告你如果你宣称的速率超过了这个上限那一定是你算错了或者你的前提假设有问题。香农定理不告诉你“怎么达到”它只告诉你“最多能到多少”。这是理论和工程之间最经典的距离。2.3 为什么噪声决定了你的调制阶数上限实操中香农定理最常见的应用场景是调制方式的选择。假设你现在有10MHz带宽信噪比是30dB线性比值1000。代入公式C 10M × log2(11000) ≈ 10M × 9.97 ≈ 99.7 Mbps这意味着理论上你最高可以跑到约100 Mbps。但注意这只是一个理论极限。你要达到这个速率意味着每个符号要携带约99.7M/20M≈5比特因为按奈奎斯特10MHz带宽最多20Msps符号率。每个符号5个比特意味着需要32QAM甚至64QAM这样的高阶调制。调制阶数越高对信噪比的要求越苛刻。为什么因为高阶调制把星座点排列得越来越密噪声稍微大一点接收端就可能把星座点判错。香农定理早就把这件事算明白了高阶调制需要更高的信噪比才能维持同样的误码率这就是香农公式里对数项的物理含义。我做过一个很典型的对比实验同样的信道带宽用QPSK每个符号2比特和64QAM每个符号6比特在低信噪比环境下QPSK照样跑得好好的64QAM已经误码一片。这就好比在嘈杂的酒吧里两个人用两三种手势沟通没问题但你非要让他们通过辨认对方脸上每一个细微表情来传递信息那就必崩。3. 一图搞懂奈奎斯特与香农的边界划分3.1 两张“网”的逻辑关系很多人混淆这两个定理是因为它们都涉及带宽和速率。我可以画一个简单的“谁管谁”逻辑链奈奎斯特给定带宽B在保证无码间串扰的前提下符号率上限是2B。它管的是“每秒最多发多少个符号”也就是时间轴上的密度。香农给定带宽B和信噪比S/N信息传输速率上限是B·log2(1S/N)。它管的是“每秒最多传多少比特”也就是信息本身的多少。一个是符号层面的约束一个是比特层面的约束。符号可以携带比特所以一个管符号数一个管比特数两者不是替代关系而是先后关系、递进关系。这么说吧奈奎斯特划定了“车道数量”的上限香农划定了“每辆车能装多少货”的上限。车道再宽如果车都装不满总货运量也上不去车装得再多如果车道就那么几条总货运量同样受限。你要提高货运量必须两个方向同时使劲。奈奎斯特给的上限其实是一个“无码间串扰”条件下的工程准则它假设你的信号可以设计成理想脉冲形状实际系统中因为滤波器滚降系数不为零符号率往往达不到2B。比如实际系统用升余弦滤波器滚降系数α0.25的话符号率大约是2B/(1α)也就是只能用到1.6B左右。这里就体现了两者的差异奈奎斯特是理想化的上限工程实现要打折扣。香农则更进一步直接无视调制、编码等具体实现方式只从信息论角度给出不可超越的绝对极限。不管你是BPSK还是1024QAM不管你是Turbo码还是LDPC码都不能超过这个容量。奈奎斯特讲的是“有没有干扰”香农讲的是“理论上不可逾越”。3.2 两把尺子搭配使用的方法论在工程实践中我一般是这么用这两把尺子的第一步用香农定理算信道容量C搞清楚目标速率和物理极限之间是否有矛盾。如果目标速率已经超过了C那趁早调整指标别在物理上不可能的事情上浪费精力。第二步用奈奎斯特第一准则算符号率上限2B结合目标速率反推每个符号需要带几比特。比如目标速率是100Mbps带宽10MHz符号率上限20Msps那每符号至少要5比特调制阶数至少32QAM。第三步把5比特/符号的需求和当前的信噪比放到一起看判断在这个星座尺寸下误码率能不能接受。这一步其实是把两个定理合起来用奈奎斯特决定调制阶数香农决定这个阶数在给定信噪比下可不可行。这三步走下来方案的大框架就定了后面的细节设计都是在这个框架里填砖加瓦。我做系统链路预算的时候一直用这个流程屡试不爽。4. 两个定理的工程实战应用映射4.1 音频系统中的奈奎斯特44.1kHz和48kHz是怎么来的前面提到过CD的44.1kHz采样率。这里展开说说因为这是一个把奈奎斯特定理用到极致的经典案例。人耳正常能听到的频率上限是20kHz左右。为了无失真还原这些声音理论上采样率至少40kHz。但真正的工程里抗混叠滤波器不可能做到从20kHz开始一刀切而是需要一个过渡带——通带20kHz以上、阻带22.05kHz。于是采样率定成了44.1kHz这样20kHz到22.05kHz之间有了2kHz的过渡带滤波器可以缓慢过渡不用设计得那么尖锐。如果直接卡在40kHz需求滤波器在0Hz到20kHz通带、20kHz立刻切到阻带这是物理上实现不了的。电影音频用的48kHz也是同理只不过留的裕量更大抗混叠滤波器压力更小。你在家用录音棚里如果碰到过那种刺耳的高频噪声多半不是设备坏了而是某个环节的采样率不足或者抗混叠滤波器没做好导致高频信号折返回来混入了可听频段。那种“嘶嘶”声一旦出现用软件怎么降噪都很难完全消除就是因为混叠信息已经和真实信号纠缠在一起了。4.2 无线通信中的香农定理从4G到5G的频谱效率无线通信是这两个定理用得最集中的领域。4G LTE在一个20MHz载波上理论峰值速率大约150Mbps用64QAM和MIMO。你可以验算一下20MHz带宽符号率上限约20Msps20M×240M但实际LTE的有效符号率还要考虑OFDM的循环前缀开销和导频开销实际可用符号率更低64QAM每符号6比特再乘以天线数和开销折算得到的速率大约就是150Mbps量级。这个数字离香农极限还有距离但已经相当接近工程可实现的边界了。5G为什么能在同样带宽下翻好几倍除了更高的调制阶数256QAM甚至1024QAM和更宽的新频段还有一个关键变化编码方式从Turbo码换成了LDPC码数据信道LDPC更贴近香农极限同样的信噪比下能跑出更高的有效速率。这就是香农定理直接指导编码选型的例子。如果哪一天传说的6G真的用上太赫兹频段带宽从几百MHz变成几十GHz香农公式里的B暴涨容量理论上提升两个数量级。但噪声和传播损耗也会变大所以实际增益肯定打折扣。4.3 以太网和PCIe中的符号速率设定你天天用的千兆以太网1000BASE-T就是在四对双绞线、每对125MHz带宽的信道上用PAM-5调制达到的1Gbps速率。125MHz带宽下奈奎斯特符号率上限250Msps但实际以太网用125Msps符号率每符号带2比特PAM-5四对线并行4×125M×21000Mbps正好1G。你看每一个数字都有来历不是拍脑袋定的。PCIe的原理也类似。PCIe 3.0用8Gbps的线速率但那是用128b/130b编码后的速率实际有效数据速率是8×128/130≈7.88Gbps。为什么编码为了让信号有足够的跳变保证接收端的时钟恢复电路能锁定。这个128b/130b就是奈奎斯特意义上的“成型”牺牲一小部分速率换可靠性。做嵌入式或者硬件设计的人几乎每天都会碰到类似的取舍。两把尺子不是课本里供起来的它们是活在每一个接口协议里的。5. 我能想到的最容易踩的坑5.1 “带宽”到底指什么带宽这是最隐蔽的坑。奈奎斯特和香农公式里的B在不同上下文里有完全不同的含义在采样定理里B是信号的最高频率不是频带宽度。在奈奎斯特第一准则里B是等效基带单边带宽。在香农公式里B是信道可用带宽。举个例子一个带通信号的载波是2.4GHz信号占用了从2.4GHz到2.42GHz这20MHz的带宽。这里要注意如果按射频双边带算你可能觉得带宽是40MHz但很多公式里用的B是基带等效带宽只有20MHz。我在做WiFi链路口算的时候看到不少初学者的链路预算里把B多算了一倍或者少算了一倍最后信噪比预算全乱了。所以用公式以前先问清楚我现在用的B是双边带带宽、单边带带宽还是等效基带带宽5.2 信噪比的单位换算香农公式里的S/N是线性比值不是dB。如果你手头的数据是信噪比30dB得先换算成1000再代入公式。你要是直接把30带进去算出来的信道容量会差好大一截简直离谱。我在项目评审的时候最喜欢问一个问题“你这个链路的接收信噪比是多少线性值”每次都会有人脱口而出一个dB数然后一拍脑门反应过来要换算。这是又一个送分题变成了送命题的经典场景。换算公式很简单 线性比值10^(dB值/10)30dB→100020dB→10010dB→10。这一步别跳跳了就得返工。5.3 奈奎斯特的无码间串扰条件是理想化假设奈奎斯特的无码间串扰条件要求发送端和接收端滤波器配合成“完美”的升余弦特性。现实中滤波器设计不可能完美符号率最多只能做到2B/(1α)α是滚降因子通常在0.1到0.5之间。如果硬要跑到无码间串扰极限对滤波器阶数、时钟精度、信道线性度的要求会苛刻到不现实。所以实际系统总是把符号率控制在低于2B的位置用带宽换性能。这不是理论不行是工程必须妥协。我做窄带无线通信项目的时候带宽25kHzα取0.2符号率就只能到25k×2/(10.2)≈41.67ksps。你以为能跑到50ksps跑也能跑误码率会变差而且时钟一抖底噪直接抬起来。这个微妙的关系书本上不太会讲。5.4 信噪比低时增加带宽可能没用香农公式里B和S/N共同决定C但你仔细看S是信号功率不是谱密度。如果你把带宽B翻倍噪声功率N也会跟着翻倍在噪声是白噪声的前提下信噪比S/N就减半最终容量并不一定翻倍。这个细节特别重要。在噪声受限的环境里一味加带宽可能徒劳无功。比如在射电天文或深空通信里背景噪声极低增加带宽能带来可观的容量提升。但在城市电磁环境里人为噪声和热噪声叠加噪声谱密度并不低你加带宽的同时也把更多噪声收了进来实际收益可能远小于理论期望。我当时第一次算这个的时候也愣了一下那增加带宽到底划不划算答案是要看噪声谱密度高不高。这就是为什么卫星通信和地面WiFi的带宽策略完全不一样。5.5 理论极限和系统目标的合理预留最后提醒一点不要把香农极限当设计目标。极限之上还要留至少几个dB的“实现损耗”。工程实现里实际系统离香农极限通常有1到3dB的差距。好的LDPC编码在高性能译码下可以做到离极限0.5dB以内但那是ASIC级别的大投入。普通的FPGA实现、普通的QAM调制、普通的同步算法离个两三dB很正常。所以链路预算里要留“实现余量”。我做系统设计的时候一般会在香农极限速率上再打个7到8折作为工程目标。这个打折看起来保守但它可以让你少掉很多头发尤其是当现场环境的干扰比实验室恶劣的时候。我的实操心得写了这么多最后说点我个人的感受吧。奈奎斯特定理和香农定理很多人觉得它们是“理论”的东西离工程很远。但反过来想你每天都用手机看视频、发语音、传文件背后每一个比特能准确到达目的地靠的就是这两个定理划定的边界。不是因为它俩“有用”恰恰是因为有些极限你绕不开所以知道极限在哪反而能帮你在设计时少做无用功。我这些年做过很多通信系统从窄带电台到宽带无线传输没有一个项目能绕出这两个定理的框架。每当我看到有人拍着胸脯说“我这个方案一定能到xxx Mbps”的时候我都会先心里默算一遍香农公式再默算一遍奈奎斯特符号率上限如果两个上限都被突破了那不用测也知道方案一定有问题。还有一个体会是理论公式永远是简洁的但落到工程里处处都是“假设条件”和“理想模型”。你要做的不是背公式而是搞清楚每个公式在什么前提下成立然后判断你的系统和那个前提差多远。差得近公式可以直接用差得远公式只是参考方向。如果你现在正在为某个通信项目做链路预算或者调制方式选型我建议你把这两个公式贴在显示器旁边先算一把上限再往下做细活。你会发现很多事情不用反复试错从一开始就能看到答案的范围。