最早在5月20日,有同学在公众号里发送来一个 波形的转换与信号处理问题,是将输入的正弦波转换成两倍频、占空比可调、幅度可调的三角波形。
下图展示了所产生的三角波形始终保持与输入正弦波两倍频的关系,并且维持相位不变。
▲ 正弦波转换成倍频的三角波形
▲ 三角波的幅值可以独立进行改变
▲ 三角波形的占空比(上升沿和下降沿)可以改变
昨天给出了一个初步 信号转换的解题思路 。也就是现将输入的正弦 正弦波整形成方波 ,然后再通过对其进行微分,整流,去触发一个单稳态触发器,形成二倍频的脉冲波形。
▲ 将正弦波整形成对称方波
但是这种方式存在一种缺点,就是产生的二倍频的脉冲波形的占空比会随着输入信号的频率变化而改变。
因此一种替代方案就是讲输入的方波先产生一个二倍频的锯齿波。下面对锯齿波进行滤波得到其直流分量。它应该等于锯齿波峰值的一半。
然后再将该直流分量通过一个电位器分压得到一个比较电压,与锯齿波分压一半的波形同时送到比较器进行比较,形成输出的PWM波形。这样,输出的PWM波形的占空比就不会随着输入频率的改变而变化了。
▲ 频率变化与内部锯齿波波形变化情况
下面是在不同的三个占空比下,测量输入信号的频率从100Hz变化到1000Hz,对应输出信号的占空比(使用该信号的平均值来表示)的变化情况。
可以看到这种方案可以基本上消除占空比随着输入信号频率的改变而线性变化的问题,从而将输出信号的占空比与信号频率之间进行解耦。
▲ 三种不同PWM占空比的情况下,输入信号的频率对于输出PWM的平均电压的影响
下图反映了输入信号(蓝色)、二倍频的锯齿波(绿色)以及输出信号(黄色)在频率变化下的动态变化情况。
▲ 改变输入信号的频率,测量输出PWM的占空比
最后一步,将这种有正弦波转换成的二倍频的PWM波形,通过积分,便可以输出三角波形了。但是这其中存在着一些问题:
首先,将不同占空比的PWM波形积分所得到的三角波的幅值,会随着占空比的改变而变化。只有当占空比为50%的时候,三角波的复制最大。当占空比接近于0,或者100%时,三角波的幅值会线性减少。
▲ 有正弦波转换成的二倍频的PWM波形
其次,就是积分电路本身需要通过隔直电容一产出自身反馈电阻来稳定期工作点,放置积分饱和。但是这会带来两个矛盾的问题无法调和:
一是如果隔直电容过大,将会使得占空比变化带来的输入信号直流分量的变化会耦合到输出级,从而会改变输出信号动态的工作直流电压。当然,随着时间的平移,积分电路的直流电会逐步恢复到正常。
下图显示了隔直电容去10uF,手动改变PWM占空比的时候,引起输出三角波形出现短时间的上下波动。
▲ 隔直电容为10uF时,可以看到改变占空比会引起输出信号的直流点的变化
将隔直电容改为1uF,输出三角波形随着PWM的占空比上下波动减少了。
▲ 将隔直电容改为1uF,输出信号的波形上下波动减少
二是,如果隔直电容过小,则会引起输出三角波变形。
下面是将隔直电容减少到0.1uF,可以看到随着占空比的改变,输出波形的直流分量几乎不跳动。但是输出的波形开始有了变形。
▲ 将隔直电容减少带0.1uF,波形开始出现失真
这说明昨天的方案中,还是存在着一些缺点需要进行改进。
也许这个问题还有其他更好的解决方案,但将该问题改成使用MCU、DSP或者FPGA来实现,则会带来全新的简洁方案,只需要一个芯片便可以解决该问题。
▲ 实验电路