FIR 필터

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

범주: 데이터 변환/필터

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

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

참고

필터는 입력 신호를 사용 하 고 필터 특성을 기반으로 출력 신호를 만드는 전송 함수입니다. 디지털 신호 처리에서 필터 사용자에 대 한 일반적인 정보는 Filter를 참조 하세요.

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

데이터 집합에서 데이터를 필터링 하거나 누락 값을 제거 해야 하나요? 이러한 모듈을 대신 사용 합니다.

  • 누락 데이터 정리:이 모듈을 사용 하 여 누락 값을 제거 하거나 누락 된 값을 자리 표시자로 바꿉니다.
  • 파티션 및 샘플:이 모듈을 사용 하 여 날짜 범위, 특정 값 또는 정규식과 같은 조건으로 데이터 집합을 분할 하거나 필터링 할 수 있습니다.
  • 클립 값:이 모듈을 사용 하 여 범위를 설정 하 고 해당 범위 내에 있는 값만 유지 합니다.

전나무 필터를 구성 하는 방법

  1. 실험에 전나무 필터 모듈을 추가 합니다. 데이터 변환 에서 필터 범주의이 모듈을 찾을 수 있습니다.

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

    전나무 필터의 경우 최소 순서는 4입니다.

  3. 에서 필터가 적용 되는 데이터의 셰이프를 선택 합니다. Azure 기계 학습 에서 유한 임펄스 응답 필터에 사용하도록 지원하는 기간 이동 함수의 유형은 다음과 같습니다.

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

    블랙 남자: 블랙 남자 창 에서 신호에 부드러운 테이퍼 곡선 함수를 적용 합니다. 다른 창 형식 보다 더 나은 저지대역 감쇠를 보입니다.

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

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

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

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

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

    로우 패스: "Low pass"는 필터가 더 낮은 값을 통과 하 고 더 높은 값을 제거 함을 의미 합니다. 예를 들어이를 사용 하 여 신호에서 빈도가 높은 노이즈와 데이터의 최고 수를 제거할 수 있습니다.

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

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

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

    밴드 전달: "대역 패스"는 지정 된 값의 통해서만를 전달 하 고 다른 값을 제거 함을 의미 합니다. 이 필터를 사용 하 여이 패스 및 로우 패스 필터 간 교차에서 frequency 특성이 있는 신호의 데이터를 유지할 수 있습니다.

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

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

    밴드 중지: "대역 중지"는 지정 된 sigals를 차단 함을 의미 합니다. 즉, 낮은 pass 및이 패스 필터에 의해 거부 된 frequency 특성이 있는 신호에서 데이터를 제거 합니다.

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

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

    높은 구분낮은 구분 옵션을 사용 하 여 값에 대 한 상한 및/또는 하 한 임계값을 정의 합니다. 이러한 옵션 중 하나 또는 둘 모두를 통해 거부 또는 전달 되는 값을 지정 해야 합니다. 밴드 중지 또는 밴드 통과 필터를 사용 하려면 높은 값과 낮은 구분 값을 모두 설정 해야 합니다. 로우 패스 필터와 같은 다른 필터 유형에는 하위 구분 값만 설정 해야 합니다.

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

  7. 필터를 연결 하 여 필터를 적용하 고 데이터 집합을 연결 합니다.

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

  8. 실험을 실행합니다.

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

참고

전나무 필터 모듈은 표시기 열을 만드는 옵션을 제공 하지 않습니다. 열 값은 항상 현재 위치의 변환 됩니다.

예제

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

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

기술 정보

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

구현 세부 정보

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

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

필터 창에서 계수 계산

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

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

계수 크기 조정

전나무 필터 모듈은 생성 된 필터에 대 한 필터 계수를 반환 하거나 가중치를 누릅니다.

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

ScaleTrue 로 설정 된 경우 필터 계수는 통과 대역의 중심 주파수에서 필터의 크기 응답이 0이 되도록 정규화 됩니다. Azure Machine Learning Studio (클래식)의 정규화 구현은 MATLAB의 fir1 함수와 동일 합니다.

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

선택도 및 중지 밴드 감쇠

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

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

모듈 매개 변수

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

출력

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

예외

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

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

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

참고 항목

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