摘要
涉及對真實世界進行敏感測量的應用都是從準確、精密的低雜訊訊號鏈開始。現代高度整合的資料擷取元件通常可以直接連接到感測器輸出,在單個矽元件上執行類比訊號調理、數位化和數位濾波,這極大地簡化了系統電子組成。但是,要使這些現代器件發揮卓越性能,並對其進行偵錯,我們仍然需要深入瞭解訊號鏈的雜訊源和雜訊限制濾波器。
簡介
本教程是轉換器連接教程的續篇。1,2 將側重介紹單一訊號鏈元件的雜訊,並使用Python/SciPy3和LTspice®來模擬這些雜訊。然後,使用Python,透過libm2k和Linux®工業輸入輸出(IIO)框架來驅動 ADALM2000 多功能測試儀器來驗證類比結果。關於原始程式碼和更多討論,請參見配套的 主動學習實驗室練習。
混合模式訊號鏈無處不在。簡單地說,任何將真實世界的訊號轉換為電子錶示(然後數位化)的系統都可以被歸類為混合模式訊號鏈。在訊號鏈的每個點上,訊號都以各種方式降級,從特徵來看,可能是出現一定程度的失真,或是出現相加雜訊。在進入數位領域之後,對數位化數據的處理也不是完美的,但至少,實際上可以不受許多影響類比訊號的因素的影響——零組件公差、溫度漂移、鄰近訊號的干擾或電源電壓變化。
隨著產業不斷擴展物理限制,有一點是肯定的:儀器儀錶的類比和混合訊號部件始終存在可改善的空間。如果市場上出現的類比數位轉換器(ADC)或數位類比轉換器(DAC)在速度、雜訊、功率、精度或價格方面都表現卓越,製造商會很樂意用其來解決現有問題,然後要求進行更多改善。但是,為了提供您最佳的採集系統,我們必須瞭解每種零件的限制,然後做出相應選擇。
一種通用的混合模式訊號鏈
圖1顯示了在精密儀器應用中很典型的一種通用訊號鏈,提供物理輸入和數位輸出。目前有許多關於ADC的背景參考資料4,大部分讀者都知道,ADC會在某個時點對輸入訊號進行採樣(或測量某個觀察時間段內訊號的平均值),並產生該訊號的數值表示,通常是二進位數字值,其值介於0和2(N – 1)之間,N表示輸出字的位數。
圖1. 在混合模式訊號鏈中,會將一些物理現象(例如溫度、光強度、pH值、力或扭矩)轉換為電氣參數(電阻、電流或直接轉換為電壓)。然後,該訊號被放大,受到低通濾波,然後被ADC數位化,ADC中可能包含內部數位濾波。
ADC雜訊源
雖然圖1中有多個雜訊源,但有一個經常被忽略,或是被過分強調,即ADC數位輸出的位元數。以前,人們將ADC的位元數視為評斷品質的終極指標,認為16位元轉換器比14位元轉換器好出4倍。5但在現在的高解析度轉換器中,位元數幾乎可以忽略。注意,訊號鏈設計要奉行以下的原則:
「某一級的輸入雜訊應在一定程度上低於前一級的輸出雜訊。」
與訊號鏈一樣,ADC內部通常也有一個噪音源主導。所以,如果對N位元ADC應用無雜訊訊號:
• 若不是得出單個輸出代碼,就是得出兩個相鄰的輸出代碼,然後量化雜訊為主導地位。訊號雜訊(SNR)不會大於(6.02 N + 1.76) dB。6
• 多個輸出代碼呈高斯分佈,熱雜訊源位於主導地位。SNR不會大於:
其中:
VIN (p-p) 表示滿量程輸入訊號。
σ表示以電壓為單位的輸出代碼的標準差。
解析度很高的轉換器(例如 AD7124-8,稍後會用作示例)很少受量化雜訊限制;在所有增益/頻寬設定中,熱雜訊位於主導地位,短路輸入始終會導致產生按高斯分佈分佈的輸出代碼。圖2顯示24位元Σ-Δ ADC AD7124-8的接地輸入長條圖,內部可編程增益放大器(PGA)分別設定為1和128。
圖2. 在PGA增益為1時(左側),AD7124輸出雜訊中顯示13個代碼,標準差為約2.5個代碼。當量化雜訊可見時,熱雜訊更為明顯。在PGA增益為128時(右側),顯示187個代碼,量化雜訊是無關緊要的。截斷一個或兩個最低有效位元(雙倍或四倍量化雜訊)不會導致資訊丟失。
建模和測量ADC雜訊
建模熱雜訊受限的ADC的雜訊是很簡單的。如果雜訊「表現正常」(如圖2所示,呈高斯分佈),且在ADC的輸入範圍內保持恆定,即可使用NumPy7的隨機正常函數來類比ADC的時域雜訊,然後透過標準差來進行驗證,如圖3所示。
圖3. 使用NumPy建模高斯雜訊。
圖4. ADALM2000為一款多功能USB測試儀器,具有兩個通用類比輸入和兩個輸出,取樣速率分別為100 MSPS和150 MSPS。其可以作為簡單的訊號源,用於測量ADC雜訊頻寬和濾波器響應。運行支援AD7124元件驅動器支援的核心樹莓派4作為AD7124和主機之間的簡單橋樑。
AD7124裝置驅動程式在業界標準IIO框架之內,該框架具有完善的軟體API(包括Python捆綁)。應用代碼可以在本地(在樹莓派上)運行,也可以透過網路、串列或USB連接在遠端機器上運行。此外,pyadi-iio8抽象層負責與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的總雜訊分佈在已知頻寬上,所以可以將其轉換成雜訊密度,然後直接與訊號鏈的其他元件進行比較。精密轉換器的總雜訊通常會直接提供,單位為Vrms:
其中eRMS表示總有效值雜訊,根據代碼的接地輸入長條圖的標準差進行計算。
用正弦訊號測試和表徵的更高速度的轉換器通常包含SNR規格。如果提供,可使用以下公式計算總有效值雜訊:
其中ADCp-p是ADC的峰對峰值輸入範圍。
可以使用以下公式計算等效雜訊密度:
其中fS表示ADC採樣速率,單位為樣本/秒。
在128 SPS的資料速率下,在升溫後圖7的總雜訊為565 nV。雜訊密度約為:
ADC現在可以直接納入訊號鏈雜訊分析中,為優化訊號鏈增益提供了指導。
• 增加增益,只要到達「ADC之前的最後一個級的雜訊密度比ADC的雜訊密度高一位元」的點,即停止。切勿再增加訊號鏈增益——這只會放大雜訊,並減小允許的輸入範圍。
這與「填補」ADC的輸入範圍的傳統智慧背道而馳。如果ADC的轉換函數中存在步進或斷續,超出ADC的輸入範圍可能會有好處,但對於「表現正常」的ADC(大多數Σ-Δ ADC和現代的高解析度逐次逼近暫存器(SAR) ADC)來說,透過雜訊進行優化是首選方法。
測量ADC濾波器回應
AD7124-8是一個Σ-Δ 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. 在64 SPS、sinc4模式下測量AD7124濾波器的回應,顯示濾波器的通帶、第一個波瓣和前兩個零位。
當測量高衰減值需要一個更安靜和更低失真的訊號產生器時,在此設定下,前幾個主要波瓣的回應是明顯的。
模擬ADC濾波器
測量ADC的濾波器回應的能力是一項實用的平台驗證工具。但是,要完全類比訊號鏈,需要濾波器的模型。關於這一點,許多轉換器(包括AD7124-8)沒有明確指明,但可以根據產品手冊中提供的資訊逆向設計得出可用的模型。
注意,以下只是AD7124-8濾波器的模型;不是位元精準的表示。請參考 AD7124-8產品手冊 查看所有保證參數。
AD7124的濾波器都具有由各種sinc函數組成的頻率響應(頻率響應與(sin{f}/f)N成正比)。這些濾波器易於建構,在零位元已知的情況下可以逆向設計。
圖11顯示AD7124-8的10 Hz陷波濾波器。還提供高階sinc3和sinc4濾波器的各種組合。
圖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濾波器的組合。
可以透過對sinc1濾波器進行卷積來產生更高階的sinc濾波器。例如,將兩個sinc1濾波器(在時間上有一個矩形脈衝回應)進行卷積將得到一個三角脈衝回應和一個相應的sinc2頻率響應。AD7124濾波器代碼塊(參見圖13)產生一個sinc3濾波器,在50 Hz時為零,然後增加第四個濾波器,在60 Hz時為零。
圖13. 適用於50 Hz/60 Hz sinc濾波器的AD7124-8代碼示例。
濾波器的脈衝(時域)形狀如圖14所示。濾波器係數(tap)值被標準化,以得出零頻率時的單位(0 dB)增益。
圖14. 對矩形脈衝回應進行反覆卷積,得到三角形回應,然後是類高斯脈衝回應。
最後,可以使用NumPy的freqz函數計算頻率響應,如圖16所示。響應如圖15所示。
圖15. 將sinc3 50 Hz陷波濾波器與sinc1 60 Hz濾波器進行卷積,將產生強烈抑制50 Hz和60 Hz的複合響應。
圖16. AD7124-8代碼示例,適用於帶sinc 60 Hz濾波器的sinc3 50 Hz陷波濾波器。
無可避免:感測器的基本限制
所有感測器,無論多麼完美,都有最大輸入值(和對應的最大輸出,可能是電壓、電流、電阻,甚至是刻度位置)和一個有限的雜訊基準——即使輸入完全靜止,輸出也存在「波動」。在有些情況下,提供電力輸出的感測器可能包含具有有限電阻(更廣泛一點,阻抗)的元件,在圖17中,RSENSOR表示該電阻。這代表一個無法改善的基本雜訊限值,此電阻會產生en(RMS)雜訊電壓,最小值為:
其中:
eN (RMS)表示總雜訊。
K表示波爾茲曼常數 (1.38e-23 J/K).
T表示電阻的絕對溫度(開氏度)。
F2和F1表示相關頻段的上限和下限。
將頻寬標準化至1 Hz,以 V/√Hz為單位表示雜訊密度。
圖17. 感測器通常包括一個內部緩衝器,用於簡化與下游電路的連接。當輸出阻抗很低(通常接近0 Ω)時,來自高阻抗檢測元件的雜訊與訊號一起被緩衝。
感測器資料手冊可能給出低輸出電阻(通常接近0 Ω),但這可能是個緩衝級,可以簡化與下游電路之間的連接,但無法消除訊號鏈前面部分的電阻導致的雜訊。
還有許多其他感測器限制,包括機械、化學、光學等,每個感測器都有自己的理論限制,我們可以模擬其影響,之後再進行補償。但雜訊是唯一無法彌補的缺陷。
實驗室雜訊源
一個校準過的雜訊產生器就像是“世界上最糟糕的感測器”,它模擬感測器的雜訊,但實際上不做任何檢測。這種產生器允許直接測量訊號鏈的雜訊響應。圖18所示的電路使用1 MΩ電阻作為127 nV/√Hz(在室溫下)雜訊源,具有“合格”的精度和頻寬。雖然精度只是合格,此方法也有其優勢:
• 它基於第一原則,因此在某種意義上可以作為一種未校準的標準。
• 它是真正隨機的,不含重複的模式。
OP482 為一款具有相應低電流雜訊的超低偏置電流放大器,,並具備夠低的電壓雜訊,所以,1 MΩ輸入阻抗導致的雜訊佔主導地位。配置增益為2121,輸出雜訊為269 µV/√Hz。
圖18. 一個1 MΩ電阻作為可預測的雜訊源,然後透過低雜訊運算放大器放大到可用的水準。
使用ADALM2000 USB儀器,以及Scopy GUI的頻譜分析儀驗證雜訊源,如圖19所示。9
圖19. 基於電阻的實驗室雜訊產生器的輸出具有大約10 kHz的可用頻寬。
在分析儀採用圖示的設置時,ADALM2000的雜訊基準為40 µV/√Hz,遠低於雜訊源的269 µV/√Hz。
雖然Scopy可用於單次可視測量,但其功能可以透過SciPy週期圖函數輕鬆複製。使用libm2k10和Python捆綁程式從ADALM2000收集原始資料,進行最低限度的處理,以去除直流內容(否則會洩漏至低頻率倉),並擴展至nV/√Hz。此方法如圖20所示,適用於任何資料擷取模組,只要採樣速率是固定的、已知的,且資料可以格式化為電壓向量。
圖20. ADALM2000的Python噪音源測量代碼。
我們現在有了已知的雜訊源和測量該雜訊源的方法,它們都可以用來驗證訊號鏈。
在LTspice中類比訊號鏈
LTspice® 為一款免費的通用類比電路模擬器,可類比訊號鏈設計。它可以執行瞬態分析、頻域分析(交流掃描)和雜訊分析,分析結果可以匯出並使用Python整合到混合訊號模型中。
圖21顯示類比雜訊產生器的雜訊類比,與實驗結果高度一致。使用與OP482的屬性相似的運算放大器進行模擬。
圖21. 對實驗室雜訊源的LTspice類比顯示出與被測電路大致相同的可用頻寬。
在類比的時候,圖22的電路雜訊並不重要,它在某些頻寬(相關訊號所在的頻寬)中是恆定的,而在高於這些頻寬的頻寬中,它會按約一階低通回應降低。由於高階模擬濾波或主動元件本身,這種技術在模擬非平坦雜訊基準時非常有用。自動歸零放大器(例如LTC2057)中常見的雜訊山形就是一個典型示例,請參見圖23。
圖22. LTC2057的雜訊密度在低頻率下是平坦的,在50 kHz時出現峰值(內部振盪器的100 kHz頻率的一半)。
圖23. LTspice用於類比LTC2057在同相增益配置為+10時的輸出雜訊。LTspice提供了用於整合雜訊的簡單工具,但是可以將任何模擬的結果匯出和導入到Python中,以進行進一步的分析。
在Python中導入LTspice雜訊資料用於頻域分析涉及到設置模擬命令,以類比分析向量中的具體頻率。在本例中,雜訊類比的最大頻率設定為2.048 MHz,解析度為62.5 Hz,對應於4.096 MSPS取樣速率下的第一奈奎斯特區。圖23顯示同相增益為10時對LTC2057的模擬、類比輸出和匯出的資料格式。
為了確定給定頻段的雜訊對訊號(訊號雜訊)的影響,在相關頻寬上整合雜訊的和的平方根。在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輸出上產生4個1 mV/√Hz雜訊帶(在W1上有一個正弦波,用於實現雙重檢查功能)。
圖26. 使用ADALM2000驗證任意雜訊。
圖27顯示了一個ADALM2000產生的4個1 mV/√Hz雜訊帶。輸入向量長達8192個點,採樣速率為75 kSPS,每個點頻寬為9.1 Hz。每個頻段為512個點,或為4687 Hz寬。高於~20 kHz之後出現的滾降是DAC的sinc滾降。如果DAC能夠提供更高的採樣速率,時間序列資料就可以透過插值濾波器進行上採樣和濾波。11
圖27. Scopy光譜分析儀被用於驗證任意雜訊產生器。雜訊帶之間的深凹痕展示了分析儀的雜訊基準,表明可以準確地產生任意雜訊剖面。
該雜訊產生器可與純粹的類比產生器一起使用,用於驗證訊號鏈的抑制特性。
模擬和驗證ADC雜訊頻寬
外部雜訊源和fS/2以上的雜散音將折回(混疊)到直流到fS/2區域,轉換器可能對遠遠超過fS/2的雜訊非常敏感。以 LTC2378-20為例,其具有1 MSPS採樣速率,34 MHz的–3 dB輸入頻寬。雖然在如此高的頻率下性能可能不是最好的,但這個轉換器會對超過68個奈奎斯特區的雜訊進行數位化,並將其折疊回您的訊號上。這展示了抗混疊濾波器對寬頻ADC的重要性。精密應用的轉換器一般採用Σ-∆(例如AD7124-8)或過採樣SAR架構,在該架構中,輸入頻寬受設計限制。
考慮濾波器的等效雜訊頻寬(ENBW)通常是有用的,包括ADC的內建濾波器。ENBW是扁平通帶「磚牆」濾波器的頻寬,該濾波器允許通過與非扁平濾波器相同數量的雜訊。常見示例包括一階RC濾波器的ENBW,其公式為:
其中fC表示該濾波器的截止頻率。如果對1 kHz一階低通濾波器的輸入和1.57 kHz磚牆低通濾波器的輸入應用寬頻雜訊(從「直流到可見光」),輸出端的總雜訊功率將是相同的。
圖28中的ENBW示例代碼塊接受濾波器幅度回應,然後返回有效雜訊頻寬。計算並使用單極性濾波器的幅度回應來驗證ENBW = fC × π/2關係。
圖28. Python代碼示例,用於計算有效雜訊頻寬。
此函數可用於計算任意濾波器回應的ENBW,包括AD7124的內部濾波器。可以使用與之前的50 Hz/60 Hz拒波濾波器示例類似的方法來計算AD7124 sinc4濾波器的頻率響應和128 SPS採樣速率。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,ENBW為31 Hz,5.1 mV rms總輸出雜訊非常接近預計的5.69 mV rms。
結論
在任何訊號鏈中,雜訊都是一個限制因素;一旦雜訊污染訊號,就會致使資訊丟失。在建構訊號採集系統之前,必須先瞭解應用要求,選擇合適的元件,並測試原型電路。本教程提供一組可以在設計和測試過程中準確類比和測量感測器和訊號鏈雜訊的方法。
實現一個合適的系統需要基本、易於實現的低成本技術來進行訊號鏈類比和驗證。即使製造商繼續提供性能更好的零件,但這些零件總是存在一定的限制,我們必須意識到這一點。這些技術不僅可以用於在建構混合模式訊號鏈之前驗證零件,還可以用於識別現有訊號鏈中的設計錯誤。
參考電路
1 「轉換器連接教程」 。ADI,維基百科,2021年1月。
2 ADI教育工具庫。Zenodo,2021年7月。
3 Pauli Virtanen、Ralf Gommers等。「SciPy 1.0:在Python中進行科學運算的基本演算法」 。Nature Methods,17(3),2020年2月。
4 Steven W. Smith。 「因應科學家和工程師的數位訊號處理指南」。California Technical Publishing,1999。
5 Ching Man。 「MT-229:量化雜訊:公式SNR = 6.02 N + 1.76的擴展推導」。ADI,2012年8月。
6 Walt Kester, 「MT-001:揭開公式“SNR = 6.02N + 1.76dB”的神秘面紗,以及為什麼我們要予以關注」。(ADI公司,2009年)
7 Charles R. Harris、K. Jarrod Millman等「使用NumPy的陣列編程」 。Nature,585,2020年9月。
8 pyadi-iio:適用於IIO驅動器的元件特定的Python介面。ADI,維基百科,2021年5月。
9 “Scopy”。ADI,維基百科,2021年2月。
10 「什麼是Libm2k?」 。ADI,維基百科,2021年10月。
11 Walt Kester,「MT-017:過採樣插值DAC」 。(ADI,2009年)
致謝
• 感謝Jesper Steensgaard,從LTC2378-20開始推動了訊號鏈設計思維範式的轉變。
• 感謝Travis Collins,其架構了Pyadi-iio(及許多其他架構)。
• 感謝軟體團隊經理Adrian Suciu推動了libm2k的開發。
歸屬
本文首次出現於2021年Python科學計算大會之會議記錄,題目為「使用Python來分析和驗證混合模式訊號鏈」。DOI:10.25080/majora-1b6fd038-001。