다음을 통해 공유


series_fir()

계열에 FIR(유한 임펄스 응답) 필터를 적용합니다.

함수는 동적 숫자 배열을 포함하는 식을 입력으로 사용하고 유한 임펄스 응답 필터를 적용합니다. 계수를 지정하여 filter 이동 평균, 다듬기, 변경 감지 및 더 많은 사용 사례를 계산하는 데 사용할 수 있습니다. 이 함수는 필터 계수의 동적 배열과 동적 배열이 포함된 열을 입력으로 사용하고 열에 필터를 적용합니다. 필터링된 출력을 포함하는 새 동적 배열 열을 출력합니다.

구문

series_fir(계열, 필터 [, 정규화[, 가운데]])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
시리즈 dynamic ✔️ 숫자 값의 배열입니다.
filter dynamic ✔️ 필터 계수를 포함하는 숫자 값의 배열입니다.
normalize bool 필터를 정규화해야 하는지 여부를 나타냅니다. 즉, 계수의 합계로 나뉩니다. 필터에 음수 값 이 포함된 경우 정규화 가 로 false지정되어야 합니다. 그렇지 않으면 결과가 됩니다 null. 지정하지 않으면 필터에 음수 true 값이 있는 경우 기본값으로 간주됩니다. 필터에 음수 값이 하나 이상 포함된 경우 정규화는 으로 false간주됩니다.
center bool 필터가 현재 지점 앞과 뒤의 시간 창에 대칭으로 적용되는지 또는 현재 시점의 시간 창에서 뒤로 적용되는지 여부를 나타냅니다. 기본적으로 중심은 false스트리밍 데이터의 시나리오에 적합하므로 현재 및 이전 지점에만 필터를 적용할 수 있습니다. 그러나 임시 처리의 경우 시계열과 동기화된 상태로 유지하도록 true설정할 수 있습니다. 아래 예제를 참조하세요. 이 매개 변수는 필터의 그룹 지연을 제어합니다.

정규화는 계수의 합계가 1인지 확인하는 편리한 방법입니다. 정규화되면 true필터가 계열을 증폭하거나 감쇠하지 않습니다. 예를 들어 4개의 bin 이동 평균은 filter=[1,1,1,1]로 지정하고 정규화=true할 수 있으며 이는 [0.25,0.25.0.25,0.25]를 입력하는 것보다 더 간단합니다.

반품

필터링된 출력을 포함하는 새 동적 배열 열입니다.

예제

  • filter=[1,1,1,1,1]를 설정하여 이동 평균을 5포인트로 계산하고 정규화=true(기본값)합니다. 가운데false=(기본값) 및 다음의 효과를 확인합니다. true
range t from bin(now(), 1h) - 23h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project
    id='TS',
    val=dynamic([0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 20, 40, 100, 40, 20, 10, 0, 0, 0, 0, 0, 0, 0, 0]),
    t
| extend
    5h_MovingAvg=series_fir(val, dynamic([1, 1, 1, 1, 1])),
    5h_MovingAvg_centered=series_fir(val, dynamic([1, 1, 1, 1, 1]), true, true)
| render timechart

이 쿼리는 다음을 반환합니다.
5h_MovingAvg: 평균 필터를 이동하는 5포인트입니다. 스파이크가 부드러워지고 피크가 (5-1)/2 = 2h로 이동됩니다.
5h_MovingAvg_centered: 동일하지만 설정center=true에 따라 피크는 원래 위치에 유지됩니다.

시리즈 전나무.

  • 점과 이전 점의 차이를 계산하려면 filter=[1,-1]를 설정합니다.
range t from bin(now(), 1h) - 11h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project id='TS', t, value=dynamic([0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3])
| extend diff=series_fir(value, dynamic([1, -1]), false, false)
| render timechart

시리즈 전나무 2.