在本国产成人在线观看免费网站筆記中,我們(men) 利用Moku雲(yun) 編譯,通過VHDL進行可自定義(yi) 的編程,來解釋常用的移動平均濾波器的開發,並通過多儀(yi) 器並行功能對其性能進行了測試。
使用Moku自定義(yi) 實時數字濾波器實現降噪與(yu) 去尖峰
在本国产成人在线观看免费网站筆記中,我們(men) 利用 Moku 雲(yun) 編譯和多儀(yi) 器模式來解釋常用移動平均濾波器的開發。我們(men) 使用示波器和頻率響應分析儀(yi) 來檢測有限脈衝(chong) 響應(FIR)濾波器。然後,我們(men) 使用Moku:Pro、Moku:Lab或Moku:Go設備開發、部署和檢測五點中值濾波器。以這種方式組合線性和非線性濾波器,可用於(yu) 抑製許多控製或傳(chuan) 感国产成人在线观看免费网站中的尖峰並降低噪聲。
Moku雲(yun) 編譯
Moku雲(yun) 編譯(Moku Cloud Compile, MCC)是Liquid Instruments的一項功能,可讓您快速編譯自定義(yi) 硬件描述語言(HDL)代碼並將其部署到Moku設備。MCC將Moku內(nei) 的FPGA開放,可以自定義(yi) 代碼,並允許特定的功能和特性。我們(men) 提供一係列示例和支持來幫助您部署自定義(yi) 功能。
移動平均濾波器
移動平均濾波器是n個(ge) 連續信號樣本的平均值。方程為(wei) :
其中x(t)是離散時間序列輸入信號,y(t)是輸出信號。例如,當n = 4時:
這種濾波器在降低信號噪聲方麵具有非常有用的国产成人在线观看免费网站。對於(yu) 不相關(guan) 的白噪聲,此移動平均函數zui適合抑製噪聲並保留尖銳的階躍響應,但阻帶性能較差。在硬件中實現這一點僅(jin) 需要加法器和一次除法,因此在硬件資源有限的情況下非常有用。在硬件中,除以任意數字在FPGA中並不簡單。通常,該濾波器是通過確保n是2的冪(即n =2N)來實現的,從(cong) 而將除法減少為(wei) 右移N個(ge) 二進製位。
圖1 二進製按位移位示意圖
直接硬件實現如圖2所示。
圖2 以一係列加法器實現移動平均
此方案需要2N個(ge) 加法器,硬件成本比較昂貴。深度加法器還可能需要時鍾寄存器來滿足合理的時序性能。我們(men) 可以通過以下方式改進這一點:
因此,圖3更概括地說明了這一點:
圖3 累加器實現
這說明每個(ge) 輸出取決(jue) 於(yu) 先前的輸出和當前的輸入。現在,我們(men) 已將移動平均簡化為(wei) 一個(ge) 累加器、一個(ge) 減法器和一個(ge) n級移位寄存器,後者用於(yu) 2N除法的按位右移。當N > 4時,硬件明顯有了節省,限製因素是2N級移位寄存器。此外,不需要更多的時鍾元件來滿足時序限製。
VHDL實現
圖4顯示了VHDL實現的核心。這個(ge) 過濾器的核心非常簡單,隻有12行代碼。p_moving_average是zui後N個(ge) 樣本的時間曆史記錄,其中第8行在前麵添加zui新的輸入並刪除zui舊的輸入。在第9行,累加器r_acc正在添加新的輸入,而第10行正在生成輸出所需的按位移位(除法器)。
編譯和部署
編譯該VHDL代碼非常便捷。
首先,請訪問compile.liquidinstruments.com,上傳(chuan) 代碼,然後選擇構建。Liquid Instruments服務器將生成一個(ge) 文件或比特流,定義(yi) FPGA上實現代碼所需的硬件配置。對於(yu) Moku:Go和Moku:Lab,編譯大約需要5分鍾;對於(yu) Moku:Pro,由於(yu) FPGA 的尺寸更大,該時間接近20分鍾。
此處提供了指導您完成編譯和部署的詳細說明:
https://www.liquidinstruments.com/blog/2022/09/02/starting-with-moku-cloud-compile/
測試MCC移動平均濾波器
為(wei) 了測試該移動平均濾波器,我們(men) 使用Moku:Go的多儀(yi) 器模式(MiM),如圖5所示。在此模式下,我們(men) 可以部署兩(liang) 台采樣率為(wei) 31.25 MHz的儀(yi) 器。我們(men) 同樣可以在Moku:Pro,Moku:Lab上測試該濾波器。
插槽1插入MCC移動平均濾波器,插槽2插入示波器儀(yi) 器。我們(men) 使用示波器觀察從(cong) 輸入1輸入的的已濾波和未濾波信號。示波器還具有一個(ge) 集成波形發生器,用於(yu) 生成測試信號。在本例中,我們(men) 使用示波器的內(nei) 置波形發生器生成2 kHz 的方波,並將其連接到輸出1。我們(men) 在外部將信號衰減 60 dB,使其接近Moku:Go的本底噪聲。然後我們(men) 將該信號路由回輸入1。
圖 5:多儀(yi) 器模式下的濾波器測試設置
在圖6中,我們(men) 可以在藍色軌跡中看到衰減後的噪聲方波。紅色跡線顯示移動平均器的輸出,具有明顯更幹淨的方波。這是一種十分有效的降噪技術,我們(men) 使用了MiM,並在一個(ge) 插槽啟用了MCC功能。
現在我們(men) 轉為(wei) 關(guan) 注噪聲功率,我們(men) 知道該平均濾波器將噪聲功率降低了2N倍;噪聲幅度降低了。我們(men) 的實現使用N=8,因此噪聲幅度應減少到原始值的6.25% (1/16)。
因此,這種zui簡單的濾波器對於(yu) 降低噪聲很有用。它的計算量也非常小,隻需要累加器、減法器和按位移位。這意味著它可以以非常高的速度運行,在 Moku:Pro 上為(wei) 312.5 MSa/s,在 Moku:Go 上為(wei) 31.25 MSa/s。
圖7顯示了 Moku:Go 輸入噪聲(藍色線)和幅度分別為(wei) 161.2 mV和9.162 mV的移動平均濾波器信號(紅色線)。由此我們(men) 可以看出,濾波器後的噪聲幅度接近於(yu) 原始噪聲的預期因子1/16,即 9.162161.2 = 0.057。該過濾器正在運行並滿足我們(men) 的期望。
圖7 輸入噪聲與(yu) 濾波後信號
頻率響應
我們(men) 可以使用Moku頻率響應分析儀(yi) (FRA)儀(yi) 器輕鬆確定移動平均濾波器的頻率響應。FRA在其輸出上驅動掃頻正弦波,並測量其輸入上產(chan) 生的幅度和相位。圖8顯示了測試設置:
圖 8:頻率響應分析儀(yi) 設置
圖9顯示了MCC濾波器的頻率響應結果。與(yu) 圖10(理想移動平均濾波器的MATLAB圖)相比,我們(men) 發現移動平均濾波器沒有提供特別好的阻帶衰減。
圖9 移動平均濾波器的頻率響應
圖10 理想移動平均濾波器的MATLAB圖
中值濾波器
中值濾波器是一種非線性濾波器,用於(yu) 確定小移動窗口的中值。輸入樣本通過窗口,輸出給定任何時間樣本的中值。移動平均濾波器適合過濾均勻分布的隨機噪聲,中值濾波器適合濾除非常短的尖峰或脈衝(chong) 噪聲。雖然它經常部署在圖像處理中,但它在更一般的信號處理中也很有用。
通常,為(wei) 窗口長度選擇奇數個(ge) 樣本:3、5或7個(ge) 點。這意味著輸出隻是值排序窗口的中間樣本。
VHDL實現
圖11顯示了VHDL五點中值函數的實現。在時鍾信號的每個(ge) 上升沿,圖11中的函數將五個(ge) 輸入樣本從(cong) 低值到高值排序。這種排序發生在第12行到第20行的兩(liang) 個(ge) 嵌套“for”循環中。因此,中位數是排序窗口中的第三個(ge) 樣本;這被分配給第22行的輸出。
圖 11:中值VHDL代碼
我們(men) 可以使用示波器和雲(yun) 編譯器插槽以及示波器的波形生成器,以與(yu) 移動平均濾波器相同的方式分析中值濾波器的時域性能。
圖12顯示噪聲峰值顯著降低,未濾波噪聲的峰峰值測量值從(cong) 3.66 mV 降低至濾波後的305 μV。這減少了1/12,不如移動平均濾波器(1/16)有效。
圖12 中值濾波器時域性能
由於(yu) 中值濾波器的一個(ge) 關(guan) 鍵功能是消除脈衝(chong) 噪聲,因此我們(men) 還使用帶有附加脈衝(chong) 的方波來檢查其性能。圖13顯示了具有前沿尖峰和低電平中途尖峰的方波(藍色線),濾波信號顯示中值濾波器去除尖峰後的方波(紅色線)。
圖13 去除尖峰噪聲的中值
我們(men) 在Moku:Go上編譯並測試了這個(ge) 中值濾波器,它的MCC時鍾速率為(wei) 31.25 MHz。然而,在為(wei) Moku:Pro測試此示例時,由於(yu) 時鍾速率增加到312.5 MHz,我們(men) 需要調整我們(men) 的示例。圖 11 中的實現使用帶有變量的嵌套 for 循環。這合成了一個(ge) 複雜的組合邏輯網絡,其轉遞延遲(圖14)超過了Moku:Pro時鍾速率的3.2 ns周期。為(wei) 了滿足時序要求,時鍾元件之間的邏輯轉遞延遲必須小於(yu) 時鍾周期。
圖 14:通過邏輯的傳(chuan) 遞延遲
我們(men) 需要將大型邏輯塊分成由寄存器或時鍾元件分隔成段。在VHDL中,我們(men) 通過使用信號而不是變量來實現這一點。在本例中,為(wei) 了便於(yu) 編碼,我們(men) 將邏輯分為(wei) 五個(ge) 階段。這意味著輸入到輸出的延遲約為(wei) 五個(ge) 時鍾周期,這適合我們(men) 的国产成人在线观看免费网站程序。
圖15顯示了該五階段線性中值算法的一個(ge) 階段。可以在此處下載的項目文件中找到完整的VHDL:
https://gitlab.com/liquidinstruments/cloud-compile/examples圖15 VHDL代碼部分示例
Moku:Pro 中值濾波器測試
我們(men) 使用MiM中的Moku:Pro和任意波形發生器(AWG)來創建帶有噪聲尖峰的方波。然後,我們(men) 將AWG的輸出連接到MCC中值濾波器,並使用示波器觀察效果。
此MiM設置如圖16所示。我們(men) 配置了AWG,如圖17所示。它的輸出將模擬信號驅動到Moku:Pro的輸出 3,而該信號又通過同軸電纜環接到輸入3。中值濾波器部署在MCC中,並使用示波器來觀察性能。
圖16 Moku:Pro中值濾波器測試係統
圖17 任意波形發生器,帶有脈衝(chong) 的方波
zui後,我們(men) 觀察中值濾波器的性能,如圖18所示。中值濾波器消除了尖峰,同時保留了方波的尖銳邊緣。由於(yu) 插入分級時鍾線程而導致的處理延遲導致大約44 ns的延遲。
圖 18:Moku:Pro中值濾波器現象
總結
在本国产成人在线观看免费网站筆記中,我們(men) 討論了移動平均濾波器和中值濾波器的實現。為(wei) 了實現這些,我們(men) 利用Moku Cloud Compile來構建過濾器並將其部署到Moku:Go。然後我們(men) 修改了設計以確保與(yu) 增加的Moku:Pro時鍾速率兼容。為(wei) 了驗證MCC濾波器,我們(men) 使用多儀(yi) 器模式連接完全可定製的濾波器、示波器和任意波形發生器。這種實現方式可以有效降低噪聲,同時保留數字信號處理国产成人在线观看免费网站中的信號邊緣。
本文的代碼可在此處下載:
https://gitlab.com/liquidinstruments/cloud-compile/examples
了解更多詳情,請訪問上海昊量光電的官方網頁:
https://www.weilancj.com/three-level-333.html
相關(guan) 文獻:
https://www.liquidinstruments.com/blog/2022/12/15/reducing-noise-and-transients-with-custom-real-time-digital-filtering/
更多詳情請聯係昊量光電/歡迎直接聯係昊量光電
關(guan) 於(yu) 昊量光電:
上海昊量光電設備有限国产黄色在线观看是光電国产欧美在线專(zhuan) 業(ye) 代理商,国产欧美在线包括各類激光器、光電調製器、光學測量設備、光學元件等,涉及国产成人在线观看免费网站涵蓋了材料加工、光通訊、生物醫療、科學研究、國防、量子光學、生物顯微、物聯傳(chuan) 感、激光製造等;可為(wei) 客戶提供完整的設備安裝,培訓,硬件開發,軟件開發,係統集成等服務。
您可以通過我們(men) 昊量光電的官方網站www.weilancj.com了解更多的国产欧美在线信息,或直接來電谘詢4006-888-532。
展示全部