打印

正弦波的ADC数据如何处理?

[复制链接]
2355|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sfesdm|  楼主 | 2014-1-5 18:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
     第一次做正弦波的数据处理,请教一下大家平时是用什么思路来处理这些数据的?我现在用的思路,处理起来效果不好。下面的是信号的波形图


     黄色的是在空闲状态下,采集到的信号,幅度在上下200mV左右,周期为20mS,蓝色的信号是有外部激励后,采集到的数据,周期也为20mS。
     我现在的处理思路是:
1、在空闲状态下,把黄色的信号采集若干次,然后把采集到的最大、最小相减即max - min,然后保存起来,每次上电后,把保存的值读出来。
2、然后在采集20(假设)次信号后,也把最大的和最小的值提取出来,再相减,即MAX - MIN。
3、把1和2得到的值相减
4、然后根据相减的结果,来判断采集到的信号的强度。
     现在的问题是,根据这种思路,第4步得到的结果,信号是不断在高、中、低变化的,这样太扯了。

       现在我就想改一下思路,即上电后进行第1步,然后重复进行第2、3步40(假设)次,把这若干次的数据保存在一个数组中,再把这些数据进行排列,最后去掉最大、最小的x个值,取中间的值,即根据中间的这些值进行判断,这样得到的结果应该就稳定多了。
       但是问题又出来了,因为信号的周期是20mS,在进行第2步的时候,为了能较完整的采集到信号,每次的时间不能太快,只能大概1mS采集一次,即采集20次用20mS,然后重复第2、3步30次,这样的话,最少600mS完成一次数据的处理。
      而且总共要采集4个通道的数据,这样的处理时间就太长了。

请教一下,大家平时都是怎么处理这些数据的,谢谢!

相关帖子

沙发
金融小数| | 2014-1-5 18:33 | 只看该作者
怎么处理正弦波的数据,关键要看你使用AD采样以后的数据做什么?

是查看正弦波的最大值和最小值?还是要获取正弦波的的频率?还是要计算出该波形的A0、A1、...? 还是相位角?

使用特权

评论回复
板凳
wh6ic| | 2014-1-5 18:37 | 只看该作者
3错了,应该求比值。
20毫秒,普通的ADC都可以轻松的采集4个通道各几十次。具体电路需要注意各通道和ADC输入的阻抗匹配导致的,切换通道后的信号残余问题

使用特权

评论回复
地板
sfesdm|  楼主 | 2014-1-5 18:56 | 只看该作者
金融小数 发表于 2014-1-5 18:33
怎么处理正弦波的数据,关键要看你使用AD采样以后的数据做什么?

是查看正弦波的最大值和最小值?还是要获 ...

主要是看AD值的大小,根据大小知道信号的强弱

使用特权

评论回复
5
sfesdm|  楼主 | 2014-1-5 18:58 | 只看该作者
wh6ic 发表于 2014-1-5 18:37
3错了,应该求比值。
20毫秒,普通的ADC都可以轻松的采集4个通道各几十次。具体电路需要注意各通道和ADC输 ...

并不是每个通道的空闲状态的幅度都那么大,有些甚至接近直流电,用比值来处理,有概率分母为0的。

使用特权

评论回复
6
wh6ic| | 2014-1-5 19:06 | 只看该作者
那就取中间值好了,比如空闲为0,激励为3,分母取1.5。这样可以明显区分空闲和激励。你的目的是什么?

使用特权

评论回复
7
sfesdm|  楼主 | 2014-1-5 19:28 | 只看该作者
wh6ic 发表于 2014-1-5 19:06
那就取中间值好了,比如空闲为0,激励为3,分母取1.5。这样可以明显区分空闲和激励。你的目的是什么? ...

空闲时不为0,是1.6V左右的电压,在1.6V基础上,有的通道有±200mV的正弦信号,有的接近直流。有外部激励的时候,正弦波的幅度会增大,激励越大,幅度越大。

使用特权

评论回复
8
lbc___| | 2014-1-5 20:28 | 只看该作者
如果只是幅度变化的话,建议你算方差

使用特权

评论回复
9
xygyszb| | 2014-1-6 09:32 | 只看该作者
如果是两个幅值的比值的话,出现小于1的情况,这个时候单片机怎么处理?

使用特权

评论回复
10
wh6ic| | 2014-1-6 10:14 | 只看该作者
你的有效信号是交流的,带入运算前肯定需要去掉直流成分的呀。
你的1步、2步就已经得到了交流成分的峰峰值了。 其中的1.6V直流分量已经没了。

9L: 求比值一般是用浮点运算。如果不想用浮点运算,可以将比值的分子预先乘100倍之类,就可以避免多数小于1的比值出现在运算结果中。

使用特权

评论回复
11
w522930954| | 2014-1-6 12:57 | 只看该作者
怀疑一下你的思路的正确性。你的采样20次没有说是一个周期的20次,没有过零检测怎么能保证采样在一个周期内?你不能保证在一个周期内怎么保证采样值是最大或者最小?

使用特权

评论回复
12
棋哥| | 2014-1-6 14:21 | 只看该作者
仿照ASK数字解调方式,整流后过低通(等同于检波),再过高通或者带通,空闲状态的信号会被当做直流分量给滤掉,用整型运算就可以搞定了!不过你要用MATLAB进行仿真!
另问,你的激励信号是否有编码!

使用特权

评论回复
13
fzy_666| | 2014-1-6 17:44 | 只看该作者
这样处理,你采集256次,然后做一下FFT,即可得到频点,又可以得到频点对应的幅度值

使用特权

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

本版积分规则

49

主题

346

帖子

3

粉丝