Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

sigwin.hann クラス

名前空間: sigwin

ハン (ハニング) ウィンドウ オブジェクトの構築

説明

メモ

sigwin.hann の使用は推奨されていません。代わりに hann を使用してください。

sigwin.hann では、ウィンドウ法により、ウィンドウ法でのスペクトル解析や FIR フィルター処理に使用する、ハン ウィンドウ オブジェクトのハンドルが作成されます。オブジェクト メソッドにより、ウィンドウの値をワークスペースにインポートし、ASCII ファイルにエクスポートできます。

長さが N の対称ハン ウィンドウは、次のように定義されます。

w(n)=12(1cos2πnN1),0nM1

ここで、M は N が偶数の場合は N/2 で、N が奇数の場合は (N + 1)/2 です。

対称なハン ウィンドウの後半 MnN1 は、前半を中間点で反転させることで取得されます。FIR フィルター設計でハン ウィンドウを使用する場合は、対称オプションの使用をお勧めします。

周期性をもつハン ウィンドウを作成するには、希望するウィンドウの長さを 1 サンプル分延長し、対称ウィンドウを構築して、最後のサンプルを削除します。離散フーリエ変換では入力ベクトルの周期的拡張が前提となるため、ハン ウィンドウをスペクトル解析に使用する際は周期性をもたせることをお勧めします。

構築

H = sigwin.hann では、長さ 64 の対称ハン ウィンドウ オブジェクト H が返されます。

H = sigwin.hann(Length) では、長さ Length の対称ハン ウィンドウ オブジェクトが返されます。Length は正の整数でなければなりません。Length に整数以外の正の値を入力すると、長さは最も近い整数に丸められます。Length に 1 を入力すると、1 という単一の値をもつウィンドウとなります。

H = sigwin.hann(Length,SamplingFlag) では、サンプリング Sampling_Flag をもつハン ウィンドウ オブジェクトが返されます。SamplingFlag は、'symmetric' または 'periodic' のいずれかの値をとります。

プロパティ

Length

ハン ウィンドウの長さ。この値は正の整数でなければなりません。Length に整数以外の正の値を入力すると、長さは最も近い整数に丸められます。Length に 1 を入力すると、1 という単一の値をもつウィンドウとなります。

SamplingFlag

既定値は 'symmetric' で、ハン ウィンドウの前半と後半が正確な対称をなすように強制されます。FIR フィルター設計のウィンドウ法では、対称ウィンドウが推奨されます。

'periodic' では、長さが Length+1 の対称ハン ウィンドウが設計され、ウィンドウの長さが Length に切り取られます。この設計は、ウィンドウが Length 個の点からなる周期的シーケンスの 1 つの周期として扱われるスペクトル解析で推奨されます。

メソッド

generateハン ウィンドウの生成
infoハン ウィンドウ オブジェクトについての情報の表示
winwriteハン ウィンドウ オブジェクトの値を ASCII ファイルに保存

セマンティクスのコピー

ハンドル。セマンティクスのコピーがクラスの使用に及ぼす影響は、MATLAB® の『プログラミングの基礎』にあるオブジェクトのコピーを参照してください。

すべて折りたたむ

2 つのハン ウィンドウの生成:

  • 最初のウィンドウは N = 64 で、対称です。

  • 2 番目のウィンドウは N = 63 で、周期的です。

2 つのウィンドウを表示します。

Hs = sigwin.hann(64,'symmetric');
Hp = sigwin.hann(63,'periodic')
Hp = 
            Name: 'Hann'
    SamplingFlag: 'periodic'
          Length: 63

wvt = wvtool(Hs,Hp);
legend(wvt.CurrentAxes,'Symmetric','Periodic')

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. These objects represent Symmetric, Periodic.

N = 16 の対称ハン ウィンドウを生成します。ウィンドウの値を列ベクトルとして返します。ウィンドウ オブジェクトに関する情報が表示されます。ウィンドウを表示します。

H = sigwin.hann(16);

win = generate(H)
win = 16×1

         0
    0.0432
    0.1654
    0.3455
    0.5523
    0.7500
    0.9045
    0.9891
    0.9891
    0.9045
      ⋮

wininfo = info(H)
wininfo = 4x26 char array
    'Hann Window               '
    '-----------               '
    'Length         : 16       '
    'Sampling Flag  : symmetric'

wvtool(H)

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.

参考文献

Oppenheim, Alan V., and Ronald W. Schafer. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1989.