典型电路
一个正在进行的项目(或小工具)需要一种方法来生成音频输出来表示不同的电压电平。这听起来像一个压控振荡器。但该信号是双极信号,跨越 -1 至 +1 V 的峰值。线性频率响应听起来很错误,无论如何都无法提供我想要的对称 ±1 倍频程输出。
一种典型的、众所周知的振荡器类型——尽管如图所示,缺乏电压控制——如图 1 所示。在循环开始时,C1 已充满电。然后,它通过 R1 放电,直到达到基准电压(显示为中间轨),此时触发单稳态多谐振荡器,提供一个脉冲来开启 Q1,从而将 C1 短接到正轨,从而开始下一个循环。输出是具有恒定振幅的指数衰减锯齿,通过缓冲区从 C1 的顶部获取(未显示)。(严格来说,运算放大器应该是一个比较器;它被用作一个比较器。C1 通常会针对不同的范围进行切换,而 R1 则用于调音。

图 1 具有指数衰减锯齿输出的典型 relaxation oscillator 是此设计的起点。
另一种调整方法是保持 R1 和 C1 恒定并改变基准电压。输出电平现在变化,调音法则呈指数级。如果我们想要音高线性度,也许这是一个很好的起点?
调整
指数衰减可能无法给出我们需要的确切曲线,但稍加调整,它的某些部分就足够接近了,可以发挥作用。一些实验产生了如图 2 所示的可用电路。

图 2 改变参考电压而不是 R-C 时间常数,得到的调谐定律在几个八度音程上足够接近线性音高,尤其是在添加 R2 之后。
如上所述,将双极控制电压与下降的指数 (-ish) 斜坡进行比较,以调整振荡器的频率。当它们重合时,用作多电源多电压 (MSMV) 的 U2a 被触发以产生复位脉冲以暂时导通 Q1,从而将 C1 的电压复位到值。图 3 显示了关键波形。

图 3 图 2 中电路的波形,在其两个倍频程跨度的两个极端。
扭曲法律,让我们可以做我们想做的事
单个、简单、不起眼的电阻器 R2 是此设计的关键。通过压缩和移动指数衰减曲线,它允许合理地接近与音高呈线性关系的调音定律,而不是在几个八度甚至更多的情况下与频率呈线性关系:控制电压的增加现在以相当恒定的频率比而不是固定的量改变频率。低频端的匹配差,在接近低校准点时大约有 5% 的偏差,甚至更低。(半音是 ~7%。将 51k 用于 R2 可以得到接近底部倍频程频率本身的匹配,但 56k 通常在该区域的平均“听起来”更好。
根据所示的值,对于 -1 至 +1 V 的输入,输出频率范围约为 250 Hz 至 1000 Hz,这接近从“C4”(中间 C:~262 Hz,如果我们将 A4 定义为 440 Hz)到“C6”的两个倍频程。(此处的引号用于区分间距值和电容器!对于不同的跨度,只需更改 C1 或同时更改 R1 和 R2,其比率必须保持不变。如果控制电压降至 -1.5 V 以下(由 R1 和 R2 确定),振荡将停止。高于 +1 V,对于另一个半倍频程或更高的频率,匹配仍然是合理的。
U2b 将振荡器的脉冲输出除以 2 得到方波,输出网络将其变成约 1.1 V pk-pk (~-6 dBu) 的梯形。虽然这并没有自命不凡的波形纯度,但它现在确实具有更柔和和 “更多模拟” 的边缘,而不是尖锐的数字边缘。
其他评价: MCP6002s 既便宜又欢快。MCP6022 的规格更好(速度更快,输入偏移为 <500 μV),但成本更高。如果需要,U1 的备用部分可用于进一步过滤输出。Q1 的规格并不重要。ZVP3306A 的 RDS(开启)高达 15 Ω,但驱动其栅极的脉冲宽度可确保 C1 在所有条件下都充满电。~±1 V 控制范围正是我想要的,但这是一个愉快的意外,而不是设计成的。
它现在执行所需的作,并准备好放入项目 (或 gadget) 中。然而。。。
一些额外的组件可提供更高的八度音程和准确性考虑基本电路提出了一个有趣的想法。线性频率调谐可以通过两种方式完成,一种是使用线性斜坡并改变控制电压,就像我们使用指数电压一样,而另一种是用可控的电流吸收器代替 R1 并删除 R2。将它们一起使用,调音定律就会变成 “平方”,从而得到一个本质上更接近于线性音高的幂律。图 4 显示了如何做到这一点。

图 4添加一个电压控制电流吸收器来代替调谐电阻 R1 是在超过 4 个倍频程内工作且具有更好音高精度的关键。
Q2、U1b 和 R1 构成电流吸收器。其控制电压是输入端的一半,确保 Q2 永不饱和。C1 线性放电,斜率由 Vcon 控制。电源轨显示为 0 V / +5 V 而不是 ±2.5 V,以反映更宽的调谐范围,但输出频率仍以 520 Hz 左右为中心(接近“C5”的音高),并显示元件值。
所需的控制电压摆幅现在测量为 ~840 mV/倍频程(或 ~70 mV/半音)。在中间两个八度音阶上,响应几乎完全是线性的,对于两个八度音阶和更多周围的八度音阶来说仍然不错。低频端的误差严重,因为电流吸收器会耗尽蒸汽(或电子)。使用 MCP6022 是因为它的性能更好,但电路的其余部分几乎没有变化。
虽然 4 个以上八度音阶的范围对于我的目标应用程序来说已经超出了顶峰,但提高的准确性总是受欢迎的,这种更好的性能为可能的音乐应用开辟了道路。