ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

enbw

構文

  • bw = enbw(window)
  • bw = enbw(window,fs)

説明

bw = enbw(window) では、均一にサンプリングされたウィンドウ window についての両側等価ノイズ帯域幅 bw が返されます。等価ノイズ帯域幅は、周波数ビンごとのノイズ パワーで正規化されます。

bw = enbw(window,fs) では、両側等価ノイズ帯域幅 bw が Hz 単位で返されます。

すべて折りたたむ

長さ 1,000 サンプルのハミング ウィンドウの等価ノイズ帯域幅を求めます。

bw = enbw(hamming(1000))
bw =

    1.3638

長さ 10,000 サンプルのフラット トップ ウィンドウの等価ノイズ帯域幅を Hz 単位で求めます。サンプルレートは 44.1 kHz です。

bw = enbw(flattopwin(10000),44.1e3)
bw =

   16.6285

ハン ウィンドウの等価矩形ノイズ帯域幅を求め、等価矩形帯域幅をウィンドウの振幅スペクトルに重ね合わせます。ウィンドウは長さ 1000 サンプルで、サンプリング周波数は 10 kHz です。

サンプリング周波数を設定して、ウィンドウを作成し、スペクトルの中央が 0 周波数であるウィンドウの離散フーリエ変換を求めます。

Fs = 10000;
win = hann(1000);
windft = fftshift(fft(win));

ハン ウィンドウの等価 (矩形) ノイズ帯域幅を求めます。

bw = enbw(hann(1000),Fs)
bw =

   15.0150

ウィンドウの二乗振幅 DFT をプロットし、等価ノイズ帯域幅を使用して等価な矩形を重ね合わせます。

freq = -(Fs/2):Fs/length(win):Fs/2-(Fs/length(win));
maxgain = 20*log10(abs(windft(length(win)/2+1)));

plot(freq,20*log10(abs(windft)))
hold on
plot(bw*[-1 -1 1 1],[-40 maxgain maxgain -40],'--')
hold off

xlabel('Hz')
ylabel('dB')
axis([-60 60 -40 60])

入力引数

すべて折りたたむ

実数値要素をもつ行ベクトルまたは列ベクトルとして指定する、均一にサンプリングされたウィンドウ ベクトル。

例: hamming(1000)

データ型: double | single

正のスカラーとして指定するサンプリング周波数。

出力引数

すべて折りたたむ

正のスカラーとして指定する等価ノイズ帯域幅。

データ型: double | single

詳細

すべて折りたたむ

等価ノイズ帯域幅

ウィンドウの等価ノイズ帯域幅は、ウィンドウとして同じ合計パワーを含む領域をもつ矩形の幅です。矩形の高さはウィンドウのフーリエ変換の二乗振幅ピーク値になります。

サンプリング間隔を 1 とすると、ウィンドウの合計エネルギー w (n) は周波数領域または時間領域で次のように表すことができます。

1/21/2|W(f)|2df=n|w(n)|2.

ウィンドウのスペクトルのピーク振幅は f = 0 で出現します。これは、次の式で表されます。

|W(0)|2=|nw(n)|2.

等価矩形帯域幅の幅を求めるには、面積を高さで除算します。

1/21/2|W(f)|2df|W(0)|2=n|w(n)|2|nw(n)|2.

等価矩形帯域幅をハン ウィンドウの振幅スペクトルの上にプロットする例については、等価矩形ノイズ帯域幅を参照してください。

参考

|

R2013a で導入

この情報は役に立ちましたか?