我想做一个 10 位的 ADC,但是在运行 FFT 之后,ENOB(有效位数)结果将达到 12 位。
这可能吗?我该怎么做?
我想做一个 10 位的 ADC,但是在运行 FFT 之后,ENOB(有效位数)结果将达到 12 位。
这可能吗?我该怎么做?
delta-sigma ADC的核心通常是1 位,但它可以通过过采样和数字滤波实现 16 位或更多。我不打算详细介绍如何,但是,相同的技术适用于“普通”ADC - 如果将采样率提高 4 倍并以数字方式平均这四个样本,您可以获得更高的分辨率(参见下面的抖动)。
四次过采样会产生额外的 1 位分辨率。要获得两位额外的分辨率,您需要过采样 16 次。
想想实际的 4 倍过采样。如果您的基本分辨率为 1 伏,连续四个样本分别为 1 伏、1 伏、2 伏和 1 伏,则平均值为 1.25 伏。这是一个进步。这种技术只有在系统中有一点噪声时才会起作用,幸运的是,在高位分辨率 ADC 中这是不可避免的(参见下面的抖动)。
另请参阅wiki - 抖动:-
在 ADC 中,通常可以使用抖动来提高性能。这是一个非常少量的随机噪声(例如白噪声),在转换之前添加到输入中。它的作用是根据信号随机化 LSB 的状态。它不是简单地在低电平处完全切断信号,而是扩展了 ADC 可以转换的信号的有效范围,但噪声会略有增加。请注意,抖动只能增加采样器的分辨率。
运行 I 一次 FFT 后,ENOB(有效位数)结果将达到 12 位。
问问自己,你的 FFT 算法需要多少样本。
但是运行FFT后,enob结果会达到12bit,这可能吗?
它是否可能取决于您正在测量的内容。
要计算 ADC 的 ENOB(有效位数),您需要减少理想 ADC 的位数,直到它与被测 ADC 的 SINAD(信噪比和失真)匹配。
正如其他答案所说,FFT 是完全双射的,它既不添加也不删除信息。Parseval 定理说,如果你想计算一个信号的总功率,不管你是对时间序列的平方求和,还是对频率结果的平方求和,你得到(你必须得到)完全相同回答。
通过 FFT 测量的 ADC 的 ENOB 应该与在 ADC 本身测量的值完全相同。
那么你能从 ADC+FFT 得到明显增加的 ENOB 吗?
是的。如果您使用 ADC 测量单个信号,然后对其进行 FFT,则信号将集中到几个 bin 中,噪声将遍布整个频谱。如果您现在说“我的信号仅在这些 bin 中”并消除所有其他 bin,那么您几乎消除了信号上的所有噪声,并且 SINAD 和 ENOB 得到了显着改善。
这就是我们看到抖动转换器和使用Sigma Delta技术之间的区别的地方。两者都会通过添加噪声来对 ADC 的基本分辨率进行插值。在抖动中,添加的噪声通常是白色的。在过滤后拒绝仅噪声箱只会导致噪声功率按比例降低,因为一些噪声仍然落在信号范围内,因此 4 倍的采样率将噪声电压减半,从而为您提供额外的位。在 sigma delta 中,噪声是频率整形的,因此它全部落在信号频带之外。现在,由于滤波带来的改进不受噪声限制,而是受到 ADC 线性度的限制,通常是单个位(因此不需要位对位匹配)可以比传统 ADC 好几个数量级。
我想做一个10bit的ADC,但是运行FFT后,enob结果会达到12bit,这可能吗?怎么做 ?
不,这本身是不可能的:你不能在 FFT 的所有元素中增加一点深度——否则,你会从“无处”中找到信息,因为(由于Parseval 定理),总FFT 前后的 SNR 保持不变。
但是,当您知道您感兴趣的信号仅在 FFT 箱的一个子集中时,当然,这会增加这些箱中的 SNR,因此,您会获得更大的 ENOB。(您会注意到 FFT == DFT 只是一个截断的 sinc 滤波器组,所以是的,当查看单个 FFT 箱时,您会得到 Andy 所指的处理增益!在这种情况下,您使用 N 点 FFT 作为 1 /N 波段带通滤波器。)
但是,如果您知道这一点,那么 FFT 很可能不是正确的工具——您将忽略它的大部分输出。同样,如果您要查看所有 FFT 输出,SNR 将保持不变,因为 DFT 中的信息没有变化;这是一个完全双射的映射。
您将多少个 10 位测量值输入 FFT?通常,在时域中需要多次读取才能获得足够的波形以将有意义的结果转换为频域(作为 FFTransform 的示例)。因此,您以 10 位进行的许多测量得到处理,以实现更高分辨率的 FFTransformed 值。想一想,如果您有跨越许多(数千个)波形周期的 10 位数据,那么一旦转换(通过 FFT),您就可以非常准确地确定波形的频率。