如何在SaberRD中识别并提取振荡信号呢?

电子说

1.3w人已加入

描述

在大型系统的仿真过程中,有时可以很快达到稳态解。然而,当节点开始振荡时,仿真器可能会放慢速度以求解所有振荡中的采样点。

探测设计中的每个节点以识别振荡节点是耗时且不可行的,尤其是在具有100以上个节点的系统中。

振荡信号包括模拟信号、数字信号和事件信号等,如何识别并提取振荡信号呢?本文以一个转换器电路为例,展示了如何在SaberRD中使用自动化脚本提取这些振荡节点的信号。这个电路是一种混合信号设计,具有振荡的模拟、数字和事件节点或信号。

电路原理图见随附的例子converter.ai_dsn,随附的例子中还提供了脚本程序filter_all.aim,它可以处理模拟、数字和事件信号,并生成一个包含所有信号(恒定信号和振荡信号)的单个绘图文件,并对所有恒定信号进行过滤,仅保留振荡信号以供你查看。

详细步骤如下:

1、 下载示例design_script.zip,并解压;

2、 启动SaberRD并打开设计converter.ai_dsn;(请使用SaberRD2015.03或以上版本)

3、 运行瞬态仿真,参数:End Time = 1m 和 Step = 1u,在results窗口tr中查看波形,可以看到恒定信号有:模拟信号v0,数字信号digital_flat,时间信号fall、off、on和rise;

振荡信号

4、 打开 SaberRD 脚本窗口并使用以下命令执行脚本:source filter_all.aim

5、 运行该程序以提取只包含振荡的模拟、数字和事件信号并生成绘图文件filtered .ai_awd:

PF:DetectOscillation converter.tr.ai_awd filtered 500u

振荡信号

6、 点击Analyze > Open Results 打开过滤后的绘图文件filtered.ai_awd,可以看到振荡信号被保留,而恒定信号被过滤出去。

振荡信号

注意,以下情形不能提取振荡节点:

1、如果设计有切换模型

2、如果设计突然失败而没有预先振荡

3、如果设计有非常小的截断误差

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分