主要内容

Flash模数转换器的亚稳态损伤效应

这个例子展示了如何通过增加亚稳态概率来定制flash模数转换器(ADC)。您可以测量亚稳定概率损伤来验证您的实现。算例还说明了亚稳态对flash模数转换器动态性能的影响。当比较器的数字输出不明确(既不是零也不是一)时,输出被定义为亚稳态。不明确的输出表示为. 该示例模型使用MATLAB功能块将亚稳态损伤添加到flash ADC架构中。另一个子系统动态报告亚稳态概率。

自定义Flash ADC

提取flash ADC的内部结构以添加定制的损伤。从混合信号块集中添加闪存ADC块™ 库到Simulink®画布。在掩模下寻找ADC的平面结构。将完整的结构复制并粘贴到另一个新的空白画布上。金宝app

删除时钟生成器块,因为它不用于提供启动转换时钟。外部刺激子系统用于此目的。闪存ADC现在由三个主要组件组成:

  • Flash ADC比较器

  • 故障感知计数器

  • 输出数据类型

Flash ADC比较器

N-位闪存ADC使用$${2^{Nbits}}$比较器并联。Flash ADC比较器子系统本身基于MATLAB®代码。在模拟开始之前,比较器计算各个参考电压并将它们存储在向量中。在每个指定的边上,使用MATLAB比较向量的能力将输入与参考进行比较。这将生成类似于真正的flash ADC的温度计代码,而不需要延迟N模型中的单个比较器块。

要创建10位ADC,请设置位数(nbits)10,输入范围[-1 1],和INL矢量0.触发器类型保持其默认值上升沿.

故障感知计数器

故障感知计数器子系统实现了flash ADC结构中的损伤。真正的模数转换器通过逻辑电路处理从温度计到二进制的转换。此子系统获取比较器存储的向量元素的总和,并将该总和应用于查找表以模拟丢失的代码,否则称为气泡。

设置故障感知计数器参数:位数(nbits)10,输入范围[-1 1],和气泡代码[].触发器类型保持其默认值上升沿.

输出数据类型

输出数据类型子系统处理从故障感知计数器输出处的数据类型到Flash ADC掩码上指定的数据类型的转换。

断开输出数据类型块与其引用库之间的库链接。套输入动态范围[-1 1]双极数据类型双重的.

实现亚稳态概率作为Flash ADC的损伤

为了增加亚稳态损伤,在Flash ADC比较器子系统之后放置一个带有MATLAB功能块的触发子系统。MATLAB功能块将温度计代码信号设置为南斯用均匀随机数发生器的概率。块重置下一个相关边缘上的信号,这就是为什么使用触发子系统的原因。使用此代码实现亚稳态损伤子系统。

%函数y=亚稳态(u,概率)%mult=个(大小(u));%mult(rand(size(u))<概率(1))=NaN;%亚稳态=NaN%y=u.*倍数;%结束

提供要通过连接到概率港口。

实现测量亚稳态概率

为了测量亚稳态损伤,计算南斯将其除以在整个模拟过程中生成的比较器输出的总数。亚稳态概率测量的简单Simulink实现是:金宝app

输入为:

  • ADC输出-接收由闪存ADC生成的输出数字代码。

  • 就绪信号-接收就绪信号,该信号表示正在进行数字转换的速率。在“就绪信号”端口接收到的信号的每个上升沿生成数字代码。

亚稳态测量的模拟

下面的模型将定制的flash ADC与其连接到亚稳态概率测量系统的输出相结合。在该模型中,添加了一个亚稳态概率为1e-6的10位flash ADC。刺激子系统产生100赫兹的模拟信号和100兆赫频率的启动转换时钟。ADC以起始转换时钟频率定义的速率工作。仪表板范围提供概率数随时间变化的行为。显示块显示子系统正在测量的当前概率。您必须运行模拟足够长的时间,才能看到概率数在所需值(在本例中为1e-6)处固定。

NBits=10;模型1='flashAdc\u亚稳态.slx'; 开放式系统(模型1);打开系统([bdroot,“/范围”]); sim卡(型号1);

亚稳态对ADC动态性能的影响

可以观察亚稳态对adc动态性能的影响。该模型显示了flash ADC系统的两种设置:一种具有亚稳态,另一种不具有亚稳态。一种后处理块,它接收受损的数字输出并转换数据南斯归零。这是因为数字输出南斯不能被频谱分析仪识别为频谱分析的有效信号。附加一个ADC-AC测量块以观察各种性能指标,如SNR、ENOB、噪声地板等。仿真结果表明,交流分析导致亚稳态ADC的性能显著下降,表现为低ENOB和高噪声。

型号2='flashAdc\亚稳态\效应.slx'; 开放式系统(模型2);sim卡(型号2);

另请参见

||

相关主题