Main Content

getRBW

スペクトルの分解能帯域幅

説明

RBW = getRBW(estimator) は、スペクトル推定の分解能帯域幅を返します。

RBW = getRBW(estimator,Fs) は、入力サンプル レートを Fs と仮定して分解能帯域幅を返します。

すべて折りたたむ

dsp.SpectrumEstimator System object™ を使用して、マルチチャネルの正弦波信号のパワー スペクトルを計算します。関数 getFrequencyVector を使用して、スペクトルが推定される周波数のベクトルを取得できます。推定の分解能帯域幅 (RBW) を計算するには、関数 getRBW を使用します。

1 kHz でサンプリングされた 3 チャネルの正弦波を生成します。100 Hz、200 Hz、および 300 Hz の正弦波周波数を指定します。2 番目と 3 番目のチャネルの最初のチャネルからの位相オフセットは、それぞれ $\pi/2$$\pi/4$ です。

sineSignal = dsp.SineWave('SamplesPerFrame',1000,'SampleRate',1000, ...
    'Frequency',[100 200 300],'PhaseOffset',[0 pi/2 pi/4]);

信号の片側スペクトルを推定してプロットします。計算には dsp.SpectrumEstimator オブジェクトを使用し、プロットには dsp.ArrayPlot を使用します。

estimator = dsp.SpectrumEstimator('FrequencyRange','onesided');
plotter = dsp.ArrayPlot('PlotType','Line','YLimits',[0 0.75], ...
    'YLabel','Power Spectrum (watts)','XLabel','Frequency (Hz)');

ステップ実行してデータ ストリームを取得し、3 つのチャネルのスペクトルを表示します。

y = sineSignal();
pxx = estimator(y);
plotter(pxx)

関数 getFrequencyVector を使用して、スペクトルが推定される周波数 (Hz) のベクトルを取得します。

f = getFrequencyVector(estimator);

関数 getRBW を使用して、推定の分解能帯域幅 (RBW) を計算します。

rbw = getRBW(estimator)
rbw =

    0.0015

信号のパワー スペクトルの分解能帯域幅は 0.0015 Hz です。この周波数は、スペクトルについて分解できる最小の周波数です。

入力引数

すべて折りたたむ

推定器オブジェクト。次のいずれかとして指定します。

入力サンプル レート。実数の正のスカラーとして指定します。

出力引数

すべて折りたたむ

推定の分解能帯域幅。スカラーとして返されます。

分解能帯域幅 RBW は、分解できる最小の正の周波数または周波数範囲です。NENBW*SampleRate/L と等しくなります。ここで、L は入力長、NENBW はウィンドウの正規化された有効ノイズ帯域幅です。

RBW のデータ型は、入力のデータ型と一致します。

データ型: single | double

バージョン履歴

R2013b で導入