首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» 用插值查找表实现FPGA的DSP功能(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用插值查找表实现FPGA的DSP功能(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2016-10-22 19:51
|
只看该作者
用插值查找表实现FPGA的DSP功能(2)
控制系统
,
转换器
,
处理器
,
传感器
,
嵌入式
目前许多企业在工业控制系统中使用“智能传感器”,以满足低占用面积、低功耗、高性能、最低成本以及最短开发时间等要求。通用智能传感器可视为一个由传感器及其信号控制线路、模数转换器 (ADC) 、带或不带嵌入式处理器的相关DSP子系统组成的功能组件,所有这些功能块都集成在的同一器件上,如图4所示。
图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分段码中)
图5.黑色抛物线表示非线性传感器传递函数f(x) 的曲线;绿色直线表示线性化DSP子系统获得的最终线性传感器传递函数曲线;蓝色抛物线则表示反函数g(y) 的曲线。
我采用非常类似于图1-3的设计,在System Generator for DSP中运行基于定点周期的仿真,在非线性传感器的总体输出范围内得到了92.48dB的信噪比。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议