假設現有一組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)