ドキュメンテーション

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

pulstran

構文

pulstran
y = pulstran(t,d,'func')
pulstran(t,d,'func',p1,p2,...)
pulstran(t,d,p,fs)
pulstran(t,d,p)
pulstran(...,'func')

説明

pulstran では、連続関数またはサンプリングされたプロトタイプ パルスからパルス列が生成されます。

y = pulstran(t,d,'func') では、連続関数 'func' のサンプルに基づいてパルス列が生成されます。ここで、'func' は、以下になります。

  • 'gauspuls': ガウス変調正弦波パルスの発生用

  • 'rectpuls': サンプリングされた周期性をもたない矩形波の発生用

  • 'tripuls': サンプリングされた周期性をもたない三角波の発生用

pulstranlength(d) 回評価され、その結果の和 y = func(t-d(1)) + func(t-d(2)) + ... が返されます。

この関数では、ベクトル d で定義されたスカラー引数オフセットを除去した後、配列 t に指定された引数値の範囲全体について評価が行われます。func は、配列 t を引数として受け取ることができるベクトル関数でなければなりません。

オプションのゲイン ファクターは、d を 2 列の行列として設定することで、各遅延に適用できます。行列 d の 1 列目にはオフセット、2 列目には関連するゲインを定義します。行ベクトルは、遅延を設定するものとしてのみ解釈されることに注意してください。

pulstran(t,d,'func',p1,p2,...) では、必要に応じて追加パラメーターを 'func' に渡すことができます。以下に例を示します。

func(t-d(1),p1,p2,...) + func(t-d(2),p1,p2,...) + ...

pulstran(t,d,p,fs) では、ベクトル p に設定した値に従ってプロトタイプ パルスがさまざまに遅延され、その和を計算し、サンプルレート fs のパルス列が生成されます。ここで、p[0,(length(p)-1)/fs] の時間区間で、この区間外ではサンプルはすべて 0 とします。既定の設定では、線形内挿を使用して遅延が生成させます。

pulstran(t,d,p) では、サンプリング レート fs が 1 Hz と仮定されます。

pulstran(...,'func') は、三重三次内挿法を指定します。使用可能な方法については、interp1 を参照してください。

すべて折りたたむ

この例では、反復周波数 3 Hz、ノコギリ幅 0.1 秒の非対称ノコギリ波が生成されます。信号長は 1 秒、サンプルレートは 1 kHz です。

t = 0 : 1/1e3 : 1;         % 1 kHz sample freq for 1 s
d = 0 : 1/3 : 1;           % 3 Hz repetition frequency
y = pulstran(t,d,'tripuls',0.1,-1);

plot(t,y)
xlabel 'Time (s)', ylabel Waveform

この例では、10 kHz で 50% の帯域幅をもつ周期性ガウス パルス信号を生成します。パルス繰り返し周波数は 1 kHz、サンプルレートは 50 kHz、パルス列の長さは 10 ms です。各パルスの振幅は、先行するパルスの振幅の 80% です。

t = 0 : 1/50e3 : 10e-3;
d = [0 : 1/1e3 : 10e-3 ; 0.8.^(0:10)]';
y = pulstran(t,d,'gauspuls',10e3,0.5); 

plot(t,y)
xlabel 'Time (s)', ylabel 'Periodic Gaussian pulse'

R2006a より前に導入