decimate
데시메이션 — 정수 인자만큼 샘플 레이트 감소
설명
예제
입력 인수
출력 인수
알고리즘
데시메이션은 시퀀스의 원래 샘플 레이트를 더 낮은 레이트로 감소시킵니다. 이는 보간의 반대입니다. decimate
는 입력값에 저역통과 필터를 적용하여 에일리어싱을 방지하고 그 결과를 다운샘플링합니다. 이 함수는 [1]에 나와 있는 데시메이션 알고리즘 8.2와 8.3을 사용합니다.
decimate
는 저역통과 필터를 생성합니다. 디폴트는cheby1
을 사용하여 설계된 체비쇼프 유형 I 필터입니다. 이 필터는 정규화된 차단 주파수0.8/r
과 통과대역 리플 0.05dB을 가집니다. 전달 함수를 생성하는 데 필요한 컨벌루션에서 누적된 반올림 오차로 인해, 지정된 필터 차수에서 통과대역 왜곡이 발생하는 경우가 가끔 있습니다.decimate
는 이런 왜곡으로 인해 차단 주파수에서의 크기 응답이 리플과 10–6 넘게 차이가 나게 되면 필터 차수를 자동으로 감소시킵니다."fir"
옵션이 선택된 경우decimate
는fir1
을 사용하여 차단 주파수1/r
을 갖는 저역통과 FIR 필터를 설계합니다.FIR 필터를 사용할 경우
decimate
는 한 방향으로만 입력 시퀀스를 필터링합니다. 이는 메모리를 절약해 주며, 긴 시퀀스로 작업하는 데 유용합니다. IIR의 경우,decimate
는 위상 왜곡을 제거하기 위해filtfilt
를 사용하여 순방향과 역방향으로 필터를 적용합니다. 이 과정은 사실상 필터 차수를 2배로 늘립니다. 두 경우 모두, 이 함수는 끝점 조건을 일치시켜 신호의 양쪽 끝에서 과도(Transient) 효과를 최소화합니다.마지막으로,
decimate
는 필터링된 신호의 내부에서 매r
번째 점을 선택하여 데이터를 리샘플링합니다. 리샘플링된 시퀀스(y
)에서 IIR 필터가 사용된 경우에는y(end)
가x(end)
와 일치하고, FIR 필터가 사용된 경우에는y(1)
이x(1)
과 일치합니다.
참고 문헌
[1] Digital Signal Processing Committee of the IEEE® Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979.