ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

二极管包络检波器:RC时间常数、惰性失真与负峰切割实战

二极管包络检波器:RC时间常数、惰性失真与负峰切割实战 调电涡流位移传感器的调理板时我遇到过一个很典型的现象探头输出的 1 MHz 调幅信号经中周选频后送进二极管包络检波器示波器上解调出来的包络波形顶部很干净底部却被齐刷刷削掉一块像被人用刀切过。换了几只二极管、调了中周磁芯都没用最后发现是耦合方式导致的负峰切割失真。这件事让我意识到包络检波电路看起来只有一只二极管加一个电容一个电阻简单到不像一个电路但它内部同时跑着充电和放电两个过程被四条不等式同时约束着任何一个参数越界都会在波形上留下非常明确的痕迹。下面就把这套东西从头拆一遍包括时间常数怎么算、二极管怎么挑、失真怎么判、板子回来后怎么排错以及它在超声回波检测和 OOK 解调这两个典型测控场景里的实际用法。1. 测控系统里的包络检波幅度信息是怎么被取出来的1.1 为什么测控电路里到处都有包络检波很多传感器的原始输出并不是我们想要的那个物理量而是一个被载波背着跑的调幅信号。电涡流位移传感器、LVDT 位移传感器、交流电桥式应变测量、超声波测厚探头它们输出的都是高频载波载波的幅度随被测物理量变化。之所以要这么设计是因为低频直流信号的放大和传输太容易被漂移和工频干扰毁掉把它调制到几百千赫到几兆赫的载波上用交流放大器处理零点漂移问题就基本消失了。代价是最后必须有一个环节把幅度信息从载波上摘下来——这就是包络检波电路的位置。它做的事用一句话说清楚跟踪输入高频信号的峰值输出一条随峰值缓慢变化的曲线这条曲线就是原始的被测信息。在振动监测里轴承故障会在高频段产生冲击冲击的重复频率只有几十到几百赫兹冲击本身却激发几千赫兹的结构共振把共振信号整流取包络再做频谱故障特征频率就从高频搬到了低频这台设备到底哪里坏了才看得明白。数字域里这件事叫希尔伯特变换取包络模拟域里就是本文这个电路。适合看这篇内容的人大概分两类一类是正在做传感器信号调理、手上有具体电路要调的人需要的是参数怎么算、失真怎么避另一类是刚学完高频电子线路里二极管包络检波器那一节、公式背下来了但不知道板子上长什么样的人需要的是把公式和实物对应起来。下面两块我都尽量写到。1.2 包络检波、峰值检波、同步检波别把三个兄弟认错这三个名字经常被混着叫但它们的适用条件差别很大选错了电路再怎么调也调不出来。包络检波针对的是普通调幅波AM。它的前提是载波幅度远大于二极管的正向导通压降二极管工作在近似开关状态载波的每个周期里二极管只在峰值附近导通很短一小段时间把电容充到接近当前峰值其余时间电容对负载电阻缓慢放电。因为放电比载波的周期慢得多、比包络的变化快得多电容上的电压就复现了包络。它的优点是电路简单、不需要载波同步信号缺点是没有载波的时候什么也检不出来而且对抑制载波的双边带信号会严重失真。峰值检波是包络检波的一个特例专门用来抓住一段信号里的最大幅度。它跟包络检波的区别在于时间常数的量级包络检波要求放电足够快、能跟得上包络的变化峰值检波要求放电足够慢在整个观测窗口内几乎不掉抓完峰值之后还要有个复位开关把电容里的电荷放掉。测控里测量脉冲幅度、超声波首波幅度、雷电冲击峰值用的都是峰值保持电路。同步检波也叫相干检波需要一路跟载波同频同相的参考信号用乘法器或模拟开关把输入信号与参考信号相乘再低通。它的好处是可以解调抑制载波的信号、可以做到很低的检波门限、抗噪能力也更好代价是需要恢复载波电路复杂度高一个量级。在测控里当载波幅度很小比如毫伏级、或者信噪比本身就很差的时候同步检波往往比包络检波更划算。我的经验是这么选输入信号幅度大于 0.5 V、载波频率稳定、对成本敏感用二极管包络检波信号幅度在几十毫伏量级、或者必须区分相位信息直接上同步检波不要在二极管检波器上死磕只关心脉冲峰值、不在乎波形复现用峰值保持。1.3 测控场景对检波器提的三条硬指标测量用途和通信用途对检波器的要求侧重完全不同这点必须先说清楚否则容易把力气花错地方。第一是幅度线性度。通信里包络检波只要把 0 和 1 分出来就行波形畸变一点无所谓测量里输出的直流电压往往直接对应位移、厚度、拉力等物理量检波器的非线性会直接变成测量误差。所以二极管在小信号区域那种平方律特性输出正比于输入幅度的平方是绝对不能接受的工作点必须推到大信号区或者换成运放精密整流结构。第二是零点稳定性。测量系统要测的是绝对幅度检波器的输出直流分量会随温度漂移这个漂移会被后级当成真实的物理量变化。硅二极管的正向压降温度系数大约在 -2 mV/℃ 量级肖特基更大而且反向漏电随温度上升很快。这就是很多高精度调理板宁可用双管平衡检波或者精密整流的原因。第三是输入阻抗对前级的影响。检波器的输入电阻不是无穷大它会并联到前级的谐振回路上把 Q 值和谐振频率一起拉偏。这个效应在实际调试里非常折磨人你把检波器接上去中周的谐振点就挪了得重新调磁芯而调完磁芯检波器的负载条件又变了。2. 拆开二极管检波器两段时间常数决定了它能干什么2.1 导通那半周电容被拽到峰值先看最基本的结构输入信号经过耦合电容送到二极管正极二极管负极接输出节点输出节点对地并一个电容 C 和一个电阻 R。当输入电压瞬时值高于电容上的电压加上二极管导通压降时二极管导通电容被充电。这个充电过程的时间常数是 τ_c ≈ (R_s r_D) · C。其中 R_s 是信号源内阻包含前级放大器输出阻抗、中周次级的内阻、耦合回路的等效串联电阻r_D 是二极管导通后的等效动态电阻锗管几十欧到上百欧普通的硅开关管几欧到几十欧肖特基更小一些。这里有个容易被跳过但非常关键的判断τ_c 必须远小于载波周期 T_c。道理很直观如果电容充电需要的时间跟载波周期差不多长那么在这半个周期里电容根本充不到当前峰值下一个周期电压又降下去了电容永远追不上。表现出来就是检波效率急剧下降输出幅度明显低于理论值而且随着频率升高输出跌落得越来越厉害。我一般按 τ_c ≤ T_c/10 来卡。例如载波 1 MHzT_c 1 μs源内阻加上二极管动态电阻 60 Ω那 C 就不能超过 1 μs / 10 / 60 Ω ≈ 1.67 nF。这就跟后面RC 要足够大的要求直接冲突了——C 被压得很小那就只能靠把 R 拉大来保证 RC 够用。这也是为什么高频检波电路里负载电阻动不动就是几十千欧。2.2 截止那半周负载电阻控制着电荷的流失速度输入电压从峰值往下走电容上的电压高于输入二极管反偏截止。这时候电容只能通过负载电阻 R 放电放电时间常数 τ_d R·C。这段时间常数决定了三件事一是纹波大小。电容在两次充电之间掉多少电压直接就是输出上的锯齿纹波。粗略估算纹波比 ΔV/V_peak ≈ T_c/(R·C)。以 1 MHz 载波、RC 50 μs 为例纹波比就是 1e-6/50e-6 2%。这个纹波频率等于载波频率靠后级的一级 RC 低通很容易滤掉但前提是后级低通的截止频率要明显低于载波频率、又明显高于调制带宽中间得有足够的间隔。二是能不能跟得上包络的下降。这一点后面单独讲是惰性失真的根源。三是输出电压的直流分量。这一条很多人不留意检波器输出的直流分量在数值上接近于输入载波的峰值乘上检波效率它不是一个零均值的波形。如果后面接的是交流耦合放大器这个直流分量会被隔掉那么包络的负峰就会相对于静默时的电平向下漂移反而更容易触发负峰切割。2.3 输入阻抗为什么大约是负载电阻的一半二极管只在每个载波周期的峰值附近导通导通角通常只有十几度甚至几度。这意味着从信号源流出的电流不是连续的而是一串很窄的脉冲。电容上的电压近似恒定在峰值所以每个周期补充的电荷量等于放电流失的电荷量平均电流 I_avg V/R。但电流只在很短的角度里流动峰值电流远大于平均电流从信号源看进去的等效电阻就比 R 小得多。在大信号、理想化的条件下这个等效输入电阻约等于 R/2。这个结论在很多教材里有推导实际调试时记住量级就够了你用 10 kΩ 负载电阻的检波器去接一个要求负载阻抗 50 kΩ 的中周次级那就等于给谐振回路挂了一个 5 kΩ 的负载Q 值必然掉下来选频特性变差邻道抑制也跟着变差。除了电阻性负载还有输入电容。它主要来自二极管结电容肖特基和检波专用二极管可以做到 1 pF 以下普通 1N4148 大约 4 pF、二极管封装和焊盘杂散电容以及输出节点到输入端的耦合。这个电容会直接并联到前级谐振回路两端把谐振频率往下拉。载波频率越高这个效应越明显。我在 1 MHz 上有一次因为把检波二极管从直插换成贴片、引线缩短了一半谐振点就往高频挪了将近 20 kHz不得不重新调中周。3. 两条必须用不等式卡死的边界惰性失真与负峰切割3.1 对角切割电容放得太慢导致的惰性失真把 RC 取得很大纹波是小了但会撞上另一个问题。包络在下降的时候是以一定速率往下掉的如果电容放电的速率跟不上包络下降的速率电容电压就会高于输入电压二极管长时间处在截止状态输出不再跟随包络而是沿着自己的放电曲线滑下去直到包络重新追上它才恢复跟随。示波器上看起来输出波形在包络下降段被一条直线抄近路切掉了这就是惰性失真也叫对角线切割失真。定量判据的推导思路是这样单音调制时包络可以写成 V(t) V_0 (1 m_a cos Ωt)m_a 是调制度Ω 是调制角频率。包络下降的最大速率出现在它的过零点对时间求导取极值得到最大下降速率 |dV/dt|_max m_a V_0 Ω。电容通过 R 放电的相对速率是 v/(RC)。要让电容始终跟得上就得让放电相对速率不小于包络相对下降速率。对 V_0(1m_a cos Ωt) 这个包络在下降最陡的地方令两者相等整理之后得到经典的不惰性失真条件R·C ≤ sqrt(1 - m_a²) / (m_a · Ω_max)Ω_max 是最高调制角频率。这个式子里最值得琢磨的是 m_a 出现在分母上调制度越高允许的时间常数越小而且是平方关系带来的额外收紧。举两个数感受一下取调制频率 5 kHzΩ 31416 rad/s调制度 m_asqrt(1-m_a²)允许的最大 RC0.30.954101 μs0.50.86655 μs0.70.71432 μs0.90.43615.4 μs这张表的意义在于如果你的系统调制度不是固定的比如位移传感器在大行程和零位附近调制度差别很大就必须按最大调制度也就是最恶劣的情况来选 RC。我在实际项目里就吃过这个亏按标称调制度 0.4 算出 RC 上限 70 μs取了 47 μs台架测试一切正常装到现场后传感器在某些位置调制度接近 0.85波形立刻出现对角线切割。3.2 负峰切割直流负载与交流负载不等惹的祸这就是我开头遇到的那个问题。检波器的负载按交直流通路不同可以分成两个直流负载 R 就是电容两端看到的那个电阻交流负载 R_Ω 是从输出节点往两边看出去的等效电阻等于直流负载 R 与后级输入电阻 R_i 的并联通常还要算上耦合电容之后的那部分负载。包络走到负峰位置时电容上的电压被拉到整个周期的最低点。此时如果后级通过耦合电容抽取电流输出节点的电压就由 R_Ω 和电容上的电压分压决定。当负峰处的分压结果低于电容电压太多二极管会被反偏压住、无法在下一个载波周期及时补充电荷波形就在底部被削平。不产生负峰切割的条件是m_a ≤ R_Ω / R因为 R_Ω R ∥ R_i比值永远小于 1所以调制度越大越容易出事。取 R 10 kΩ、后级输入阻抗 R_i 20 kΩR_Ω 6.67 kΩ比值 0.667那么 m_a 超过 0.667 就会开始底部削波。这个数值一点都不苛刻很多电路随手一接就撞上去了。解决办法按优先级排一下提高后级输入阻抗 R_i这是最根本的。把后级第一级换成射极跟随器或者 JFET 输入运放R_i 上到几百千欧比值就接近 1条件基本自动满足。采用负载拆分法。把直流负载 R 拆成 R1 和 R2 两段串联耦合电容从 R1 与 R2 的连接点引出而不是从顶端引出。这样直流负载是 R1 R2交流负载约为 R1 (R2 与后级输入阻抗的并联)只要让 R2 明显小于 R_i交直流负载就基本相同条件自动成立。这个技巧非常实用多加一个电阻一个电容就搞定。适当减小 R。这个办法有效但副作用大减小 R 就等于减小 RC可能转头就撞上纹波变大或者惰性失真上界被压得更紧的问题。属于不得已才用。3.3 把两条约束画到同一张图上会发生什么惰性失真给的是 RC 的上界纹波要求给的是 RC 的下界RC 要足够大充电速度要求给的是 C 的上界。这三条约束合起来就是一个可行区间。设计的时候我习惯按下面的顺序来收窄先由载波周期定 C 的上限C ≤ T_c / (10 · (R_s r_D))。再由调制带宽这个下界和惰性失真这个上界夹出 RC 的窗口大概要满足 RC ≥ 5~10 倍 T_c同时满足上面那个不等式。最后反推 R RC / C检查这个 R 会不会因为太小而触发负峰切割、会不会因为太大而让输入阻抗对前级造成过重负载。如果窗口是空的——也就是下界比上界还大——说明这个方案在当前条件下做不出来通常的出路有三条降低调制度 m_a从系统层面改调制方案、降低最高调制频率牺牲带宽、或者换成运放精密整流结构把二极管压降和输入阻抗的问题一起绕开。第三条是我最常走的路。4. RC、二极管、负载到底怎么定一份可以直接抄的选型流程4.1 从载波频率和调制带宽倒推 RC举个具体例子走一遍完整流程。设载波 f_c 1 MHz调制带宽 300 Hz ~ 5 kHz最大调制度 m_a 0.6前级中周次级等效源阻抗 R_s 100 Ω检波器后级是普通的同相放大器输入阻抗 20 kΩ。第一步定 C 上限。取二极管为肖特基 1N5711导通动态电阻 r_D 约 15 Ω源阻抗合计 115 Ω。要求 τ_c ≤ T_c/10 100 ns得 C ≤ 100 ns / 115 Ω ≈ 0.87 nF。取标称值 680 pF 或者 1 nF 会略微超出我取 470 pF 留余量。第二步定时长常数上界。Ω_max 2π × 5000 31416 rad/ssqrt(1-0.36) 0.8RC ≤ 0.8/(0.6 × 31416) 42.4 μs。第三步由 C 470 pF 反推 R。取 RC 30 μs留 30% 余量R 30 μs / 470 pF ≈ 64 kΩ。取标称值 62 kΩ。第四步检查下界。RC 29.1 μs纹波比约等于 T_c/(RC) 1/(1e6 × 29.1e-6) 3.4%后级加一级截止频率 30 kHz 的 RC 低通对这个 1 MHz 的纹波有大约 30 dB 的抑制剩下千分之一量级可以接受。第五步检查负峰切割。R 62 kΩR_i 20 kΩR_Ω 15.1 kΩ比值 0.244远小于 m_a 0.6。这条直接爆了。所以必须处理把后级第一级换成射极跟随器输入阻抗做到 500 kΩR_Ω 变成 55.2 kΩ比值 0.89通过。或者用负载拆分法把 62 kΩ 拆成 4.7 kΩ 和 56 kΩ耦合电容从中间取交流负载约等于 4.7 kΩ 加上 56 kΩ 与后级并联接近 62 kΩ也通过。最后一步验证输入阻抗对前级的影响。检波器输入电阻约 R/2 31 kΩ加上输入电容大约 3 pF肖特基结电容 2 pF 加焊盘杂散在 1 MHz 上呈现的容抗约 53 kΩ。这两个都要折算到中周次级判断会不会让 Q 值掉得太多。如果掉得厉害就在检波器前面加一级共集电极缓冲把中周和后级隔开。整个流程加起来不到十分钟但能把后面可能踩的坑提前排掉大半。4.2 二极管选型的三个关键参数选二极管不是看谁便宜主要看三个参数。正向压降 V_F 决定的是小信号时的死区和检波效率。输入幅度只有几百毫伏的时候硅管 0.6~0.7 V 的压降会吃掉一大半信号输出幅度和输入幅度严重不成比例。这种情况必须用锗管或肖特基。但是注意肖特基的反向漏电比硅管大好几个数量级而且随温度指数上升用在峰值保持电路里会导致保持电容明显掉电。结电容 C_j 决定高频性能。结电容越大它在前级谐振回路上的旁路效应越强同时也会给检波器的充电过程引入额外延迟。1 MHz 以下4 pF 的普通开关管问题不大10 MHz 以上就得挑结电容 1 pF 以下的检波专用器件。反向恢复时间 t_rr 在低频检波里基本不用管但在载波频率上到几十兆赫、或者信号本身是窄脉冲的时候恢复时间长会让二极管在应该截止的时候还导通一段波形拖尾、包络展宽。器件类型典型 V_F结电容反向漏电适用场景锗点接触2AP 类0.2~0.3 V1~2 pF较大温漂明显低频小信号老式电路硅开关管1N4148 类0.6~0.7 V约 4 pF很小大信号、低频、成本敏感肖特基BAT54、1N5711 类0.2~0.35 V约 2 pF中等高温变差中小信号、中高频通用射频检波肖特基极低压降1 pF 以下小射频小信号、场强检测还有一个经验点同一批号的二极管正向压降的离散性可能到 ±30 mV做精密测量时最好挑管或者用平衡结构把压降抵消掉。4.3 负载拆分法与后级阻抗匹配负载拆分法值得单独说因为它便宜、好用、见效快。做法是把原来的负载电阻 R 分成 R1靠上接输出节点和 R2靠下接地耦合电容从 R1 和 R2 中间引出。这样直流回路是 R1 R2直流通路完整交流通路里耦合电容对交流近似短路于是交流负载变成了 R1 (R2 ∥ R_i)。选择 R2 远小于 R_i 时交流负载约等于 R1 R2与直流负载几乎相等负峰切割条件 m_a ≤ R_Ω/R 就自动满足了。一般取 R2 (0.1~0.3) R1 比较合适R2 太小会让输出交流幅度被分掉一部分。后级匹配还有一层意思检波器输出节点是高阻抗节点随便接一根长线、一个探头都会引入几十皮法的电容把纹波和带宽都改掉。所以检波器之后紧跟一级缓冲运放是很好的习惯缓冲之后的节点再往外走线。5. 小信号不再靠硬扛运放精密检波与峰值保持5.1 把二极管塞进反馈环压降补偿的基本思路二极管包络检波器的死穴是压降和输入阻抗。把二极管挪到运放的反馈环路里这两个问题能一起解决。基本结构是反相输入方式输入信号经电阻 R1 送到运放反相端反馈路径上放两只二极管一只负责正半周导通形成输出另一只负责负半周给运放提供反馈通路避免运放进入饱和导致恢复缓慢。原理不复杂二极管导通时它的压降被运放的开环增益除掉了。假设运放开环增益 A二极管压降 V_F那么折算到输入端等效的误差只有 V_F/A。要是一只运放有 80 dB 的开环增益约 10^40.5 V 的二极管压降折算到输入端就只有 50 μV 量级比直接用二极管检波好三个数量级。但有个前提必须交代清楚这套补偿只对运放能够正常工作的频率范围有效。运放的开环增益随频率下降到载波频率上如果开环增益只剩 20 dB那压降只被压缩了 10 倍误差还有几十毫伏。同时运放的压摆率 SR 必须足够大否则输出跟不上载波的快速翻转正负半周过渡的地方会出现明显的畸变。这是精密整流电路用在 1 MHz 以上时最常见的失败原因。我的经验是需要精密整流的场合载波频率最好控制在几百千赫以内再高就换同步检波。5.2 峰值保持电路里最容易被忽略的三个漏电通道峰值保持电路的结构是精密整流加一个保持电容再加一个高输入阻抗的缓冲器。看起来简单实际做出来最难的是保持精度。有三个漏电通道必须逐个堵住。第一个是缓冲运放的输入偏置电流。保持电容上的电荷只由这个电流泄放偏置电流哪怕只有 10 nA在 1 nF 电容上也意味着 10 V/s 的下垂速率1 ms 就掉 10 mV。要做长保持时间必须用 JFET 输入或 CMOS 输入的运放偏置电流在 pA 量级配合电容容量做下垂率计算droop I_B / C。第二个是复位开关的漏电和电荷注入。为了在两次测量之间清空保持电容需要一个开关把电容短路。机械继电器漏电最小但速度慢寿命短模拟开关速度快但有电荷注入问题开关断开瞬间会把一部分沟道电荷推到保持电容上形成固定的电压台阶误差典型值在几十皮库仑量级。这个误差可以通过在保持电容旁边并联一个小电容做补偿或者在软件里做一次性标定扣掉。第三个是保持电容自身的漏电和介质吸收。这一点很多资料都不提但实测中影响很大。普通 X7R 瓷片电容的介质吸收在百分之几量级会把上一次的保持值记住一部分第二次测量就带上了历史数据的尾巴重复性很差。选 C0G/NP0 陶瓷或聚苯乙烯电容介质吸收能降到千分之几重复性立刻不一样。5.3 失调、温漂与低电平非线性运放精密整流解决了二极管压降但引入了运放自己的失调电压。这个失调会被后面的噪声增益放大精密整流电路的噪声增益通常是 1 或 2最终直接叠在输出直流上。做微伏级测量的话选失调电压 10 μV 以下、温漂 0.1 μV/℃ 以下的零漂移运放斩波稳零结构的那种就很合适。虽然它有一点开关噪声但可以用后级低通压掉。温度这块还有一个容易漏的检波器输出端的电容容值随温度变化。X7R 在 -55~85 ℃ 范围内的容值变化可以到 ±15%这会直接改变 RC 时间常数。如果你的系统要在宽温度范围内保持包络带宽一致电容也得选 C0G 或者干脆用温度系数稳定的薄膜电容。还有低电平非线性。即使是用运放做的精密整流在输出接近零点的那几十毫伏区间里仍然会因为二极管在极小电流下的指数特性而出现弯曲。如果测量范围必须覆盖到零附近那就只能靠同步检波或者用软件把这个弯曲段标定掉。6. 板子回来之后示波器上看什么、坏在哪一步6.1 三个观察点与它们的合理波形调试检波器我固定看三个点顺序不能乱。第一点是检波器输入节点。这里应该是干净的调幅波包络清晰可辨没有明显的削顶。如果这一点的波形本身就被前级放大了后面怎么调都是白调。检查方式是切到交流耦合、把时基拉开到能看清单个载波周期再拉开到能看清包络形状两个尺度都要看。第二点是检波器输出节点也就是负载电阻两端。直流耦合看它的直流分量应该接近载波峰值的 0.7~0.9 倍这个系数就是检波效率交流耦合看它应该是一条包络曲线叠着载波频率的小纹波纹波幅度按前面算的 2%~5% 量级。纹波太大说明 RC 偏小包络有畸变说明时间常数或者负载条件有问题。第三点是后级低通之后的输出。这里应该是干净平滑的包络纹波频率成分基本看不到了。用这个信号做测量才是最终目的。如果第三点还不干净说明低通的截止频率定得太高或者低通前面的缓冲没做好、被后级负载拉偏了。我习惯把这三个点同时抓到示波器的三个通道上时基设成包络周期的两三倍一张图就能把所有问题看全。6.2 典型故障对照表与排查顺序现象最可能的根因优先排查动作包络顶部被斜线切掉惰性失真RC 相对调制速率过大按 m_a 的实际最大值重算 RC 上界减小 C 或 R包络底部被削平负峰切割交流负载远低于直流负载测后级输入阻抗改用负载拆分法或加缓冲级输出出现明显锯齿RC 过小载波未滤干净增大 RC但同步检查惰性失真上界是否被突破输出幅度只有理论值的一半左右检波效率低充电时间常数过大减小源阻抗、换小结电容和低动态电阻的二极管高载波频率下灵敏度骤降二极管结电容旁路或运放带宽不足换检波专用二极管缩短引线重新评估运放 GBW 和 SR输出直流随温度缓慢漂移二极管压降温漂或电容容值温漂换平衡检波结构或精密整流电容换 C0G前级谐振点接上检波器后偏移检波器输入电容把谐振回路拉偏中周重新调磁芯或在检波器前加缓冲级隔离峰值保持输出持续下垂缓冲运放偏置电流大或电容漏电换 JFET/CMOS 输入运放测电容绝缘电阻排查顺序我一般是从后往前先确认后级低通输出是不是干净的包络再往前看检波器输出最后看检波器输入。这样能快速判断问题出在检波环节还是滤波环节。另外有个小技巧用直流电源代替前级直接往检波器输入一个固定幅度的载波先把静态特性摸清楚再加调制比一上来就看整个系统的波形容易定位得多。6.3 高频、窄脉冲与大动态范围的特殊处理载波到了几十兆赫情况会变。这时候检波器的物理布局比原理图更重要。二极管的引线电感在高频上会形成串联谐振让某些频点的检波效率反常地高或者低输出节点的寄生电容和负载电阻构成一个无意中的低通把带宽削掉。接地平面必须完整检波二极管和电容尽量贴在一起耦合路径越短越好。窄脉冲的场景和连续载波完全不同。像激光测距的回波、超声换能器的回波信号本身就是只有几个周期的振荡脉冲不存在载波连续存在这个前提。这时候不能按前面的稳态公式选 RC而是要让检波器的时间常数足够小能跟上脉冲在几个周期内的起伏同时又要足够大别把脉冲内部的载波振荡泄露到包络上。折中点在脉冲宽度的十分之一到五分之一之间。这类应用的检波器往往还要配合比较器和时间门避免噪声触发。大动态范围场景比如回波强度随距离变化几十倍的难点在固定门限。包络峰值可能从毫伏到伏特量级变化用固定阈值的比较器要么近处饱和要么远处漏检。常见做法是加时间增益补偿TGC或者用对数检波器把动态范围压缩到后级能处理的区间再做门限判决。7. 超声回波与 OOK 解调两个真实场景的复盘7.1 超声回波包络带宽比时间常数更重要超声测厚和探伤里探头激发的脉冲中心频率通常在 1~10 MHz回波是一段只有几个周期的衰减振荡。取它的包络是为了测量首波到达时间和回波幅度前者算距离和厚度后者反映缺陷大小或者耦合状态。这个场景里最容易犯的错是套用通信里那套载波远高于调制频率的假设。回波的调制就是它自己那个钟形包络宽度只有几百纳秒跟载波周期是同一个量级前面的稳态不等式根本不成立。正确的做法是把检波器当成一个宽带包络提取器来看它的带宽必须覆盖探头的整个工作频带否则包络波形会被展宽两个靠近的回波会糊成一片纵向分辨率直接丢掉。具体到参数我会把 RC 取在回波脉宽的 1/10 到 1/5二极管选结电容 1 pF 以下的射频检波器件检波器紧贴接收前端中间不加长线。在此基础上再加一级带宽足够的缓冲运放最后用比较器做时间门。7.2 OOK 解调包络跟随速度与判决门限的配合OOK 解调就是包络检波最经典的应用之一载波存在代表 1不存在代表 0。看起来简单实际调的时候有两个参数要配合。第一个是包络检波的 RC。RC 太大包络跟不上码元的跳变0 到 1 的上升沿被拖成指数曲线码元宽度被吃掉一部分高速下直接导致码间串扰RC 太小载波的小纹波泄露到包络上判决器在 1 期间会看到一堆毛刺。经验上RC 大致取码元宽度的 1/5 到 1/10同时保证后级低通对载波的抑制不低于 30 dB。以 2 kbps码元 500 μs为例RC 取 50~100 μs 比较合适。第二个是判决门限。固定门限在信号强度变化时一定会出问题除非你的接收距离固定。实用做法是用包络的峰值做自适应门限也就是在包络检波之后再加一个更慢的峰值保持电路得到当前信号强度的估计用它的 0.5 倍作为判决门限。两路时间常数的比例很重要判决用的包络要快门限估计要慢通常后者比前者慢 10 倍以上否则门限会跟着码元一起跳判决结果乱掉。我在一个 433 MHz 模块的项目里就吃过这个亏一开始门限保持的时间常数只比包络慢 3 倍结果连续几个 1 之后门限被抬得很高紧跟着的那个 1 就判不出来了误码率随数据包长度明显上升。把比例调到 15 倍之后问题消失。7.3 从仿真到打板的验证清单动手之前先在仿真里把参数扫一遍能省掉很多次打样。下面这段 Python 用最朴素的方式模拟了二极管检波器的充放电过程把三组不同 RC 的结果画在一起直接就能看出惰性失真长什么样。import numpy as np import matplotlib.pyplot as plt fs 20e6 t np.arange(0, 4e-3, 1/fs) fc, fm, ma 1e6, 1e3, 0.5 env 1 ma * np.sin(2 * np.pi * fm * t) vin env * np.cos(2 * np.pi * fc * t) def detect(vin, fs, R, C, Vd0.25): dt, vc 1/fs, 0.0 tau R * C out np.empty_like(vin) for i, v in enumerate(vin): if v - vc Vd: vc v - Vd # 导通电容被拉到当前峰值减管压降 else: vc * np.exp(-dt / tau) # 截止通过负载电阻放电 out[i] vc return out for RC in (5e-6, 50e-6, 400e-6): out detect(vin, fs, RC, 1e-9 * 1e6) # 固定 C用 R 调 RC plt.plot(t * 1e3, out, labelfRC {RC*1e6:.0f} us) plt.plot(t * 1e3, env, k--, lw1, labelideal envelope) plt.xlabel(t / ms); plt.ylabel(V); plt.legend(); plt.show()RC 取 5 μs 时输出全是锯齿纹波大得没法用取 50 μs 时包络复现得不错纹波在几个百分点取 400 μs 时包络下降段明显被一条直线切掉典型的惰性失真。改 m_a 到 0.9你会发现 50 μs 那一组也开始出问题了这和前面那张表是对得上的。SPICE 里也可以做一个更接近真实的验证把二极管的非线性、结电容都算进去* 二极管包络检波器验证电路 * 行为源产生 1 MHz 载波、1 kHz 调制、调制度 0.5 的 AM 波 B1 in 0 V (1 0.5*sin(2*3.14159*1k*time)) * sin(2*3.14159*1Meg*time) Rs in mid 100 D1 mid out D1N5711 C1 out 0 470p R1 out 0 62k * 后级一级低通观察包络净化效果 R2 out lp 10k C2 lp 0 470p .tran 0 4m 0 5n .model D1N5711 D(Is2.2e-9 Rs1.2 N1.05 Cjo2p Vj0.4) .end仿真看完打板之前再核对一遍这份清单RC 上界按系统可能出现的最大调制度算过不是按标称值算的后级输入阻抗量过或者估过反推出的交流负载满足 m_a ≤ R_Ω/R电容的容值温度系数明确宽温场合用的是 C0G 或薄膜二极管的结电容和反向漏电在当前载波频率和温度下可接受检波器输入电容对前级谐振回路的影响估过必要时加了缓冲级输出节点的走线长度控制住了后面跟了缓冲运放如果是峰值保持缓冲运放的偏置电流和保持电容的漏电做过下垂率计算这套清单我是被坑过几次之后才慢慢攒起来的尤其是第 1 条和第 2 条背公式的时候觉得理所当然实际项目里栽的跟头几乎都在这两条上。
返回列表