이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

grpdelay

평균 필터 지연(군지연)

설명

[gd,w] = grpdelay(b,a,n)은 전달 함수 계수를 ba로 하는 디지털 필터에 대해 n개 점을 가진 군지연 응답 벡터 gd와 이에 대응하는 각주파수 벡터 w를 반환합니다.

예제

[gd,w] = grpdelay(sos,n)은 2차섹션형(SOS) 행렬 sos에 대응하는 n개 점을 가진 군지연 응답을 반환합니다.

예제

[gd,w] = grpdelay(d,n)은 디지털 필터 d에 대한 n개 점을 가진 군지연 응답을 반환합니다.

[gd,w] = grpdelay(___,'whole')은 전체 단위원 주위의 n개 샘플 점에서 군지연을 반환합니다.

[gd,f] = grpdelay(___,n,fs)는 레이트 fs로 샘플링된 신호를 필터링하도록 설계된 디지털 필터에 대해 군지연 응답 벡터 gd와 이에 대응하는 물리적 주파수 벡터 f를 반환합니다.

[gd,f] = grpdelay(___,n,'whole',fs)는 0에서 fs 사이에 있는 n개 점에서 주파수 벡터를 반환합니다.

gd = grpdelay(___,win)win으로 주어진 정규화 주파수에서 계산된 군지연 응답 벡터 gd를 반환합니다.

예제

gd = grpdelay(___,fin,fs)fin으로 주어진 물리적 주파수에서 계산된 군지연 응답 벡터 gd를 반환합니다.

예제

grpdelay(___)에 출력 인수를 지정하지 않으면 필터의 군지연 응답을 플로팅합니다.

예제

모두 축소

0.2π rad/sample의 정규화된 3dB 주파수를 갖고 차수가 6인 버터워스 필터를 설계합니다. grpdelay를 사용하여 군지연을 표시합니다.

[z,p,k] = butter(6,0.2);
sos = zp2sos(z,p,k);

grpdelay(sos,128)

동일한 Figure에 시스템의 군지연과 위상 지연을 모두 플로팅합니다.

gd = grpdelay(sos,512);

[h,w] = freqz(sos,512);
pd = -unwrap(angle(h))./w;

plot(w/pi,gd,w/pi,pd)
grid
xlabel 'Normalized Frequency (\times\pi rad/sample)'
ylabel 'Group and phase delays'
legend('Group delay','Phase delay')

designfilt를 사용하여, 0.2π rad/sample의 정규화된 3dB 주파수를 갖는 6차 버터워스 필터를 설계합니다. 군지연 응답을 표시합니다.

d = designfilt('lowpassiir','FilterOrder',6, ...
    'HalfPowerFrequency',0.2,'DesignMethod','butter');
grpdelay(d)

임의 크기 응답을 갖는 88차 FIR 필터를 설계합니다. 필터는 2개의 통과대역과 2개의 저지대역을 갖습니다. 저주파수 통과대역 이득은 고주파수 통과대역 이득의 두 배입니다. 샘플 레이트를 200Hz로 지정합니다. 10Hz부터 78Hz까지 필터의 크기 응답과 위상 응답을 시각화합니다.

fs = 200;
d = designfilt('arbmagfir', ...
       'FilterOrder',88, ...
       'NumBands',4, ...
       'BandFrequencies1',[0 20], ...
       'BandFrequencies2',[25 40], ...
       'BandFrequencies3',[45 65], ...
       'BandFrequencies4',[70 100], ...
       'BandAmplitudes1',[2 2], ...
       'BandAmplitudes2',[0 0], ...
       'BandAmplitudes3',[1 1], ...
       'BandAmplitudes4',[0 0], ...
       'SampleRate',fs);
freqz(d,10:1/fs:78,fs)

동일한 주파수 범위에 대해 필터의 군지연 응답을 계산하고 표시합니다. 군지연이 필터 차수의 절반임을 확인합니다.

filtord(d)
ans = 88
grpdelay(d,10:1/fs:78,fs)

입력 인수

모두 축소

전달 함수 계수로, 벡터로 지정됩니다. 이 전달 함수를 ba로 표현하면 다음과 같습니다.

H(ejω)=B(ejω)A(ejω)=b(1)+b(2)ejω+b(3)ej2ω++b(M)ej(M1)ωa(1)+a(2)ejω+a(3)ej2ω++a(N)ej(N1)ω.

예: b = [1 3 3 1]/6a = [3 0 1 0]/3은 0.5π rad/sample의 정규화된 3dB 주파수를 갖는 3차 버터워스 필터를 지정합니다.

데이터형: double | single
복소수 지원 여부:

계산 지점 개수로, 2보다 작지 않은 양의 정수 스칼라로 지정됩니다. n이 지정되지 않은 경우 디폴트 값은 512입니다. 최상의 결과를 얻으려면 n을 필터 차수보다 큰 값으로 설정하십시오.

데이터형: double

2차섹션형 계수로, 행렬로 지정됩니다. sos는 Kx6 행렬이며, 여기서 섹션 개수 K는 2보다 크거나 같아야 합니다. 섹션 개수가 2보다 작으면 함수는 입력값을 분자 벡터로 간주합니다. sos의 각 행은 2차(바이쿼드) 필터의 계수에 대응됩니다. sos의 i번째 행은 [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]에 대응됩니다.

예: s = [2 4 2 6 0 2;3 3 0 6 0 0]은 0.5π rad/sample의 정규화된 3dB 주파수를 갖는 3차 버터워스 필터를 지정합니다.

데이터형: double | single
복소수 지원 여부:

디지털 필터로, digitalFilter 객체로 지정됩니다. designfilt를 사용하여 주파수 응답 사양을 기반으로 하여 디지털 필터를 생성합니다.

예: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5)는 0.5π rad/sample의 정규화된 3dB 주파수를 갖는 3차 버터워스 필터를 지정합니다.

샘플 레이트로, 양의 스칼라로 지정됩니다. 시간 단위가 초이면 fs는 헤르츠로 표현됩니다.

데이터형: double

각주파수로, 벡터로 지정되고 rad/sample로 표현됩니다. win은 적어도 2개의 요소를 가져야 합니다. 그러지 않으면 함수가 win을 n으로 해석합니다. win = π는 나이퀴스트 주파수에 대응됩니다.

주파수로, 벡터로 지정됩니다. fin은 적어도 2개의 요소를 가져야 합니다. 그러지 않으면 함수가 fin을 n으로 해석합니다. 시간 단위가 초이면 fin은 헤르츠로 표현됩니다.

데이터형: double

출력 인수

모두 축소

군지연 응답으로, 벡터로 반환됩니다. n을 지정하면 gd의 길이는 n이 됩니다. n을 지정하지 않거나 n을 빈 벡터로 지정하면 gd의 길이는 512입니다.

grpdelay에 대한 입력값이 단정밀도인 경우 함수는 단정밀도 산술 연산을 사용하여 군지연을 계산합니다. 이에 대한 출력값 h는 단정밀도입니다.

각주파수로, 벡터로 반환됩니다. w는 0부터 π까지의 범위에 속하는 값을 가집니다. 입력값에 'whole'을 지정하면 w의 값 범위는 0부터 2π까지입니다. n을 지정하면 w의 길이는 n이 됩니다. n을 지정하지 않거나 n을 빈 벡터로 지정하면 w의 길이는 512입니다.

주파수로, 헤르츠를 단위로 하는 벡터로 반환됩니다. f는 0부터 fs/2Hz까지의 범위에 속하는 값을 가집니다. 입력값에 'whole'을 지정하면 f의 값 범위는 0부터 fsHz까지입니다. n을 지정하면 f의 길이는 n이 됩니다. n을 지정하지 않거나 n을 빈 벡터로 지정하면 f의 길이는 512입니다.

세부 정보

모두 축소

군지연

필터의 군지연 응답은 필터의 평균 지연을 주파수의 함수로 측정한 값입니다. 이 값은 필터의 위상 응답의 음의 1계 도함수입니다. 필터의 주파수 응답이 H(e)이면 군지연은 다음과 같습니다.

τg(ω)=dθ(ω)dω,

여기서 θ(ω)H(e)의 위상, 즉 편각입니다.

R2006a 이전에 개발됨