DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 125|回复: 0
打印 上一主题 下一主题

如何提高DSP的ADC精度

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:19:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   摘要:数字信号处理器TMS320F2812的片上ADC模块的转化结果往往存在较大误差,最大误差甚至会高达9%,如果这样直接在实际工程中应用ADC,必然造成控制精度降低。对此提出了一种改进的校正方法,即用最小二乘和一元线性回归的思想,精确拟合出ADC的输入/输出特性曲线,并以此作为校正的基准在DSP上进行了验证,实验表明,此方法可以将误差提高到1%以内,适合于对控制要求较高的场合。
  0 引言
  TI公司的C2000系列DSP以其出色的性能、丰富的片上外设在工业自动化、电机控制、工业生产领域得到广泛应用。TMS320F2812是C2000系列中性能出色的一个,F2812片上集成了12位16通道的数/模转化器,理论上精度可以达到0.1%以上。但实际上由于增益误差(t),以利用抵偿性减小随机误差的影响。
  高斯认为,根据观测数据求取未知参数时,未知参数最合适数值应是这样的数值,即选出使得模型输出与观测数据尽可能接近的参数估计,接近程度用模型输出和数据之差的平方和来度量。这就是最小二乘的基本思想。最小二乘法原理指出,最精确的值应在使残余误差平方和最小的条件下求得。
  2.2 一元线性回归原理
  一元线性回归是处理2个变量之间的关系,即两个变量x和y之间若存在线性关系,则通过试验,分析所得数据,找出两者之间函数曲线。也就是工程上常遇到的直线拟合问题。
  3 实验方案与结果分析
  3.1 实验方案
  实验利用F2812开发板和DSP调试软件CCS2.0完成。用稳定信号源产生6个标准电压,分别为0.2 V,0.5 V,1.0 V,1.5 V,2.0 V,2.5 V,输入通道选为A0,A1,A2,B0,B1,B2。ADCL0引脚接电路板的模拟地,与模拟输入引脚相连的信号线应该避开数字信号线,以减少数字信号对模拟信号的干扰。输入电路如图2所示。




图2 输入电路
  3.2 校正算法
  设ADC模块的输入/输出曲线为y=a+bx,输入电压值为xi,对应的转化输出值为yi。由最小二乘估计算法可得方程:





  解此方程组即可得到a,b的估计值:





  式中,

这样这样便得到了最佳的拟合曲线(回归方程):

于是可以用此方程进行转化值校正。
                          
                       
                          
                               
  3.3 实验数据处理
  将实验获得的6组数据利用上述最小二乘法和线性回归方法进行处理,得到a,6的最小二乘估计值分别为,于是回归方程为:y=0.003 612+1.039 091x。以回归方程为标准,由x=(y-0.003 612)/1.039 091可以计算出校正后的转化值,并与未转化的值进行比较,结果如表1所示。





  在Excel中,绘制出未校正输入/输出分布点,和回归曲线,如图3所示。





图3 回归曲线示意图
  3.4 结果分析
  由表1和图3可以看出,如果不采取校正措施,则F2812的ADC模块会存在5%左右的相对误差;而采用提出的校正方法,可以将误差下降到1%以下。这就大大提高了A/D转化的精度,对于对控制要求精度很高的场合,牺牲ADC模块的6个通道,得到比较高的转化精度,还是非常必要而且值得的。
  4 结语
  在此提出一种采用最小二乘法和线性回归校正DSP的ADC模块的方法,实验证明此方法可以大大提高转化精度,有效弥补了DSP中AD转化精度不高的缺陷。此方法硬件电路简单,成本代价较低,具有很高的推广和利用价值。

                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-23 04:25 , 耗时 0.095500 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表