Xilinx社区
首页 > 技术文章 > 插值查找表:实现DSP功能的简便方法
技术文章
插值查找表:实现DSP功能的简便方法
来源:电子产品世界  时间:2010-03-02  浏览量:3156

  线性化非线性传感器

  目前许多企业在工业控制系统中使用“智能传感器”,以满足低占用空间、低功耗、高性能、最低成本以及最短开发时间等要求。通用智能传感器可视为一个由传感器及其信号控制线路、模数转换器(ADC)、带或不带嵌入式处理器的相关DSP子系统组成的功能组件,所有这些功能块都集成在的同一器件上,如图4所示。

  智能传感器的目的是将物理量(如电机中的电流)转化为数字电路能够处理的数字信号。构建这类传感器所采用的技术及组件的某些特性通常会导致诸如失调、增益和非线性等误差,进而导致总体传递函数呈非线性。

  一般来说,客户会校正他们产品中运行的DSP子系统所出现的上述误差。如果y=f(x)是来自传感器和ADC级联的数字输出信号,那么DSP必须执行其反函数g(y)=f-1(y)来补偿非线性函数,这样总体输出z即为:

  这是直线方程,其斜率为m,纵截距为b。

  最简单的线性化方法是LUT法,采用存储在ROM中的传感器校准点。不过,对16位的ADC来说,ROM显得过大了,且需要64个BRAM单元。而内插LUT则不然,是一个良好的解决方案。

  举例来说,我们假定非线性传递函数是一条抛物线。下一MATLAB分段码说明了如何生成最终直线的m和b参数,以及如何计算g(y)(即f(x)的反函数)。图5用三种颜色显示了三条不同曲线。请注意在计算f(x)的反函数g(y)过程中会丢失一些值。这是因为有几个y值相同的点对应着不同的x点。因此,需要对g(y)进行平滑化,填补所有缺失的点。为精确起见,我没有把这部分运算包括在MATLAB分段码中,见代码清单。

  我采用非常类似于图3的设计,在SystemGeneratorforDSP中运行基于定点周期的仿真,在非线性传感器的总体输出范围内得到了92.48dB的信噪比。

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052