Signal Processing Toolbox | ![]() ![]() |
表示
y=
pulstran(t,d,'func
') y=
pulstran(t,d,'func
',p1,p2,...) y=
pulstran(t,d,p,fs) y=
pulstran(t,d,p)
詳細
pulstran
は、連続関数またはサンプリングされたプロトタイプパルスからパルス列を生成します。
y
は、連続関数 =
pulstran(t,d,'func
')
'
func
'
のサンプルに基づいてパルス列を生成します。ここで、func
は、つぎの文字列が設定できます。
gauspuls
:ガウス変調正弦波パルス発生器rectpuls
:サンプリングされた周期性をもたない矩形波発生器 tripuls
:サンプリングされた周期性をもたない三角波発生器pulstran
は、length(d)
回計算され、その結果の和y = func(t-d(1)) + func(t-d(2)) + ...
を出力します。
関数は、ベクトルd
で定義したスカラ引数オフセットを取り除いた後、配列t
に設定された引数の値全体について計算します。func
は、配列t
を引数として受け取ることができるベクトル関数でなければならないことに注意してください。
1列目にオフセット、2列目にそれに関連するゲインをもつ2列の行列として、d
を設定することにより、各遅れを計算に取り込むことができます。行ベクトルは、遅れを設定するものとしてのみ解釈されることに注意してください。
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 : e3 : 秒間 d=
0 : : Hzの反復周波数 y=
pulstran(t,d,'tripuls',0.1,-1); plot(t,y)
つぎの例題では、10 kHzで50%の帯域幅をもつ周期性ガウスパルスを生成します。パルスの反復周波数は1 kHz、サンプリング周波数は50 kHz、またパルス列の長さは10ミリ秒です。反復による振幅を毎回0.8づつ減衰させます。
t=
0 : ; d=
[0 : E3 : )]'; y=
pulstran(t,d,'gauspuls',10e3,0.5); plot(t,y)
つぎの例題では、10個のHammingウィンドウの列を生成します。
p=
hamming(32); t=
0:320; d=
(0:9)'*32; y=
pulstran(t,d,p); plot(t,y)
参考
|
時間と共に変化する周波数をもつ余弦波発生器 |
|
ベクトル/行列要素の余弦(MATLAB Function Referenceを参照) |
|
Dirichletまたは周期的なsinc関数 |
|
ガウス変調正弦波パルス発生器 |
|
サンプリングされた非周期的な矩形波発生器 |
|
ノコギリ波または三角波発生器 |
|
ベクトル/行列要素の正弦(MATLAB Function Referenceを参照) |
|
sincまたはsin(![]() ![]() |
|
矩形波発生器 |
|
サンプリングされた非周期的な三角波発生器 |
![]() | psdplot | pwelch | ![]() |