Main Content

dpsssave

離散扁長回転楕円体列またはスレピアン列のデータベース

説明

dpsssave(time_halfbandwidth,dps_seq,lambda) では、離散扁長回転楕円体列 (DPSS)、すなわちスレピアン列のデータベースが作成され、結果が dpss.mat に保存されます。

メモ

データベース dpss.mat が存在する場合、次回以降に dpsssave を呼び出すと、既存のファイルにスレピアン列が付け加えられます。シーケンスが既に既存のファイルにある場合は、この関数によって古い値が上書きされ、警告が発行されます。

status = dpsssave(time_halfbandwidth,dps_seq,lambda) では、データベース操作が正常に完了した場合は 0 が、正常に完了しなかった場合は 1 が返されます。

すべて折りたたむ

長さが 512 である離散扁長回転楕円体列を作成します。時間-半帯域積を 2.5 に指定します。

seq_length = 512;
time_halfbandwidth = 2.5;
[dps_seq,lambda] = dpss(seq_length,time_halfbandwidth);

出力されたスレピアン列と周波数領域集中率を使用してデータベースを作成します。この関数は、データベース dpss.mat を現在の作業ディレクトリに保存します。正常に作成された場合、出力変数 status は 0 になります。

status = dpsssave(time_halfbandwidth,dps_seq,lambda)
status = 0

入力引数

すべて折りたたむ

時間-半帯域積。正のスカラーで指定します。この引数により、dps_seq のスレピアン列の周波数の集中度が決まります。

データ型: single | double

スレピアン列。行列として指定します。dps_seq の行数はシーケンスの長さと等しくなります。

データ型: single | double

dps_seq のスレピアン列の周波数集中率。ベクトルとして指定します。lambda の長さは、dps_seq の列数と等しくなります。

データ型: single | double

詳細

すべて折りたたむ

離散扁長回転楕円体列

離散扁長回転楕円体列、すなわちスレピアン列は、次の時間-周波数集中の問題から派生するものです。すべての有限エネルギーのシーケンス x[n] のインデックスが設定された [N1,N1+N2] に制限されている場合、次の比率が最大になるのはどのシーケンスであるかを考えます。

λ=WW|X(f)|2dfFs/2Fs/2|X(f)|2df

ここで、Fs はサンプル レートで、|W|<Fs/2 です。すなわち、インデックスが制限されたシーケンスは帯域 [–W,W] において最大比率のエネルギーをもちます。インデックスが制限されたシーケンスでは、この比率は不等式 0<λ<1 を満たさなければなりません。比率を最大化するシーケンスが、第 1 の離散扁長回転楕円体列、またはスレピアン列となります。第 2 のスレピアン列は、比率が最大になり、第 1 のスレピアン列と直交します。第 3 のスレピアン列は、積分の比率が最大になり、第 1 と第 2 の両方のスレピアン列と直交します。このように操作を継続していくと、スレピアン列は、帯域制限されたシーケンスの直交集合を形成します。

時間と半帯域幅との積

時間と半帯域幅との積は NW で表され、N はシーケンスの長さ、[–W,W] はシーケンスの有効帯域幅を示します。スレピアン列の構築では、希望のシーケンス長と帯域幅 2W を選択します。シーケンス長と帯域幅の両方が、1 に近い集中率となるスレピアン列の数に影響します。一般に、エネルギー集中率がほぼ 1 に等しくなるスレピアン列は、2NW – 1 個存在します。スレピアン列が 2NW – 1 個を超えると、集中率はゼロへと近づき始めます。時間と半帯域幅との積には一般に、次の値が選択されます。2.5、3、3.5、4。

スレピアン列の帯域幅は、時間と半帯域幅の積を NW/Fs と定義することにより、Hz 単位で指定できます。ここで、Fs はサンプル レートを表します。

バージョン履歴

R2006a より前に導入