멀티레이트 필터 뱅크 구현하기
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
가 있습니다.