打印

AD采集正弦波,如何才能每次都是从0度开始?

[复制链接]
11678|55
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjp8683463|  楼主 | 2011-11-22 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如一个1K的正弦波,用整数倍25k去采集.
采集10次,每次采集1s的数据,采集的数据不一样,有相位偏移问题.但后面的算法与相位有关系的,会造成计算结果最大有4%差异度.
如何让每次采集的数据都是从0度开始,即让第一个采集点在0mV附近,越一致越好.

相关帖子

沙发
gaohq| | 2011-11-22 19:28 | 只看该作者
加个过零检测啊

使用特权

评论回复
板凳
zjp8683463|  楼主 | 2011-11-22 19:39 | 只看该作者
本帖最后由 zjp8683463 于 2011-11-22 19:44 编辑

2# gaohq

还是存在相位问题.但可以减少.我最后的目的是0.05%...
我后面仿真了下,差9度时就有4%,差1度0.2%左右.

使用特权

评论回复
地板
HWM| | 2011-11-22 19:59 | 只看该作者
“0.05%”,这比较难。

使用特权

评论回复
5
hartcomm| | 2011-11-22 21:27 | 只看该作者
本帖最后由 hartcomm 于 2011-11-22 21:29 编辑

2pi*(1/25) 采样点之间的相位间隔大概有15度。
1KHz的周期是1ms,1度就是约3us  ADC的采样保持能不能精确到,以及单片机去控制ADC能不能准确到3us,还是个问题。

也可以用预估的方法。 自动调整开始采样点。

最简单的用高速ADC,判断是否在0相位。 如果数据量太大来不及处理就判断完后,正式采集时,降低采样率。

使用特权

评论回复
6
zjp8683463|  楼主 | 2011-11-22 21:52 | 只看该作者
先不用考虑采样时间精确问题.用的是fpga
和adc采集速度关系不大,隔间15度并不响应结果,主要是起始点的问题.
高速ADC理论上可以提高精度,但高速adc本身的性能指标并不好.
现在的ADC经过算法,结果可以实现ENOB>17位,频响>30hz.问题主要是每次开机的重复性,这个误差非常大.

使用特权

评论回复
7
ddb_21ic| | 2011-11-22 23:18 | 只看该作者
可以软件上处理,掐头去尾,选取中间n-1个完整波形

使用特权

评论回复
8
zjp8683463|  楼主 | 2011-11-23 08:16 | 只看该作者
本帖最后由 zjp8683463 于 2011-11-23 08:17 编辑

7# ddb_21ic

这个办法应该无效。算法也不是对单个周期进行计算,取的是整数的周期
因为是整数倍采集,每个周期都是一样的。

使用特权

评论回复
9
t.jm| | 2011-11-23 08:26 | 只看该作者
那就只有过零检测才行了,当然不是廉价的过零检测。

使用特权

评论回复
10
zjp8683463|  楼主 | 2011-11-23 08:34 | 只看该作者
硬件过零检测,存在不确定性。
我想用数字处理的方法来解决,让ADC采集到0mV附近在开始连续采集。

使用特权

评论回复
11
iC921| | 2011-11-23 08:44 | 只看该作者
受噪声影响,不太可能每次都从0度开始

使用特权

评论回复
12
zjp8683463|  楼主 | 2011-11-23 09:24 | 只看该作者
最后肯定允许一定范围的误差。这个需要实验。
找0也不是一次就要成功,可以多找几次。

使用特权

评论回复
13
ddb_21ic| | 2011-11-23 11:10 | 只看该作者
你这个思路,做出来就是我7楼说的方法,说好听点,叫数字抽样。
过零检测仍然会有相位抖动,会受到噪声干扰

使用特权

评论回复
14
t.jm| | 2011-11-23 11:14 | 只看该作者
硬件过零检测,存在不确定性。
我想用数字处理的方法来解决,让ADC采集到0mV附近在开始连续采集。
zjp8683463 发表于 2011-11-23 08:34

ADC速率都不够怎么采集0mV?
25KHZ的采样率时间分辨率才40uS,至少模拟的东西随便做也能做到比这个指标更好!

使用特权

评论回复
15
zjp8683463|  楼主 | 2011-11-23 12:17 | 只看该作者
ADC速率都不够怎么采集0mV?
25KHZ的采样率时间分辨率才40uS,至少模拟的东西随便做也能做到比这个指标更好!
t.jm 发表于 2011-11-23 11:14


你还没理解我的问题所在。

使用特权

评论回复
16
guosr| | 2011-11-23 13:17 | 只看该作者
这涉及到信号处理理论中的一个基本问题,那就是“因果系统”和“非因果系统”的问题:一个待测波形尚未发生,我们就无从知道它的细节(如果你能准确预测波形细节,那么这个波形就是已知的,测量就是多余的)。
     一个频谱较单纯波形的过零点的时刻可以用过零比较器来捕捉,但是当输入波形含有未知的干扰时,想精确的知道过零点的时刻就必定要弄清楚过零点前后一段时间内的波形及干扰的细节,因为信号和干扰都是未知的,在波形过零点到来之前,没办法精确预测;在过零点的时刻,因为干扰信号的细节不清楚,也没有办法断定当前就是过零点;只有等过零点过去之后,采用一定的方法,综合这期间采样的信息来判断过零点在什么时刻发生,但此时过零点已经是过去的事情了。
     所以试图“实时精确”地识别包含随机干扰的未知信号过零点是一个幻想,因为这是一个“非因果”的系统。什么过零比较器、滤波器加过零比较器、锁相环……这些手段最终要么不可靠,要么实际上产生一点延迟。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
mxh0506 + 1
17
nongfuxu| | 2011-11-23 13:49 | 只看该作者
假设信号在某一时间段T内是频率稳定的.
抽样  <------>  插值

使用特权

评论回复
18
ShakaLeo| | 2011-11-23 14:16 | 只看该作者
赞同16楼。楼主是否可以想办法改善一下那个与相位有关系的算法,来减小误差

使用特权

评论回复
19
yxftr2010| | 2011-11-23 16:01 | 只看该作者
事实上用数字的方法应该会消除你这个影响。前端是FPGA可以很容易的通过数字方式判别零点位子。通过对几个周期的测量。可以简单的计算出相移的情况。

使用特权

评论回复
20
samssm| | 2011-11-23 16:49 | 只看该作者
但后面的算法与相位有关系的,会造成计算结果最大有4%差异度

那只能说明你后面的算法有问题!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:解决问题是我们学习硬件和软件的目的. 硬件和软件是解决问题的手段,而非全部

397

主题

6129

帖子

9

粉丝