ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

構文

y = czt(x,m,w,a)
y = czt(x)

説明

y = czt(x,m,w,a) では、信号 x のチャープ Z 変換が返されます。チャープ Z 変換は、wa で定義される螺旋等高線に沿った x の Z 変換です。m は変換の長さを設定するスカラーで、w は対象となる z 平面の螺旋等高線に沿った点の間の比率で、スカラー a はこの等高線上の出発点を与える複素数です。z 平面上の等高線、螺旋、または "チャープ" は、以下の式によって与えられます。

z = a*(w.^-(0:m-1))

y = czt(x) では、以下の既定値が使用されます。

  • m = length(x)

  • w = exp(-j*2*pi/m)

  • a = 1

これらの既定値を使用すると、czt では、単位円周上で等間隔に配置された m 点での x の Z 変換が返されます。これは、 x の離散型フーリエ変換、すなわち fft(x) と等価です。空行列 [] では、入力引数に既定値が設定されます。

x が行列の場合、czt(x,m,w,a)x の各列が変換されます。

すべて折りたたむ

ランダム ベクトルの CZT

長さ 1013 のランダム ベクトル x を作成します。その DFT を czt を使用して計算します。

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

周波数応答の狭帯域

czt を使用して、フィルターの周波数応答の狭帯域にズームインします。

ウィンドウ法を使用して 30 次のローパス FIR フィルターを設計します。1 kHz のサンプル レートおよび 125 Hz のカットオフ周波数を指定します。箱型ウィンドウを使用します。フィルターの伝達関数を求めます。

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

フィルターの DFT および CZT を計算します。CZT の周波数範囲を 100 ~ 150 Hz の帯域に制限します。それぞれのケースで 1024 サンプルを作成します。

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

f1 = 100;
f2 = 150;
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;

subplot(2,1,1)
plot(fy,abs(y))
axis([f1 f2 0 1.2])
title('FFT')

subplot(2,1,2)
plot(fz,abs(z))
axis([f1 f2 0 1.2])
title('CZT')
xlabel('Frequency (Hz)')

診断

mw、または a がスカラーでない場合は、czt では以下のエラー メッセージが表示されます。

入力 M, W, A はスカラーでなければなりません。

詳細

すべて折りたたむ

アルゴリズム

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, pp. 393–399.

参考

|

この情報は役に立ちましたか?