Main Content

czt

설명

예제

y = czt(x,m,w,a)z = a*w.^-(0:m-1)에서 wa로 정의된 z 평면상의 나선형 경로를 따라 길이가 mx의 처프 Z 변환(CZT)을 반환합니다.

m, w, a의 디폴트 값을 사용하면 czt는 단위원 주변에 균일한 간격으로 배치된 m개의 점에서 x의 Z 변환을 반환합니다. 이 결과는 fft(x)로 지정되는 x의 이산 푸리에 변환(DFT)과 동일합니다.

예제

모두 축소

길이가 1013인 확률 벡터 x를 만듭니다. czt를 사용하여 x의 DFT를 계산합니다.

rng default
x = randn(1013,1);
y = czt(x);

czt를 사용하여 필터 주파수 응답의 협대역 섹션을 확대합니다.

윈도우 방법을 사용하여 30차 저역통과 FIR 필터를 설계합니다. 샘플 레이트를 1kHz, 차단 주파수를 125Hz로 지정합니다. 사각 윈도우를 사용합니다. 필터의 전달 함수를 구합니다.

fs = 1000;
d = designfilt('lowpassfir','FilterOrder',30,'CutoffFrequency',125, ...
    'DesignMethod','window','Window',@rectwin,'SampleRate',fs);
h = tf(d);

필터의 DFT와 CZT를 계산합니다. CZT의 주파수 범위를 75~175Hz 대역으로 제한합니다. 각 사례에 대해 1024개의 샘플을 생성합니다.

m = 1024;
y = fft(h,m);

f1 = 75;
f2 = 175;
w = exp(-j*2*pi*(f2-f1)/(m*fs));
a = exp(j*2*pi*f1/fs);
z = czt(h,m,w,a);

변환을 플로팅합니다. 관심 영역을 확대합니다.

fn = (0:m-1)'/m;
fy = fs*fn;
fz = (f2-f1)*fn + f1;

plot(fy,abs(y),fz,abs(z))
xlim([50 200])
legend('FFT','CZT')
xlabel('Frequency (Hz)')

Figure contains an axes object. The axes object with xlabel Frequency (Hz) contains 2 objects of type line. These objects represent FFT, CZT.

입력 인수

모두 축소

입력 신호로, 벡터, 행렬 또는 3차원 배열로 지정됩니다. x가 행렬인 경우 함수는 x의 열을 변환합니다. x가 3차원 배열인 경우 함수는 크기가 1보다 큰 첫 번째 배열 차원을 따라 동작합니다.

예: sin(pi./[4;2]*(0:159))'은 2채널 정현파를 지정합니다.

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

변환 길이로, 양의 정수 스칼라로 지정됩니다.

데이터형: single | double

나선형 경로 점 사이의 비율로, 복소수 스칼라로 지정됩니다.

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

나선형 경로 초기점으로, 복소수 스칼라로 지정됩니다.

예: exp(1j*pi/4)z 평면의 단위원을 따라 놓이며 실수축에 대해 45도의 각도를 이룹니다.

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

출력 인수

모두 축소

처프 Z 변환으로, 벡터 또는 행렬로 반환됩니다.

알고리즘

czt는 지정된 처프 경로에서 Z 변환을 계산할 때 길이가 2의 거듭제곱인 다음번 FFT를 사용하여 고속 컨벌루션을 수행합니다[1].

참고 문헌

[1] Rabiner, Lawrence R., and Bernard Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

|

도움말 항목