金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上

15601689581
當前位置:主頁(yè) > 技術(shù)文章 > 使用Moku自定義實(shí)時(shí)數字濾波器實(shí)現降噪與去尖峰

使用Moku自定義實(shí)時(shí)數字濾波器實(shí)現降噪與去尖峰

更新時(shí)間:2024-01-04 點(diǎn)擊次數:512

使用Moku自定義實(shí)時(shí)數字濾波器實(shí)現降噪與去尖峰


在本應用筆記中,我們利用 Moku 云編譯和多儀器模式來(lái)解釋常用移動(dòng)平均濾波器的開(kāi)發(fā)。我們使用示波器和頻率響應分析儀來(lái)檢測有限脈沖響應(FIR)濾波器。然后,我們使用Moku:Pro、Moku:Lab或Moku:Go設備開(kāi)發(fā)、部署和檢測五點(diǎn)中值濾波器。以這種方式組合線(xiàn)性和非線(xiàn)性濾波器,可用于抑制許多控制或傳感應用中的尖峰并降低噪聲。


Moku云編譯


Moku云編譯(Moku Cloud Compile, MCC)是Liquid Instruments的一項功能,可讓您快速編譯自定義硬件描述語(yǔ)言(HDL)代碼并將其部署到Moku設備。MCC將Moku內的FPGA開(kāi)放,可以自定義代碼,并允許特定的功能和特性。我們提供一系列示例和支持來(lái)幫助您部署自定義功能。


移動(dòng)平均濾波器


移動(dòng)平均濾波器是n個(gè)連續信號樣本的平均值。方程為:

1.png

其中x(t)是離散時(shí)間序列輸入信號,y(t)是輸出信號。例如,當n = 4時(shí):

2.png


這種濾波器在降低信號噪聲方面具有非常有用的應用。對于不相關(guān)的白噪聲,此移動(dòng)平均函數z適合抑制噪聲并保留尖銳的階躍響應,但阻帶性能較差。在硬件中實(shí)現這一點(diǎn)僅需要加法器和一次除法,因此在硬件資源有限的情況下非常有用。在硬件中,除以任意數字在FPGA中并不簡(jiǎn)單。通常,該濾波器是通過(guò)確保n是2的冪(即n =2N)來(lái)實(shí)現的,從而將除法減少為右移N個(gè)二進(jìn)制位。


圖片1.png

圖1 二進(jìn)制按位移位示意圖


直接硬件實(shí)現如圖2所示。


圖片2.png

圖2 以一系列加法器實(shí)現移動(dòng)平均


此方案需要2N個(gè)加法器,硬件成本比較昂貴。深度加法器還可能需要時(shí)鐘寄存器來(lái)滿(mǎn)足合理的時(shí)序性能。我們可以通過(guò)以下方式改進(jìn)這一點(diǎn):


3.png

因此,圖3更概括地說(shuō)明了這一點(diǎn):

圖3 累加器實(shí)現


這說(shuō)明每個(gè)輸出取決于先前的輸出和當前的輸入?,F在,我們已將移動(dòng)平均簡(jiǎn)化為一個(gè)累加器、一個(gè)減法器和一個(gè)n級移位寄存器,后者用于2N除法的按位右移。當N > 4時(shí),硬件明顯有了節省,限制因素是2N級移位寄存器。此外,不需要更多的時(shí)鐘元件來(lái)滿(mǎn)足時(shí)序限制。


VHDL實(shí)現


圖4顯示了VHDL實(shí)現的核心。這個(gè)過(guò)濾器的核心非常簡(jiǎn)單,只有12行代碼。p_moving_average是最后N個(gè)樣本的時(shí)間歷史記錄,其中第8行在前面添加最新的輸入并刪除最舊的輸入。在第9行,累加器r_acc正在添加新的輸入,而第10行正在生成輸出所需的按位移位(除法器)。


圖片4.png


編譯和部署


編譯該VHDL代碼非常便捷。


首先,上傳代碼,然后選擇構建。Liquid Instruments服務(wù)器將生成一個(gè)文件或比特流,定義FPGA上實(shí)現代碼所需的硬件配置。對于Moku:Go和Moku:Lab,編譯大約需要5分鐘;對于 Moku:Pro,由于 FPGA 的尺寸更大,該時(shí)間接近20分鐘。



測試MCC移動(dòng)平均濾波器


為了測試該移動(dòng)平均濾波器,我們使用Moku:Go的多儀器模式(MiM),如圖5所示。在此模式下,我們可以部署兩臺采樣率為31.25 MHz的儀器。我們同樣可以在Moku:Pro,Moku:Lab上測試該濾波器。


插槽1插入MCC移動(dòng)平均濾波器,插槽2插入示波器儀器。我們使用示波器觀(guān)察從輸入1輸入的的已濾波和未濾波信號。示波器還具有一個(gè)集成波形發(fā)生器,用于生成測試信號。在本例中,我們使用示波器的內置波形發(fā)生器生成2 kHz 的方波,并將其連接到輸出1。我們在外部將信號衰減 60 dB,使其接近Moku:Go的本底噪聲。然后我們將該信號路由回輸入1。


圖片5.png

 

圖 5:多儀器模式下的濾波器測試設置


在圖6中,我們可以在藍色軌跡中看到衰減后的噪聲方波。紅色跡線(xiàn)顯示移動(dòng)平均器的輸出,具有明顯更干凈的方波。這是一種十分有效的降噪技術(shù),我們使用了MiM,并在一個(gè)插槽啟用了MCC功能。


 

現在我們轉為關(guān)注噪聲功率,我們知道該平均濾波器將噪聲功率降低了2N倍;噪聲幅度降低了2N/2。我們的實(shí)現使用N=8,因此噪聲幅度應減少到原始值的6.25% (1/16)。


因此,這種z簡(jiǎn)單的濾波器對于降低噪聲很有用。它的計算量也非常小,只需要累加器、減法器和按位移位。這意味著(zhù)它可以以非常高的速度運行,在 Moku:Pro 上為 312.5 MSa/s,在 Moku:Go 上為 31.25 MSa/s。


圖7顯示了 Moku:Go 輸入噪聲(藍色線(xiàn))和幅度分別為161.2 mV和9.162 mV的移動(dòng)平均濾波器信號(紅色線(xiàn))。由此我們可以看出,濾波器后的噪聲幅度接近于原始噪聲的預期因子1/16,即 9.162/161.2 = 0.057。該過(guò)濾器正在運行并滿(mǎn)足我們的期望。


圖片7.png

圖7 輸入噪聲與濾波后信號

頻率響應

我們可以使用Moku頻率響應分析儀(FRA)儀器輕松確定移動(dòng)平均濾波器的頻率響應。FRA在其輸出上驅動(dòng)掃頻正弦波,并測量其輸入上產(chǎn)生的幅度和相位。圖8顯示了測試設置:


圖片8.png

 

圖 8:頻率響應分析儀設置


圖9顯示了MCC濾波器的頻率響應結果。與圖10(理想移動(dòng)平均濾波器的MATLAB圖)相比,我們發(fā)現移動(dòng)平均濾波器沒(méi)有提供特別好的阻帶衰減。


圖片9.png

圖9 移動(dòng)平均濾波器的頻率響應


 

圖片10.png

圖10 理想移動(dòng)平均濾波器的MATLAB圖


中值濾波器


中值濾波器是一種非線(xiàn)性濾波器,用于確定小移動(dòng)窗口的中值。輸入樣本通過(guò)窗口,輸出給定任何時(shí)間樣本的中值。移動(dòng)平均濾波器適合過(guò)濾均勻分布的隨機噪聲,中值濾波器適合濾除非常短的尖峰或脈沖噪聲。雖然它經(jīng)常部署在圖像處理中,但它在更一般的信號處理中也很有用。


通常,為窗口長(cháng)度選擇奇數個(gè)樣本:3、5或7個(gè)點(diǎn)。這意味著(zhù)輸出只是值排序窗口的中間樣本。


VHDL實(shí)現


圖11顯示了VHDL五點(diǎn)中值函數的實(shí)現。在時(shí)鐘信號的每個(gè)上升沿,圖11中的函數將五個(gè)輸入樣本從低值到高值排序。這種排序發(fā)生在第12行到第20行的兩個(gè)嵌套“for"循環(huán)中。因此,中位數是排序窗口中的第三個(gè)樣本;這被分配給第22行的輸出。


圖片11.png 

圖 11:中值VHDL代碼


我們可以使用示波器和云編譯器插槽以及示波器的波形生成器,以與移動(dòng)平均濾波器相同的方式分析中值濾波器的時(shí)域性能。



圖12顯示噪聲峰值顯著(zhù)降低,未濾波噪聲的峰峰值測量值從 3.66 mV 降低至濾波后的305 μV。這減少了1/12,不如移動(dòng)平均濾波器(1/16)有效。


圖片12.png 

圖12 中值濾波器時(shí)域性能


由于中值濾波器的一個(gè)關(guān)鍵功能是消除脈沖噪聲,因此我們還使用帶有附加脈沖的方波來(lái)檢查其性能。圖13顯示了具有前沿尖峰和低電平中途尖峰的方波(藍色線(xiàn)),濾波信號顯示中值濾波器去除尖峰后的方波(紅色線(xiàn))。



圖片13.png

圖13 去除尖峰噪聲的中值


我們在Moku:Go上編譯并測試了這個(gè)中值濾波器,它的MCC時(shí)鐘速率為31.25 MHz。然而,在為Moku:Pro測試此示例時(shí),由于時(shí)鐘速率增加到312.5 MHz,我們需要調整我們的示例。圖 11 中的實(shí)現使用帶有變量的嵌套 for 循環(huán)。這合成了一個(gè)復雜的組合邏輯網(wǎng)絡(luò ),其轉遞延遲(圖14)超過(guò)了Moku:Pro時(shí)鐘速率的3.2 ns周期。為了滿(mǎn)足時(shí)序要求,時(shí)鐘元件之間的邏輯轉遞延遲必須小于時(shí)鐘周期。


圖片14.png

 

圖 14:通過(guò)邏輯的傳遞延遲


我們需要將大型邏輯塊分成由寄存器或時(shí)鐘元件分隔成段。在VHDL中,我們通過(guò)使用信號而不是變量來(lái)實(shí)現這一點(diǎn)。在本例中,為了便于編碼,我們將邏輯分為五個(gè)階段。這意味著(zhù)輸入到輸出的延遲約為五個(gè)時(shí)鐘周期,這適合我們的應用程序。


圖15顯示了該五階段線(xiàn)性中值算法的一個(gè)階段。


圖片15.png

 圖15 VHDL代碼部分示例


Moku:Pro 中值濾波器測試


我們使用MiM中的Moku:Pro和任意波形發(fā)生器(AWG)來(lái)創(chuàng )建帶有噪聲尖峰的方波。然后,我們將AWG的輸出連接到MCC中值濾波器,并使用示波器觀(guān)察效果。

此MiM設置如圖16所示。我們配置了AWG,如圖17所示。它的輸出將模擬信號驅動(dòng)到Moku:Pro的輸出 3,而該信號又通過(guò)同軸電纜環(huán)接到輸入3。中值濾波器部署在MCC中,并使用示波器來(lái)觀(guān)察性能。


圖片16.png

圖16 Moku:Pro中值濾波器測試系統

 

圖片17.png 

圖17 任意波形發(fā)生器,帶有脈沖的方波


最后,我們觀(guān)察中值濾波器的性能,如圖18所示。中值濾波器消除了尖峰,同時(shí)保留了方波的尖銳邊緣。由于插入分級時(shí)鐘線(xiàn)程而導致的處理延遲導致大約44 ns的延遲。


圖片18.png

圖 18:Moku:Pro中值濾波器現象


總結


在本應用筆記中,我們討論了移動(dòng)平均濾波器和中值濾波器的實(shí)現。為了實(shí)現這些,我們利用Moku Cloud Compile來(lái)構建過(guò)濾器并將其部署到Moku:Go。然后我們修改了設計以確保與增加的Moku:Pro時(shí)鐘速率兼容。為了驗證MCC濾波器,我們使用多儀器模式連接wan可定制的濾波器、示波器和任意波形發(fā)生器。這種實(shí)現方式可以有效降低噪聲,同時(shí)保留數字信號處理應用中的信號邊緣。



關(guān)于昊量光電:

上海昊量光電設備有限公司是光電產(chǎn)品專(zhuān)業(yè)代理商,產(chǎn)品包括各類(lèi)激光器、光電調制器、光學(xué)測量設備、光學(xué)元件等,涉及應用涵蓋了材料加工、光通訊、生物醫療、科學(xué)研究、國防、量子光學(xué)、生物顯微、物聯(lián)傳感、激光制造等;可為客戶(hù)提供完整的設備安裝,培訓,硬件開(kāi)發(fā),軟件開(kāi)發(fā),系統集成等服務(wù)。

昊量微信在線(xiàn)客服

昊量微信在線(xiàn)客服

版權所有 © 2024上海昊量光電設備有限公司 備案號:滬ICP備08102787號-3 技術(shù)支持:化工儀器網(wǎng) 管理登陸 Sitemap.xml

枞阳县| 亳州市| 伊金霍洛旗| 尼勒克县| 乐安县| 铜山县| 洪雅县| 旺苍县| 淮阳县| 合江县| 建瓯市| 威信县| 临夏县| 铁岭县| 闽侯县| 婺源县| 安丘市| 历史| 聂拉木县| 雅江县| 泰宁县| 离岛区| 衢州市| 柞水县| 霸州市| 金乡县| 西充县| 桂东县| 宁德市| 长乐市| 斗六市| 竹溪县| 麦盖提县| 北流市| 青海省| 文安县| 德兴市| 尉氏县| 青浦区| 留坝县| 宝山区|