czt
처프 Z 변환
설명
예제
확률 벡터의 CZT
길이가 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)')
입력 인수
x
— 입력 신호
벡터 | 행렬 | 3차원 배열
입력 신호로, 벡터, 행렬 또는 3차원 배열로 지정됩니다. x
가 행렬인 경우 함수는 x
의 열을 변환합니다. x
가 3차원 배열인 경우 함수는 크기가 1보다 큰 첫 번째 배열 차원을 따라 동작합니다.
예: sin(pi./[4;2]*(0:159))'
은 2채널 정현파를 지정합니다.
데이터형: single
| double
복소수 지원 여부: 예
m
— 변환 길이
length(x
)
(디폴트 값) | 양의 정수 스칼라
x
)변환 길이로, 양의 정수 스칼라로 지정됩니다.
데이터형: single
| double
w
— 나선형 경로 점 사이의 비율
exp(-2j*pi/m
)
(디폴트 값) | 복소수 스칼라
m
)나선형 경로 점 사이의 비율로, 복소수 스칼라로 지정됩니다.
데이터형: single
| double
복소수 지원 여부: 예
a
— 나선형 경로 초기점
1
(디폴트 값) | 복소수 스칼라
나선형 경로 초기점으로, 복소수 스칼라로 지정됩니다.
예: exp(1j*pi/4)
는 z 평면의 단위원을 따라 놓이며 실수축에 대해 45도의 각도를 이룹니다.
데이터형: single
| double
복소수 지원 여부: 예
출력 인수
y
— 처프 Z 변환
벡터 | 행렬
처프 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.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
Automatic dimension restriction (MATLAB Coder) 항목을 참조하십시오.
코드 생성에는 3차원 배열이 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)