0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用 Python 簡化混合模式信號鏈的噪聲分析

ytrwv ? 來源:ytrwv ? 作者:ytrwv ? 2022-07-19 11:19 ? 次閱讀

任何涉及物理世界敏感測量的應(yīng)用都始于準(zhǔn)確、精確和低噪聲的信號鏈?,F(xiàn)代、高度集成的數(shù)據(jù)采集設(shè)備通??梢灾苯舆B接到傳感器輸出,在單個硅設(shè)備上執(zhí)行模擬信號調(diào)節(jié)、數(shù)字化和數(shù)字濾波,從而大大簡化系統(tǒng)電子設(shè)備。但是,仍然需要全面了解信號鏈的噪聲源和噪聲限制濾波器,才能從這些現(xiàn)代設(shè)備中提取最大性能并對其進(jìn)行調(diào)試。

介紹

教程轉(zhuǎn)換器連接教程 [1][2] 的延續(xù)。它將關(guān)注單個信號鏈元素的噪聲,使用 Python/SciPy[3] 和 LTspice 對其進(jìn)行建模。然后,它將使用 Python通過 libm2k 和 Linux 工業(yè)輸入輸出 (IIO) 框架驅(qū)動ADALM2000多功能 USB 測試儀器來驗證結(jié)果。所有源代碼和其他討論都可以在配套的主動學(xué)習(xí)實驗室練習(xí)中找到。

混合模式信號鏈無處不在。簡而言之,任何將現(xiàn)實世界的信號轉(zhuǎn)換為電表示,然后進(jìn)行數(shù)字化的系統(tǒng)都可以歸類為混合模式信號鏈。在鏈上的每一點,信號都會以各種方式劣化,通??梢詫⑵浔碚鳛槟撤N形式的失真或附加噪聲。一旦進(jìn)入數(shù)字域,數(shù)字化數(shù)據(jù)的處理也并不完美,但至少從所有實際目的來看,它不受許多影響模擬信號的因素的影響——元件容差、溫度漂移、來自相鄰信號的干擾、或電源電壓變化。

隨著行業(yè)不斷突破物理極限,有一點是確定的:儀器儀表的模擬和混合信號組件總是有改進(jìn)的空間。如果市場上出現(xiàn)的模數(shù)轉(zhuǎn)換器 (ADC) 或數(shù)模轉(zhuǎn)換器 (DAC) 在速度、噪聲、功率、精度或價格方面提升了最先進(jìn)的技術(shù)水平,制造商將很樂意應(yīng)用它現(xiàn)有的問題,然后要求更多的改進(jìn)。然而,為了為您的應(yīng)用程序?qū)崿F(xiàn)最佳采集系統(tǒng),了解組件的限制并相應(yīng)地選擇它們是至關(guān)重要的。

通用混合模式信號鏈

圖 1 顯示了精密儀器應(yīng)用的典型通用信號鏈,具有物理輸入和數(shù)字輸出。有許多關(guān)于 ADC 的背景參考資料 [4],大多數(shù)讀者會覺得 ADC 在某個時間點對輸入信號進(jìn)行采樣(或測量某個觀察時間內(nèi)信號的平均值)并生成一個數(shù)字表示該信號通常是一個二進(jìn)制數(shù),其值介于 0 和 2 (N – 1)之間,其中 N 是輸出字中的位數(shù)。

點擊查看完整大小的圖片

pYYBAGLVdk-ANuB0AARoWJAHJE8577.jpg


圖 1. 在混合模式信號鏈中,溫度、光強度、pH、力或扭矩等一些物理現(xiàn)象被轉(zhuǎn)換為電氣參數(shù)電阻、電流或直接轉(zhuǎn)換為電壓)。然后,該信號被放大、低通濾波,并由 ADC 數(shù)字化,其中可能包括內(nèi)部數(shù)字濾波。

ADC 噪聲源

雖然圖 1 中有幾個噪聲源,但經(jīng)常被忽略或過分強調(diào)的一個是 ADC 數(shù)字輸出中的位數(shù)。從歷史上看,ADC 的位數(shù)被認(rèn)為是最終的品質(zhì)因數(shù),其中 16 位轉(zhuǎn)換器被認(rèn)為是 14 位轉(zhuǎn)換器的 4 倍[5]。但在現(xiàn)代高分辨率轉(zhuǎn)換器的情況下,可以放心地忽略位數(shù)。注意信號鏈設(shè)計的一般原則:

“一級的輸入噪聲應(yīng)該比前一級的輸出噪聲低一些?!?/p>

與任何信號鏈一樣,ADC 中的一個噪聲源通常占主導(dǎo)地位。因此,

如果將無噪聲信號應(yīng)用于 N 位 ADC:

導(dǎo)致單個輸出代碼或兩個相鄰輸出代碼,然后量化噪聲占主導(dǎo)地位。信噪比 (SNR) 可以不大于 (02 N + 1.76) dB。[6]

導(dǎo)致許多輸出代碼的高斯分布,然后熱噪聲源 SNR 不大于:

poYBAGLVdleAaLTQAACkPbJrqLw241.jpg

其中:
V IN (pp) 是滿量程輸入信號。
σ 是以電壓為單位的輸出代碼的標(biāo)準(zhǔn)偏差。

非常高分辨率的轉(zhuǎn)換器,例如AD7124-8,稍后將用作示例,很少受到量化噪聲的限制;熱噪聲在所有增益/帶寬設(shè)置中占主導(dǎo)地位,短路輸入總是會產(chǎn)生相當(dāng)高斯分布的輸出代碼。圖 2 顯示了 AD7124-8 的接地輸入直方圖,24 位 Σ-Δ ADC,內(nèi)部可編程增益放大器 (PGA) 分別設(shè)置為 1 和 128。

點擊查看完整大小的圖片

pYYBAGLVdmOAPWjJAAc9ogmfQtQ106.jpg


圖 2. 在 PGA 增益為 1(左)時,AD7124 輸出噪聲中有 13 個代碼,標(biāo)準(zhǔn)偏差約為 2.5 個代碼。雖然量化是可見的,但熱噪聲更為顯著。在 PGA 增益為 128(右)時,表示了 187 個代碼,量化噪聲微不足道。截斷一個或兩個最低有效位(雙倍或四倍量化噪聲)不會導(dǎo)致信息丟失。

ADC 噪聲建模和測量

對熱噪聲受限 ADC 的噪聲進(jìn)行建模非常簡單。如果噪聲“表現(xiàn)良好”(高斯,如圖 2 所示)并且在 ADC 的輸入范圍內(nèi)保持恒定,則可以使用 NumPy 的 [7] 隨機正態(tài)函數(shù)對 ADC 的時域噪聲進(jìn)行建模,然后通過采用標(biāo)準(zhǔn)偏差,如圖 3 所示。

點擊查看完整大小的圖片

poYBAGLVdm6AO6nLAAMveUVUY9Q549.jpg


圖 3. 使用 NumPy 對高斯噪聲建模。

點擊查看完整大小的圖片

pYYBAGLVdnWAYEibAAjABsamOS4073.jpg


圖 4. ADALM2000 是一款多功能 USB 測試儀器,具有兩個通用模擬輸入和兩個輸出,采樣率分別為 100 MSPS 和 150 MSPS。它可以用作測量ADC噪聲帶寬和濾波器響應(yīng)的簡單信號源。運行支持 AD7124 設(shè)備驅(qū)動程序的內(nèi)核的 Raspberry Pi 4 充當(dāng) AD7124 和主機之間的簡單橋梁。

AD7124 設(shè)備驅(qū)動程序?qū)儆谛袠I(yè)標(biāo)準(zhǔn) IIO 框架,該框架具有完善的軟件 API(包括 Python 綁定)。應(yīng)用程序代碼可以在本地(在 Raspberry Pi 上)或通過網(wǎng)絡(luò)、串行或 USB 連接在遠(yuǎn)程機器上運行。此外,pyadi-iio[8] 抽象層負(fù)責(zé)與 IIO 設(shè)備接口所需的大部分樣板設(shè)置,大大簡化了軟件接口。圖 5 說明了如何打開與 AD7124-8 的連接、對其進(jìn)行配置、捕獲數(shù)據(jù)塊,然后關(guān)閉連接。

點擊查看完整大小的圖片

poYBAGLVdoOAdmIEAAjtQsg7sLI288.jpg


圖 5. AD7124-8 基本數(shù)據(jù)采集。

與 AD7124-8 建立通信后,可以執(zhí)行極其簡單但非常有用的測試:直接測量輸入噪聲。簡單地將 ADC 的輸入短路并查看 ADC 代碼的最終分布是表征信號鏈設(shè)計的重要步驟。AD7124輸入模式設(shè)置為單極性,所以只有正值有效;圖 6 所示的測試電路確保輸入始終為正。

點擊查看完整大小的圖片

pYYBAGLVdoqAe5y4AALJPgv2smM320.jpg


圖 6. 電阻分壓器用于在 AD7124-8 的輸入端產(chǎn)生 1.25 mV 偏置,克服 15 μV 的最大失調(diào)電壓并確保 ADC 讀數(shù)始終為正。

圖 7 顯示了兩個 1024 點測量。下面的(藍(lán)色)跡線是在最初通電后立即拍攝的。

點擊查看完整大小的圖片

pYYBAGLVdpSANQ0kAAX2MU6uvhw834.jpg


圖 7. 兩個 AD7124-8 數(shù)據(jù)采集是在施加 1.25 mV 偏壓的情況下進(jìn)行的。下面的跡線顯示了上電后電路升溫時的初始漂移。上部曲線顯示半小時預(yù)熱時間后讀數(shù)穩(wěn)定。

“漂移”可能是由于多種因素造成的——內(nèi)部參考升溫、外部電阻升溫(因此漂移)或寄生熱電偶,其中稍微不同的金屬會在存在熱梯度的情況下產(chǎn)生電壓。預(yù)熱后測得的噪聲約為 565 nV rms——與數(shù)據(jù)表噪聲規(guī)范相當(dāng)。

將 ADC 噪聲表示為密度

模擬信號鏈設(shè)計的一般原則(即一級的輸入噪聲應(yīng)略低于前一級的輸出噪聲)是一個簡單的計算,如果所有元素都包括噪聲密度規(guī)格——就像大多數(shù)指定良好的傳感器和幾乎所有放大器做。

與放大器和傳感器不同,ADC 數(shù)據(jù)表通常不包括噪聲密度規(guī)范。將 ADC 的噪聲表示為密度,可以直接將其與模擬信號鏈中最后一個元件(可能是 ADC 驅(qū)動器級、增益級或傳感器本身)輸出端的噪聲進(jìn)行比較。

ADC 的內(nèi)部噪聲必然會出現(xiàn)在 DC 和采樣率的一半之間。理想情況下,這種噪聲是平坦的,或者至少是可預(yù)測的形狀。事實上,由于 ADC 的總噪聲分布在已知帶寬上,因此可以將其轉(zhuǎn)換為可以直接與信號鏈中的其他元素進(jìn)行比較的噪聲密度。精密轉(zhuǎn)換器通常具有直接給出的總噪聲,以伏特 rms 為單位:

poYBAGLVdpyAQc6mAABum-_PGXE686.jpg

其中 e RMS是總 rms 噪聲,根據(jù)接地輸入直方圖的標(biāo)準(zhǔn)偏差計算得出。

使用正弦信號測試和表征的高速轉(zhuǎn)換器通常具有 SNR 規(guī)范。如果提供,總 rms 噪聲可以計算為:

pYYBAGLVdqKAEksPAACqvWlyTjI413.jpg

其中 ADCp-p 是 ADC 的峰峰值輸入范圍。

然后可以計算等效噪聲密度:

poYBAGLVdqaASQFpAACgIcvirh4273.jpg

其中 f S是以樣本/秒為單位的 ADC 采樣率。

圖 7 中的總噪聲在預(yù)熱后為 565 nV,數(shù)據(jù)速率為 128 SPS。噪聲密度約為:

poYBAGLVdqyAc3_5AACpmLhOjXo076.jpg

現(xiàn)在可以將 ADC 直接包含在信號鏈噪聲分析中,從而為優(yōu)化信號鏈增益提供指導(dǎo):

將增益增加到 ADC 之前最后一級的噪聲密度略高于 ADC 的點,然后不要再費心增加信號鏈增益 - 你只是放大噪聲并降低允許的輸入范圍。

這與“填充”ADC 輸入范圍的傳統(tǒng)觀念背道而馳。如果 ADC 的傳遞函數(shù)存在階躍或不連續(xù)性,則使用更多 ADC 的輸入范圍可能會有好處,但對于“表現(xiàn)良好”的 ADC(大多數(shù) sigma-delta ADC 和現(xiàn)代高分辨率逐次逼近寄存器 (SAR) ADC),通過噪聲進(jìn)行優(yōu)化是首選方法。

測量 ADC 濾波器響應(yīng)

AD7124-8 是一款 sigma-delta ADC,其中調(diào)制器產(chǎn)生高采樣率但噪聲(低分辨率)的模擬輸入表示。然后,這些噪聲數(shù)據(jù)由內(nèi)部數(shù)字濾波器過濾,產(chǎn)生較低速率、較低噪聲的輸出。濾波器的類型因 ADC 而異,具體取決于預(yù)期的最終應(yīng)用。AD7124-8 是通用型的,面向精密應(yīng)用。因此,數(shù)字濾波器響應(yīng)和輸出數(shù)據(jù)速率是高度可配置的。雖然數(shù)據(jù)表中明確定義了濾波器響應(yīng),但有時可能需要測量濾波器對給定信號的影響。AD7124-8 濾波器響應(yīng)代碼塊(參見圖 9)通過將正弦波應(yīng)用于 ADC 輸入并分析輸出來測量濾波器響應(yīng)。這種方法可以很容易地適用于測量其他波形——小波和模擬的物理事件。ADALM2000 連接到 AD7124-8 電路,如圖 8 所示。

點擊查看完整大小的圖片

pYYBAGLVdrKAGQbYAAMTYZVKUuE304.jpg


圖 8. ADALM2000 波形發(fā)生器用于生成一系列正弦波頻率,從而可以直接測量 AD7124-8 的濾波器響應(yīng)。雖然腳本將正弦波幅度和偏移設(shè)置為安全水平,但 1 kΩ 電阻器可在發(fā)生故障時保護 AD7124-8。(ADALM2000 輸出電壓范圍為 –5 V 至 +5 V,而 AD7124-8 的絕對最大限值為 –0.3 V 和 +3.6 V。)

AD7124-8 濾波器響應(yīng)代碼塊(參見圖 9)將設(shè)置 ADALM2000 的波形發(fā)生器以生成 10 Hz 的正弦波,捕獲 1024 個數(shù)據(jù)點,計算 rms 值,然后將結(jié)果附加到列表中。send_sinewave 和 capture_data 是實用函數(shù),它們分別向 ADALM2000 發(fā)送正弦波并從 AD7124 接收數(shù)據(jù)塊。2 然后它將步進(jìn)高達(dá) 120 Hz 的頻率,然后繪制結(jié)果,如圖 10 所示。

點擊查看完整大小的圖片

poYBAGLVdsKAUQZwAAjHtRzvMfI143.jpg


圖 9. ADALM2000 的濾波器響應(yīng)塊程序。

點擊查看完整大小的圖片

pYYBAGLVdsyAaztUAALXjO8tdy0599.jpg


圖 10. AD7124 濾波器在 64 SPS、sinc4 模式下的響應(yīng)測量顯示了濾波器的通帶、第一瓣和前兩個零點。

雖然測量高衰減值需要更安靜且失真更低的信號發(fā)生器,但在此設(shè)置中前幾個主要波瓣的響應(yīng)很明顯。

ADC 濾波器建模

測量 ADC 的濾波器響應(yīng)的能力是用于臺架驗證的實用工具。但是,為了完全模擬信號鏈,需要濾波器模型。許多轉(zhuǎn)換器(包括 AD7124-8)并未明確提供這一點,但可以根據(jù)數(shù)據(jù)表中提供的信息逆向設(shè)計一個可行的模型。

請注意,以下僅為 AD7124-8 濾波器的模型;它不是位精確的表示。有關(guān)所有保證參數(shù),請參閱AD7124-8 數(shù)據(jù)手冊。

AD7124 的濾波器都具有由各種 sinc 函數(shù)組合而成的頻率響應(yīng)(頻率響應(yīng)與 (sin{f}/f)N 成正比)。這些過濾器相當(dāng)容易構(gòu)建,并且在已知空值時進(jìn)行逆向工程。

圖 11 顯示了 AD7124-8 的 10 Hz 陷波濾波器。高階 sinc3 和 sinc4 濾波器的各種組合也可用。

濾波器的最終脈沖(時域)形狀如圖 14 所示。濾波器系數(shù)(抽頭)值針對零頻率下的單位 (0 dB) 增益進(jìn)行歸一化。

點擊查看完整大小的圖片

pYYBAGLVdtSAVJSKAAQSdJK9BWg583.jpg


圖 11. AD7124-8 10 Hz 陷波濾波器具有 sinc1 幅度響應(yīng);濾波器的脈沖響應(yīng)只是 100 ms 時間間隔內(nèi)樣本的未加權(quán)(矩形)平均值。

圖 12 所示的同時 50 Hz/60 Hz 抑制濾波器是一個重要的例子。該濾波器旨在強烈抑制來自交流電源線的噪聲,即 50 Hz(如歐洲)或 60 Hz(如美國)。

點擊查看完整大小的圖片

poYBAGLVdtuAQLY_AANP9M37ESY623.jpg


圖 12. AD7124-8 50 Hz/60 Hz 抑制濾波器響應(yīng)是 50 Hz sinc3 濾波器和 60 Hz sinc1 濾波器的組合。

高階 sinc 濾波器可以通過卷積 sinc1 濾波器生成。例如,卷積兩個 sinc1 濾波器(在時間上具有矩形脈沖響應(yīng))將產(chǎn)生三角形脈沖響應(yīng)和相應(yīng)的 sinc2 頻率響應(yīng)。AD7124 濾波器代碼塊(參見圖 13)生成一個在 50 Hz 處具有零點的 sinc3 濾波器,然后添加一個在 60 Hz 處具有零點的第四個濾波器。

點擊查看完整大小的圖片

pYYBAGLVduSAdNY2AAaXeeFoDVs591.jpg


圖 13. 50 Hz/60 Hz sinc 濾波器的 AD7124-8 代碼示例。

濾波器的最終脈沖(時域)形狀如圖 14 所示。濾波器系數(shù)(抽頭)值針對零頻率下的單位 (0 dB) 增益進(jìn)行歸一化。

點擊查看完整大小的圖片

pYYBAGLVduyAFwBrAAOacPH8cmg161.jpg


圖 14. 反復(fù)卷積矩形脈沖響應(yīng)產(chǎn)生三角形,然后是高斯式脈沖響應(yīng)。

最后,可以使用 NumPy 的 freqz 函數(shù)計算頻率響應(yīng),如圖 16 所示。響應(yīng)如圖 15 所示。

點擊查看完整大小的圖片

pYYBAGLVdvSAELFqAAMFIAVeZV4002.jpg


圖 15. 將 sinc3、50 Hz 陷波濾波器與 sinc1、60 Hz 濾波器進(jìn)行卷積會產(chǎn)生一個復(fù)合響應(yīng),該響應(yīng)強烈抑制 50 Hz 和 60 Hz。

點擊查看完整大小的圖片

poYBAGLVdv-ABdX6AAN0Zc-hSxk577.jpg


圖 16. 帶有 sinc 60 Hz 濾波器的 sinc3 50 Hz 陷波濾波器的 AD7124-8 代碼示例。

電阻是徒勞的:一個基本的傳感器限制

所有傳感器,無論多么完美,都有一些最大輸入值(以及相應(yīng)的最大輸出,可能是電壓、電流、電阻,甚至是刻度盤位置)和有限的本底噪聲——在輸出端“擺動”甚至存在如果輸入完全靜止。在某些時候,具有電輸出的傳感器將包括一個具有有限電阻(或更一般地,阻抗)的元件,由圖 17 中的 R SENSOR表示。這代表了一個無法改進(jìn)的基本噪聲限制——該電阻將產(chǎn)生en(RMS) 伏噪聲,至少:

pYYBAGLVdwmAcgcZAAC2QB4Hec8229.jpg

其中:
e N (RMS) 是總噪聲。
K 是玻爾茲曼常數(shù) (1.38e-23 J/K)。
T 是電阻器的絕對溫度 (Kelvin)。
F2 和 F1 是感興趣頻帶的上限和下限。

將帶寬歸一化為 1 Hz 表示噪聲密度,以 V/√Hz 為單位。

傳感器的數(shù)據(jù)表可能會指定低輸出阻抗(通常接近 0 Ω),但這很可能是一個緩沖級——它簡化了與下游電路的接口,但不能消除信號鏈早期阻抗引起的噪聲。

poYBAGLVdw2AXIG3AAEZ7KnSYzc010.jpg


圖 17. 傳感器通常包含一個內(nèi)部緩沖器,以簡化與下游電路的連接。雖然輸出阻抗較低(通常接近 0 Ω),但來自高阻抗傳感元件的噪聲與信號一起被緩沖。

還有許多其他傳感器限制——機械的、化學(xué)的、光學(xué)的——每個都有自己的理論限制,其影響可以在以后建模和補償。但噪音是唯一不能做到的缺陷。

實驗室噪聲源

經(jīng)過校準(zhǔn)的噪聲發(fā)生器充當(dāng)“世界上最差的傳感器”,它可以模擬傳感器的噪聲,而無需實際感測任何東西。這種發(fā)生器允許直接測量信號鏈對噪聲的響應(yīng)。圖 18 所示的電路使用 1 MΩ 電阻器作為 127 nV/√Hz(室溫下)噪聲源,具有“正常”的精度和帶寬。雖然準(zhǔn)確度還可以,但這種方法具有以下優(yōu)點:

它基于第一原理,因此在某種意義上可以充當(dāng)未經(jīng)校準(zhǔn)的標(biāo)準(zhǔn)。

它是真正隨機的,沒有重復(fù)的模式。

OP482是一款超低偏置電流放大器,具有相應(yīng)的低電流噪聲和足夠低的電壓噪聲,1 MΩ 輸入阻抗引起的噪聲占主導(dǎo)地位。配置增益為 2121,輸出噪聲為 269 μV/√Hz。

點擊查看完整大小的圖片

pYYBAGLVdxSAaqchAAGjFVPEmro137.jpg


圖 18. 1 MΩ 電阻器用作可預(yù)測的噪聲源,然后由低噪聲運算放大器放大到可用水平。

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

點擊查看完整大小的圖片

poYBAGLVdxuAEqu1AANGcNxSODI892.jpg


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

在所示的分析儀設(shè)置下,ADALM2000 本底噪聲為 40 μV/√Hz,遠(yuǎn)低于噪聲源的 269 μV/√Hz。

雖然 Scopy 對于單一的視覺測量很有用,但可以使用 SciPy 周期圖功能輕松復(fù)制該功能。原始數(shù)據(jù)是使用 libm2k[10] 和 Python 綁定從 ADALM2000 收集的,經(jīng)過最低限度的處理以去除 DC 內(nèi)容(否則會泄漏到低頻箱中)并縮放到 nV/√Hz。這種方法如圖 20 所示,可以應(yīng)用于任何數(shù)據(jù)采集模塊,只要采樣率是固定的且已知的,并且數(shù)據(jù)可以格式化為電壓矢量。

點擊查看完整大小的圖片

poYBAGLVdySAb6DAAATb_JGW8zI442.jpg


圖 20. ADALM2000 的 Python 噪聲源測量代碼。

我們現(xiàn)在擁有一個已知的噪聲源和一種測量該源的方法,這兩者都可以用來驗證信號鏈。

在 LTspice 中對信號鏈進(jìn)行建模

LTspice是一款免費提供的通用模擬電路仿真器,可應(yīng)用于信號鏈設(shè)計。它可以執(zhí)行瞬態(tài)分析、頻域分析(AC 掃描)和噪聲分析,其結(jié)果可以使用 Python 導(dǎo)出并合并到混合信號模型中。

圖 21 顯示了模擬噪聲發(fā)生器的噪聲仿真,與實驗結(jié)果非常吻合。使用與 OP482 具有相似特性的運算放大器進(jìn)行仿真。

點擊查看完整大小的圖片

pYYBAGLVdyyASJ9uAAJPjENCT6Y492.jpg


圖 21. 實驗室噪聲源的 LTspice 仿真顯示與測量電路大致相同的可用帶寬。

圖 22 的電路噪聲對建模來說相當(dāng)簡單,因為它在某些帶寬(感興趣的信號所在的位置)內(nèi)是恒定的,在該帶寬之上它會以大約一階低通響應(yīng)滾降。這種技術(shù)派上用場的地方是對非平坦本底噪聲進(jìn)行建模,這可能是由于高階模擬濾波,也可能是有源元件本身。典型的例子是LTC2057等自動調(diào)零放大器中經(jīng)常存在的噪聲山峰,如圖 23 所示。

點擊查看完整大小的圖片

pYYBAGLVdzKAVRvwAARa7mhJOzs700.jpg


圖 22. LTC2057 噪聲密度在低頻時是平坦的,峰值在 50 kHz(內(nèi)部振蕩器 100 kHz 頻率的一半)。

在 Python 中導(dǎo)入 LTspice 噪聲數(shù)據(jù)以進(jìn)行頻域分析是一個設(shè)置仿真命令的問題,以便仿真分析向量中的精確頻率。在這種情況下,噪聲仿真設(shè)置為最大頻率為 2.048 MHz,分辨率為 62.5 Hz,對應(yīng)于采樣率為 4.096 MSPS 的第一奈奎斯特區(qū)。圖 23 顯示了 LTC2057 在 10 的同相增益、仿真輸出和導(dǎo)出數(shù)據(jù)格式下的仿真。

點擊查看完整大小的圖片

poYBAGLVdzmAeaDRAAQE5TmDHC4105.jpg


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

為了確定給定噪聲頻帶對信號的影響(信噪比),噪聲在感興趣的帶寬上進(jìn)行了平方根積分。在 LTspice 中,可以通過設(shè)置繪圖限制來集成繪圖參數(shù),然后控制單擊參數(shù)標(biāo)簽。整個 2.048 MHz 仿真的總噪聲為 32 μV rms。在 Python 中實現(xiàn)此操作的函數(shù)如圖 24 所示。

點擊查看完整大小的圖片

poYBAGLVd0SARzigAARwe4qpkWY479.jpg


圖 24. 平方根實現(xiàn)的 Python 代碼。

讀入導(dǎo)出的噪聲數(shù)據(jù)并傳遞給integrate_psd 函數(shù),總噪聲為3.21951e-05,非常接近LTspice 的計算。

產(chǎn)生測試噪音

擴展純模擬噪聲發(fā)生器的功能,不僅能夠產(chǎn)生平坦的噪聲曲線,而且能夠產(chǎn)生任意的噪聲曲線——平坦的噪聲帶、粉紅噪聲或模擬某些放大器中的峰值的噪聲山峰,這非常有用。從圖 25 中的半頻譜代碼塊生成的時間序列以所需的噪聲頻譜密度(可以手動生成,或從 LTspice 仿真中獲?。┖蜁r間序列的采樣率開始,然后生成時間序列可以發(fā)送到 DAC 的電壓值。

點擊查看完整大小的圖片

poYBAGLVd02AYhO8AAaKe5T27nc799.jpg


圖 25. 生成任意噪聲曲線的 Python 代碼。

可以通過 libm2k 腳本控制一個 ADALM2000,然后使用第二個 ADALM2000 和 Scopy GUI 中的頻譜分析儀驗證噪聲分布來驗證此功能。ADALM2000 代碼片段的推送噪聲時間序列(參見圖 26)在 ADALM2000 W2 輸出上生成四個 1 mV/√Hz 噪聲頻帶(在 W1 上具有正弦波,用于雙重檢查功能)。

點擊查看完整大小的圖片

pYYBAGLVd1qAYzvyAAZW7jd184w052.jpg


圖 26. 使用 ADALM2000 驗證任意噪聲。

圖 27 顯示了由一個 ADALM2000 產(chǎn)生的四個 1 mV/√Hz 噪聲頻段。輸入向量長 8192 個點,采樣率為 75 kSPS,帶寬為每點 9.1 Hz。每個頻段為 512 點,或 4687 Hz 寬。~20 kHz 以上的滾降是 DAC 的 sinc 滾降。如果 DAC 能夠提供更高的采樣率,則可以通過插值濾波器對時間序列數(shù)據(jù)進(jìn)行上采樣和濾波。 [11]

點擊查看完整大小的圖片

poYBAGLVd2SALk0IAAMVyATIbN8812.jpg


圖 27. Scopy 頻譜分析儀用于驗證任意噪聲發(fā)生器。噪聲帶之間的深陷波暴露了分析儀的本底噪聲,表明可以準(zhǔn)確地生成任意噪聲曲線。

該噪聲發(fā)生器可與純模擬發(fā)生器結(jié)合使用,以驗證信號鏈的抑制特性。

建模和驗證 ADC 噪聲帶寬

高于 f S /2 的外部噪聲源和雜散音將折回(混疊)到 DC 至 f S /2 區(qū)域,并且轉(zhuǎn)換器可能對遠(yuǎn)遠(yuǎn)超過 f S /2 的噪聲敏感。以LTC2378-20 為例,它具有 1 MSPS 的采樣率和 34 MHz 的 –3 dB 輸入帶寬。雖然在如此高的頻率下性能可能不是最好的,但該轉(zhuǎn)換器將數(shù)字化超過 68 個奈奎斯特噪聲區(qū)域并將它們折疊回您的信號之上。這說明了抗混疊濾波器對于寬帶 ADC 的重要性。用于精密應(yīng)用的轉(zhuǎn)換器通常是 sigma-delta(如 AD7124-8)或過采樣 SAR 架構(gòu),其中輸入帶寬受設(shè)計限制。

考慮濾波器的等效噪聲帶寬 (ENBW) 通常很有用,包括 ADC 的內(nèi)置濾波器。ENBW 是平坦通帶“磚墻”濾波器的帶寬,它允許通過與非平坦濾波器相同數(shù)量的噪聲。一個常見的例子是一階 RC 濾波器的 ENBW,即:

pYYBAGLVd2uAZg09AACLsmD7QHM781.jpg

其中 f C是濾波器的截止頻率。如果從“直流到日光”的寬帶噪聲同時應(yīng)用于 1 kHz 一階低通濾波器和 1.57 kHz 磚墻低通濾波器的輸入,則輸出端的總噪聲功率將為相同的。

圖 28 中的 ENBW 示例代碼塊接受濾波器幅度響應(yīng)并返回有效噪聲帶寬。計算單極點濾波器的幅度響應(yīng)并用于驗證 ENBW = f C × π/2 關(guān)系。

點擊查看完整大小的圖片

pYYBAGLVd3KAAoTbAAbIHkrOq8Q560.jpg


圖 28. 計算有效噪聲帶寬的 Python 代碼示例。

該函數(shù)可用于計算任意濾波器響應(yīng)的 ENBW,包括 AD7124 的內(nèi)部濾波器。AD7124 sinc4 濾波器的頻率響應(yīng),128 SPS 采樣率可以通過類似于前面 50 Hz/60 Hz 抑制濾波器示例的方法計算。arb_anbw 函數(shù)返回大約 31 Hz 的 ENBW。

ADALM2000 噪聲發(fā)生器可用于驗證該結(jié)果。將測試噪聲發(fā)生器設(shè)置為生成 1000 μV/√Hz 的頻帶應(yīng)導(dǎo)致總噪聲約為 5.69 mV rms,測量結(jié)果約為 5.1 mV rms 總噪聲。ADC 輸入信號的示波器捕獲繪制在 ADC 輸出數(shù)據(jù)旁邊,如圖 29 所示。注意測得的峰峰值噪聲為 426 mV,而 ADC 峰峰值噪聲約為 26 mV。雖然在實際的精密信號鏈中(希望)如此高的噪聲水平是不現(xiàn)實的,但該練習(xí)表明,可以依靠 ADC 的內(nèi)部濾波器作為信號鏈中的主要帶寬限制元件,從而降低噪聲。

點擊查看完整大小的圖片



poYBAGLVd3-AR0eTAAbRj2rl9ds253.jpg


圖 29. 1 mV/√Hz 噪聲帶被驅(qū)動到 AD7124-8 輸入。噪音的質(zhì)量降低是顯而易見的;ADC 輸入處的 426 mV 峰間噪聲導(dǎo)致 ADC 輸出處的大約 25 mV 峰間噪聲??紤]到 ADC 濾波器的 1 mV/√Hz 噪聲密度和 31 Hz ENBW,5.1 mV rms 總輸出噪聲接近預(yù)測的 5.69 mV rms。

結(jié)論

噪聲是任何信號鏈中的限制因素;一旦噪聲污染了信號,信息就會丟失。在構(gòu)建信號采集系統(tǒng)之前,必須了解應(yīng)用需求,相應(yīng)地選擇組件,并測試原型電路。本教程提供了一系列可在設(shè)計和測試過程中使用的精確建模和測量傳感器和信號鏈噪聲的方法。

本教程中詳細(xì)介紹的技術(shù)單獨來說并不是什么新鮮事。然而,為了實現(xiàn)一個合適的系統(tǒng),擁有一組基本的、易于實現(xiàn)的和低成本的技術(shù)來實現(xiàn)信號鏈建模和驗證是很有價值的。盡管制造商繼續(xù)提供性能更高的零件,但始終存在一定的限制,人們必須注意這一點。這些技術(shù)不僅可用于在構(gòu)建混合模式信號鏈之前驗證部件,還可用于識別現(xiàn)有信號鏈中的設(shè)計缺陷。

致謝

Jesper Steensgaard,他從 LTC2378-20 開始啟用/推動了對信號鏈設(shè)計的思考范式轉(zhuǎn)變。

Travis Collins,Pyadi-iio 的建筑師(在許多其他方面)。

Adrian Suciu,軟件團隊經(jīng)理和 libm2k 貢獻(xiàn)者。

參考

[1]“轉(zhuǎn)換器連接教程?!?Analog Devices Wiki,2021 年 1 月。

[2] ADI 教育工具庫。澤諾多,2021 年 7 月。

[3] Pauli Virtanen、Ralf Gommers 等人?!?SciPy 1.0: Python中科學(xué)計算的基本算法 ?!?自然方法,17(3),2020 年 2 月。

[4] 史蒂文·W·史密斯??茖W(xué)家和工程師數(shù)字信號處理指南。加利福尼亞技術(shù)出版社,1999 年。

[5] 程曼?!?MT-229:量化噪聲:方程的擴展推導(dǎo), SNR = 6.02 N + 1.76?!?模擬設(shè)備公司,2012 年 8 月。

[6] 沃爾特·凱斯特?!?MT-001:從臭名昭著的公式中解開謎團,'SNR = 6.02N + 1.76dB,'以及為什么你應(yīng)該關(guān)心。” 模擬設(shè)備公司,2009 年。

[7] Charles R. Harris、K. Jarrod Millman 等人?!笆褂?NumPy 進(jìn)行數(shù)組編程?!?自然,585,2020 年 9 月。

[8] “ pyadi-iio:IIO 驅(qū)動程序的設(shè)備特定 Python 接口?!?Analog Devices Wiki,2021 年 5 月。

[9]“窺視”。Analog Devices Wiki,2021 年 2 月。

[10]“什么是Libm2k?” Analog Devices Wiki,2021 年 10 月。

[11] 沃爾特·凱斯特。“ MT-017:過采樣插值 DAC。” 模擬設(shè)備公司,2009 年。

歸因

本文首次出現(xiàn)在 2021 年科學(xué)計算與 Python 會議的論文集中,標(biāo)題為“使用 Python 進(jìn)行混合模式信號鏈的分析和驗證”。DOI:10.25080/majora-1b6fd038-001。

[注:所有數(shù)字和列表均由 Analog Devices 提供。]


審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 信號鏈
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    29762
  • 噪聲分析
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    12707
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84079
  • 混合模式
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    1541
收藏 人收藏

    評論

    相關(guān)推薦

    請問帶有乘法器的信號噪聲帶寬如何確定?

    有一個信號路,前級運放設(shè)置的帶寬是100K-110K,增益為10倍,輸入信號也在這個帶寬內(nèi),然后后面經(jīng)過一個乘法器,將信號頻譜搬移到0-10K這個帶寬內(nèi),后級放大電路的帶寬也設(shè)置到0
    發(fā)表于 08-15 08:00

    8片ADS1299采樣率8000Hz采用菊花讀取到數(shù)字噪聲問題怎么解決呢?

    才會消失。請問右腿驅(qū)動是會捆綁芯片內(nèi)部的噪聲嗎?以及如何減小數(shù)字信號帶來的噪聲影響。 菊花原理圖:2-8片原理圖一樣,公用1片右腿驅(qū)動 PCB布局,AVDD和DVDD都是經(jīng)過TI的
    發(fā)表于 07-29 06:39

    測量太赫茲(THz)信號相位噪聲解決方案

    本文概述了一種使用兩個單獨的下變頻器測量sub-THz信號相位噪聲的方法,它基于AnaPico公司APPH系列相位噪聲分析儀的內(nèi)部強大的互相關(guān)算法和儀器自帶極低相位
    的頭像 發(fā)表于 06-18 11:47 ?684次閱讀
    測量太赫茲(THz)<b class='flag-5'>信號</b>相位<b class='flag-5'>噪聲</b>解決方案

    噪聲系數(shù)分析噪聲頻率范圍

    噪聲系數(shù)分析儀的基本原理是通過測量輸入信號和輸出信號的功率比,計算出系統(tǒng)的噪聲系數(shù)。噪聲系數(shù)定義為: NF = 10 * log10(Po
    的頭像 發(fā)表于 06-03 16:15 ?332次閱讀

    噪聲系數(shù)分析儀的功率 噪聲系數(shù)分析儀的原理

    噪聲系數(shù)分析儀是一種用于測量電子設(shè)備或系統(tǒng)的噪聲系數(shù)的儀器。噪聲系數(shù)是衡量信號在傳輸過程中受到噪聲干擾程度的一個重要參數(shù)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 06-03 16:08 ?467次閱讀

    噪聲系數(shù)分析儀的工作原理 噪聲系數(shù)分析儀的噪聲系數(shù)

    噪聲系數(shù)分析儀是一種用于測量通信系統(tǒng)中信號噪聲比的儀器。它可以幫助工程師評估信號在傳輸過程中的噪聲性能,從而優(yōu)化通信系統(tǒng)的設(shè)計。本文將詳細(xì)介
    的頭像 發(fā)表于 06-03 16:07 ?712次閱讀

    labview能不能對采集的聲音信號進(jìn)行高斯噪聲信號分析

    請問對采集到的聲音信號進(jìn)行高斯加噪分析,能不能對聲音信號直接加上高斯噪聲信號?
    發(fā)表于 05-27 15:18

    示波器噪聲信號處理技術(shù)研究

    在電子測量領(lǐng)域,示波器作為一種重要的測量工具,廣泛應(yīng)用于各種電子信號的觀測和分析中。然而,在實際應(yīng)用中,示波器往往會受到各種噪聲的干擾,導(dǎo)致測量結(jié)果的準(zhǔn)確性和可靠性受到影響。因此,對示波器噪聲
    的頭像 發(fā)表于 05-17 17:17 ?363次閱讀

    如何使用示波器測量有噪聲信號

    在電子工程領(lǐng)域,示波器是不可或缺的測量工具,它能夠?qū)㈦?b class='flag-5'>信號轉(zhuǎn)化為可視化的波形,幫助我們理解和分析信號的特性。然而,在實際應(yīng)用中,我們經(jīng)常會遇到帶有噪聲
    的頭像 發(fā)表于 05-17 17:13 ?1416次閱讀

    相位噪聲對射頻路產(chǎn)生了哪些影響?

    相位噪聲對射頻路產(chǎn)生了哪些影響? 相位噪聲是指信號的相位在時間上發(fā)生不規(guī)則的變化,是一種隨機過程。在射頻路中,相位
    的頭像 發(fā)表于 01-31 09:28 ?653次閱讀

    相位噪聲定義 相位噪聲來源 相位噪聲信號的影響

    相位噪聲定義 相位噪聲來源 相位噪聲信號的影響 抖動定義、來源及其對信號的影響 什么是相位噪聲
    的頭像 發(fā)表于 01-29 13:54 ?690次閱讀

    示波器如何處理有噪聲信號

    示波器如何處理有噪聲信號? 示波器是一種用于測量和顯示電信號的設(shè)備,可以幫助工程師和科學(xué)家分析和診斷電路故障。然而,在實際的測量中,信號
    的頭像 發(fā)表于 12-21 15:37 ?861次閱讀

    噪聲如何影響高速信號的總動態(tài)系統(tǒng)性能

    電子發(fā)燒友網(wǎng)站提供《噪聲如何影響高速信號的總動態(tài)系統(tǒng)性能.pdf》資料免費下載
    發(fā)表于 11-27 11:59 ?1次下載
    <b class='flag-5'>噪聲</b>如何影響高速<b class='flag-5'>信號</b><b class='flag-5'>鏈</b>的總動態(tài)系統(tǒng)性能

    精密數(shù)據(jù)采集信號噪聲分析

    電子發(fā)燒友網(wǎng)站提供《精密數(shù)據(jù)采集信號噪聲分析.pdf》資料免費下載
    發(fā)表于 11-27 09:40 ?1次下載
    精密數(shù)據(jù)采集<b class='flag-5'>信號</b><b class='flag-5'>鏈</b>的<b class='flag-5'>噪聲</b><b class='flag-5'>分析</b>

    噪聲分析、誤差分析中,什么類型的噪聲、誤差可以用均方根計算?

    噪聲分析、誤差分析中,什么類型的噪聲、誤差可以用均方根計算?什么類型的噪聲需要直接加在總噪聲中?
    的頭像 發(fā)表于 11-09 09:50 ?1135次閱讀