首頁 資訊 > 創(chuàng)新 > 正文

今熱點(diǎn):一種使用Python來分析混合模式信號(hào)鏈中噪聲的簡單方法

作者:ADI系統(tǒng)設(shè)計(jì)/架構(gòu)工程師Mark Thoren和ADI SW系統(tǒng)設(shè)計(jì)工程師Cristina ?uteu

摘要


(資料圖片僅供參考)

涉及對(duì)真實(shí)世界進(jìn)行敏感測量的應(yīng)用都是從準(zhǔn)確、精密的低噪聲信號(hào)鏈開始?,F(xiàn)代高度集成的數(shù)據(jù)采集器件通??梢灾苯舆B接到傳感器輸出,在單個(gè)硅器件上執(zhí)行模擬信號(hào)調(diào)理、數(shù)字化和數(shù)字濾波,這極大地簡化了系統(tǒng)電子組成。但是,要使這些現(xiàn)代器件發(fā)揮出色性能,并對(duì)它們進(jìn)行調(diào)試,仍然需要深入了解信號(hào)鏈的噪聲源和噪聲限制濾波器。

簡介

混合模式信號(hào)鏈無處不在。簡單地說,任何將真實(shí)世界的信號(hào)轉(zhuǎn)換為電子表示(然后數(shù)字化)的系統(tǒng)都可以被歸類為混合模式信號(hào)鏈。在信號(hào)鏈的每個(gè)點(diǎn)上,信號(hào)都以各種方式降級(jí),從特征來看,可能是出現(xiàn)一定程度的失真,或是出現(xiàn)相加噪聲。在進(jìn)入數(shù)字領(lǐng)域之后,對(duì)數(shù)字化數(shù)據(jù)的處理也不是完美的,但至少,實(shí)際上可以不受許多影響模擬信號(hào)的因素的影響——部件公差、溫度漂移、鄰近信號(hào)的干擾或電源電壓變化。

隨著行業(yè)不斷擴(kuò)展物理限制,有一點(diǎn)是肯定的:儀器儀表的模擬和混合信號(hào)部件始終存在可改進(jìn)的空間。如果市場上出現(xiàn)的模數(shù)轉(zhuǎn)換器(ADC)或數(shù)模轉(zhuǎn)換器(DAC)在速度、噪音、功率、精度或價(jià)格方面都表現(xiàn)出色,制造商會(huì)很樂意用其來解決現(xiàn)有問題,然后要求進(jìn)行更多改進(jìn)。但是,為了給客戶應(yīng)用提供最佳的采集系統(tǒng),就必須了解每種部件的限制,然后做出相應(yīng)選擇。

本教程ADI將側(cè)重介紹單個(gè)信號(hào)鏈元件的噪聲,(可視作轉(zhuǎn)換器連接教程的續(xù)篇1,2),并使用Python/SciPy3和LTspice?來模擬這些噪聲。然后,使用Python,通過libm2k和Linux?工業(yè)輸入輸出(IIO)框架來驅(qū)動(dòng)ADALM2000多功能測試儀器來驗(yàn)證模擬結(jié)果。關(guān)于源代碼和更多討論,請(qǐng)參見配套的主動(dòng)學(xué)習(xí)實(shí)驗(yàn)室練習(xí)。

一種通用的混合模式信號(hào)鏈

圖1顯示了在精密儀器應(yīng)用中很典型的一種通用信號(hào)鏈,提供物理輸入和數(shù)字輸出。目前有許多關(guān)于ADC的背景參考資料4,大部分讀者都知道,ADC會(huì)在某個(gè)時(shí)點(diǎn)對(duì)輸入信號(hào)進(jìn)行采樣(或測量某個(gè)觀察時(shí)間段內(nèi)信號(hào)的平均值),并生成該信號(hào)的數(shù)值表示,通常是二進(jìn)制數(shù)值,其值介于0和2(N – 1)之間,N表示輸出字的位數(shù)。

圖1.在混合模式信號(hào)鏈中,會(huì)將一些物理現(xiàn)象(例如溫度、光強(qiáng)度、pH值、力或扭矩)轉(zhuǎn)換為電氣參數(shù)(電阻、電流或直接轉(zhuǎn)換為電壓)。然后,該信號(hào)被放大,受到低通濾波,然后被ADC數(shù)字化,ADC中可能包含內(nèi)部數(shù)字濾波。

ADC噪聲源

雖然圖1中有多個(gè)噪聲源,但有一個(gè)經(jīng)常被忽略,或是被過分強(qiáng)調(diào),即ADC數(shù)字輸出的位數(shù)。以前,人們將ADC的位數(shù)視為評(píng)斷品質(zhì)的終極指標(biāo),認(rèn)為16位轉(zhuǎn)換器比14位轉(zhuǎn)換器好出4倍。5 但在現(xiàn)在的高分辨率轉(zhuǎn)換器中,位數(shù)幾乎可以忽略。注意,信號(hào)鏈設(shè)計(jì)要奉行一條一般原則:“某一級(jí)的輸入噪聲應(yīng)在一定程度上低于前一級(jí)的輸出噪聲?!?/p>

與信號(hào)鏈一樣,ADC內(nèi)部通常也有一個(gè)噪聲源占主導(dǎo)。所以,如果對(duì)N位ADC應(yīng)用無噪聲信號(hào):

?要么得出單個(gè)輸出代碼,要么得出兩個(gè)相鄰的輸出代碼,然后量化噪聲占主導(dǎo)地位。信噪比(SNR)不會(huì)大于(6.02N + 1.76)dB。6

?多個(gè)輸出代碼呈高斯分布,熱噪聲源占主導(dǎo)地位。SNR不會(huì)大于:

其中:VIN(p-p)表示滿量程輸入信號(hào)。σ表示以電壓為單位的輸出代碼的標(biāo)準(zhǔn)偏差。

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

圖2.在PGA增益為1時(shí)(左側(cè)),AD7124輸出噪聲中顯示13個(gè)代碼,標(biāo)準(zhǔn)偏差為約2.5個(gè)代碼。當(dāng)量化噪聲可見時(shí),熱噪聲更為顯著。在PGA增益為128時(shí)(右側(cè)),顯示187個(gè)代碼,量化噪聲是無關(guān)緊要的。截?cái)嘁粋€(gè)或兩個(gè)最低有效位(雙倍或四倍量化噪聲)不會(huì)導(dǎo)致信息丟失。

模擬和測量ADC噪聲

模擬熱噪聲受限的ADC的噪聲是很簡單的。如果噪聲“表現(xiàn)正?!保ㄈ鐖D2所示,呈高斯分布),且在ADC的輸入范圍內(nèi)保持恒定,即可使用NumPy7的隨機(jī)正常函數(shù)來模擬ADC的時(shí)域噪聲,然后通過標(biāo)準(zhǔn)偏差來進(jìn)行驗(yàn)證,如圖3所示。

圖3.使用NumPy模擬高斯噪聲

圖4.ADALM2000是一款多功能USB測試儀器,具有兩個(gè)通用模擬輸入和兩個(gè)輸出,采樣率分別為100 MSPS和150 MSPS。它可以作為簡單的信號(hào)源,用于測量ADC噪聲帶寬和濾波器響應(yīng)。運(yùn)行支持AD7124器件驅(qū)動(dòng)器支持的內(nèi)核的樹莓派4作為AD7124和主機(jī)之間的簡單橋梁。

AD7124設(shè)備驅(qū)動(dòng)器在行業(yè)標(biāo)準(zhǔn)IIO框架之內(nèi),該框架具有完善的軟件API(包括Python捆綁)。應(yīng)用代碼可以在本地(在樹莓派上)運(yùn)行,也可以通過網(wǎng)絡(luò)、串行或USB連接在遠(yuǎn)程機(jī)器上運(yùn)行。此外,pyadi-iio8抽象層負(fù)責(zé)與IIO器件進(jìn)行連接所需的大部分樣板的設(shè)置,極大地簡化了軟件接口。圖5顯示如何打開AD7124-8的連接,進(jìn)行配置,捕捉一個(gè)數(shù)據(jù)塊,然后關(guān)閉連接。

圖5.AD7124-8基本數(shù)據(jù)捕捉

建立與AD7124-8的通信之后,可以執(zhí)行非常簡單,但非常有用的測試:直接測量輸入噪聲。簡單地讓ADC的輸入短路,然后查看ADC代碼的分布,這是確定信號(hào)鏈設(shè)計(jì)的一個(gè)非常有用的步驟。AD7124的輸入模式設(shè)置為單極性,所以只有正值是有效的;圖6所示的測試電路確保輸入始終為正值。

圖6.使用一個(gè)電阻分壓器在AD7124-8的輸入中生成1.25mV偏置,克服15μV最大失調(diào)電壓,確保ADC的讀數(shù)始終為正。

圖7顯示兩個(gè)1024點(diǎn)的測量值。下方的(藍(lán)色)線條是在初次通電后立即獲取的。

圖7.兩次AD7124-8數(shù)據(jù)捕捉是在采用1.25mV偏置的情況下進(jìn)行的。下面的線條顯示在通電后,電路升溫時(shí)的初始漂移。上面的線條顯示在半個(gè)小時(shí)升溫后,讀數(shù)達(dá)到穩(wěn)定。

“漂移”可能是由許多因素造成的——內(nèi)部基準(zhǔn)電壓源升溫、外部電阻升溫(因此漂移),或者是因?yàn)榧纳鸁犭娕?,在熱電偶中,稍微不同的金屬?huì)在存在熱梯度的情況下產(chǎn)生電壓。升溫后測量到的噪聲為約565nV rms,與數(shù)據(jù)手冊(cè)中的噪聲規(guī)格相當(dāng)。

用密度表示ADC噪聲

如果所有元件都包括噪聲密度規(guī)格(大部分明確規(guī)定的傳感器和幾乎所有的放大器都如此要求),模擬信號(hào)鏈設(shè)計(jì)的一般原則(某一級(jí)的輸入噪聲應(yīng)在一定程度上低于前一級(jí)的輸出噪聲)將是一項(xiàng)簡單的計(jì)算。

與放大器和傳感器不同,ADC數(shù)據(jù)手冊(cè)通常不包括噪聲密度規(guī)格。用密度表示ADC的噪聲之后,可以直接與模擬信號(hào)鏈的最后一個(gè)元件的輸出噪聲進(jìn)行比較,它可能是ADC驅(qū)動(dòng)器級(jí),是增益級(jí),或是傳感器本身。

ADC的內(nèi)部噪聲必然會(huì)出現(xiàn)在DC和采樣率的一半之間。理想情況下,該噪聲是扁平的,或者至少是可預(yù)測的形狀。事實(shí)上,由于ADC的總噪聲分布在已知帶寬上,所以可以將其轉(zhuǎn)換成噪聲密度,然后直接與信號(hào)鏈的其他元件進(jìn)行比較。精密轉(zhuǎn)換器的總噪聲通常會(huì)直接給出,單位為Vrms:

其中eRMS表示總有效值噪聲,根據(jù)代碼的接地輸入直方圖的標(biāo)準(zhǔn)偏差進(jìn)行計(jì)算。

用正弦信號(hào)測試和表征的更高速度的轉(zhuǎn)換器通常包含SNR規(guī)格。如果提供,可使用以下公式計(jì)算總有效值噪聲:

其中ADCp-p是ADC的峰峰值輸入范圍??梢允褂靡韵鹿接?jì)算等效噪聲密度:

其中fS表示ADC采樣速率,單位為樣本/秒。

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

ADC現(xiàn)在可以直接納入信號(hào)鏈噪聲分析中,為優(yōu)化信號(hào)鏈增益提供了指導(dǎo)。

?增加增益,只要到達(dá)“ADC之前的最后一個(gè)級(jí)的噪聲密度比ADC的噪聲密度高一位”的點(diǎn),即停止。切勿再增加信號(hào)鏈增益——這只會(huì)放大噪聲,并減小允許的輸入范圍。

這與“填補(bǔ)”ADC的輸入范圍的傳統(tǒng)智慧背道而馳。如果ADC的轉(zhuǎn)換函數(shù)中存在步進(jìn)或斷續(xù),超出ADC的輸入范圍可能會(huì)有好處,但對(duì)于“表現(xiàn)正常”的ADC(大多數(shù)Σ-Δ ADC和現(xiàn)代的高分辨率逐次逼近寄存器(SAR) ADC)來說,通過噪聲進(jìn)行優(yōu)化是首選方法。

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

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

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

AD7124-8濾波器響應(yīng)代碼塊(參見圖9)將設(shè)置ADALM2000的波形發(fā)生器,生成10Hz正弦波,捕捉1024個(gè)數(shù)據(jù)點(diǎn),計(jì)算rms值,然后將結(jié)果附加到列表中。send_sinewave和capture_data是實(shí)用函數(shù),分別用于發(fā)送一個(gè)正弦波到ADALM2000和接收來自AD7124的數(shù)據(jù)塊。2接著,它將頻率步進(jìn)增加,直到達(dá)到120Hz,然后給出圖10所示的結(jié)果。

圖9.ADALM2000的濾波器響應(yīng)框圖

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

當(dāng)測量高衰減值需要一個(gè)更安靜和更低失真的信號(hào)發(fā)生器時(shí),在此設(shè)置下,前幾個(gè)主要波瓣的響應(yīng)是明顯的。

模擬ADC濾波器

測量ADC的濾波器響應(yīng)的能力是一項(xiàng)實(shí)用的平臺(tái)驗(yàn)證工具。但是,要完全模擬信號(hào)鏈,需要濾波器的模型。關(guān)于這一點(diǎn),許多轉(zhuǎn)換器(包括AD7124-8)沒有明確指明,但可以根據(jù)數(shù)據(jù)手冊(cè)中提供的信息逆向設(shè)計(jì)得出可用的模型。

注意,以下只是AD7124-8濾波器的模型;不是位精準(zhǔn)的表示。請(qǐng)參考AD7124-8數(shù)據(jù)手冊(cè)查看所有保證參數(shù)。

AD7124的濾波器都具有由各種sinc函數(shù)組成的頻率響應(yīng)(頻率響應(yīng)與(sin{f}/f)N成正比)。這些濾波器易于構(gòu)建,在零位已知的情況下可以逆向設(shè)計(jì)。

圖11顯示AD7124-8的10Hz陷波濾波器。還提供高階sinc3和sinc4濾波器的各種組合。

濾波器的脈沖(時(shí)域)形狀如圖14所示。濾波器系數(shù)(tap)值被標(biāo)準(zhǔn)化,以得出零頻率時(shí)的單位(0dB)增益。

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

圖12中顯示的同步50Hz/60Hz拒波濾波器是一個(gè)重要示例。此濾波器用于強(qiáng)烈抑制來自交流電源線的噪聲,可能是50Hz(與歐洲一樣),或者是60Hz(與美國一樣)。

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

可以通過對(duì)sinc1濾波器進(jìn)行卷積來生成更高階的sinc濾波器。例如,將兩個(gè)sinc1濾波器(在時(shí)間上有一個(gè)矩形脈沖響應(yīng))進(jìn)行卷積將得到一個(gè)三角脈沖響應(yīng)和一個(gè)相應(yīng)的sinc2頻率響應(yīng)。AD7124濾波器代碼塊(參見圖13)生成一個(gè)sinc3濾波器,在50Hz時(shí)為零,然后添加第四個(gè)濾波器,在60Hz時(shí)為零。

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

濾波器的脈沖(時(shí)域)形狀如圖14所示。濾波器系數(shù)(tap)值被標(biāo)準(zhǔn)化,以得出零頻率時(shí)的單位(0dB)增益。

圖14.對(duì)矩形脈沖響應(yīng)進(jìn)行反復(fù)卷積,得到三角形響應(yīng),然后是類高斯脈沖響應(yīng)。

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

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

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

無可避免:傳感器的基本限制

所有傳感器,無論多么完美,都有最大輸入值(和對(duì)應(yīng)的最大輸出,可能是電壓、電流、電阻,甚至是刻度位置)和一個(gè)有限的本底噪聲——即使輸入完全靜止,輸出也存在“波動(dòng)”。在有些情況下,提供電力輸出的傳感器可能包含具有有限電阻(更廣泛一點(diǎn),阻抗)的元件,在圖17中,RSENSOR表示該電阻。這代表一個(gè)無法改善的基本噪聲限值,此電阻會(huì)生成en(RMS)噪聲電壓,最小值為:

其中:eN(RMS)表示總噪聲。K表示波爾茲曼常數(shù)(1.38e-23 J/K)。T表示電阻的絕對(duì)溫度(開氏度)。F2和F1表示相關(guān)頻段的上限和下限。將帶寬標(biāo)準(zhǔn)化至1Hz,以V/√Hz為單位表示噪聲密度。

傳感器數(shù)據(jù)手冊(cè)可能給出低輸出電阻(通常接近0Ω),但這可能是個(gè)緩沖級(jí),可以簡化與下游電路之間的連接,但無法消除信號(hào)鏈前面部分的電阻導(dǎo)致的噪聲。

圖17.傳感器通常包括一個(gè)內(nèi)部緩沖器,用于簡化與下游電路的連接。當(dāng)輸出阻抗很低(通常接近0 Ω)時(shí),來自高阻抗檢測元件的噪聲與信號(hào)一起被緩沖。

還有許多其他的傳感器限制——機(jī)械的、化學(xué)的、光學(xué)的,每個(gè)傳感器都有自己的理論限制,我們可以模擬其影響,之后再進(jìn)行補(bǔ)償。但噪聲是唯一無法彌補(bǔ)的缺陷。

實(shí)驗(yàn)室噪聲源

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

?它基于第一原則,因此在某種意義上可以作為一種未校準(zhǔn)的標(biāo)準(zhǔn)。

?它是真正隨機(jī)的,不含重復(fù)的模式。

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

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

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

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

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

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

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

我們現(xiàn)在有了已知的噪聲源和測量該噪聲源的方法,它們都可以用來驗(yàn)證信號(hào)鏈。

LTspice中模擬信號(hào)鏈

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

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

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

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

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

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

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

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

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

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

生成測試噪聲

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

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

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

圖26.使用ADALM2000驗(yàn)證任意噪聲

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

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

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

模擬和驗(yàn)證ADC噪聲帶寬

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

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

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

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

圖28.Python代碼示例,用于計(jì)算有效噪聲帶寬

此函數(shù)可用于計(jì)算任意濾波器響應(yīng)的ENBW,包括AD7124的內(nèi)部濾波器。可以使用與之前的50Hz/60Hz拒波濾波器示例類似的方法來計(jì)算AD7124 sinc4濾波器的頻率響應(yīng)和128SPS采樣速率。arb_anbw函數(shù)返回約31Hz的ENBW。

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

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

結(jié)論

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

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

參考資料

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

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

3Pauli Virtanen、Ralf Gommers等。“SciPy 1.0:在Python中進(jìn)行科學(xué)計(jì)算的基本算法。”Nature Methods,17(3),2020年2月。

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

5Ching Man。“MT-229:量化噪聲:公式SNR = 6.02 N + 1.76的擴(kuò)展推導(dǎo)。”ADI公司,2012年8月。

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

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

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

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

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

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

致謝

?感謝Jesper Steensgaard,從LTC2378-20開始,他推動(dòng)了信號(hào)鏈設(shè)計(jì)思維范式的轉(zhuǎn)變。

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

?感謝軟件團(tuán)隊(duì)經(jīng)理Adrian Suciu,他推動(dòng)了libm2k的開發(fā)。

歸屬

本文首次出現(xiàn)在2021年P(guān)ython科學(xué)計(jì)算大會(huì)的會(huì)議記錄中,題為“使用Python來分析和驗(yàn)證混合模式信號(hào)鏈”。DOI:10.25080/majora-1b6fd038-001。

關(guān)于ADI公司

Analog Devices, Inc. (NASDAQ: ADI)是全球領(lǐng)先的半導(dǎo)體公司,致力于在現(xiàn)實(shí)世界與數(shù)字世界之間架起橋梁,以實(shí)現(xiàn)智能邊緣領(lǐng)域的突破性創(chuàng)新。ADI提供結(jié)合模擬、數(shù)字和軟件技術(shù)的解決方案,推動(dòng)數(shù)字化工廠、汽車和數(shù)字醫(yī)療等領(lǐng)域的持續(xù)發(fā)展,應(yīng)對(duì)氣候變化挑戰(zhàn),并建立人與世界萬物的可靠互聯(lián)。ADI公司2022財(cái)年收入超過120億美元,全球員工2.4萬余人。攜手全球12.5萬家客戶,ADI助力創(chuàng)新者不斷超越一切可能。更多信息,請(qǐng)?jiān)L問www.analog.com/cn。

關(guān)于作者

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

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

關(guān)鍵詞: 濾波器響應(yīng) 噪聲發(fā)生器 采樣速率 模擬信號(hào)

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3