Main Content

intfilt

보간 FIR 필터 설계

설명

예제

b = intfilt(l,p,alpha)는 나이퀴스트 주파수의 alpha배를 원래의 대역 제한이라고 가정하여, l개의 샘플마다 띄엄띄엄 l-1개의 0이 연속으로 배치된 시퀀스에 사용될 때 가장 가까이 있는 2*p개의 0이 아닌 값을 갖는 샘플을 사용하여 이상적인 대역 제한 보간을 수행하는 선형 위상 FIR 필터를 설계합니다. 반환되는 필터 binterp에 사용되는 필터와 동일합니다.

b = intfilt(l,n,'Lagrange')l개의 샘플마다 띄엄띄엄 l-1개의 0이 연속으로 배치된 시퀀스에서 n차 라그랑주 다항식 보간을 수행하는 FIR 필터를 설계합니다.

예제

모두 축소

대역 제한 방법을 사용하여, 신호를 인자 7로 업샘플링하는 디지털 보간 필터를 설계합니다. "대역 제한" 인수를 0.5로 지정하고 보간에서 2×2개의 샘플을 사용합니다.

upfac = 7;
alpha = 0.5;
h1 = intfilt(upfac,2,alpha);

필터는 원래 신호가 alpha 배의 나이퀴스트 주파수로 대역 제한될 때 가장 효과적입니다. 200개의 가우스 난수를 생성하고 40차 FIR 저역통과 필터로 시퀀스를 필터링하여 대역 제한 잡음 신호를 생성합니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 재설정합니다.

lowp = fir1(40,alpha);

rng('default')
x = filter(lowp,1,randn(200,1));

x의 각 샘플 쌍 간에 0을 삽입하여 신호의 샘플 레이트를 높입니다.

xr = upsample(x,upfac);

filter 함수를 사용하여 보간된 신호를 생성합니다.

y = filter(h1,1,xr);

필터로 인해 발생하는 지연을 보정합니다. 원래 신호와 보간된 신호를 플로팅합니다.

delay = mean(grpdelay(h1));

y(1:delay) = [];

stem(1:upfac:upfac*length(x),x)
hold on
plot(y)

xlim([400 700])

Figure contains an axes object. The axes object contains 2 objects of type stem, line.

intfilt는 라그랑주 다항식 보간도 수행합니다.

  • 1차 다항식 보간은 선형 보간이며, 삼각 필터를 사용하여 수행됩니다.

  • 0차 보간은 이동평균 필터를 사용하여 수행되며, 샘플-앤-홀드 디스플레이의 출력값과 유사합니다.

원래 신호를 보간하고 그 결과를 겹쳐 표시합니다.

h2 = intfilt(upfac,1,'Lagrange');

y2 = filter(h2,1,xr);
y2(1:floor(mean(grpdelay(h2)))) = [];

plot(y2)
hold off

Figure contains an axes object. The axes object contains 3 objects of type stem, line.

입력 인수

모두 축소

샘플 수로, 양의 정수 스칼라로 지정됩니다. intfiltl개의 샘플마다 띄엄띄엄 l-1개의 0이 연속으로 배치된 시퀀스를 사용하여 선형 위상 FIR 필터를 설계합니다.

값이 0이 아닌 샘플 수로, 양의 정수 스칼라로 지정됩니다. intfilt는 가장 가까이 있는 2*p개의 0이 아닌 값을 갖는 샘플을 사용하여 대역 제한 보간을 수행하는 선형 위상 FIR 필터를 설계합니다.

천이 대역폭의 역측정값으로, 스칼라로 지정됩니다. alpha는 필터의 천이 대역폭에 반비례하고 저지대역에 있는 무관(Don't Care) 영역의 대역폭에도 영향을 줍니다. alpha를 지정하면 입력 신호가 나이퀴스트 구간에서 차지하는 크기를 지정할 수 있습니다. 이렇게 하면 신호를 보간할 때 유익합니다. 보간에 영향을 주지 않으면서 천이 대역폭을 늘릴 수 있어 지정된 lp에 대한 저지대역 감쇠량이 개선됩니다. alpha를 1로 설정하면 신호가 전체 나이퀴스트 구간을 차지하는 것으로 간주됩니다. alpha를 1보다 작게 설정하면 저지대역에서 무관(Don't Care) 영역이 허용됩니다. 예를 들어, 입력값이 나이퀴스트 구간의 절반을 차지할 경우 alpha를 0.5로 설정할 수 있습니다.

라그랑주 다항식의 차수로, 양의 정수 스칼라로 지정됩니다. FIR 필터는 l개의 샘플마다 띄엄띄엄 l-1개의 0이 연속으로 배치된 샘플에서 n차 라그랑주 다항식 보간을 수행합니다. nl이 모두 짝수인 경우 필터는 선형 위상으로 설계되지 않습니다.

다항식 보간 방법으로, 'Lagrange'로 지정됩니다.

출력 인수

모두 축소

필터 계수로, 벡터로 반환됩니다. b의 요소는 FIR 필터의 계수입니다. alpha가 지정된 경우 나이퀴스트 주파수의 alpha배를 원래의 대역 제한이라고 가정합니다. b의 길이는 2*l*p-1입니다.

n차 라그랑주 다항식 보간에서 bn이 짝수인 경우 길이가 (n+1)*l이고 n이 홀수인 경우 길이가 (n+1)*l-1입니다.

알고리즘

대역 제한 방법은 firls를 사용하여 보간 FIR 필터를 설계합니다. 다항식 방법은 균일한 간격으로 배치된 샘플에 라그랑주 다항식 보간 식을 사용하여 적합한 필터를 생성합니다. 기본적으로, 두 유형의 필터는 모두 저역통과이고 통과대역에서 이득 l을 가집니다.

확장 기능

버전 내역

R2006a 이전에 개발됨