【導讀】繼續我們在LTspice中使用FIR濾波器模型的旅程,本篇博客將深入探討.AC和.NOISE測量,并使用另一種FIR模型來演示相關測量方法,以驗證兩種不同的建模技術是否等效。在之前的博客文章中,我介紹了幾個可在LTspice中對簡單FIR濾波器進行建模的模塊。4月份的文章則探討了將數字濾波器模型與模擬電路元件相結合的方法,并演示了如何通過.AC和.NOISE分析進行初步觀察。
LTspice中更靈活的FIR實現方案
回顧一下,最初的FIR實現方案是對連續采樣點的平均計算:

其中M為樣本數。若展開三個樣本的平均求和公式,可得:

《面向科學家和工程師的數字信號處理指南》第15章(第283頁)展示了另一種使用遞歸的數學實現方法。對該公式進行轉化,可得出以下表達式:

其中,M仍代表參與平均的樣本數。當前輸出樣本(y[n])等于前一個輸出樣本(y[n-1])加上當前輸入樣本(x[n]),再減去上一個被移出隊列的輸入樣本(x[n-M])。
要實現遞歸型FIR濾波器,需要兩個新的模型模塊:一個延遲N個周期的模塊和一個三輸入加法器模塊。這兩個模塊是對2月份博客中所介紹模塊的輕微變體,能夠幫助我們在簡潔的原理圖中構建所需功能。

圖1:LTspice中FIR濾波器模型的兩種實現方案
在探討遞歸實現方案的優勢之前,首先需要證明該實現方案與第一種方案具有等效性。
比較各濾波器的交流響應
如需探索此示例,請打開附件.zip壓縮包中的FIR Filter Implementations.asc文件。為確保LTspice能夠找到所有必需的文件,請在打開原理圖前先解壓該.zip文件。
FIR-Filters-Part-3.zip
從菜單欄選擇“Simulate -> Run/Pause”(仿真 -> 運行/暫停),以執行原理圖中由.AC指令指定的交流仿真。圖2展示了兩個濾波器的輸入波形(上方繪圖面板)和輸出波形(下方繪圖面板)的重疊對比。

圖2:各FIR濾波器模型輸入端與輸出端的頻率響應
通過該圖可以快速觀察到,這兩種濾波器的交流響應完全一致。然而,疊加顯示.NOISE仿真結果的操作并不那么直觀;這里有一個實用技巧。
使用.STEP指令在多個節點觀察噪聲結果
按住Shift鍵并點擊處于激活狀態的.AC指令,將其注釋掉。隨后右鍵單擊.STEP指令以打開文本編輯器(圖3)。

圖3:包含多條指令的文本塊:從注釋轉換為活動指令
此文本塊包含多條指令,可作為一組統一進行注釋或取消注釋操作。點擊“SPICE Directive”(SPICE指令)單選按鈕,將此文本從注釋轉換為一組活動的指令,然后點擊“OK”。接著運行仿真。
現在需要采用一些巧妙的設置來查看結果。按下“A”鍵添加曲線軌跡,并選擇v(onoise)。波形繪制完成后,右鍵單擊波形窗口,依次選擇“Notes & Annotations -> Annotate Steps”(筆記與注釋 -> 標注步進),并將步進圖例放置在波形窗口中(圖4)。有關使用.STEP指令的基礎概念,請參閱關于在.NOISE仿真中使用.STEP和.MEAS指令的相關博客文章。

圖4:在.NOISE仿真中逐步遍歷多個輸出節點
再次右鍵單擊圖形,選擇“View -> Select Steps”(視圖 -> 選擇步進)。利用彈出的對話框來控制需要繪制的噪聲結果。

圖5:選擇需要繪制的.STEP結果
在本例中,使用.STEP指令在噪聲仿真中依次遍歷各個輸出節點:
.step param n list 0 1 2 3
.param noise_outnode=select(n, 'INA', 'OUTA', 'INB', 'OUTB')
在第一步(n=0)中,檢查的是INA節點的噪聲:即由R1產生,并經R1和C1組成的濾波器整形后的噪聲。在第二步(n=1)中,檢查的是OUTA節點的噪聲;此時噪聲進一步受到了數字濾波器的整形處理。
使用.MEAS指令實現自動化測量
右鍵單擊.MEAS指令以打開文本編輯器(圖6)。點擊“SPICE Directive”(SPICE指令)單選按鈕,將此文本從注釋轉換為一組活動的指令,然后點擊“OK”。接著運行仿真。

圖6:.MEAS指令用于測量每次.STEP仿真的積分噪聲
點擊原理圖以確保其為當前活動窗口,然后依次選擇“View -> SPICE Output Log”(視圖 -> SPICE輸出日志)(圖7)。在此處可以看到INA(n=0)、OUTA(n=1)、INB(n=2)和OUTB(n=3)各節點的積分噪聲數值。

圖7:包含積分噪聲測量結果的SPICE輸出日志
我使用了三種方法來驗證這兩種濾波器的行為是否完全一致:1) 檢查.AC波形,2) 檢查.NOISE波形,3) 對.NOISE仿真結果進行自動化的.MEAS測量。
使用遞歸實現方案有什么優勢?只需修改少量參數,即可輕松將平均樣本數從3更改為50:

圖8:對50個樣本進行平均處理的遞歸FIR濾波器
結論
這些模型模塊顯然無法涵蓋數字濾波器的所有細節特征。但它們勝在簡單高效,可用于理解組合模擬電路與數字后處理環節的整體信號及噪聲響應。
在這個由三部分組成的系列文章中,我們從基礎的FIR構建模塊出發,一路探索了巧妙的LTspice測量技術,幫助您自信地驗證混合信號設計。至此,您已掌握了在LTspice中對數字信號處理進行建模的工具,能夠將其與模擬電路無縫集成,并通過交流分析、噪聲仿真和自動化測量嚴格驗證您的實現方案。



