|
发表于 2014-12-2 19:32:53
|
本帖最后由 MF35_ 于 2014-12-2 19:45 编辑
01pow 发表于 2014-12-2 15:06
正弦波中点检测问题:运放的中点定位在Vcc/2,信号幅度在0~VCC变化。虚地点就是Vcc/2.
V,I信号中点变 ...
你没理解我的意思,我的意思不是说虚地的直流误差,这个直流误差是可以通过两个峰值来校正。
但是,由于运放输入端的电阻不为无穷大,电容不为无穷小,所以在输入端是有一些交流信号漏上去的,这个漏信号会影响测量精度。
这个漏信号和电流信号同相位(如果参考电阻比较理想),和电压信号有相位差(取决于被测元件),所以,被测元件上的瞬时电压应该为被测元件输入端瞬时电压减去运放负输入端瞬时电压,参考电阻上的瞬时电压为运放输出瞬时电压减去运放负输入端瞬时电压。
因此,要得到真是的V、I瞬时电压,就必须三个点同时测量(使用模拟积分器的模拟电桥也是如此测量的),所以需要三路ADC同时采样。至于前端电路带来的非线性失真,这个只能从电路上想办法,比如选用低失真的运放,同时,由于输入电压幅度比较大,因此,运放的摆率也是不能忽略的参数,否则摆率上不去,前端缓冲运放的输出就会有比较大的失真。
你的计算方法和我的本质上是相同的,我用的DTF算法可以不考虑采样点在周期内的位置,只需要和参考信号的相位对齐即可。而你的方法由于需要找到一个完整波形的起点,那么就需要足够多的采样点,否则波形起点与参考信号之间的相位关系就存在一个误差,这个误差和采样点数的倒数成正比,相位误差最大值为(360/采样点数/2)。而使用DTF算法,最终的误差只取决于激励信号的噪声(包含失真产生的谐波)、ADC量化误差、ADC非线性误差三个量(这个有数学公式可以证明),而后两个量在这里微乎其微,而且是绝对误差,理论上可以通过软件校准掉,我用数据仿真计算的时候(此时可以认为信号源噪声为0),模拟12位ADC数据,测量1度相位的误差是0.1%,测量0.1度相位时的误差是大约是1%,可见ADC误差基本恒定,所以最终只需要提高信号源质量就可以得到很好的测量效果。 |
|