Main Content

멀티레이트 필터 뱅크 구현하기

upfirdn 함수는 신호의 샘플링 레이트를 정수비 P/Q로 변경하고, 다음 작업을 수행하는 세 시스템을 종속 연결한 결과를 계산합니다.

  • 정수 인자 p로 업샘플링(0 삽입)

  • FIR 필터 h로 필터링

  • 정수 인자 q로 다운샘플링

예를 들어, 신호의 샘플 레이트를 44.1kHz에서 48kHz로 변경하려면 먼저 가장 작은 정수 변환 비율 p/q를 찾습니다. 다음을 설정합니다.

d = gcd(48000,44100);
p = 48000/d;
q = 44100/d;

이 예제에서 p = 160 q = 147입니다. 다음을 입력하여 샘플 레이트 변환을 수행합니다.

y = upfirdn(x,h,p,q)

이러한 작업의 종속 연결은 다상 필터링 기법을 사용하여 효율적인 방식으로 구현되며 이것이 멀티레이트 필터링의 핵심 개념입니다. 참고로, 리샘플링 결과의 품질은 FIR 필터 h의 품질에 달려 있습니다.

필터 h가 열마다 하나의 FIR 필터가 있는 행렬이 되도록 하고 upfirdn을 사용하여 필터 뱅크를 구현할 수 있습니다. 신호 벡터는 각 FIR 필터를 통해 독립적으로 전달되어 출력 신호의 행렬을 만듭니다.

멀티레이트 필터링(고정 필터 포함)을 수행하는 다른 함수로는 resample, interp, decimate가 있습니다.