【模拟IC学习笔记】 PSS和Pnoise仿真

目录

PSS

Engine

Beat frequency

Number of harmonics

Accuracy Defaults

Run tranisent?的3种设置

Pnoise

type noise

Timeaverage

sampled(jitter)

Edge Crossing

Edge Delay

Sampled Phase

sample Ratio


离散时间网络(开关电容电路)的噪声仿真方法

PSS

PSS,周期稳态分析,当电路的激励信号是周期大信号时,一般需要用PSS来计算电路对周期大信号的响应。

在一个时钟里面,工作点重复出现,周期再重复,工作状态也在重复,所以可以找到这样的稳态的周期。

Engine

SpectureRF提供两种计算周期稳态响应的仿真机制

PSS shooting Newton,shooting是一种时域仿真方法。适用于严重非线性的电路、OSC、开关电容、分频器。

Harmonic Balance(HB)是一种频域仿真方法。适用于轻微非线性电路、RF Transceivers、LNA、 Mixer。

保持默认的Shooting即可,不建议使用pss里面的Harmonic Balance如需使用Harmonic Balance仿真,直接选用Analysis区域的hb。

Beat frequency

  • 决定了pss shooting阶段的仿真时间,它对应了Test-Bench中所有周期信号的最小公倍数。例如在开关电容电路中,输入信号的周期是10us,采样时钟信号是1MHZ,找最小公倍数就是10u,取倒数得到频率,所以Beat frequency就是100KHZ。
  • 如果TestBench中激励信号的频率没有整数倍关系或者差距过大,比如一个是1G,另一个是1.1G,那么它俩的Beat Frequency定100M,那么1G信号pss shooting需要跑10个周期,1.1G需要跑11个周期。一般情况下,需要避免这种设置,因为会很费时间。如果是这种情况,建议使用hb analysis。
  • 多模式分频器的仿真时候也需要注意这一点,因为会有可能模式切换没控制好,电路实际上是在不同的除频/倍频模式下切换。
  • 如果是oscillator仿真, Beat Frequency应当设置成一个估计的频率,该频率设置范围可以在实际震荡频率的0.5~1.5倍之间。

Number of harmonics

  • 谐波数量,该数值不会影响PSS shooting的精度,在Pnoise等小信号计算时也会有影响。基波是由很多谐波组成的,谐波数量越多,拟合出来的基波越准确。
  • 如果怀疑仿真结果,可以适当增加谐波数,随着谐波数的增加,仿真结果趋向于恒定值。
  • Number of harmonics不易过大,否则会影响仿真速度。

Accuracy Defaults

建议在conservative和moderate之间选择,即高精度和中等精度如果moderate和conservative差别不大,建议使用moderate以获得更好的仿真速度。

Run tranisent?的3种设置

Run Transient=Yes,对应的Stop Time设置成电路稳定时需要的时间,即跑多长时间的Tran,如果不设置默认Stop Time=0;

  • Run Transient=no,PSS之前不跑Tran
  • Run Transiet=Decide automatically,仿真器会自动设定一个tstab时间,默认是50个周期。

几点解释:

  • 大多数电路是需要一个瞬态仿真来确定shooting的initial state.可以通过tran analysis来找到这个时间或者直接用decide automatically。
  • 当tstab stop time=0时,仿真器还是会跑一小段时间的transient,该时间一般等于信号源上最长delaytime+1个周期或者4个周期时间,
  1. 驱动电路:1个周期,
  2. 自激电路(VcO etc.):4个周期
  • tstab同样支持dynamic parameter

Pnoise

type noise

不同版本之间的差异:

老版本noise type这里是上表所述的三个选项,新版本是两个选项。

Timeaverage

指的是一个周期内噪声的平均值。


一个包含噪声的信号可以表示成理想的cos波+噪声:

其中am(t)表示AM(幅度)噪声, pm(t)表示PM(相位)噪声;
V0(t)是无噪声信号(例如理想的cos波),\deltav(t)是包含AM和PM的电压噪声;

\deltav(t)可以表示成如下:\deltav(t) = usb(t)+ lsb(t)
USB: Upper Sideband
LSB: Lower Sideband
可以预期USB噪声包含AM噪声和PM噪声,同样LSB噪声也是如此。它们的图示如下:

所以想看USB的时候就选USB,只想看幅度噪声的时候选AM,只想看相位噪声的时候选PM,都想看的时候选ALL。

看哪个器件对噪声贡献大的时候可以勾选noise separation

实例:

勾选noise separation

跑完仿真,打印noise summary

可以看到每个器件的噪声。

sampled(jitter)

旧版本的jitter 和timedomain对应了新版本的sampled

Sampled Jitter引入了三个Timing Event模式:

  • Edge Crossing(老版本也有)
  • Edge Delay:是一个新的feature
  • Sampled Phase:是以前的time domain,使用方法上有一些改进

Edge Crossing

设置详解

  • Trigger:
  1. 当trigger 。
  2. 新版本允许trigger和measurement信号不同,比如可以将trigger信号设置一个理想的信号, measurement信号设置成电路当中的需要测试的信号。
  3. 下图中的测量发生在trigger信号第一个rise edge cross阈值0.5V、再延时9.5ns的时刻。
  • Sleep Time:trigger信号cross阈值后的延迟时间,假如trigger的时刻是1ns,sleeptime是9 5ns,么jitter measurement早在10.5ns进行

下图为在信号第一个上升沿到达0.5V之后再延迟9.5ns取该点的噪声。如果信号高电平是10ns,不能在10ns处取点,应该提前一点点,因此这里选择的是10ns。

设置好之后一定要点一下该界面的add。

查看波形:Direct Plot -> Main Form,选择PSS或者Pnoise

输出结果类型:Trigger的时间"Measurement Selection”也会在该窗口显示出来。

Function:

  • jee是edge-to-edge jitter,phase jitter即绝对jitter
  • jc是cycle jitter,周期jitter
  • jcc是Cycle to Cycle jitter,周期间jitter

如果查看的是积分噪声,在下面可以给出积分的频率范围。

Edge Delay

Edge Delay的用法与Edge Crossing设置类似,通过它可以测量两个信号的Jdelay(delay jitter)。
如果trigger和measure信号相同且edge number一样,但rise direction不同,可以得到duty cycle jitter。

Sampled Phase

Sampled phase是可以用来测量固定时刻点的jitter.

  • Samples Per Period是用来指定每周期测量多少个时刻点
  • Initial Sample Phase是用来指定第一个Sample的时刻点
  • Add Specific Points用来指定特别关注的时刻点
sample Ratio
  • 在Noise Type右边还有一个Sampled Ratio,该选项主要用在有divider/doubler的电路中
  • 用PSS对该电路进行分析时, beat frequency需要设置成fin/8.如果是测量div8输出端的jitter,sample ratio设置成1
  • 分频器或倍频器中使用,比如下图的分频器,第一个框周期是T/8,第二个框周期是T/4,第三个框输出周期是T,由于beat frequency设置的是1/T,但是观测点并不一定是下图第三个框的输出,如果选择第二个框的输出作为观测点的话,那么就要设置sample Ratio=4.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336545.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【web】springboot3 生成本地文件 url

文章目录 流程效果静态资源访问ServiceServiceImplController 流程 avatar_dir:请求图片在服务端的存放路径user.dir:项目根目录 效果 静态资源访问 application.yml 设置静态文件存储路径custom:upload:avatar_dir: ${user.dir}/avatar_dir/avatar_d…

Kubernetes(K8S)云服务器实操TKE

一、 Kubernetes(K8S)简介 Kubernetes源于希腊语,意为舵手,因为首尾字母中间正好有8个字母,简称为K8S。Kubernetes是当今最流行的开源容器管理平台,是 Google 发起并维护的基于 Docker 的开源容器集群管理系统。它是大名鼎鼎的Google Borg的开源版本。 K8s构建在 Docker …

【C++】十大排序算法

文章目录 十大排序算法插入排序O(n^2^)冒泡排序O(n^2^)选择排序O(n^2^)希尔排序——缩小增量排序O(nlogn)快速排序O(nlogn)堆排序O(nlogn)归并排序(nlogn)计数排序O(nk)基数排序O(n*k)桶排序O(nk) 十大排序算法 排序算法的稳定性:在具有多个相同关键字的记录中&…

C# WPF 数据绑定

需求 后台变量发生改变,前端对应的相关属性值也发生改变 实现 接口 INotifyPropertyChanged 用于通知客户端(通常绑定客户端)属性值已更改。 示例 示例一 官方示例代码如下 using System; using System.Collections.Generic; using Sy…

社交距离 - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C++ 题目描述 疫情期间,需要大家保证一定的社交距离,公司组织开交流会议,座位有一排共N个座位,编号分别为[0…N-1],要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。 满足:每当一个员工进入时,…

鱼哥赠书活动第⑥期:《内网渗透实战攻略》看完这本书教你玩转内网渗透测试成为实战高手!!!!

鱼哥赠书活动第⑥期:《内网渗透实战攻略》 如何阅读本书:本书章节介绍:本书大致目录:适合阅读对象:赠书抽奖规则:往期赠书福利: 当今,网络系统面临着越来越严峻的安全挑战。在众多的安全挑战中&…

springboot2.7集成sharding-jdbc4.1.1实现业务分表

1、引入maven <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version></dependency> 2、基本代码示例 基本逻辑&#xff1a;利用数…

Spring Redis Client使用Hessian序列化HINCRBY命令的Bug

前言&#xff1a; 公司自己封装Redis Client架包&#xff0c;使用Hessian协议对Redis中Value值进行序列化。在使用Hash结构的HINCRBY命令&#xff0c;处理序列化异常的问题。下面&#xff0c;我将详细说明一下。 正文&#xff1a; 公司封装Redis Client架包&#xff0c;其实就…

松鼠目标检测数据集VOC格式400张

松鼠&#xff0c;一种小巧玲珑、活泼可爱的啮齿类动物&#xff0c;以其蓬松的大尾巴和机敏的动作而广受欢迎。 松鼠通常体型小巧&#xff0c;四肢灵活&#xff0c;尾巴蓬松。它们的耳朵大而直立&#xff0c;眼睛明亮&#xff0c;给人留下了深刻的印象。松鼠的毛色因种类而异&a…

深入理解Word Embeddings:Word2Vec技术与应用

目录 前言1 Word2Vec概述2 CBOW模型2.1 CBOW模型简介2.2 基于词袋&#xff08;bag of word&#xff09;的假设2.3 One-hot向量编码2.4 分类问题 3 Skip-gram模型3.1 Skip-gram模型简介3.2 目标词预测上下文3.3 词语关联性的捕捉 4 优化Word2Vec模型的方法4.1 负采样和分层softm…

Python(34):Python调用request上传文件用unittest执行时报错ResourceWarning

Python调用request上传文件用unittest执行时报错ResourceWarning 报错信息&#xff1a; ResourceWarning: Enable tracemalloc to get the object allocation traceback 解决方法1&#xff1a;可以通过忽略来去掉警告 1、导入&#xff1a;import warnings 2、添加&#xff…

Vue项目在ie浏览器中显示白屏优化提示

在工作中用到Vue开发项目&#xff0c;用户在IE浏览器打开页面&#xff0c;结果显示空白屏。作为开发者当然知道是浏览器版本过低导致语法不支持&#xff0c;但是用户不知情的情况下显示空白屏就很不友好。这时候有必要在页面上做点提示语告诉用户切换浏览器&#xff0c;下面是页…