<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 一種使用Python來(lái)分析混合模式信號鏈中噪聲的簡(jiǎn)單方法

一種使用Python來(lái)分析混合模式信號鏈中噪聲的簡(jiǎn)單方法

作者:ADI系統設計/架構工程師Mark Thoren和ADI SW系統設計工程師Cristina ?uteu 時(shí)間:2023-02-13 來(lái)源:電子產(chǎn)品世界 收藏
編者按:涉及對真實(shí)世界進(jìn)行敏感測量的應用都是從準確、精密的低噪聲信號鏈開(kāi)始?,F代高度集成的數據采集器件通??梢灾苯舆B接到傳感器輸出,在單個(gè)硅器件上執行模擬信號調理、數字化和數字濾波,這極大地簡(jiǎn)化了系統電子組成。但是,要使這些現代器件發(fā)揮出色性能,并對它們進(jìn)行調試,仍然需要深入了解信號鏈的噪聲源和噪聲限制濾波器。


本文引用地址:http://dyxdggzs.com/article/202302/443297.htm

實(shí)驗室

一個(gè)校準過(guò)的發(fā)生器就像是“世界上最糟糕的傳感器”,它模擬傳感器的,但實(shí)際上不做任何檢測。這種發(fā)生器允許直接測量信號鏈的噪聲響應。圖18所示的電路使用1MΩ電阻作為127nV/√Hz(在室溫下)噪聲源,具有“合格”的精度和帶寬。雖然精度只是合格,此方法也有其優(yōu)勢:

■   它基于第一原則,因此在某種意義上可以作為一種未校準的標準。

■   它是真正隨機的,不含重復的模式。

OP482是一款超低偏置電流放大器,具有相應的低電流噪聲,以及足夠低的電壓噪聲,所以,1MΩ輸入阻抗導致的噪聲占主導地位。配置增益為2121,輸出噪聲為269μV/√Hz。

1676276211407579.png

圖18 一個(gè)1MΩ電阻作為可預測的噪聲源,然后通過(guò)低噪聲運算放大器放大到可用的水平

使用ADALM2000 USB儀器,以及Scopy GUI的頻譜分析儀驗證噪聲源,如圖19所示。9

1676276263307056.png

圖19 基于電阻的實(shí)驗室噪聲發(fā)生器的輸出具有大約10kHz的可用帶寬

在分析儀采用圖示的設置時(shí),ADALM2000的本底噪聲為40μV/√Hz,遠低于噪聲源的269μV/√Hz。

雖然Scopy可用于單次可視測量,但其功能可以通過(guò)SciPy周期圖函數輕松復制。使用libm2k10和捆綁程序從ADALM2000收集原始數據,進(jìn)行最低限度的處理,以去除直流內容(否則會(huì )泄漏至低頻率倉),并擴展至nV/√Hz。此方法如圖20所示,適用于任何數據采集模塊,只要采樣速率是固定的、已知的,且數據可以格式化為電壓向量。

1676276282349716.png

圖20 ADALM2000的噪聲源測量代碼

我們現在有了已知的噪聲源和測量該噪聲源的方法,它們都可以用來(lái)驗證信號鏈。

在LTspice中模擬信號鏈

Ltspice??是一款免費的通用模擬電路模擬器,可模擬信號鏈設計。它可以執行瞬態(tài)分析、頻域分析(交流掃描)和噪聲分析,分析結果可以導出并使用集成到混合信號模型中。

圖21顯示模擬噪聲發(fā)生器的噪聲模擬,與實(shí)驗結果高度一致。使用與OP482的屬性相似的運算放大器進(jìn)行模擬。

1676276302420396.png

圖21 對實(shí)驗室噪聲源的LTspice模擬顯示出與被測電路大致相同的可用帶寬

在模擬的時(shí)候,圖22的電路噪聲并不重要,它在某些帶寬(相關(guān)信號所在的帶寬)中是恒定的,而在高于這些帶寬的帶寬中,它會(huì )按約一階低通響應降低。由于高階模擬濾波或有源元件本身,這種技術(shù)在模擬非平坦本底噪聲時(shí)非常有用。自動(dòng)歸零放大器(例如LTC2057)中常見(jiàn)的噪聲山形就是一個(gè)典型示例,請參見(jiàn)圖23。

1676276320515611.png

圖22 LTC2057的噪聲密度在低頻率下是平坦的,在50kHz時(shí)出現峰值(內部振蕩器的100kHz頻率的一半)

在Python中導入LTspice噪聲數據用于頻域分析涉及到設置模擬命令,以模擬分析向量中的具體頻率。在本例中,噪聲模擬的最大頻率設置為2.048MHz,分辨率為62.5Hz,對應于4.096MSPS采樣率下的第一奈奎斯特區。圖23顯示同相增益為10時(shí)對LTC2057的模擬、模擬輸出和導出的數據格式。

image.png

圖23 LTspice用于模擬LTC2057在同相增益配置為+10時(shí)的輸出噪聲。LTspice提供了用于集成噪聲的簡(jiǎn)單工具,但是可以將任何模擬的結果導出和導入到Python中,以進(jìn)行進(jìn)一步的分析

為了確定給定頻帶的噪聲對信號(信噪比)的影響,在相關(guān)帶寬上集成噪聲的和的平方根。在LTspice中,可以通過(guò)設置繪圖界限來(lái)集成繪制參數,然后單擊參數標簽。整個(gè)2.048MHz模擬過(guò)程的總噪聲為32μV rms。在Python中實(shí)現此操作的函數如圖24所示。

1676276360675340.png

圖24 用于實(shí)現和的平方根的Python代碼

讀取導出的噪聲數據并將其傳遞給integrate_psd函數,得出的總噪聲為3.21951e-05,與LTspice計算得出的值非常接近。

生成測試噪聲

它在純粹的模擬噪聲發(fā)生器的功能上進(jìn)行擴展,非常適合用于生成不止是扁平,而且是任意的噪聲剖面——平坦的噪聲帶、粉紅噪聲,或模擬某些放大器的峰值的噪聲山形。由圖25所示的半譜代碼塊生成的時(shí)間序列從所需的噪聲譜密度(可以手動(dòng)生成,或從LTspice模擬中獲?。┖蜁r(shí)序序列的采樣速率開(kāi)始,然后生成可以發(fā)送至DAC的電壓時(shí)間序列值。

1676276401514988.png

圖25 生成任意噪聲剖面的Python代碼

可以通過(guò)使用libm2k腳本控制一個(gè)ADALM2000,然后使用第二個(gè)ADALM2000和Scopy GUI中的頻譜分析儀來(lái)驗證噪聲剖面,以驗證此功能。將噪聲時(shí)間序列推到ADALM2000代碼片段(參見(jiàn)圖26),會(huì )在A(yíng)DALM2000 W2輸出上生成4個(gè)1 mV/√Hz噪聲帶(在W1上有一個(gè)正弦波,用于實(shí)現雙重檢查功能)。

1676276422629646.png

圖26 使用ADALM2000驗證任意噪聲

圖27顯示了一個(gè)ADALM2000生成的4個(gè)1mV/√Hz噪聲帶。輸入矢量長(cháng)達8192個(gè)點(diǎn),采樣速率為75kSPS,每個(gè)點(diǎn)帶寬為9.1Hz。每個(gè)頻段為512個(gè)點(diǎn),或為4687Hz寬。高于~20kHz之后出現的滾降是DAC的sinc滾降。如果DAC能夠提供更高的采樣速率,時(shí)間序列數據就可以通過(guò)插值濾波器進(jìn)行上采樣和濾波。11

1676276440771683.png

圖27 Scopy光譜分析儀被用于驗證任意噪聲發(fā)生器。噪聲帶之間的深凹痕展示了分析儀的本底噪聲,表明可以準確地生成任意噪聲剖面

該噪聲發(fā)生器可與純粹的模擬發(fā)生器一起使用,用于驗證信號鏈的抑制特性。

模擬和驗證ADC噪聲帶寬

外部噪聲源和fS/2以上的雜散音將折回(混疊)到直流到fS/2區域,轉換器可能對遠遠超過(guò)fS/2的噪聲非常敏感。以L(fǎng)TC2378-20為例,它具有1MSPS采樣速率,34MHz的–3dB輸入帶寬。雖然在如此高的頻率下性能可能不是最好的,但這個(gè)轉換器會(huì )對超過(guò)68個(gè)奈奎斯特區的噪聲進(jìn)行數字化,并將它們折疊回您的信號上。這展示了抗混疊濾波器對寬帶ADC的重要性。精密應用的轉換器一般采用∑-?(例如AD7124-8)或過(guò)采樣SAR架構,在該架構中,輸入帶寬受設計限制。

考慮濾波器的等效噪聲帶寬(ENBW)通常是有用的,包括ADC的內置濾波器。ENBW是扁平通帶“磚墻”濾波器的帶寬,該濾波器允許通過(guò)與非扁平濾波器相同數量的噪聲。常見(jiàn)示例包括一階RC濾波器的ENBW,其公式為:

1676276464353180.png

其中fC表示該濾波器的截止頻率。如果對1kHz一階低通濾波器的輸入和1.57kHz磚墻低通濾波器的輸入應用寬帶噪聲(從“直流到可見(jiàn)光”),輸出端的總噪聲功率將是相同的。

圖28中的ENBW示例代碼塊接受濾波器幅度響應,然后返回有效噪聲帶寬。計算并使用單極性濾波器的幅度響應來(lái)驗證ENBW = fC × π/2關(guān)系。

1676276491911888.png

圖28 Python代碼示例,用于計算有效噪聲帶寬

此函數可用于計算任意濾波器響應的ENBW,包括AD7124的內部濾波器??梢允褂门c之前的50Hz/60Hz拒波濾波器示例類(lèi)似的方法來(lái)計算AD7124 sinc4濾波器的頻率響應和128SPS采樣速率。arb_anbw函數返回約31Hz的ENBW。

ADALM2000噪聲發(fā)生器可用于驗證這一結果。設置測試噪聲發(fā)生器生成1000μV/√Hz的頻段會(huì )導致約5.69mV rms的總噪聲,測量出的總噪聲約為5.1mV rms。示波器捕獲的ADC輸入信號在A(yíng)DC輸出數據旁邊繪出,如圖29所示。注意,測量到的峰峰值噪聲為426mV,而ADC的峰峰值噪聲約為26mV。雖然在真實(shí)的精密信號鏈中,是無(wú)法實(shí)現如此高的噪聲水平的(雖然希望如此),但本練習表明,可以將ADC的內部濾波器作為信號鏈中的主要帶寬限制元件,從而降低噪聲。

1676276516652534.png

圖29 1mV/√Hz噪聲帶被驅動(dòng)進(jìn)入AD7124-8輸入。很明顯能夠看到,噪聲出現定量降低;ADC輸入上的426mV峰峰值噪聲會(huì )導致ADC輸出上出現約25mV峰峰值噪聲。按照給出的ADC濾波器的噪聲密度為1mV/√Hz,ENBW為31Hz,5.1mV rms總輸出噪聲非常接近預計的5.69mV rms

結論

在任何信號鏈中,噪聲都是一個(gè)限制因素;一旦噪聲污染信號,就會(huì )致使信息丟失。在構建信號采集系統之前,必須先了解應用要求,選擇合適的組件,并測試原型電路。ADI在本教程提供了一組可以在設計和測試過(guò)程中用來(lái)準確模擬和測量傳感器和信號鏈噪聲的方法。

如果單獨來(lái)看,本教程中詳細介紹的技術(shù)并不新穎。但是,為了實(shí)現一個(gè)合適的系統,需要一組基本的、易于實(shí)現的低成本技術(shù),以實(shí)現信號鏈模擬和驗證。即使制造商繼續提供性能更好的部件,但這些部件總是存在一定的限制,我們必須意識到這一點(diǎn)。這些技術(shù)不僅可以用于在構建之前驗證部件,還可以用于識別現有信號鏈中的設計錯誤。

參考資料

1 “轉換器連接教程?!盇DI公司,維基百科,2021年1月。

2 ADI公司教育工具庫。Zenodo,2021年7月。

3 Pauli Virtanen、Ralf Gommers等?!癝ciPy 1.0:在Python中進(jìn)行科學(xué)計算的基本算法?!盢ature Methods,17(3),2020年2月。

4 Steven W. Smith。面向科學(xué)家和工程師的數字信號處理指南。California Technical Publishing,1999。

5 Ching Man?!癕T-229:量化噪聲:公式SNR = 6.02 N + 1.76的擴展推導?!盇DI公司,2012年8月。

6 Walt Kester,“MT-001:揭開(kāi)公式“SNR = 6.02N + 1.76dB”的神秘面紗,以及為什么我們要予以關(guān)注?!保ˋDI公司,2009年)

7 Charles R. Harris、K. Jarrod Millman等。 “使用NumPy的陣列編程?!盢ature,585,2020年9月。

8 “pyadi-iio:適用于IIO驅動(dòng)器的器件特定的Python接口?!盇DI公司,維基百科,2021年5月。

9“Scopy?!盇DI公司,維基百科,2021年2月。

10 “什么是Libm2k?”ADI公司,維基百科,2021年10月。

11 Walt Kester,“MT-017:過(guò)采樣插值DAC?!保ˋDI公司,2009年)

致謝

■   感謝Jesper Steensgaard,從LTC2378-20開(kāi)始,他推動(dòng)了信號鏈設計思維范式的轉變。

■   感謝Travis Collins,他架構了Pyadi-iio(還有許多其他架構)。

■   感謝軟件團隊經(jīng)理Adrian Suciu,他推動(dòng)了libm2k的開(kāi)發(fā)。

歸屬

本文首次出現在2021年P(guān)ython科學(xué)計算大會(huì )的會(huì )議記錄中,題為“使用Python來(lái)分析和驗證”。DOI:10.25080/majora-1b6fd038-001。

關(guān)于作者

Mark Thoren于2001年加入凌力爾特(現為ADI公司的一部分),擔任應用工程師,負責精密數據轉換器支持工作。在此期間,他曾擔任與混合信號應用相關(guān)的多個(gè)職位,包括開(kāi)發(fā)評估系統、培訓、刊發(fā)技術(shù)資料,以及提供客戶(hù)支持。Mark現在是ADI公司系統開(kāi)發(fā)團隊的一名系統工程師,負責開(kāi)發(fā)參考設計和ADI大學(xué)計劃。Mark擁有緬因大學(xué)奧羅諾分校頒發(fā)的農業(yè)機械工程學(xué)士學(xué)位和電子工程碩士學(xué)位。

Cristina ?uteu于2019年加入ADI公司的系統開(kāi)發(fā)團隊,擔任系統應用工程師。在A(yíng)DI公司工作期間,她致力于改善軟件,分別擔任過(guò)技術(shù)刊物發(fā)行及培訓等多個(gè)不同職位,并為ADI大學(xué)計劃提供學(xué)習教材,包括ADALM2000視頻系列。Cristina擁有羅馬尼亞布加勒斯特大學(xué)頒發(fā)的電子工程學(xué)士學(xué)位,以及布加勒斯特大學(xué)和法國波爾多大學(xué)聯(lián)合頒發(fā)的信號和圖像處理碩士學(xué)位。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Python 混合模式信號鏈 噪聲

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>