メインコンテンツ

flattopwin

フラット トップ加重ウィンドウ

説明

w = flattopwin(L) では、L 点の対称フラット トップ ウィンドウが返されます。

w = flattopwin(L,sflag) では、sflag で指定されたウィンドウ サンプリング法を使用した L 点の対称フラット トップ ウィンドウが返されます。

w = flattopwin(___,typeName) は、ウィンドウ w を単精度または倍精度で返すオプションを指定します。

すべて折りたたむ

64 点の対称フラット トップ ウィンドウを作成します。wvtool を使用して結果を表示します。

N = 64;
w = flattopwin(N);
wvtool(w)

Figure Window Visualization Tool contains 2 axes objects and other objects of type uimenu, uitoolbar, uipanel. Axes object 1 with title Time domain, xlabel Samples, ylabel Amplitude contains an object of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

入力引数

すべて折りたたむ

ウィンドウの長さ。正の整数で指定します。

メモ

L を非整数として指定した場合、関数はそれを最も近い整数値に丸めます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

ウィンドウ サンプリング方法。以下として指定します。

  • "symmetric" — フィルター設計でウィンドウを使用する場合は、このオプションを使用します。

  • "periodic" — スペクトル解析でウィンドウを使用する場合は、このオプションを使用します。"periodic" を指定した場合、flattopwin は長さ L + 1 のウィンドウを計算し、最初の L 個の点を返します。この欠損端点は、シーケンスの周期的拡張の次の周期の開始点になっています。したがって、このシーケンスは離散フーリエ変換の周期性の仮定を満たすことになります。

データ型: char | string

R2024b 以降

出力データ型 (クラス)。次のいずれかとして指定します。

  • "double" — 出力 w を倍精度で返すには、このオプションを使用します。

  • "single" — 出力 w を単精度で返すには、このオプションを使用します。

データ型: char | string

出力引数

すべて折りたたむ

フラット トップ ウィンドウ。列ベクトルとして返されます。

アルゴリズム

フラット トップ ウィンドウは、コサインの総和です。フラット トップ ウィンドウの係数は、次の式により計算されます。

w(n)=a0a1cos(2πnL1)+a2cos(4πnL1)a3cos(6πnL1)+a4cos(8πnL1),

ここで、0nL1 です。係数値は以下のとおりです。

係数
a00.21557895
a10.41663158
a20.277263158
a30.083578947
a40.006947368

フラット トップ ウィンドウは通過帯域リップルがきわめて小さく (0.01 dB 未満)、主にキャリブレーションの目的に使用されます。フラット トップ ウィンドウの帯域幅は広く、ハン ウィンドウの約 2.5 倍となります。

参照

[1] D’Antona, Gabriele, and A. Ferrero. Digital Signal Processing for Measurement Systems. New York: Springer Media, 2006, pp. 70–72.

[2] Gade, Svend, and Henrik Herlufsen. “Use of Weighting Functions in DFT/FFT Analysis (Part I).” Windows to FFT Analysis (Part I): Brüel & Kjær Technical Review. Vol. x, Number 3, 1987, pp. 1–28.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する