Main Content

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

sigwin.hamming クラス

名前空間: sigwin

ハミング ウィンドウ オブジェクトの構築

説明

メモ

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

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

次の方程式は、長さ N のハミング ウィンドウを定義するものです。

w(n)=0.540.46cos2πnN1,0nM1

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

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

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

構築

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

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

H = sigwin.hamming(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.hamming(64,'symmetric');
Hp = sigwin.hamming(63,'periodic')
Hp = 
            Name: 'Hamming'
    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.hamming(16);

win = generate(H)
win = 16×1

    0.0800
    0.1198
    0.2322
    0.3979
    0.5881
    0.7700
    0.9121
    0.9899
    0.9899
    0.9121
      ⋮

wininfo = info(H)
wininfo = 4x26 char array
    'Hamming 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.