任何涉及物理世界敏感測量的應用都始于準確、精確和低噪聲的信號鏈。現代、高度集成的數據采集設備通常可以直接連接到傳感器輸出,在單個硅設備上執行模擬信號調節、數字化和數字濾波,從而大大簡化系統電子設備。但是,仍然需要全面了解信號鏈的噪聲源和噪聲限制濾波器,才能從這些現代設備中提取最大性能并對其進行調試。
介紹
本教程是轉換器連接教程 [1][2] 的延續。它將關注單個信號鏈元素的噪聲,使用 Python/SciPy[3] 和 LTspice 對其進行建模。然后,它將使用 Python通過 libm2k 和 Linux 工業輸入輸出 (IIO) 框架驅動ADALM2000多功能 USB 測試儀器來驗證結果。所有源代碼和其他討論都可以在配套的主動學習實驗室練習中找到。
混合模式信號鏈無處不在。簡而言之,任何將現實世界的信號轉換為電表示,然后進行數字化的系統都可以歸類為混合模式信號鏈。在鏈上的每一點,信號都會以各種方式劣化,通常可以將其表征為某種形式的失真或附加噪聲。一旦進入數字域,數字化數據的處理也并不完美,但至少從所有實際目的來看,它不受許多影響模擬信號的因素的影響——元件容差、溫度漂移、來自相鄰信號的干擾、或電源電壓變化。
隨著行業不斷突破物理極限,有一點是確定的:儀器儀表的模擬和混合信號組件總是有改進的空間。如果市場上出現的模數轉換器 (ADC) 或數模轉換器 (DAC) 在速度、噪聲、功率、精度或價格方面提升了最先進的技術水平,制造商將很樂意應用它現有的問題,然后要求更多的改進。然而,為了為您的應用程序實現最佳采集系統,了解組件的限制并相應地選擇它們是至關重要的。
通用混合模式信號鏈
圖 1 顯示了精密儀器應用的典型通用信號鏈,具有物理輸入和數字輸出。有許多關于 ADC 的背景參考資料 [4],大多數讀者會覺得 ADC 在某個時間點對輸入信號進行采樣(或測量某個觀察時間內信號的平均值)并生成一個數字表示該信號通常是一個二進制數,其值介于 0 和 2 (N – 1)之間,其中 N 是輸出字中的位數。
點擊查看完整大小的圖片
圖 1. 在混合模式信號鏈中,溫度、光強度、pH、力或扭矩等一些物理現象被轉換為電氣參數(電阻、電流或直接轉換為電壓)。然后,該信號被放大、低通濾波,并由 ADC 數字化,其中可能包括內部數字濾波。
ADC 噪聲源
雖然圖 1 中有幾個噪聲源,但經常被忽略或過分強調的一個是 ADC 數字輸出中的位數。從歷史上看,ADC 的位數被認為是最終的品質因數,其中 16 位轉換器被認為是 14 位轉換器的 4 倍[5]。但在現代高分辨率轉換器的情況下,可以放心地忽略位數。注意信號鏈設計的一般原則:
“一級的輸入噪聲應該比前一級的輸出噪聲低一些。”
與任何信號鏈一樣,ADC 中的一個噪聲源通常占主導地位。因此,
如果將無噪聲信號應用于 N 位 ADC:
導致單個輸出代碼或兩個相鄰輸出代碼,然后量化噪聲占主導地位。信噪比 (SNR) 可以不大于 (02 N + 1.76) dB。[6]
導致許多輸出代碼的高斯分布,然后熱噪聲源 SNR 不大于:
其中:
V IN (pp) 是滿量程輸入信號。
σ 是以電壓為單位的輸出代碼的標準偏差。
非常高分辨率的轉換器,例如AD7124-8,稍后將用作示例,很少受到量化噪聲的限制;熱噪聲在所有增益/帶寬設置中占主導地位,短路輸入總是會產生相當高斯分布的輸出代碼。圖 2 顯示了 AD7124-8 的接地輸入直方圖,24 位 Σ-Δ ADC,內部可編程增益放大器 (PGA) 分別設置為 1 和 128。
點擊查看完整大小的圖片
圖 2. 在 PGA 增益為 1(左)時,AD7124 輸出噪聲中有 13 個代碼,標準偏差約為 2.5 個代碼。雖然量化是可見的,但熱噪聲更為顯著。在 PGA 增益為 128(右)時,表示了 187 個代碼,量化噪聲微不足道。截斷一個或兩個最低有效位(雙倍或四倍量化噪聲)不會導致信息丟失。
ADC 噪聲建模和測量
對熱噪聲受限 ADC 的噪聲進行建模非常簡單。如果噪聲“表現良好”(高斯,如圖 2 所示)并且在 ADC 的輸入范圍內保持恒定,則可以使用 NumPy 的 [7] 隨機正態函數對 ADC 的時域噪聲進行建模,然后通過采用標準偏差,如圖 3 所示。
點擊查看完整大小的圖片
圖 3. 使用 NumPy 對高斯噪聲建模。
點擊查看完整大小的圖片
圖 4. ADALM2000 是一款多功能 USB 測試儀器,具有兩個通用模擬輸入和兩個輸出,采樣率分別為 100 MSPS 和 150 MSPS。它可以用作測量ADC噪聲帶寬和濾波器響應的簡單信號源。運行支持 AD7124 設備驅動程序的內核的 Raspberry Pi 4 充當 AD7124 和主機之間的簡單橋梁。
AD7124 設備驅動程序屬于行業標準 IIO 框架,該框架具有完善的軟件 API(包括 Python 綁定)。應用程序代碼可以在本地(在 Raspberry Pi 上)或通過網絡、串行或 USB 連接在遠程機器上運行。此外,pyadi-iio[8] 抽象層負責與 IIO 設備接口所需的大部分樣板設置,大大簡化了軟件接口。圖 5 說明了如何打開與 AD7124-8 的連接、對其進行配置、捕獲數據塊,然后關閉連接。
點擊查看完整大小的圖片
圖 5. AD7124-8 基本數據采集。
與 AD7124-8 建立通信后,可以執行極其簡單但非常有用的測試:直接測量輸入噪聲。簡單地將 ADC 的輸入短路并查看 ADC 代碼的最終分布是表征信號鏈設計的重要步驟。AD7124輸入模式設置為單極性,所以只有正值有效;圖 6 所示的測試電路確保輸入始終為正。
點擊查看完整大小的圖片
圖 6. 電阻分壓器用于在 AD7124-8 的輸入端產生 1.25 mV 偏置,克服 15 μV 的最大失調電壓并確保 ADC 讀數始終為正。
圖 7 顯示了兩個 1024 點測量。下面的(藍色)跡線是在最初通電后立即拍攝的。
點擊查看完整大小的圖片
圖 7. 兩個 AD7124-8 數據采集是在施加 1.25 mV 偏壓的情況下進行的。下面的跡線顯示了上電后電路升溫時的初始漂移。上部曲線顯示半小時預熱時間后讀數穩定。
“漂移”可能是由于多種因素造成的——內部參考升溫、外部電阻升溫(因此漂移)或寄生熱電偶,其中稍微不同的金屬會在存在熱梯度的情況下產生電壓。預熱后測得的噪聲約為 565 nV rms——與數據表噪聲規范相當。
將 ADC 噪聲表示為密度
模擬信號鏈設計的一般原則(即一級的輸入噪聲應略低于前一級的輸出噪聲)是一個簡單的計算,如果所有元素都包括噪聲密度規格——就像大多數指定良好的傳感器和幾乎所有放大器做。
與放大器和傳感器不同,ADC 數據表通常不包括噪聲密度規范。將 ADC 的噪聲表示為密度,可以直接將其與模擬信號鏈中最后一個元件(可能是 ADC 驅動器級、增益級或傳感器本身)輸出端的噪聲進行比較。
ADC 的內部噪聲必然會出現在 DC 和采樣率的一半之間。理想情況下,這種噪聲是平坦的,或者至少是可預測的形狀。事實上,由于 ADC 的總噪聲分布在已知帶寬上,因此可以將其轉換為可以直接與信號鏈中的其他元素進行比較的噪聲密度。精密轉換器通常具有直接給出的總噪聲,以伏特 rms 為單位:
其中 e RMS是總 rms 噪聲,根據接地輸入直方圖的標準偏差計算得出。
使用正弦信號測試和表征的高速轉換器通常具有 SNR 規范。如果提供,總 rms 噪聲可以計算為:
其中 ADCp-p 是 ADC 的峰峰值輸入范圍。
然后可以計算等效噪聲密度:
其中 f S是以樣本/秒為單位的 ADC 采樣率。
圖 7 中的總噪聲在預熱后為 565 nV,數據速率為 128 SPS。噪聲密度約為:
現在可以將 ADC 直接包含在信號鏈噪聲分析中,從而為優化信號鏈增益提供指導:
將增益增加到 ADC 之前最后一級的噪聲密度略高于 ADC 的點,然后不要再費心增加信號鏈增益 - 你只是放大噪聲并降低允許的輸入范圍。
這與“填充”ADC 輸入范圍的傳統觀念背道而馳。如果 ADC 的傳遞函數存在階躍或不連續性,則使用更多 ADC 的輸入范圍可能會有好處,但對于“表現良好”的 ADC(大多數 sigma-delta ADC 和現代高分辨率逐次逼近寄存器 (SAR) ADC),通過噪聲進行優化是首選方法。
測量 ADC 濾波器響應
AD7124-8 是一款 sigma-delta ADC,其中調制器產生高采樣率但噪聲(低分辨率)的模擬輸入表示。然后,這些噪聲數據由內部數字濾波器過濾,產生較低速率、較低噪聲的輸出。濾波器的類型因 ADC 而異,具體取決于預期的最終應用。AD7124-8 是通用型的,面向精密應用。因此,數字濾波器響應和輸出數據速率是高度可配置的。雖然數據表中明確定義了濾波器響應,但有時可能需要測量濾波器對給定信號的影響。AD7124-8 濾波器響應代碼塊(參見圖 9)通過將正弦波應用于 ADC 輸入并分析輸出來測量濾波器響應。這種方法可以很容易地適用于測量其他波形——小波和模擬的物理事件。ADALM2000 連接到 AD7124-8 電路,如圖 8 所示。
點擊查看完整大小的圖片
圖 8. ADALM2000 波形發生器用于生成一系列正弦波頻率,從而可以直接測量 AD7124-8 的濾波器響應。雖然腳本將正弦波幅度和偏移設置為安全水平,但 1 kΩ 電阻器可在發生故障時保護 AD7124-8。(ADALM2000 輸出電壓范圍為 –5 V 至 +5 V,而 AD7124-8 的絕對最大限值為 –0.3 V 和 +3.6 V。)
AD7124-8 濾波器響應代碼塊(參見圖 9)將設置 ADALM2000 的波形發生器以生成 10 Hz 的正弦波,捕獲 1024 個數據點,計算 rms 值,然后將結果附加到列表中。send_sinewave 和 capture_data 是實用函數,它們分別向 ADALM2000 發送正弦波并從 AD7124 接收數據塊。2 然后它將步進高達 120 Hz 的頻率,然后繪制結果,如圖 10 所示。
點擊查看完整大小的圖片
圖 9. ADALM2000 的濾波器響應塊程序。
點擊查看完整大小的圖片
圖 10. AD7124 濾波器在 64 SPS、sinc4 模式下的響應測量顯示了濾波器的通帶、第一瓣和前兩個零點。
雖然測量高衰減值需要更安靜且失真更低的信號發生器,但在此設置中前幾個主要波瓣的響應很明顯。
ADC 濾波器建模
測量 ADC 的濾波器響應的能力是用于臺架驗證的實用工具。但是,為了完全模擬信號鏈,需要濾波器模型。許多轉換器(包括 AD7124-8)并未明確提供這一點,但可以根據數據表中提供的信息逆向設計一個可行的模型。
請注意,以下僅為 AD7124-8 濾波器的模型;它不是位精確的表示。有關所有保證參數,請參閱AD7124-8 數據手冊。
AD7124 的濾波器都具有由各種 sinc 函數組合而成的頻率響應(頻率響應與 (sin{f}/f)N 成正比)。這些過濾器相當容易構建,并且在已知空值時進行逆向工程。
圖 11 顯示了 AD7124-8 的 10 Hz 陷波濾波器。高階 sinc3 和 sinc4 濾波器的各種組合也可用。
濾波器的最終脈沖(時域)形狀如圖 14 所示。濾波器系數(抽頭)值針對零頻率下的單位 (0 dB) 增益進行歸一化。
點擊查看完整大小的圖片
圖 11. AD7124-8 10 Hz 陷波濾波器具有 sinc1 幅度響應;濾波器的脈沖響應只是 100 ms 時間間隔內樣本的未加權(矩形)平均值。
圖 12 所示的同時 50 Hz/60 Hz 抑制濾波器是一個重要的例子。該濾波器旨在強烈抑制來自交流電源線的噪聲,即 50 Hz(如歐洲)或 60 Hz(如美國)。
點擊查看完整大小的圖片
圖 12. AD7124-8 50 Hz/60 Hz 抑制濾波器響應是 50 Hz sinc3 濾波器和 60 Hz sinc1 濾波器的組合。
高階 sinc 濾波器可以通過卷積 sinc1 濾波器生成。例如,卷積兩個 sinc1 濾波器(在時間上具有矩形脈沖響應)將產生三角形脈沖響應和相應的 sinc2 頻率響應。AD7124 濾波器代碼塊(參見圖 13)生成一個在 50 Hz 處具有零點的 sinc3 濾波器,然后添加一個在 60 Hz 處具有零點的第四個濾波器。
點擊查看完整大小的圖片
圖 13. 50 Hz/60 Hz sinc 濾波器的 AD7124-8 代碼示例。
濾波器的最終脈沖(時域)形狀如圖 14 所示。濾波器系數(抽頭)值針對零頻率下的單位 (0 dB) 增益進行歸一化。
點擊查看完整大小的圖片
圖 14. 反復卷積矩形脈沖響應產生三角形,然后是高斯式脈沖響應。
最后,可以使用 NumPy 的 freqz 函數計算頻率響應,如圖 16 所示。響應如圖 15 所示。
點擊查看完整大小的圖片
圖 15. 將 sinc3、50 Hz 陷波濾波器與 sinc1、60 Hz 濾波器進行卷積會產生一個復合響應,該響應強烈抑制 50 Hz 和 60 Hz。
點擊查看完整大小的圖片
圖 16. 帶有 sinc 60 Hz 濾波器的 sinc3 50 Hz 陷波濾波器的 AD7124-8 代碼示例。
電阻是徒勞的:一個基本的傳感器限制
所有傳感器,無論多么完美,都有一些最大輸入值(以及相應的最大輸出,可能是電壓、電流、電阻,甚至是刻度盤位置)和有限的本底噪聲——在輸出端“擺動”甚至存在如果輸入完全靜止。在某些時候,具有電輸出的傳感器將包括一個具有有限電阻(或更一般地,阻抗)的元件,由圖 17 中的 R SENSOR表示。這代表了一個無法改進的基本噪聲限制——該電阻將產生en(RMS) 伏噪聲,至少:
其中:
e N (RMS) 是總噪聲。
K 是玻爾茲曼常數 (1.38e-23 J/K)。
T 是電阻器的絕對溫度 (Kelvin)。
F2 和 F1 是感興趣頻帶的上限和下限。
將帶寬歸一化為 1 Hz 表示噪聲密度,以 V/√Hz 為單位。
傳感器的數據表可能會指定低輸出阻抗(通常接近 0 Ω),但這很可能是一個緩沖級——它簡化了與下游電路的接口,但不能消除信號鏈早期阻抗引起的噪聲。
圖 17. 傳感器通常包含一個內部緩沖器,以簡化與下游電路的連接。雖然輸出阻抗較低(通常接近 0 Ω),但來自高阻抗傳感元件的噪聲與信號一起被緩沖。
還有許多其他傳感器限制——機械的、化學的、光學的——每個都有自己的理論限制,其影響可以在以后建模和補償。但噪音是唯一不能做到的缺陷。
實驗室噪聲源
經過校準的噪聲發生器充當“世界上最差的傳感器”,它可以模擬傳感器的噪聲,而無需實際感測任何東西。這種發生器允許直接測量信號鏈對噪聲的響應。圖 18 所示的電路使用 1 MΩ 電阻器作為 127 nV/√Hz(室溫下)噪聲源,具有“正常”的精度和帶寬。雖然準確度還可以,但這種方法具有以下優點:
它基于第一原理,因此在某種意義上可以充當未經校準的標準。
它是真正隨機的,沒有重復的模式。
OP482是一款超低偏置電流放大器,具有相應的低電流噪聲和足夠低的電壓噪聲,1 MΩ 輸入阻抗引起的噪聲占主導地位。配置增益為 2121,輸出噪聲為 269 μV/√Hz。
點擊查看完整大小的圖片
圖 18. 1 MΩ 電阻器用作可預測的噪聲源,然后由低噪聲運算放大器放大到可用水平。
使用 Scopy GUI 的頻譜分析儀,使用 ADALM2000 USB 儀器驗證噪聲源,如圖 19 所示。 [9]
點擊查看完整大小的圖片
圖 19. 基于電阻的實驗室噪聲發生器的輸出具有大約 10 kHz 的可用帶寬。
在所示的分析儀設置下,ADALM2000 本底噪聲為 40 μV/√Hz,遠低于噪聲源的 269 μV/√Hz。
雖然 Scopy 對于單一的視覺測量很有用,但可以使用 SciPy 周期圖功能輕松復制該功能。原始數據是使用 libm2k[10] 和 Python 綁定從 ADALM2000 收集的,經過最低限度的處理以去除 DC 內容(否則會泄漏到低頻箱中)并縮放到 nV/√Hz。這種方法如圖 20 所示,可以應用于任何數據采集模塊,只要采樣率是固定的且已知的,并且數據可以格式化為電壓矢量。
點擊查看完整大小的圖片
圖 20. ADALM2000 的 Python 噪聲源測量代碼。
我們現在擁有一個已知的噪聲源和一種測量該源的方法,這兩者都可以用來驗證信號鏈。
在 LTspice 中對信號鏈進行建模
LTspice是一款免費提供的通用模擬電路仿真器,可應用于信號鏈設計。它可以執行瞬態分析、頻域分析(AC 掃描)和噪聲分析,其結果可以使用 Python 導出并合并到混合信號模型中。
圖 21 顯示了模擬噪聲發生器的噪聲仿真,與實驗結果非常吻合。使用與 OP482 具有相似特性的運算放大器進行仿真。
點擊查看完整大小的圖片
圖 21. 實驗室噪聲源的 LTspice 仿真顯示與測量電路大致相同的可用帶寬。
圖 22 的電路噪聲對建模來說相當簡單,因為它在某些帶寬(感興趣的信號所在的位置)內是恒定的,在該帶寬之上它會以大約一階低通響應滾降。這種技術派上用場的地方是對非平坦本底噪聲進行建模,這可能是由于高階模擬濾波,也可能是有源元件本身。典型的例子是LTC2057等自動調零放大器中經常存在的噪聲山峰,如圖 23 所示。
點擊查看完整大小的圖片
圖 22. LTC2057 噪聲密度在低頻時是平坦的,峰值在 50 kHz(內部振蕩器 100 kHz 頻率的一半)。
在 Python 中導入 LTspice 噪聲數據以進行頻域分析是一個設置仿真命令的問題,以便仿真分析向量中的精確頻率。在這種情況下,噪聲仿真設置為最大頻率為 2.048 MHz,分辨率為 62.5 Hz,對應于采樣率為 4.096 MSPS 的第一奈奎斯特區。圖 23 顯示了 LTC2057 在 10 的同相增益、仿真輸出和導出數據格式下的仿真。
點擊查看完整大小的圖片
圖 23. LTspice 用于在 +10 的同相增益配置中模擬 LTC2057 的輸出噪聲。LTspice 提供了用于集成噪聲的簡單工具,但任何模擬結果都可以導出并導入 Python 以進行進一步分析。
為了確定給定噪聲頻帶對信號的影響(信噪比),噪聲在感興趣的帶寬上進行了平方根積分。在 LTspice 中,可以通過設置繪圖限制來集成繪圖參數,然后控制單擊參數標簽。整個 2.048 MHz 仿真的總噪聲為 32 μV rms。在 Python 中實現此操作的函數如圖 24 所示。
點擊查看完整大小的圖片
圖 24. 平方根實現的 Python 代碼。
讀入導出的噪聲數據并傳遞給integrate_psd 函數,總噪聲為3.21951e-05,非常接近LTspice 的計算。
產生測試噪音
擴展純模擬噪聲發生器的功能,不僅能夠產生平坦的噪聲曲線,而且能夠產生任意的噪聲曲線——平坦的噪聲帶、粉紅噪聲或模擬某些放大器中的峰值的噪聲山峰,這非常有用。從圖 25 中的半頻譜代碼塊生成的時間序列以所需的噪聲頻譜密度(可以手動生成,或從 LTspice 仿真中獲取)和時間序列的采樣率開始,然后生成時間序列可以發送到 DAC 的電壓值。
點擊查看完整大小的圖片
圖 25. 生成任意噪聲曲線的 Python 代碼。
可以通過 libm2k 腳本控制一個 ADALM2000,然后使用第二個 ADALM2000 和 Scopy GUI 中的頻譜分析儀驗證噪聲分布來驗證此功能。ADALM2000 代碼片段的推送噪聲時間序列(參見圖 26)在 ADALM2000 W2 輸出上生成四個 1 mV/√Hz 噪聲頻帶(在 W1 上具有正弦波,用于雙重檢查功能)。
點擊查看完整大小的圖片
圖 26. 使用 ADALM2000 驗證任意噪聲。
圖 27 顯示了由一個 ADALM2000 產生的四個 1 mV/√Hz 噪聲頻段。輸入向量長 8192 個點,采樣率為 75 kSPS,帶寬為每點 9.1 Hz。每個頻段為 512 點,或 4687 Hz 寬。~20 kHz 以上的滾降是 DAC 的 sinc 滾降。如果 DAC 能夠提供更高的采樣率,則可以通過插值濾波器對時間序列數據進行上采樣和濾波。 [11]
點擊查看完整大小的圖片
圖 27. Scopy 頻譜分析儀用于驗證任意噪聲發生器。噪聲帶之間的深陷波暴露了分析儀的本底噪聲,表明可以準確地生成任意噪聲曲線。
該噪聲發生器可與純模擬發生器結合使用,以驗證信號鏈的抑制特性。
建模和驗證 ADC 噪聲帶寬
高于 f S /2 的外部噪聲源和雜散音將折回(混疊)到 DC 至 f S /2 區域,并且轉換器可能對遠遠超過 f S /2 的噪聲敏感。以LTC2378-20 為例,它具有 1 MSPS 的采樣率和 34 MHz 的 –3 dB 輸入帶寬。雖然在如此高的頻率下性能可能不是最好的,但該轉換器將數字化超過 68 個奈奎斯特噪聲區域并將它們折疊回您的信號之上。這說明了抗混疊濾波器對于寬帶 ADC 的重要性。用于精密應用的轉換器通常是 sigma-delta(如 AD7124-8)或過采樣 SAR 架構,其中輸入帶寬受設計限制。
考慮濾波器的等效噪聲帶寬 (ENBW) 通常很有用,包括 ADC 的內置濾波器。ENBW 是平坦通帶“磚墻”濾波器的帶寬,它允許通過與非平坦濾波器相同數量的噪聲。一個常見的例子是一階 RC 濾波器的 ENBW,即:
其中 f C是濾波器的截止頻率。如果從“直流到日光”的寬帶噪聲同時應用于 1 kHz 一階低通濾波器和 1.57 kHz 磚墻低通濾波器的輸入,則輸出端的總噪聲功率將為相同的。
圖 28 中的 ENBW 示例代碼塊接受濾波器幅度響應并返回有效噪聲帶寬。計算單極點濾波器的幅度響應并用于驗證 ENBW = f C × π/2 關系。
點擊查看完整大小的圖片
圖 28. 計算有效噪聲帶寬的 Python 代碼示例。
該函數可用于計算任意濾波器響應的 ENBW,包括 AD7124 的內部濾波器。AD7124 sinc4 濾波器的頻率響應,128 SPS 采樣率可以通過類似于前面 50 Hz/60 Hz 抑制濾波器示例的方法計算。arb_anbw 函數返回大約 31 Hz 的 ENBW。
ADALM2000 噪聲發生器可用于驗證該結果。將測試噪聲發生器設置為生成 1000 μV/√Hz 的頻帶應導致總噪聲約為 5.69 mV rms,測量結果約為 5.1 mV rms 總噪聲。ADC 輸入信號的示波器捕獲繪制在 ADC 輸出數據旁邊,如圖 29 所示。注意測得的峰峰值噪聲為 426 mV,而 ADC 峰峰值噪聲約為 26 mV。雖然在實際的精密信號鏈中(希望)如此高的噪聲水平是不現實的,但該練習表明,可以依靠 ADC 的內部濾波器作為信號鏈中的主要帶寬限制元件,從而降低噪聲。
點擊查看完整大小的圖片
圖 29. 1 mV/√Hz 噪聲帶被驅動到 AD7124-8 輸入。噪音的質量降低是顯而易見的;ADC 輸入處的 426 mV 峰間噪聲導致 ADC 輸出處的大約 25 mV 峰間噪聲。考慮到 ADC 濾波器的 1 mV/√Hz 噪聲密度和 31 Hz ENBW,5.1 mV rms 總輸出噪聲接近預測的 5.69 mV rms。
結論
噪聲是任何信號鏈中的限制因素;一旦噪聲污染了信號,信息就會丟失。在構建信號采集系統之前,必須了解應用需求,相應地選擇組件,并測試原型電路。本教程提供了一系列可在設計和測試過程中使用的精確建模和測量傳感器和信號鏈噪聲的方法。
本教程中詳細介紹的技術單獨來說并不是什么新鮮事。然而,為了實現一個合適的系統,擁有一組基本的、易于實現的和低成本的技術來實現信號鏈建模和驗證是很有價值的。盡管制造商繼續提供性能更高的零件,但始終存在一定的限制,人們必須注意這一點。這些技術不僅可用于在構建混合模式信號鏈之前驗證部件,還可用于識別現有信號鏈中的設計缺陷。
致謝
Jesper Steensgaard,他從 LTC2378-20 開始啟用/推動了對信號鏈設計的思考范式轉變。
Travis Collins,Pyadi-iio 的建筑師(在許多其他方面)。
Adrian Suciu,軟件團隊經理和 libm2k 貢獻者。
參考
[1]“轉換器連接教程。” Analog Devices Wiki,2021 年 1 月。
[2] ADI 教育工具庫。澤諾多,2021 年 7 月。
[3] Pauli Virtanen、Ralf Gommers 等人。“ SciPy 1.0: Python中科學計算的基本算法 。” 自然方法,17(3),2020 年 2 月。
[4] 史蒂文·W·史密斯。科學家和工程師數字信號處理指南。加利福尼亞技術出版社,1999 年。
[5] 程曼。“ MT-229:量化噪聲:方程的擴展推導, SNR = 6.02 N + 1.76。” 模擬設備公司,2012 年 8 月。
[6] 沃爾特·凱斯特。“ MT-001:從臭名昭著的公式中解開謎團,'SNR = 6.02N + 1.76dB,'以及為什么你應該關心。” 模擬設備公司,2009 年。
[7] Charles R. Harris、K. Jarrod Millman 等人。“使用 NumPy 進行數組編程。” 自然,585,2020 年 9 月。
[8] “ pyadi-iio:IIO 驅動程序的設備特定 Python 接口。” Analog Devices Wiki,2021 年 5 月。
[9]“窺視”。Analog Devices Wiki,2021 年 2 月。
[10]“什么是Libm2k?” Analog Devices Wiki,2021 年 10 月。
[11] 沃爾特·凱斯特。“ MT-017:過采樣插值 DAC。” 模擬設備公司,2009 年。
歸因
本文首次出現在 2021 年科學計算與 Python 會議的論文集中,標題為“使用 Python 進行混合模式信號鏈的分析和驗證”。DOI:10.25080/majora-1b6fd038-001。
[注:所有數字和列表均由 Analog Devices 提供。]
審核編輯 黃昊宇
-
信號鏈
+關注
關注
0文章
189瀏覽量
29762 -
噪聲分析
+關注
關注
0文章
27瀏覽量
12707 -
python
+關注
關注
53文章
4753瀏覽量
84081 -
混合模式
+關注
關注
0文章
5瀏覽量
1541
發布評論請先 登錄
相關推薦
評論