Engee 文档
Notebook

第四阶西格玛-德尔塔ADC

这是一个高精度模数转换器(ADC),由于两个关键技术,它实现了特殊的分辨率(通常为16-24位或更多):

  1. 一个严重粗糙但非常快的1位ADC(比较器)内部。

  2. 复杂的4阶数字滤波,它从这个粗糙的ADC产生的大量噪声中"捕获"一个有用的信号。

"4阶"表示内部降噪系统的复杂程度和有效性。

4阶的Sigma-delta ADC是精密测量的工具:

*精密测量仪器:万用表、频谱分析仪。

*慢速遥测和传感器:温度、压力和负载传感器(应变计),特别是在工业和医疗设备中。

*高端音频设备(Hi-Fi,录音室设备):用于以最小的失真数字化音频。

*称重:最高等级的商业和实验室秤。

*地震勘探和地球物理:需要记录弱低频信号的地方。

您可以在[this]中了解第一阶的"基本"sigma-delta DAC的操作原理примере](https://engee.com/community/ru/catalogs/projects/zadacha-tsos-na-primere-modeli-sigma-delta-analogo-tsifrovogo_1).并阅读[本文](https://kit-e.ru/delta-sigma-modulyacziya-nazad-v-budushhee /)以更深入地了解其工作原理。

在这个项目中,我们将考虑一个更复杂的模数转换器电路的动态模型,并比较类似设备中使用的两种类型的低通抽取滤波器。

ADC结构

考虑SDADC_4thORD的上层。工程师模型:

01.png

连续正弦波单元用作测试信号的源,其在0.02秒的时间间隔内产生两个周期-即主振荡频率为100Hz。 该信号随后经历频率为1MHz的采样操作。

在使用sigma-delta Adc时,选择这种高估的采样率是标准做法。 在这种情况下,要成功恢复基频为100Hz的信号,只需取频率至少为200Hz的离散采样即可。 但在所考虑的模型中,为了保持数字正弦信号的相对平滑的形状,决定采取比Kotelnikov定理要求高10倍的余量,即信号的输出采样频率应为2kHz。

因此,在SDADC块输出之后,位深为4位、采样频率为1MHz的信号立即到达抽取器,抽取器基于CIC滤波器和FIR滤波器。 这两种电路都将信号的采样率降低了500倍。 FIR抽取器单元的参数:

02.png

和CIC-抽取器子系统的结构:

03.png

四阶转换器电路

SDADC子系统包含四阶转换器的广义结构,可以模拟加性噪声:

04.png

在这种情况下,"数据类型转换"块用作电路输出处的量化器,其输出带符号的四位信号。 带宽有限的白噪声也可以应用于电路,以评估信号失真对数字化结果的影响。

模型的仿真

在"信号可视化"窗口中运行动态仿真模型时,您可以观察到连续输入信号和两个抽取滤波器输出的比较。:

05.png

我们看到,如此大阶的FIR滤波器引入了显着的延迟,但离散正弦曲线的形状是相同的。

仿真结果的程序化分析

让我们以编程方式运行模型,并在时域和频域中分析记录的信号。 将所有信号保存到结果变量:

In [ ]:
demoroot = @__DIR__
mdl = engee.open(joinpath(demoroot,"SDADC_4thORD.engee"))
result = engee.run(mdl);

我们将及时显示SDADC子系统的噪声输入和四位输出。:

In [ ]:
noisy_input = collect(result["noisy_input"]);
ADC_out = collect(result["ADC_out"]);
plot(ADC_out.time,ADC_out.value,l=:steppost, label="ADC_out")
plot!(noisy_input.time,noisy_input.value,lw=3, label = "noisy_input")
Out[0]:

在这样的电路的输出处的信号频谱中的一个有趣的特征是,由1位量化的粗糙度产生的噪声不会消失,但是这种噪声的频谱的形状被反馈系统改变。 它在频谱的低频部分被"推出"(抑制),并在高频处被放大。 由于我们的有用信号是低频的,因此数字滤波器可以轻松地消除这种移位的高频噪声。

考虑频域中的ADC_out信号:

In [ ]:
using EngeeDSP.Functions
p,f = pspectrum(ADC_out.value,1e6);
plot(f,10log10.(p),title="4位ADC输出端的频谱")
Out[0]:

并考虑抽取CIC滤波器输出端的信号的频谱。:

In [ ]:
CIC_out = collect(result["CIC_out"]);
periodogram(CIC_out.value, NFFT = 2048, fs = 2e3)
Out[0]:

结论

我们回顾了4阶的sigma-delta ADC模型,该模型使用4积分器结构和数字滤波,以在数字化低频信号的纯度和分辨率不重要的应用中实现创纪录的精度/成本比。