washu 发表于 2023-4-21 11:20:29

天天爱玛丽 发表于 2023-4-21 10:59
我的例子讲述的过采样的计算方法,
将连续采样4n(n是次数)数据求和,再对求和的结果右移n位,得到提升1bi ...

我的荔枝也是说过采样算法,分别从二进制和浮点数去说(因为楼主的疑惑)

你楞要说用浮点数误差巨大,先是把 4107 算成 4017,弄了个巨大的误差;然后后边实际上只要双方都用 4095 和 8191 或者用 4096 和 8192 就没有误差你楞要说有误差...

错误是谁的我懒得再赘述。

abbey_tom 发表于 2023-4-21 11:26:45

天天爱玛丽 发表于 2023-4-21 11:09
等式3300mV / 4095 = x / adc,
求x,
这里没有4096的事,


这个就是你头铁了,
取4095还是4096当然对精度有影响了,
这个需要看详细文档,
也许不同的ADC有不同的设计,
但这不是本次讨论问题的关键。
本次讨论的是:
算术平均算法能不能用于过采样。

abbey_tom 发表于 2023-4-21 11:32:54

天天爱玛丽 发表于 2023-4-21 11:16
采样不存在噪声时,过采样等效于算术平均,

存在噪声时,平均值中依然有噪声,


又扯到概念问题了,
现在假设硬件(包括待采模拟量中的噪声),
已经具备过采样条件,
就让我编代码实现过采样,
用我这种算术平均法究竟行还是不行?

天天爱玛丽 发表于 2023-4-21 11:41:04

abbey_tom 发表于 2023-4-21 11:32
又扯到概念问题了,
现在假设硬件(包括待采模拟量中的噪声),
已经具备过采样条件,


存在噪声的采样,有平均值算出来的结果,已经包含了噪声分量,结果也不准确了,
所以我的结论是用平均算法不行,
至于采不采信,自己衡量吧,
上面只有闻太师讲解正确了过采样的概念,
存在噪声的平均算法与过采样算法,结果必然是不同的,
我的手滑,输错了数,是我的错,
瓦数老师连续点了两次该问题了,
所以我的观点都没有说服力,
我以后回帖仔细点,争取少犯错,不手滑.

washu 发表于 2023-4-21 11:44:25

abbey_tom 发表于 2023-4-21 11:32
又扯到概念问题了,
现在假设硬件(包括待采模拟量中的噪声),
已经具备过采样条件,


所以我前面分别从二进制和浮点数角度说明这个问题

二进制时,采样 k 次的累加数,若 k=2^n,则右移 n/2 位,结果是过采样;右移 n 位就是算术平均数

浮点数我们是格式化为十进制数显示的,且会截取一定位数显示。因此,每采样 100 次然后求其算数平均数,可以多*显示一位,也是过采样。

*在原来的无噪声位数或有效分辨率位数上多一(十进制)位

天天爱玛丽 发表于 2023-4-21 11:46:56

abbey_tom 发表于 2023-4-21 11:26
这个就是你头铁了,
取4095还是4096当然对精度有影响了,
这个需要看详细文档,


咱俩都头铁,扯平了,;P
我是看了手册之后才提出这个问题,不然没必要因为这点小事扯半天了,
如果还是继续用air32,用4095计算

washu 发表于 2023-4-21 11:50:40

天天爱玛丽 发表于 2023-4-21 11:41
存在噪声的采样,有平均值算出来的结果,已经包含了噪声分量,结果也不准确了,
所以我的结论是用平均算法不 ...

二进制时、累加数包含噪声,右移 n/2 是过采样,右移 n 位才是平均:平均在二进制上不可行,因为平均的结果并未提升位数(精度)而不是平均包含噪声,包含噪声的是累加数。

楼主的平均是用浮点数做的,浮点数格式化为十进制,以一定的位数显示,则算术平均数可以作为过采样结果,每 100 次提升一个十进制显示位数,前面有计算过程,取 2 为底计算,和用二进制右移 n/2 结果是一样的,只是这里 n 不再是 2 的整数次方。

天天爱玛丽 发表于 2023-4-21 11:53:05

washu 发表于 2023-4-21 11:44
所以我前面分别从二进制和浮点数角度说明这个问题

二进制时,采样 k 次的累加数,若 k=2^n,则右移 n/ ...

从ADC读取的采样数据都是整数,转换为浮点数时,按照浮点数的表示方法,主要数据依然存储在整数部分,没用到精度不确定的小数部分,
所以噪声都依然在整数中,这个不是您分析的那样的,
用实物跑下两种算法就一目了然了

abbey_tom 发表于 2023-4-21 11:55:20

天天爱玛丽 发表于 2023-4-21 11:41
存在噪声的采样,有平均值算出来的结果,已经包含了噪声分量,结果也不准确了,
所以我的结论是用平均算法不 ...

我提出的另一个问题,
你还没有回答,
500次过采样行不行?
如果用你的正确算法应该如何计算呢?

abbey_tom 发表于 2023-4-21 12:07:25

天天爱玛丽 发表于 2023-4-21 11:53
从ADC读取的采样数据都是整数,转换为浮点数时,按照浮点数的表示方法,主要数据依然存储在整数部分,没用到 ...

“ADC读取的采样数据都是整数,转换为浮点数时,按照浮点数的表示方法,主要数据依然存储在整数部分”
ADC=2048转化为浮点,
假设为1.65V
整数部分只有1!!!

washu 发表于 2023-4-21 12:10:24

天天爱玛丽 发表于 2023-4-21 11:53
从ADC读取的采样数据都是整数,转换为浮点数时,按照浮点数的表示方法,主要数据依然存储在整数部分,没用到 ...

我什么时候说用浮点数时噪声在什么部分了?

washu 发表于 2023-4-21 12:12:54

abbey_tom 发表于 2023-4-21 12:07
“ADC读取的采样数据都是整数,转换为浮点数时,按照浮点数的表示方法,主要数据依然存储在整数部分”
AD ...

他理解的是先用浮点数把 ADC 转换结果累加求平均,再做乘除法得到电压值

你的理解是,先用浮点数把 ADC 转换结果做乘除法得到电压值,再累加然后求平均


不过实际上结果是一样的 :D


但我前面的荔枝,是你的理解,因为我的程序是那么写的...如果你用他的理解,用个毛的浮点数,浮点数做(整数)累加你不累么 ;P

abbey_tom 发表于 2023-4-21 12:19:51

washu 发表于 2023-4-21 12:12
他理解的是先用浮点数把 ADC 转换结果累加求平均,再做乘除法得到电压值

你的理解是,先用浮点数把...

实际做法当然是整型累加最后才用浮点乘除,
但与先浮点累加的结果应该无差,
物理意义可当做将每次采样都算出浮点电压,
然后再算术平均。

天天爱玛丽 发表于 2023-4-21 12:35:09

本帖最后由 天天爱玛丽 于 2023-4-21 12:36 编辑

累加起来的和无论是整数还是浮点数,都包含着噪声数据,目的是降低噪声的水平。过采样的作用是直接改变量化等级,目的是提高有效信号的水平。这俩算法原理都不是一会事,视为等效不科学。平均算法的有效信号与过采样的有效信号不是一个量级,虽然结果很接近。我口才不好,无力讲明白,自己明白就好。随便用哪种,看编程人员的取舍吧。

小鬼头 发表于 2023-4-21 12:48:53

xjw01 发表于 2023-4-21 10:08
电感大概能测到300mH,最小0.1uH以下。电容估计最小能测几百pF,最大可能是1000uF或10000uF
========= ...

这些涉及到量程这一块,与mcu编程有关,我还没有去仔细考虑。之前列的数据是根据可测到的电阻/阻抗,按理想化条件胡乱算的。

你这里使用平方根的方法进行计算,似乎有问题。这种方法对于恒压源驱动的RC串联网络来说,无疑是正确的。

但现在是恒流源驱动,直接按R、C各自的模来算电压分配比例即可,不需取平方根来计算。
页: 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47
查看完整版本: 合作设计基于mcu的数字式电容ESR表