sgolay
사비츠키-골레이 필터(Savitzky-Golay Filter) 설계
설명
예제
입력 인수
출력 인수
알고리즘
사비츠키-골레이 필터는 주파수 범위의 큰 부분을 차지하는, 잡음이 있는 신호를 평활화하는 데 사용됩니다. 사비츠키-골레이 평활화 필터는 표준 평균 FIR 필터보다 신호의 고주파 성분을 적게 제거하는 경향이 있습니다. 그러나 잡음 수준이 특히 높은 경우 잡음 제거 측면에서는 표준 평균 FIR 필터보다 효율이 떨어집니다.
필터링은 인근 점에서 측정한 값들의 기본적인 수준이 거의 동일하다는 가정하에, 신호의 각 점을 그 점을 중심으로 하는 이동 윈도우에 포함된 신호 값들의 조합으로 대체하여 이루어집니다. 예를 들어, 이동평균 필터는 각 데이터 점을 주변 데이터 점의 국소 평균으로 대체합니다. 주어진 데이터 점의 왼쪽에 점이 k개 있고 오른쪽에 점이 k개 있다면, 이동평균 필터는 총 L = 2k + 1의 윈도우 길이에 대해 다음과 같이 대체합니다.
사비츠키-골레이 필터는 윈도우 내의 신호 값 전체에 대해 n차 다항식을 최소제곱 피팅하고 피팅된 다항식 곡선의 계산된 중심 점을 새로운 평활화된 데이터 점으로 택하여 이 개념을 일반화합니다. 이는 주어진 점 xs에 대해 다음과 같습니다.
또는, 행렬로 표현하면 다음과 같습니다.
사비츠키-골레이 추정값을 구하려면 H의 의사 역행렬을 사용하여 a를 계산하고 결과 앞에 H를 곱합니다.
sgolay
는 조건이 나빠지지 않도록 qr
함수를 사용하여 B = QQT가 되는 H의 효율적 크기의 분해 H = QR을 계산합니다.
B는 한 번만 계산하면 됩니다. 대부분의 신호 점에 대해 사비츠키-골레이 추정값은 신호를 B의 중앙 행과 컨벌루션하여 얻게 됩니다. 필터링된 신호의 정상 상태 부분이 결과로 반환됩니다. B의 처음 k개 행은 초기 과도 상태의 값을 생성하고 B의 마지막 k개 행은 최종 과도 상태의 값을 생성합니다. 이에 대한 예제는 sgolayfilt
를 참조하십시오. 윈도우 길이를 늘려서 잡음 억제를 개선할 수 있지만, 이렇게 하면 모든 과도 상태 근처에서 깁스 현상과 비슷한 링잉 현상이 발생합니다.
참고 문헌
[1] Orfanidis, Sophocles J. Introduction to Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1996.
[2] Press, William H., Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical Recipes in C: The Art of Scientific Computing. New York: Cambridge University Press, 1992.
[3] Schafer, Ronald W. “What Is a Savitzky-Golay Filter? [Lecture Notes].” IEEE Signal Processing Magazine Vol. 28, Number 4, July 2011, pp. 111–117. https://doi.org/10.1109/MSP.2011.941097.
확장 기능
버전 내역
R2006a 이전에 개발됨
참고 항목
fir1
| firls
| filter
| sgolayfilt