Main Content

interp

보간 — 정수 인자만큼 샘플 레이트 증가

설명

예제

y = interp(x,r)은 입력 신호 x의 샘플 레이트를 r배만큼 증가시킵니다.

y = interp(x,r,n,cutoff)는 다음 2개의 값을 추가로 지정합니다.

  • n은 확장된 신호를 보간하는 데 사용된 원래 샘플 값 개수의 절반입니다.

  • cutoff는 입력 신호의 정규화된 차단 주파수로, 나이퀴스트 주파수에 대한 비율로 지정됩니다.

[y,b] = interp(x,r,n,cutoff)는 보간에 사용된 필터 계수도 반환합니다.

예제

모두 축소

1kHz로 샘플링된 정현파 신호를 생성합니다. 인자 4로 신호를 보간합니다.

t = 0:1/1e3:1;
x = sin(2*pi*30*t) + sin(2*pi*60*t);
y = interp(x,4);

원래 신호와 보간된 신호를 플로팅합니다.

subplot(2,1,1)
stem(0:30,x(1:31),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Original')

subplot(2,1,2)
stem(0:120,y(1:121),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Interpolated')

Figure contains 2 axes objects. Axes object 1 with xlabel Sample Number, ylabel Original contains an object of type stem. Axes object 2 with xlabel Sample Number, ylabel Interpolated contains an object of type stem.

입력 인수

모두 축소

입력 신호로, 벡터로 지정됩니다.

데이터형: double | single

보간 인자로, 양의 정수로 지정됩니다.

데이터형: double | single

보간에 사용된 입력 샘플 개수의 절반으로, 양의 정수로 지정됩니다. 최상의 결과를 위해 n은 10보다 크지 않아야 합니다. 저역통과 보간 필터의 길이는 2 × n × r + 1입니다.

데이터형: double | single

입력 신호의 정규화된 차단 주파수로, 1보다 크지 않은 양의 실수형 스칼라로 지정되고 나이퀴스트 주파수에 대한 비율을 나타냅니다. 값이 1이면 신호가 전체 나이퀴스트 구간을 차지함을 의미합니다.

데이터형: double | single

출력 인수

모두 축소

보간된 신호로, 벡터로 반환됩니다. y는 원래 입력값 x보다 r배 더 깁니다.

데이터형: double | single

저역통과 보간 필터 계수로, 열 벡터로 반환됩니다.

데이터형: double | single

알고리즘

보간은 시퀀스의 원래 샘플 레이트를 더 높은 레이트로 증가시킵니다. 이는 데시메이션의 반대입니다. interp는 원래 신호에 0을 삽입한 후 저역통과 보간 필터를 확장된 시퀀스에 적용합니다. 이 함수는 [1]에 설명된 저역통과 보간 알고리즘 8.1을 사용합니다.

  1. 원래 데이터 값 사이에 0을 삽입하여 입력 벡터를 올바른 길이로 확장합니다.

  2. 원래 데이터가 변경되지 않은 상태로 통과시키는 특수한 대칭 FIR 필터를 설계하고 보간된 점과 이상적인 값 사이의 평균 제곱 오차를 최소화하도록 보간합니다. interp에서 사용되는 필터는 intfilt에서 반환되는 필터와 같습니다.

  3. 필터를 확장된 입력 벡터에 적용하여 출력값을 생성합니다.

참고 문헌

[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.

[2] Oetken, G., Thomas W. Parks, and H. W. Schüssler. "New results in the design of digital interpolators." IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-23, No. 3, June 1975, pp. 301–309.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨