本文為您介紹濾波組件。
功能說明
濾波組件支持8種方式進行數據濾波,包括限幅濾波,中值濾波,滑動平均濾波,一階滯后濾波,FIR濾波,最大值濾波,最小值濾波以及趨勢線擬合濾波。
計算邏輯原理
以下計算公式涉及的參數定義:
①t表示本次,t-1表示前一次。②X(t)表示本次濾波輸入值。③Y(t)表示本次濾波輸出值。④Y(t-1)表示前一次濾波輸出值。⑤F表示濾波有效值(前一次濾波輸出值或固定值)。⑥A表示濾波輸入值和有效值允許的最大偏差。⑦α表示滯后因子。⑧M表示濾波窗口大小。⑨a和b都是趨勢線的參數,算法內部通過濾波采樣數據可以計算出來。⑩d表示多項式趨勢線的階數。?e是自然常數2.7183。
限幅濾波:對輸入信號進行限幅濾波操作,對與有效值的偏差超出上限的當前信號進行處理并輸出。有效值可以是配置的固定值或者前一次的輸出值。
中值濾波:對輸入信號做中值濾波操作,取采樣數據的中值。
滑動平均濾波:對輸入信號做滑動平均濾波操作,取采樣數據的平均值。
一階滯后濾波:對輸入信號做一階滯后濾波操作,根據當前輸入信號和前一時刻輸出信號的加權平均來計算輸出信號。
最大值濾波:對輸入信號做最大值濾波操作,取采樣數據的最大值。
最小值濾波:對輸入信號做最小值濾波操作,取采樣數據的最小值。
趨勢線擬合濾波:對輸入信號按照指定的趨勢線類型進行擬合濾波操作。趨勢線擬合濾波的原理是基于信號中的趨勢分析。它假設信號由一個趨勢成分和一個噪聲成分組成,通過擬合趨勢線來估計和提取趨勢成分,從而實現信號的平滑處理。
指數
線性
對數
多項式
乘冪
FIR濾波:對輸入信號做FIR濾波操作。算法采用的是低通FIR濾波,其原理是將輸入信號中高于截止頻率的頻率成分濾除,只保留低于該截止頻率的頻率成分。低通FIR濾波器可以有效地濾除輸入信號中高頻成分,實現對信號的平滑和去噪處理。
參數說明
IN端口-輸入參數
參數名 | 參數描述 | 是否必填 | 輸入數據類型 | 數據源類型 |
IN | 輸入參數包含需要濾波處理的變量。 | 是 | 整數或浮點數 說明 若存在非數值數據,則會拋出異常 | 不限 |
OUT端口-輸出參數
參數名 | 參數描述 | 輸出數據類型 |
OUT | 濾波后的輸出,與IN端口配置的輸入參數一致。 | 浮點數 |
其他參數
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
濾波類型 | 濾波處理的方式。 | 是 | 滑動平均濾波 |
|
限幅濾波:
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
濾波有效值 | 限幅濾波有效值的選擇方法。
| 否 | 前一次輸出值 |
|
固定值 | 限幅濾波的固定有效值。 | 否 | 0 | [-99999999,99999999] |
最大偏差 | 實際值和有效值的最大允許偏差。 | 否 | 0 | [0,99999999] |
中值濾波、滑動平均濾波、FIR濾波、最大值濾波、最小值濾波、趨勢線擬合濾波:
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
采樣方式 | 獲取濾波數據的方式。
| 否 | 按次數 |
|
采樣時長 | 讀取歷史產線數據時長,單位:s。 | 否 | 60 | [1,7200] |
采樣次數 | 濾波使用的歷史樣本數。 | 否 | 5 | [1,1800] |
采樣頻率 | 讀取IGate歷史數據的采樣頻率,單位:秒。例如設置5,則讀取的IGate歷史數據會按5秒均勻采樣。默認0,表示全量采樣,即采樣時間內數據全部讀取。 | 否 | 0 | [0,7200] |
一階滯后濾波:
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
滯后因子 | 一階滯后濾波的系數,控制信號的平滑程度。滯后因子的取值范圍是0到1之間。較大的滯后因子表示更強的平滑效果,但也會導致更大的延遲。 | 否 | 0.5 | [0,1] |
FIR濾波:
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
截斷頻率 | 有效范圍:(0,0.5*1/運行周期(秒))。越小則過濾的高頻信號越多。 | 否 | 0.01 | [0,0.5] |
趨勢線擬合濾波:
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
趨勢線類型 | 進行趨勢線擬合濾波時,需要選擇趨勢線的類型。 | 否 | 線性 |
|
趨勢線擬合濾波-多項式曲線
參數名 | 參數描述 | 是否必填 | 參數默認值 | 參數范圍 |
階數 | 多項式的項數(階數)。 | 否 | 2 | [2,6] |
輸出質量碼說明
輸出質量碼處理方式如下:
對于中值、滑動平均、FIR、最大值、最小值和趨勢線擬合濾波:
若獲取到的采樣數據長度或有效的采樣數據長度為0,則變量的輸出質量碼為0。
若獲取到的采樣數據長度和有效的采樣數據長度均大于0,則變量的輸出質量碼為192。
對于限幅和一階滯后濾波:
變量的輸出質量碼與輸入質量碼一致。
其他說明
采樣數據預處理:
根據采樣方式獲取到采樣數據后,算法將剔除所有無效的采樣數據,只保留有效的采樣數據進行濾波計算。
輸出后處理:
當輸出質量碼為好值時,則輸出當前濾波計算值。
當輸出質量碼為壞值時,則輸出前一次輸出值(初始化時沒有前一次輸出值,則輸出當前輸入值)。
①質量碼好值:質量碼等于-1或>=192。
②質量碼壞值:質量碼在[0,192)內。
③無效的采樣數據:存在以下任意一種情況的數據。
數據缺失“timestamp”或“value”字段
“timestamp”值不是毫秒級的時間戳
“value”值不是數值
質量碼為壞值