声明原文来源于:http://wenku.baidu.com/view/1e6d8f3083c4bb4cf7ecd1c2.html

讨论AD转换分辨率的算法(zt)

(1)在总长度为5米的范围里,平均分布6棵树(或说6个元素),算出每科树(或说每个元素)的间隔?

解:每棵树(或说每个元素)应该这样分布:

在开头0米处种第1棵(记为0号树)

在1米处种第2棵(记为1号树);

在2米处种第3棵(记为2号树);

在第5米(即终点)处种第6棵(记为5号树)

所以,每棵树的间隔(或分辨率)的算法是:总长度/(长度内总元素-1)

即:5米/(6-1)棵=1米/棵

每隔1米有1棵树,这个道理大家都很清楚,应该没有人说分辨率=总长度/长度内总元素=5/6=0.83米,

即每隔0.83米有1棵树吧??? XXX, 再看例子(2)

(2)在总长度为5米的范围里,平均分布256棵树,算出每棵树的间隔?

解:总长度=5;长度内总元素=256

所以:按上述算法,每棵树的间隔(或分辨率)=5/(256-1)=0.019607843

即:0号树的位置,即第1棵树的位置=0*0.019607843=0(米)

1号树的位置,即第2棵树的位置=1*0.019607843=0.019607843(米)

100号树的位置,即第101棵树的位置=100*0.019607843=1.9607843(米)

255号树的位置,即第256棵树的位置=255*0.019607843=4.99999997=5(米)

(3)在总电压为5V的范围里,平均分布256个元素(0-ff),算出每个元素的间隔?

解:总电压=5V;长度内总元素=256 (0-ff)

所以:每元素的间隔(或分辨率)=5/(256-1)=0.019607843

即:0号元素的位置,即AD<00>的电压=0*0.019607843=0(V)

100号元素的位置,即AD<64>的电压=100*0.019607843=1.9607843(V)

255号元素的位置,即AD<ff>的电压=255*0.019607843=4.99999997=5(V)

(4)AD转换的分辨率=参考电压/(总元素-1)

当AD为8位,总元素=256(ff)取参考电压=Vdd=5V时

分辨率=5/(256-1)= 0.019607843

当AD=255时,AD转换值=255*0.019607843=4.99999997=5(V)

如这样算:转换值=255*(5/256)=4.98046875=4.98(V)  结果就错了,我们看看用这种算法算算例(1)看看:

每棵树的间隔(或分辨率)=总长度/长度内总元素=5/6=0.8333333333

即:0号树的位置,即第1棵树的位置=0*0.8333333333=0(米)

1号树的位置,即第2棵树的位置=1*0.8333333333=0.8333333333(米)

5号树的位置,即第6棵树的位置=5*0.8333333333=4.166666666(米)

可见,最后的元素不在终点5米处,很明显不把总元素减1的算法是不对的,忽略了有一个元素在0的位置啊。

AD转换精度的计算的更多相关文章

  1. s5pv210 AD转换

    1:ADC:Analog-to-Digital Converter,模拟信号转数字信号,自然界一般为模拟信号,而SoC需要数字信号,所以之间通信需要ADC. 2:转换原理: 以逐次逼近式AD转换为例: ...

  2. 在AD转换中的过采样和噪声形成

    1. 直接量化的过采样AD转换 此类系统的模型可以用下图表示. 图中xa(t)是输入信号,e(t)是量化引入的噪声,xd[n]是最终得到的数字信号,包含分量xda和xde. 对于M倍过采样,信号与量化 ...

  3. MSP430常见问题之AD转换类

    Q1:MSP430F149 AD 的输入阻抗有多大?A1:RC<2000欧*30PF Q2:MSP430 ADC12 模块的速度?A2: ADC12 的转换速率是转换所需的ADC12CLK 以及 ...

  4. AD转换

    一.AD转换的概念  AD转换的功能是把模拟量电压转换为数字量电压.DA转换的功能正好相反,就是讲数字量转换位模拟量. 二.芯片PCF8591介绍 PCF8591是一个单片集成.单独供电.低功耗.8- ...

  5. verilog实验3:AD转换后串口输出到PC端

    一.实验任务 通过tcl549AD转换芯片将模拟电压信号转换为数字信号,并通过串口显示到电脑上.此AD转换芯片为串行转换芯片,且转换速率要和串口选择的速率匹配.等待串口发送完后,再进行下一次AD转换. ...

  6. STM8S AD转换

    //不说那么多了,直接上程序 void ADC1_DeInit(void) { ADC1->CSR = ADC1_CSR_RESET_VALUE; ADC1->CR1 = ADC1_CR1 ...

  7. AD转换后数字量的处理

    假设模拟输入电压的最大值为5V,A/D转换器件为8位转换. [该转换器的分辨率为1/2n=0.3906%.] [能分辨输入模拟电压变化的最小值为5*0.3906%=19.5mv.] 则模拟电压与数字输 ...

  8. 【小思考】Python的float转换精度损失所想到的

    首先,为啥会要讨论这个问题. 我得为昨天拖了小组后腿深表歉意.其实程序逻辑很快就理通了的,但自己总是会因为各种各样的小问题束缚手脚,看接下来这个图片: 稍微有数据敏感性的同学就能看出,中间这么一大堆又 ...

  9. BigDecimal 小数 浮点数 精度 财务计算

    简介 float和double类型的使用局限: 单精度浮点型变量float可以处理6~7位有效数,双精度浮点型变量double可以处理15~16位有效数,在实际应用中,如果需要对更大或者更小的数进行运 ...

随机推荐

  1. android学习笔记14——GridView、ImageSwitcher

    GridView--网格视图.ImageSwitcher--图像切换器 ==> GridView,用于在界面上按行.列的分布形式显示多个组件:GridView和ListView父类相同——Abs ...

  2. CPU GPU天梯图

    2014年2月

  3. mongodb3.03开启认证

    原文地址:http://21jhf.iteye.com/blog/2216103 下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如 ...

  4. 嵌入式jetty

    一.maven依赖 pom配置 <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId&g ...

  5. 在C#中子线程如何操作主线程中窗体上控件

    在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能 简单的通过控件对象名来操作,但不是说不能进行操作,微软 ...

  6. Spark工程开发常用函数与方法(Scala语言)

    import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.{SaveMode, DataFrame}im ...

  7. DBA_Oracle Database 11g 面向 DBA 和开发人员的重要特性

     2015-01-23 Created By BaoXinjian

  8. RMAN_Oracle RMAN的常用Command命令

    2014-12-11 Created By BaoXinjian

  9. websphere应用程序的使用

    1.服务器板块 1.1 jvm虚拟机的通用参数: agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777Dcom.ibm.w ...

  10. ylbtech-dbs:ylbtech-2,PAM(个人资产管理系统)

    ylbtech-dbs:ylbtech-2,PAM(个人资产管理系统) -- =============================================-- Personal Asse ...