假设现有一组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)