怎么样控制脉冲信号,第一部分
扫描二维码
随时随地手机看文章
测试电路脉冲响应的原理很简单:用尖锐脉冲击打电路,看看会发生什么。像往常一样,维基百科有一篇文章详细介绍了这个过程。这篇文章指出,理想脉冲——单位脉冲或狄拉克德尔塔——无限高、无限窄,其下方面积为 1,因此生成它非常棘手,这也很好,考虑到它会对从保护二极管到斜率等所有事物产生影响。幸运的是,它只是正态分布或高斯分布或钟形曲线的一个极端情况,生成或至少模拟起来稍微容易一些,而这个展示了如何做到这一点。
在现实世界中,最佳测试脉冲来自任意波形发生器。一种较旧的技术是过滤窄矩形脉冲,但如果改变脉冲宽度,滤波器的特性也需要改变以保持脉冲形状。本文详细介绍的方法通过生成升余弦脉冲(不要与升余弦滤波器混淆)来避免该问题,这些脉冲足够接近理想值,令人感兴趣。但说实话:简单的矩形,略微倾斜以避免这些斜率问题,通常就足够了。
我们通过采用压扁三角正弦波振荡器的核心并添加一些逻辑和门控来产生脉冲,以便在触发时,它会产生单个周期,这些周期从基线上升到峰值,然后再次回落,遵循余弦曲线。图 1中的示意图显示了基本原理。
图 1一个简单的振荡器加上一些附加的逻辑,在触发时会产生单脉冲。
振荡器的工作原理
振荡器的核心与原版几乎完全相同,但重新绘制后看起来有所不同。其基本形式是带施密特的积分器,其中 C1 通过电阻 R2 和 R3 充电,直到其电压达到由 D3 定义的正阈值,这会翻转 A1b 的极性,因此 C1 开始向 D4 的负阈值放电。D1/D2 提供自举以提供线性充电/放电斜坡,同时补偿 D3/D4 的正向电压随温度(和电源电压,尽管我们不必担心)的变化。A2 输出上产生的三角波通过 R7 馈入 D5/D6,将其压缩为合理的(余弦)正弦波(<0.5% THD)。二极管对的正向电压需要匹配以保持对称性,从而最大限度地减少偶次谐波失真。A4 通过 D5/6 放大信号,使得脉冲刚好跨越供电轨,热敏电阻 Th1 对温度变化提供足够的补偿。
如果 A2 的输出直接连接到 R1 的输入,电路就会自由振荡(稍后我们会允许它这样做),但现在我们需要它从最低点开始,完成一个完整的周期,然后停止。
在静止状态下,U2a 清晰,A1b 的输出较高,在 D3 上产生正参考电压。(相对于公共半电源内部轨,该电压为正。)该电压由 A2a 反转并通过 U1a 施加到 R1,这样电路周围就会产生负反馈,从而稳定在负参考电压上。(使用 '4053 作为 U1 可能看起来有点浪费,但它的其他部分将在第 2 部分中派上用场。)
当 U2a 的 D 输入端收到(正向)触发时,其输出端会改变状态。这样,U1a 将 R1 连接到 A1b 的(仍然为高)输出端,启动循环;反馈现在为正。经过一个完整循环后,A1b 的输出端再次变为高,触发 U2b 并重置 U2a,从而停止循环并将电路恢复到静止状态。相关波形如图2所示。
图2图1中电路的一些波形。
将升余弦与理想的正态分布脉冲进行比较很有启发性,图 3显示了两者。虽然大多数曲线都相当匹配,但底部三分之一左右有些不足,尽管可以通过增加一些复杂性来改进——但那是以后的事了。
图 3理想正态分布曲线与升余弦的比较,包括图 1 的输出。
如前所述,从原理图可以看出,如果通过抑制触发输入并阻塞其预设输入低电平以强制其 Q 输出为高电平来禁用 U2a 的操作,则该电路可用作简单的振荡器。U1a 现在将 A1b 的输出连接到 R1,电路可自由运行。除了作为一项有用的功能外,这还有助于我们进行设置。
调整振荡器
需要在振荡器模式下进行一些微调才能获得最佳效果。
1. R3 必须设置为在 R2 的最大和最小设置下提供相等的三波振幅,否则失真将随频率(或脉冲宽度)而变化。将 R2 设置为最大值(最低频率),将 R3 设置为最小值(在原理图上向右),然后测量 A1 输出的振幅。现在将 R2 设置为最小值并调整 R3 以提供与之前相同的振幅。(感谢Steve Woodward提出这个想法。)
2. R7 定义对压缩二极管 D5/6 的驱动,从而定义失真。最好使用示波器的 FFT:调整 R7 以最小化第三和第五谐波。(第七谐波保持相当恒定。)如果做不到这一点,请设置 R7,使二极管两端的电压恰好是三波值的 2/3。作为最后的手段,30k 固定电阻可能足够接近,就像我构建的一样。
3. 使用 R9 设置输出电平。波形应从轨到轨运行,只需从峰值处削去残余点的尖端(主要负责第七谐波)。不要过度,否则第三和第五谐波将开始增加。这取决于至少对 A1b 和 A2b 使用 RRO 运算放大器,并小心地分割轨道以实现对称性。
一旦调整为振荡器,它就可以用作脉冲发生器,它依赖于完全相同的设置,以便每个脉冲都是余弦波的单个周期,偏移其幅度的一半。
图 1 中的原理图给出了电路的基本结构,该电路将在第 2 部分中详细说明。使用的运算放大器是 Microchip MCP6022,它们是双路、5 V、10 MHz CMOS RRIO 器件,输入偏移小于 500 µV。电源为 5 V,中央“公共”轨道来自另一个用作轨道分离器的运算放大器:如图 4所示,与合适的输出缓冲器一起显示。
图 4一个简单的轨分离器,用于获得 2.5 V 的“公共”轨,以及具有交流和直流耦合输出的输出电平控制和缓冲器。
C1 可以切换以提供多个范围,允许使用从超过 20 kHz(对于 25 µs 脉冲,在其一半高度处测量)到您想要的最低值。然后还需要切换 R3;参见图 5了解三范围版本。(最低范围可能不需要 HF 微调。)虽然三波性能在 1 MHz 左右时良好,但压缩二极管的电容在此之前就开始引入波形失真,至少对于 1N4148 或类似器件而言。
图 5对于多量程使用,定时电容器 C1 是可切换的。为了调整每个量程的 HF 响应,R3 也必须变化。
改善脉冲形状
现在,为了改善脉冲形状,我们增加了额外的复杂性。粗略地说,所需脉冲的上半部分看起来是(余)正弦波,但下半部分则更具指数性,如果我们想要更好的拟合,那部分必须进一步压缩。我们可以通过将 D6 与一对肖特基二极管 D7 和 D8 串联来实现这一点。波形产生的不对称需要抵消,这需要在缓冲级 A2b 中稍微提高增益并进行不同的温度补偿。这些修改如图 6所示。
图 6使用一对肖特基二极管桥接 D6 可以更好地拟合所需曲线,但增益和偏移需要调整。
在此模式下,R16 设置偏移,R9A 设置增益。U3 的三个部分将:
· 将肖特基 D7/8 接入电路
· 根据模式选择增益和偏移确定组件
· 短路 R8,将热敏电阻直接置于 R12 上,优化脉冲下半部分的温度补偿
图 7显示了修改后的脉冲形状。不同的二极管或其组合可以很好地改善拟合效果,但这似乎已经足够接近了。
图7由图6得到的改进脉冲形状。
要进行设置,请调整 R16 和 R9A(它们相互作用;对此表示抱歉),使波形底部为 0 V,而峰值略低于 5 V。由于每个脉冲的上半部分和下半部分依赖于不同的二极管,因此它们的温度系数会略有不同。0-V 基线现在稳定,但峰值高度会随着温度略有增加。
总结
到目前为止,我们可能已经过了这样一个阶段:使用微控制器(Arduino?RPi?)并添加 DAC(或者在这些低频率下仅使用 PWM 输出)更简单、更便宜、更准确,为其配备查找表(可能使用 Python 计算和格式化,就像这些图中的参考曲线一样),然后担心如何连续控制重复率和脉冲宽度。或者甚至只是买一个便宜的 AWG,虽然实用,但有点作弊。
但所有这些都是另一种乐趣,我们还没有完成这种方法。第 2 部分将展示如何添加更多调整,以便我们也能生成表现良好的阶跃函数。