MATLAB 是一款功能強大的工具,可用于快速分析從模數轉換器 (ADC) 輸出捕獲的數據。本應用筆記演示了如何使用MATLAB來避免邏輯分析儀存儲器深度的限制。描述并比較了三種代碼切換方法(基本、高級和反向)。給出了所有三種方法的結果。
介紹
檢定高速模數轉換器(ADC)需要捕獲和分析數字輸出代碼。邏輯分析儀存儲器深度的限制經常妨礙捕獲足夠的數據點來創建高分辨率FFT或INL/DNL圖形的精確表示。規避此問題的一種簡單方法是使用 MATLAB 等數學工具連接多組數據(圖 1)。連接數據的一個缺點是較大的不連續性,這通常存在于兩個數據集之間的點。雖然不連續性對 INL/DNL 圖幾乎沒有影響,但它會對高分辨率 FFT 造成嚴重破壞(圖 2)。
圖1.串聯數據揭示了兩個數據集之間的不連續性。
圖2.a) 捕獲并分析了單個 16384 點數據集;b) 捕獲、連接和分析了兩個 8192 點數據集。縫合技術。
可以通過在每個數據集中搜索相同的點組(通常為三個或四個)并在這些點處將兩個數據集“拼接”在一起來消除不連續性(圖 3)。完成此拼接的最簡單方法是記錄第一個數據集中的最后四個點,然后在第二個數據集中搜索一組相同的點。第二個數據集中的這個位置稱為“縫合點”。第二個數據集中此拼接點之前的任何數據都將被丟棄;第二個數據集的其余部分附加到第一個數據集。這種技術稱為基本代碼拼接,實現起來相當簡單,并且在 MATLAB 中執行速度非常快。
圖3.基本代碼拼接會產生最終的“拼接”矩陣。
使用基本代碼拼接,有時需要丟棄多達一半的第二個數據集,以便找到與第一個數據集的最后四個點匹配的一組點。或者,在第一個數據集的末尾丟棄一些樣本通常有助于找到更接近第二個數據集開頭的拼接點(圖 4)。但是,尋找從第一個數據集的尾端和第二個數據集的前端丟棄樣本的匹配可能很難實現。此過程稱為高級代碼拼接。找到產生最大結果數據集的理想拼接點需要相當深思熟慮和編程技能。但是,如果實施得當,高級代碼拼接通常會產生一個最終數據集,該數據集至少是兩個較小數據集之和的 90%。
圖4.高級代碼拼接尋找理想的拼接點,從而產生最終的“拼接”矩陣。
將第二個數據集(矩陣B)拼接在第一個數據集(矩陣A)前面稱為反向代碼拼接,也可能產生更大的數據集(圖5)。然而,這種技術使處理時間加倍,因為當數據集 A 在數據集 B 之前,當數據集 A 在數據集 B 之后時,必須找到拼接點。此外,反向代碼拼接與其他拼接技術結合使用時通常產生最小的收益。因此,由于反向代碼拼接所需的處理時間大幅增加,在速度較慢的PC上,額外的代碼增益可能不合理。表 1 詳細介紹了三種代碼拼接方法之間的比較。
圖5.反向代碼拼接使處理時間加倍,通常代碼增益最小。
縫合技術 | 最終數據集的大小 | 描述 | ||||
數據集編號 |
# 代碼 (平均) |
兩個數據集 的百分比(平均值) |
||||
1 + 2 | 3 + 4 | 1 + 4 | ||||
連接? | 不適用 | 16384 | 100% | 會產生錯誤的FFT;但是,可以從這些數據中提取INL/DNL。 | ||
基本 | 11060 | 8192? | 14384 | 11212 | 68.4% | FFT可用于計算品質因數。 |
反向 | 11060 | 8192? | 14384 | 11212 | 68.4% | |
高深 | 13790 | 16046 | 16022 | 15286 | 93.3% | |
高級 + 反向 |
15427 | 16176 | 16022 | 15875 | 96.9% | |
*使用上述技術將兩個 8K(8192 代碼)數據集拼接在一起。為了確保準確性,使用四組8192點數據(標記為1到4)重復測試三次。對每個測試的結果數據進行平均,并顯示在測試數據的右側。 ?串聯始終產生 100% 的可用數據。 ?無法將數據集拼接在一起。 |
MATLAB 功能說明
附加的 MATLAB 代碼(附錄 A 和 B 中的 StitchMatrices 和 FindStitchPoint)將上述主題組合成一個易于使用的函數。這些函數接受兩個數據集(MATLAB 中的單列矩陣)和多個啟用高級/反向代碼拼接功能的輸入參數。FindStitchPoint 例程標識數據集 A 和 B 中的偏移量。StitchMatrices 例程丟棄數據集 A 和 B 并使用 FindStitchPoint 例程中的偏移量將數據集 A 和 B 組合在一起。此外,最終數據集中的針跡點記錄在PrevStitchBins矩陣中以進行后處理。將多個數據集拼接在一起時,PrevStitchBins會保留舊拼接點的位置。
結論
將兩組數據拼接在一起可以產生可接受的結果。圖 6 描述了使用上述拼接技術拼接在一起的三個 8192 點數據集(使用五個拼接點)的 FFT 圖。得到的FFT與上面圖16384a所示的2點連續數據集幾乎相同。
圖6.將代碼拼接在一起可產生精確的FFT圖。
審核編輯:郭婷
-
轉換器
+關注
關注
27文章
8707瀏覽量
147221 -
matlab
+關注
關注
185文章
2976瀏覽量
230516 -
adc
+關注
關注
98文章
6500瀏覽量
544719
發布評論請先 登錄
相關推薦
評論