使用Moku自定義實時數(shù)字濾波器實現(xiàn)降噪與去尖峰
在本應用筆記中,,我們利用 Moku 云編譯和多儀器模式來解釋常用移動平均濾波器的開發(fā),。我們使用示波器和頻率響應分析儀來檢測有限脈沖響應(FIR)濾波器。然后,,我們使用Moku:Pro,、Moku:Lab或Moku:Go設備開發(fā)、部署和檢測五點中值濾波器,。以這種方式組合線性和非線性濾波器,,可用于抑制許多控制或傳感應用中的尖峰并降低噪聲。
Moku云編譯
Moku云編譯(Moku Cloud Compile, MCC)是Liquid Instruments的一項功能,,可讓您快速編譯自定義硬件描述語言(HDL)代碼并將其部署到Moku設備,。MCC將Moku內(nèi)的FPGA開放,可以自定義代碼,,并允許特定的功能和特性,。我們提供一系列示例和支持來幫助您部署自定義功能。
移動平均濾波器
移動平均濾波器是n個連續(xù)信號樣本的平均值,。方程為:
其中x(t)是離散時間序列輸入信號,,y(t)是輸出信號。例如,,當n = 4時:
這種濾波器在降低信號噪聲方面具有非常有用的應用,。對于不相關(guān)的白噪聲,此移動平均函數(shù)z適合抑制噪聲并保留尖銳的階躍響應,,但阻帶性能較差,。在硬件中實現(xiàn)這一點僅需要加法器和一次除法,因此在硬件資源有限的情況下非常有用,。在硬件中,,除以任意數(shù)字在FPGA中并不簡單。通常,,該濾波器是通過確保n是2的冪(即n =2N)來實現(xiàn)的,,從而將除法減少為右移N個二進制位。
圖1 二進制按位移位示意圖
直接硬件實現(xiàn)如圖2所示,。
圖2 以一系列加法器實現(xiàn)移動平均
此方案需要2N個加法器,,硬件成本比較昂貴,。深度加法器還可能需要時鐘寄存器來滿足合理的時序性能。我們可以通過以下方式改進這一點:
因此,,圖3更概括地說明了這一點:
圖3 累加器實現(xiàn)
這說明每個輸出取決于先前的輸出和當前的輸入?,F(xiàn)在,我們已將移動平均簡化為一個累加器,、一個減法器和一個n級移位寄存器,,后者用于2N除法的按位右移。當N > 4時,,硬件明顯有了節(jié)省,,限制因素是2N級移位寄存器。此外,,不需要更多的時鐘元件來滿足時序限制,。
VHDL實現(xiàn)
圖4顯示了VHDL實現(xiàn)的核心。這個過濾器的核心非常簡單,,只有12行代碼,。p_moving_average是最后N個樣本的時間歷史記錄,其中第8行在前面添加最新的輸入并刪除最舊的輸入,。在第9行,,累加器r_acc正在添加新的輸入,而第10行正在生成輸出所需的按位移位(除法器),。
編譯和部署
編譯該VHDL代碼非常便捷,。
首先,上傳代碼,,然后選擇構(gòu)建,。Liquid Instruments服務器將生成一個文件或比特流,定義FPGA上實現(xiàn)代碼所需的硬件配置,。對于Moku:Go和Moku:Lab,,編譯大約需要5分鐘;對于 Moku:Pro,,由于 FPGA 的尺寸更大,,該時間接近20分鐘。
測試MCC移動平均濾波器
為了測試該移動平均濾波器,,我們使用Moku:Go的多儀器模式(MiM),,如圖5所示。在此模式下,,我們可以部署兩臺采樣率為31.25 MHz的儀器,。我們同樣可以在Moku:Pro,Moku:Lab上測試該濾波器,。
插槽1插入MCC移動平均濾波器,,插槽2插入示波器儀器。我們使用示波器觀察從輸入1輸入的的已濾波和未濾波信號,。示波器還具有一個集成波形發(fā)生器,,用于生成測試信號。在本例中,,我們使用示波器的內(nèi)置波形發(fā)生器生成2 kHz 的方波,,并將其連接到輸出1。我們在外部將信號衰減 60 dB,,使其接近Moku:Go的本底噪聲,。然后我們將該信號路由回輸入1。
圖 5:多儀器模式下的濾波器測試設置
在圖6中,,我們可以在藍色軌跡中看到衰減后的噪聲方波,。紅色跡線顯示移動平均器的輸出,具有明顯更干凈的方波,。這是一種十分有效的降噪技術(shù),,我們使用了MiM,并在一個插槽啟用了MCC功能,。
現(xiàn)在我們轉(zhuǎn)為關(guān)注噪聲功率,,我們知道該平均濾波器將噪聲功率降低了2N倍;噪聲幅度降低了2N/2,。我們的實現(xiàn)使用N=8,,因此噪聲幅度應減少到原始值的6.25% (1/16)。
因此,,這種z簡單的濾波器對于降低噪聲很有用,。它的計算量也非常小,只需要累加器,、減法器和按位移位,。這意味著它可以以非常高的速度運行,在 Moku:Pro 上為 312.5 MSa/s,,在 Moku:Go 上為 31.25 MSa/s,。
圖7顯示了 Moku:Go 輸入噪聲(藍色線)和幅度分別為161.2 mV和9.162 mV的移動平均濾波器信號(紅色線)。由此我們可以看出,,濾波器后的噪聲幅度接近于原始噪聲的預期因子1/16,,即 9.162/161.2 = 0.057。該過濾器正在運行并滿足我們的期望,。
圖7 輸入噪聲與濾波后信號
我們可以使用Moku頻率響應分析儀(FRA)儀器輕松確定移動平均濾波器的頻率響應,。FRA在其輸出上驅(qū)動掃頻正弦波,并測量其輸入上產(chǎn)生的幅度和相位,。圖8顯示了測試設置:
圖 8:頻率響應分析儀設置
圖9顯示了MCC濾波器的頻率響應結(jié)果,。與圖10(理想移動平均濾波器的MATLAB圖)相比,,我們發(fā)現(xiàn)移動平均濾波器沒有提供特別好的阻帶衰減。
圖9 移動平均濾波器的頻率響應
圖10 理想移動平均濾波器的MATLAB圖
中值濾波器
中值濾波器是一種非線性濾波器,,用于確定小移動窗口的中值,。輸入樣本通過窗口,輸出給定任何時間樣本的中值,。移動平均濾波器適合過濾均勻分布的隨機噪聲,,中值濾波器適合濾除非常短的尖峰或脈沖噪聲。雖然它經(jīng)常部署在圖像處理中,,但它在更一般的信號處理中也很有用,。
通常,為窗口長度選擇奇數(shù)個樣本:3,、5或7個點,。這意味著輸出只是值排序窗口的中間樣本。
VHDL實現(xiàn)
圖11顯示了VHDL五點中值函數(shù)的實現(xiàn),。在時鐘信號的每個上升沿,,圖11中的函數(shù)將五個輸入樣本從低值到高值排序。這種排序發(fā)生在第12行到第20行的兩個嵌套“for"循環(huán)中,。因此,,中位數(shù)是排序窗口中的第三個樣本;這被分配給第22行的輸出,。
圖 11:中值VHDL代碼
我們可以使用示波器和云編譯器插槽以及示波器的波形生成器,,以與移動平均濾波器相同的方式分析中值濾波器的時域性能。
圖12顯示噪聲峰值顯著降低,,未濾波噪聲的峰峰值測量值從 3.66 mV 降低至濾波后的305 μV,。這減少了1/12,不如移動平均濾波器(1/16)有效,。
圖12 中值濾波器時域性能
由于中值濾波器的一個關(guān)鍵功能是消除脈沖噪聲,,因此我們還使用帶有附加脈沖的方波來檢查其性能。圖13顯示了具有前沿尖峰和低電平中途尖峰的方波(藍色線),,濾波信號顯示中值濾波器去除尖峰后的方波(紅色線),。
圖13 去除尖峰噪聲的中值
我們在Moku:Go上編譯并測試了這個中值濾波器,它的MCC時鐘速率為31.25 MHz,。然而,,在為Moku:Pro測試此示例時,由于時鐘速率增加到312.5 MHz,,我們需要調(diào)整我們的示例,。圖 11 中的實現(xiàn)使用帶有變量的嵌套 for 循環(huán)。這合成了一個復雜的組合邏輯網(wǎng)絡,,其轉(zhuǎn)遞延遲(圖14)超過了Moku:Pro時鐘速率的3.2 ns周期,。為了滿足時序要求,,時鐘元件之間的邏輯轉(zhuǎn)遞延遲必須小于時鐘周期。
圖 14:通過邏輯的傳遞延遲
我們需要將大型邏輯塊分成由寄存器或時鐘元件分隔成段,。在VHDL中,,我們通過使用信號而不是變量來實現(xiàn)這一點。在本例中,,為了便于編碼,,我們將邏輯分為五個階段,。這意味著輸入到輸出的延遲約為五個時鐘周期,這適合我們的應用程序,。
圖15顯示了該五階段線性中值算法的一個階段,。
圖15 VHDL代碼部分示例
Moku:Pro 中值濾波器測試
我們使用MiM中的Moku:Pro和任意波形發(fā)生器(AWG)來創(chuàng)建帶有噪聲尖峰的方波。然后,,我們將AWG的輸出連接到MCC中值濾波器,并使用示波器觀察效果,。
此MiM設置如圖16所示,。我們配置了AWG,如圖17所示,。它的輸出將模擬信號驅(qū)動到Moku:Pro的輸出 3,,而該信號又通過同軸電纜環(huán)接到輸入3。中值濾波器部署在MCC中,,并使用示波器來觀察性能。
圖16 Moku:Pro中值濾波器測試系統(tǒng)
圖17 任意波形發(fā)生器,,帶有脈沖的方波
最后,,我們觀察中值濾波器的性能,如圖18所示,。中值濾波器消除了尖峰,同時保留了方波的尖銳邊緣,。由于插入分級時鐘線程而導致的處理延遲導致大約44 ns的延遲,。
圖 18:Moku:Pro中值濾波器現(xiàn)象
總結(jié)
在本應用筆記中,我們討論了移動平均濾波器和中值濾波器的實現(xiàn),。為了實現(xiàn)這些,,我們利用Moku Cloud Compile來構(gòu)建過濾器并將其部署到Moku:Go,。然后我們修改了設計以確保與增加的Moku:Pro時鐘速率兼容,。為了驗證MCC濾波器,,我們使用多儀器模式連接wan全可定制的濾波器、示波器和任意波形發(fā)生器,。這種實現(xiàn)方式可以有效降低噪聲,同時保留數(shù)字信號處理應用中的信號邊緣,。
關(guān)于昊量光電:
上海昊量光電設備有限公司是光電產(chǎn)品專業(yè)代理商,,產(chǎn)品包括各類激光器、光電調(diào)制器,、光學測量設備,、光學元件等,,涉及應用涵蓋了材料加工、光通訊,、生物醫(yī)療,、科學研究、國防,、量子光學,、生物顯微,、物聯(lián)傳感,、激光制造等;可為客戶提供完整的設備安裝,,培訓,,硬件開發(fā),軟件開發(fā),,系統(tǒng)集成等服務,。
立即詢價
您提交后,專屬客服將第一時間為您服務