다음을 통해 공유


FIR 필터

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

신호 처리를 위한 유한 임펄스 응답 필터 만들기

범주: 데이터 변환/필터

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 FIR 필터 모듈을 사용하여 FIR(유한 임펄스 응답) 필터라는 필터 종류를 정의하는 방법을 설명합니다. FIR 필터는 신호 처리 작업에서 다양한 방식으로 적용되며, 선형 위상 응답이 필요한 응용 프로그램에서 가장 흔히 사용됩니다. 예를 들어 전체 이미지를 선명하게 하거나 노이즈를 제거하거나 이미지 개체에 집중하기 위해 의료 분야에 사용되는 이미지에 필터를 적용할 수 있습니다.

참고

필터는 입력 신호를 받아 필터 특성에 따라 출력 신호를 만드는 전송 함수입니다. 디지털 신호 처리에서 필터 사용자에 대한 자세한 내용은 필터를 참조 하세요.

디지털 신호 처리 필터를 정의한 후에는 데이터 세트와 필터를 필터 적용 모듈에 연결하여 데이터에 필터를 적용할 수 있습니다. 유사한 데이터 세트와 함께 다시 사용하기 위해 필터를 저장할 수도 있습니다.

데이터 세트에서 데이터를 필터링하거나 누락된 값을 제거해야 합니까? 대신 다음 모듈을 사용합니다.

  • 누락된 데이터 정리: 이 모듈을 사용하여 누락된 값을 제거하거나 누락된 값을 자리 표시자로 대체합니다.
  • 파티션 및 샘플: 이 모듈을 사용하여 날짜 범위, 특정 값 또는 정규식과 같은 기준으로 데이터 세트를 나누거나 필터링합니다.
  • 클립 값: 이 모듈을 사용하여 범위를 설정하고 해당 범위 내에 값만 유지합니다.

FIR 필터를 구성하는 방법

  1. 실험에 FIR 필터 모듈을 추가합니다. 이 모듈은 필터 범주의 데이터 변환 아래에서 찾을 수 있습니다.

  2. Order의 경우 필터의 응답에 영향을 주는 데 사용되는 활성 요소의 수를 정의하는 정수 값을 입력합니다. 필터의 순서 는 필터 창의 길이를 나타냅니다.

    FIR 필터의 경우 최소 순서는 4입니다.

  3. 의 경우 필터를 적용할 데이터의 모양을 선택합니다. Machine Learning 유한 임펄스 응답 필터에 사용할 다음과 같은 유형의 창 함수를 지원합니다.

    해밍: 일반화된 해밍 창 은 이미지 처리 및 컴퓨터 비전에 일반적으로 사용되는 가중 평균 형식을 제공합니다.

    Blackman: Blackman 창 은 신호에 부드럽게 테이퍼된 곡선 함수를 적용합니다. 다른 창 형식 보다 더 나은 저지대역 감쇠를 보입니다.

    사각형: 사각형 창 은 지정된 간격 내에 일관된 값을 적용하고 다른 곳에는 값을 적용하지 않습니다. 가장 단순한 사각형 창은 데이터 시퀀스의 n개 값을 0으로 바꿔 신호가 갑자기 켜지고 꺼지는 것처럼 표시할 수 있습니다.

    직사각형 창은 boxcar 또는 Dirichlet 창이라고도 합니다.

    삼각형: 삼각형 창은 필터 계수를 단계별로 적용합니다. 현재 값은 삼각형의 피크에 표시되고 이전 값 또는 다음 값은 감소됩니다.

    없음: 일부 애플리케이션에서는 창 함수를 사용하지 않는 것이 좋습니다. 예를 들어 분석 중인 신호가 이미 창이나 버스트를 나타내는 경우 기간 이동 함수를 적용하면 신호 대 잡음비가 낮아질 수 있습니다.

  4. 필터 형식의 경우 필터가 적용되는 방법을 정의하는 옵션을 선택합니다. 필터를 통해 대상 값을 제외, 변경, 거부 또는 전달하도록 지정할 수 있습니다.

    Lowpass: "Low pass"는 필터가 더 낮은 값을 통과하고 더 높은 값을 제거한다는 것을 의미합니다. 예를 들어 이를 사용하여 신호에서 고주파 노이즈 및 데이터 피크를 제거할 수 있습니다.

    이 필터 형식을 사용하는 경우 데이터가 다듬어집니다.

    Highpass: "High pass"는 필터가 더 높은 값을 통과하고 더 낮은 값을 제거한다는 것을 의미합니다. 이를 사용하여 신호에서 바이어스 또는 오프셋과 같은 빈도가 낮은 데이터를 제거할 수 있습니다.

    이 필터 형식은 신호의 급격한 변화와 최대치를 유지합니다.

    Bandpass: "Band pass"는 지정된 값 밴드를 통과하고 다른 값을 제거한다는 것을 의미합니다. 이 필터를 사용하여 하이패스와 저가도 필터 간의 교차점에서 주파수 특성이 있는 신호의 데이터를 보존할 수 있습니다.

    하이 패스 및 로우 패스 필터를 결합하여 대역 필터를 만듭니다. 하이 패스 필터 구분 주파수는 하위 구분을 나타내고 로우 패스 필터 주파수는 상위 구분을 나타냅니다.

    편차를 제거하고 신호를 다듬으려는 경우 이 필터 형식이 적합합니다.

    Bandstop: "Band stop"은 지정된 시걸을 차단한다는 것을 의미합니다. 즉, 낮은 패스 및 하이패스 필터에 의해 거부되는 빈도 특성이 있는 신호에서 데이터를 제거합니다.

    이 필터 형식은 신호 편차 및 급격한 변경 내용을 유지하는 데 적합합니다.

  5. 선택한 필터 유형에 따라 하나 이상의 차단 값을 설정해야 합니다.

    높은 컷오프낮음 컷오프 옵션을 사용하여 값에 대한 상한 및/또는 하한 임계값을 정의합니다. 거부되거나 전달되는 값을 지정하려면 이러한 옵션 중 하나 또는 둘 다 필요합니다. 밴드 상판 또는 대역폭 필터를 사용하려면 높은 컷오프 값과 낮은 컷오프 값을 모두 설정해야 합니다. lowpass 필터와 같은 다른 필터 형식은 낮은 컷오프 값만 설정해야 합니다.

  6. 계수에 크기 조정을 적용해야 하는 경우 크기 조정 옵션을 선택합니다. 그렇지 않으면 비워 둡니다.

  7. 필터를 커넥트 필터를 적용하고 데이터 세트를 연결합니다.

    열 선택기를 사용하여 필터를 적용할 열을 지정합니다. 기본적으로 필터 적용 모듈은 선택한 모든 숫자 열에 대해 필터를 사용합니다.

  8. 실험을 실행합니다.

    데이터 세트를 필터 적용 모듈에 연결하고 실험을 실행할 때까지 계산이 수행되지 않습니다. 이때 지정된 변환이 선택한 숫자 열에 적용됩니다.

참고

FIR 필터 모듈은 표시기 열을 만드는 옵션을 제공하지 않습니다. 열 값은 항상 제자리에서 변환됩니다.

기계 학습에서 필터를 사용하는 방법에 대한 예제는 Azure AI 갤러리에서 이 실험을 참조하세요.

  • 필터: 이 실험에서는 엔지니어링된 파형 데이터 세트를 사용하여 모든 필터 형식을 보여 줍니다.

기술 정보

이 섹션에는 구현 정보, 팁, 질문과 대답이 포함되어 있습니다.

구현 세부 정보

FIR 필터의 특성은 다음과 같습니다.

  • FIR 필터에는 피드백이 없으며 이전 필터 출력이 사용됩니다.
  • 임펄스 응답은 항상 0으로 돌아가므로 FIR 필터는 보다 안정적입니다.
  • FIR 필터 사용 시 IIR(무한 임펄스 응답) 필터와 같은 선택도를 유지하려면 더 높은 순서를 지정해야 합니다.
  • 다른 필터와 마찬가지로 FIR 필터도 신호를 구성하는 주파수를 유지하거나 거부하는 특정 차단 주파수로 설계할 수 있습니다.

필터 창을 통해 계수 계산

창 유형에 따라 선택도(주파수가 완전히 수락되지도 거부되지도 않는 전환 대역의 너비)와 억압(거부할 주파수의 총 감쇠) 간의 균형을 조정합니다. 기간 이동 함수는 이상적인 필터 응답에 적용되어 창 외부의 주파수 응답을 0으로 강제 지정합니다. 창 내부의 주파수 응답을 샘플링하여 계수를 선택합니다.

FIR 필터 모듈에서 반환되는 계수의 수는 필터 순서와 1을 더한 값입니다. 계수 값은 필터 매개 변수와 windowing 메서드로 결정되며 대칭으로 선형 단계 응답을 보장합니다.

계수 크기 조정

FIR 필터 모듈은 만든 필터에 대한 필터 계수 또는 탭 가중치를 반환합니다.

순서 등의 입력된 매개 변수에 따라 필터에서 계수를 결정합니다. 사용자 지정 계수를 지정하려면 사용자 정의 필터 모듈을 사용합니다.

크기 조정True로 설정되면 필터 계수가 정규화되므로 패스밴드의 가운데 빈도에서 필터의 크기 응답이 0입니다. Machine Learning Studio(클래식)에서 정규화 구현은 MATLAB의 fir1 함수와 동일합니다.

일반적으로 창 설계 방법에서 이상적인 무한 임펄스 응답(IIR) 필터를 설계합니다. 창 함수는 시간 도메인의 파형에 적용되며, 창 함수와 무한 임펄스 응답을 곱합니다. 그러면 IIR 필터의 주파수 응답이 기간 이동 함수의 주파수 응답과 결합됩니다. 그러나 FIR 필터의 경우 필터를 적용할 때 입력 및 필터 계수(또는 탭 가중치)가 연결됩니다.

선택성 및 중지 대역 감쇠

다음 표에는 여러 기간 이동 방법을 사용하여 길이가 n인 FIR 필터에 대한 저지 대역 감쇠로 선택도를 비교합니다.

창 유형 전환 영역 최소 저지 대역 감쇠
사각형 0.041n 21dB
Triangle 0.11n 26dB
0.12n 44dB
해밍 0.23n 53dB
블랙먼 0.2n 75dB

모듈 매개 변수

Name 범위 Type 기본값 설명
순서 >=4 정수 5 필터 순서를 지정합니다.
시간 범위 모두 WindowType 적용할 창의 유형을 지정합니다.
필터 형식 모두 FilterType LowPass 작성할 필터의 형식을 선택합니다.
하위 차단 [double.Epsilon;.9999999] Float 0.3 하위 차단 주파수를 설정합니다.
상위 차단 [double.Epsilon;.9999999] Float 0.7 상위 차단 주파수를 설정합니다.
확장 모두 부울 True true인 경우 필터 계수가 정규화됩니다.

출력

Name 유형 Description
Assert IFilter 인터페이스 필터 구현입니다.

예외

예외 설명
NotInRangeValue 매개 변수가 범위 내에 있지 않으면 예외가 발생합니다.

Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.

API 예외 목록은 MACHINE LEARNING REST API 오류 코드를 참조하세요.

참고 항목

필터
필터 적용
전체 모듈 목록