[转]两种Sigma-Delta ADC SNR仿真方法

假设现有一组Sigma-Delta ADC输出序列,下面将介绍两种计算出相应SNR的方法。其中由cadence导出数据的CIW窗口命令为:ocPrint(?output "输出目录/输出文件名" v("/保存的电路节点" ?resultsDir "cadence仿真数据目录/psf" ?result " "tran-tran") ?from 起始时刻 to 截止时刻 ?step 步长)。

方法一:

第一种方法就是采用何乐年《模拟与数字转换电路》的MATLAB程序代码进行计算,因而在此不加细述。

方法二:

这里将重点介绍方法二。该方法采用的是SDtoolbox中的PSD直接进行计算。Simulink测试系统如下图,主要由“From File”和“PSD”组成。

其中频率和PSD设置见前几篇日志。下面说一下具体事项:

(1)“From File”模块用来Load输入数据,其中输入数据需要是一个二维数组,共两行。第一行是时间,第二行为±1。

(2)“From File”采样时间设为Sigma Delta ADC的采样时间。

(3)如果是从Cadence下截出一个时间段内的数据,那么注意实际仿真时间是从0开始的,在“From File”取到这个时间段数据之前,也会进行采样,因此这些采样点是不能考虑的,需要在PSD模块中的“Number of Transient Points”里面进行设置,其意思是前多少个点不进行计算。

下图分别是方法一和方法二的仿真结果,两者基本一致。

(原文地址:http://www.eetop.cn/blog/html/25/853625-51906.html)

时间: 2024-12-16 03:24:11

[转]两种Sigma-Delta ADC SNR仿真方法的相关文章

聊聊JVM(三)两种计算Java对象大小的方法

这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机器的长度计算 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节 3. 数据区 4.Padding(内存对齐),按照8的倍数对齐 数组对象结构是 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对

【智能指针的延伸】两种定制删除器的实现方法

所谓定制删除器,就是向目标模板提供一个可以自由选择析构的接口,这样做的好处就是可以使智能指针模板不再只能单独管理内存,我们还可以用它管理文件指针之类的东西.其实现方法有两种,这里我们以share指针为例.   1.传递一个类的模板参数并给出缺省值,模板中将该类设定为成员变量,通过该类(删除类)的实例化,调用类中所存的删除方法进行删除. 代码如下: #include<iostream> template <class T> struct Del { void operator ()(

两种求集合所有子集的方法

假设我们有一个求集合的全部子集(包含集合自身)的需求,即有一个集合s,包含两个元素 <a,b>,则其全部的子集为<a,ab,b>. 不难求得,子集个数sn与原集合元素个数n之间的关系为:sn=2^n-1. 本文分别讲述两种实现方法: 一:位图法: 1)构造一个和集合一样大小的数组A,分别与集合中的某个元素对应,数组A中的元素只有两种状态:"1"和"0",分别代表每次子集输出中集合中对应元素是否要输出,这样数组A可以看作是原集合的一个标记位图.

两种设置WebLogic启动内存的方法

我们经常在使用WebLoigc部署应用程序后,发现程序运行速度并不是很快,遇到这种情况我们可以尝试调整启动时分配的内存,设置方法有两种:    一.在..\domain\startWebLoigc.***文件中设置    在startWebLogic.bat或startWebLogic.sh中找到以下内容,在其下方添加需要设置的内存 Java代码   echo *************************************************** echo *  To start

两种改变matlab默认目录的方法

修改matlab的默认打开路径,即自己想要的工作目录,省去自己改来改去的麻烦,怎样才能设置成自己想要的目录呢,如下两种方法,本人比较喜欢第一种: 1.Matlab的快捷方式 ->  属性 ->  起始位置 -> 更改为所希望的默认目录 2.找到安装目录下Matlab里的toolbox\local\matlabrc.m ,打开,在文件最后新增cd yourpath(你要设置的工作目录),保存即可.

php 分享两种给图片加水印的方法

本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码. 方法一:PHP最简单的加水印方法 <?php // http://www.manongjc.com $img = imagecreatefromjpeg($filename); $logo = imagecreatefromjpeg($filename); /*imagecraetefromjpeg-由文件或URL创建一个新图像 imagecreatefromjpeg(string $filename)

两种求集合全部子集的方法

如果我们有一个求集合的所有子集(包括集合自身)的需求,即有一个集合s,包括两个元素 <a,b>,则其所有的子集为<a,ab,b>. 不难求得,子集个数sn与原集合元素个数n之间的关系为:sn=2^n-1. 本文分别讲述两种实现方法: 一:位图法: 1)构造一个和集合一样大小的数组A,分别与集合中的某个元素相应,数组A中的元素仅仅有两种状态:"1"和"0",分别代表每次子集输出中集合中相应元素是否要输出.这样数组A能够看作是原集合的一个标记位图

lua中,两种json和table互转方法的效率比较

lua中json和table的互转,是我们在平时开发过程中经常用到的.比如: 在用lua编写的服务器中,如果客户端发送json格式的数据,那么在lua处理业务逻辑的时候,必然需要转换成lua自己的数据结构,如table.此时,就会用到table和json格式的互转. 在用lua编写的服务器中,如果我们通过redis来存储数据,由于redis中不存在table这种数据结构,因此,我们可以选择将table转换成json字符串来进行存储.在数据的存取过程中,也会用到table和json格式的互转. 以

Android 两种制作圆形/圆角图片的方法

前言: 目前网上有很多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这种结束也是Android开发必备技能 ,所以今天就来简单研究一下该技术,分享给大家. 预备知识: Xfermode介绍: 下面是Android ApiDemo里的"Xfermodes"实例,效果图. Xfermode有三个子类,结构如下: public class Xfermode extends Object java.lang.Object ? a