Main Content

nuttallwin

ナットールの定義による最小 4 項ブラックマン・ハリス ウィンドウ

説明

w = nuttallwin(L) では、ナットールの定義による L 点の 4 項対称ブラックマン・ハリス ウィンドウが返されます。このウィンドウの係数は、blackmanharris で計算されたブラックマン・ハリス ウィンドウの係数とは異なり、サイドローブが多少小さくなります。

w = nuttallwin(L,sflag)sflag のウィンドウ サンプリングを使用します。

すべて折りたたむ

64 点のナットール ウィンドウおよびブラックマン・ハリス ウィンドウを比較します。wvtool でこれらをプロットします。

L = 64;
w = blackmanharris(L);
y = nuttallwin(L);
wvtool(w,y)

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 2 objects of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains 2 objects of type line.

2 つのウィンドウの最大誤差を計算します。

max(abs(y-w))
ans = 0.0099

入力引数

すべて折りたたむ

ウィンドウの長さ。実数の正のスカラーとして指定します。

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

ウィンドウのサンプリング。"symmetric" または "periodic" として指定します。対称ウィンドウと周期的ウィンドウを定義する式については、アルゴリズムを参照してください。

出力引数

すべて折りたたむ

ナットールの定義によるブラックマン・ハリス ウィンドウ。長さ L の列ベクトルとして返されます。この関数は、ウィンドウの最大サイドローブを最小化します。

アルゴリズム

"対称的" なナットールの定義による 4 項ブラックマン・ハリス ウィンドウの式は次のとおりです。

w(n)=a0a1cos(2πnN1)+a2cos(4πnN1)a3cos(6πnN1)

ここで、n= 0,1,2, ... N-1 です。

"周期的" なナットールの定義による 4 項ブラックマン・ハリス ウィンドウの式は次のとおりです。

w(n)=a0a1cos(2πnN)+a2cos(4πnN)a3cos(6πnN)

ここで、n= 0,1,2, ... N-1 です。周期的ウィンドウは N 周期です。

このウィンドウの係数は、次のようになります。

a0 = 0.3635819

a1 = 0.4891775

a2 = 0.1365995

a3 = 0.0106411

参照

[1] Nuttall, Albert H. “Some Windows with Very Good Sidelobe Behavior.” IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-29, February 1981, pp. 84–91.

拡張機能

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

バージョン履歴

R2006a より前に導入