メインコンテンツ

delayseq

シーケンスの遅延または前進

説明

shifted_data = delayseq(data,delay) は、delay で指定したサンプル数だけ data 内の信号を遅延または前進させます。delay が正の値である場合は信号を遅延させ、負の値である場合は信号を前進させます。非整数値の delay は、非整数遅延または非整数前進を表します。非整数遅延の場合、関数はサンプル間を内挿します。

delayseq 関数による data の処理方法は、data 引数と delay 引数の次元によって異なります。

  • delay がスカラーである場合、関数は data の各列に同じ遅延を適用します。

  • delay がベクトルである場合、次のようになります。

    • data が行列である場合、delay ベクトルの長さは、行列の列数と等しくなければなりません。関数は、対応する delay エントリを使用して、各列に遅延を適用します。

    • data が列ベクトルである場合、関数は、delay の各エントリで data ベクトルをシフトした結果を各列にもつ行列を作成します。shifted_data の列数は、delay ベクトルの長さと等しくなります。shifted_datak 番目の列は、datadelay(k) だけシフトした結果です。

shifted_data = delayseq(data,delay,fs) は、delay を秒単位で指定します。fs は、data のサンプリング周波数です。delayfs の積が整数でない場合、delayseq は、内挿を使用して信号の非整数遅延または非整数前進を実装します。

すべて折りたたむ

1 kHz の余弦信号を整数サンプル数だけ遅延させます。サンプリング レートが 10 kHz であると仮定します。

fs = 1.0e4;
t = 0:1/fs:0.005;
signal = cos(2*pi*1000*t)';

遅延を 5 サンプル (0.5 ms) に設定します。

shifted_signal = delayseq(signal,5);

元の信号と遅延した信号をプロットします。

subplot(2,1,1)
plot(t.*1000,signal)
title('Input')
subplot(2,1,2)
plot(t.*1000,shifted_signal)
title('5 Sample Delay')
xlabel('msec')

Figure contains 2 axes objects. Axes object 1 with title Input contains an object of type line. Axes object 2 with title 5 Sample Delay, xlabel msec contains an object of type line.

1 kHz の余弦信号を非整数サンプル数だけ遅延させます。サンプリング レートが 10 kHz であると仮定します。

fs = 1e4;
t = 0:1/fs:0.005;
signal = cos(2*pi*1000*t)';

遅延を 2.5 サンプル (0.25 ms) に設定します。

delayed_signal = delayseq(signal,0.25e-3,fs);

元の信号と遅延した信号をプロットします。

plot(t.*1000,signal)
title('Delayed Signal')
hold on
plot(t.*1000,delayed_signal,'r')
axis([0 5 -1.1 1.1])
xlabel('msec')
legend('Original Signal','Delayed Signal')
hold off

Figure contains an axes object. The axes object with title Delayed Signal, xlabel msec contains 2 objects of type line. These objects represent Original Signal, Delayed Signal.

遅延した信号の値は、元の信号の値とは異なります。これは、非整数遅延の実装に内挿を使用するためです。

入力引数

すべて折りたたむ

入力信号。長さ M の実数値のベクトル、長さ M の複素数値のベクトル、実数値の MN 列の行列、または複素数値の MN 列の行列として指定します。

Mdata のサンプル数です。data が行列である場合、N は独立した信号の数です。

データ型: single | double
複素数のサポート: あり

信号の遅延または前進。スカラー、または長さ N の実数値のベクトルとして指定します。fs 引数を指定する場合、delay の単位は秒です。delay がスカラーである場合、同じ遅延が data のすべての列に適用されます。fs を指定しない場合の delay の単位はサンプルであり、fs を指定する場合の単位は秒です。

データ型: single | double

信号のサンプリング周波数。正のスカラーとして指定します。単位は Hz です。

データ型: single | double

出力引数

すべて折りたたむ

遅延または前進した信号。長さ M の実数値のベクトル、長さ M の複素数値のベクトル、実数値の MN 列の行列、または複素数値の MN 列の行列として返されます。shifted_data の行数は data と同じであり、必要に応じて切り捨てまたはゼロ パディングが行われます。

拡張機能

すべて展開する

バージョン履歴

R2011a で導入