此示例显示如何通过将卷复性概率添加为损伤来自定义闪光模数转换器(ADC)。您可以测量衡量概率损伤以验证您的实施。该示例还显示了亚旋转性对闪存ADC动态性能的影响。当来自比较器的数字输出是模糊的(既不零也不是一个)时,输出被定义为亚稳态。模糊的输出表示为南
. 该示例模型使用MATLAB功能块将亚稳态损伤添加到闪存ADC架构中。另一个子系统动态报告亚稳态概率。
提取闪存ADC的内部结构以添加定制的损伤。将闪存ADC块从混合信号块集™库添加到Simulink®Canvas。金宝app在面具下看,找到ADC的平坦结构。将完整结构复制并粘贴到另一个新的空白画布。
删除时钟发生器块,因为它不用于提供启动转换时钟。外部刺激子系统用于此目的。闪存ADC现在由三个主要组件组成:
闪光模数转换器比较器
故障感知计数器
输出数据类型
闪光模数转换器比较器
一个N-位闪存ADC使用比较器并联。Flash ADC比较器子系统本身基于MATLAB®代码。在模拟开始之前,比较器计算各个参考电压并将其存储在向量中。在每个指定的边上,使用MATLAB比较向量的能力将输入与参考进行比较。这将生成类似于真实闪存ADC的温度计代码,而不存在从N模型中的单个比较器块。
要创建10位ADC,请设置位数(nbits)到10.
那输入范围到[-1 1]
和inl矢量到0.
。触发类型将保持其默认值上升沿
。
故障感知计数器
故障感知的反击子系统实现了Flash ADC架构中的损伤。真正的ADCS通过逻辑电路处理从温度计到二进制的转换。该子系统采用比较器存储的向量的元素的总和,并将该总和应用于查找表以模拟丢失的代码,否则称为泡沫。
设置故障感知ofter参数:位数(nbits)到10.
那输入范围到[-1 1]
和气泡代码到[]
。触发类型将保持其默认值上升沿
。
输出数据类型
输出数据类型子系统处理来自故障感知offor andtored的数据类型的数据类型与闪存ADC掩码上指定的数据类型的数据类型处理转换。
断开输出数据类型块与其参考库之间的库链接。设置输入动态范围到[-1 1]
和双极数据类型到双重的
。
为了增加亚稳定性损伤,在Flash ADC比较器子系统之后将触发子系统用Matlab功能块放置。MATLAB功能块设置温度计代码信号纳尼斯
使用统一随机数生成器的概率。块重置下一个相关边缘上的信号,这就是使用触发子系统的原因。使用此代码实现亚稳态损伤子系统。
%函数y=亚稳态(u,概率)%mult=个(尺寸(u));%mult(rand(size(u))<概率(1))=NaN;%亚稳态=NaN%y = u。* mult;% 结尾
提供要通过连接到的常量块实现的常量性概率可能性港口城市
为了测量衡量性损伤,计算数量纳尼斯
遇到并划分,通过完全模拟期间生成的总比较器输出的数量。简单的Simuli金宝appnk实现衡量概率测量是:
Inports是:
ADC输出-接收闪存ADC生成的输出数字代码。
就绪信号 - 接收代表在发生数字转换的速率的准备信号。数字代码在由“就绪信号”端口接收的信号的每个上升沿产生。
下面的模型将定制的Flash ADC与其连接到亚稳定性概率测量系统的输出相结合。在该模型中,您的闪存ADC具有10位闪存ADC,添加了1E-6的常规性概率。刺激子系统产生100Hz的模拟信号,并且具有100MHz的频率的启动转换时钟。ADC以启动转换时钟频率定义的速率运行。仪表板范围随着时间的推移提供了概率编号的行为。显示块显示由子系统测量的电流概率。您必须在足够长的时间内运行模拟,以便在本例1E-6中看到以所需值结算的概率编号。
nbits = 10;model1 =“flashAdc_亚稳态.slx”;Open_System(Model1);Open_System([BDROOT,“/Scope”]); sim(model1);
您可以观察亚稳态对ADC动态性能的影响。该模型显示了两种闪存ADC系统设置:一种具有亚稳态,另一种不具有亚稳态。接收受损数字输出并转换数据的后处理块纳尼斯
这是因为数字输出带有纳尼斯
频谱分析仪不能被识别为用于光谱分析的有效信号。连接ADC AC测量块以观察SNR,ENOB,噪声底板等各种性能指标。仿真结果表明AC分析导致ADC具有稳定性的显着下降,如下eNOB和更高的噪音地板所示。
model2 ='flashadc_metaStability_effect.slx'; 开放式系统(模型2);sim(model2);