主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

周期图

ピリオドグラムパワースペクトル密度推定

説明

PXX=周期图(xでは,箱型ウィンドウを使用して検出された入力信号xのピリオドグラムパワースペクトル密度(PSD)推定PXXが返されます。xがベクトルの场合,単一チャネルとして取り扱われます。xが行列の场合,PSDは列ごとに个别に计算され,PXXの対応する列に保存されます。xが実数値の場合,PXXは片侧PSD推定です。xが複素数値の場合,PXXは両側PSD推定です。離散フーリエ変換(DFT)の点の数nfftの最大値は256または信号长よりも大きい最小の2のべき乘です。

PXX=周期图(x窗口では,ウィンドウ窗口を使用して,修正ピリオドグラムPSD推定が返されます。窗口は,xと同じ长さのベクトルです。

PXX=周期图(x窗口nfftは,離散型フーリエ変換で(DFT)nfft个の点を使用します。nfftが信号长よりも大きい场合,xには長さnfftまでゼロが追加されます。nfftが信号长よりも小さい场合,信号はnfftを法としてラップされ,datawrapを使用して合計されます。たとえば,nfftが4の入力信号[1 2 3 4 5 6 7 8]は,总和([1 5 2 6 3 7 4 8],2)のピリオドグラムになります。

PXXw) =周期图(___では,正規化周波数ベクトルwが返されます。PXXが片側ピリオドグラムの場合,wnfftが偶数であれば区間[0,π]をカバーし,nfftが奇数であれば[0,π)をカバーします。PXXが両侧ピリオドグラムの场合,wは区间[0, 2π)をカバーします。

PXXf) =周期图(___fsは,周波数ベクトルfを単位时间あたりのサイクル数で返します。サンプルレートfsは単位時間あたりのサンプル数です。時間の単位が秒の場合,fの単位はサイクル/秒(Hz)です。実数値の信号の場合,fは偶数のnfftに対しては区間[0,fs/ 2)をカバーし,奇数のnfftに対しては[0,fs/ 2)をカバーします。复素数値の信号fは区间[0,fs)をカバーします。fs周期图の4番目の入力でなければなりません。サンプルレートを入力した場合でも、前のオプション引数の既定値を使用するには、これらの引数を空[]として指定します。

PXXw) =周期图(x窗口wでは,ベクトルwで指定される正规化周波数での両侧ピリオドグラム推定が返されます。wには少なくとも2つの要素が含まれていなければなりません。そうでない場合は,関数がnfftとして解釈するためです。

PXXf) =周期图(x窗口ffsでは,ベクトルで指定される周波数での両側ピリオドグラム推定が返されます。ベクトルfには少なくとも2つの要素が含まれていなければなりません。そうでない場合は,関数がnfftとして解釈するためです。fの周波数の単位は単位時間あたりのサイクルです。サンプルレートfsは単位時間あたりのサンプル数です。時間の単位が秒の場合,fの単位はサイクル/秒(Hz)です。

___) =周期图(x窗口___freqrangeでは,freqrangeで指定される周波数範囲にわたるピリオドグラムが返されます。freqrangeに指定できる有効なオプションは,'片面'双侧的または“中心”的です。

___pxxc) =周期图(___“ConfidenceLevel”,概率では,PSD推定の概率×100%信頼区間がpxxcで返されます。

rpxxf) =周期图(___“重新分配”)では,各PSD推定が,そのエネルギーの中心に最も近い周波数に再代入されます。rpxxにはfの各要素に再代入された推定の和が含まれます。

rpxxfPXX足球俱乐部) =周期图(___“重新分配”)では,再代入されないPSD推定PXXとエネルギー中心の周波数足球俱乐部も返されます。“重新分配”フラグを使用する场合,概率信頼区间は指定できません。

___) =周期图(___spectrumtypeでは,spectrumtypepsd的に指定されている场合はPSD推定が返され,spectrumtype'力量'に指定されている場合はパワースペクトルが返されます。

出力引数なしで周期图(___を使用すると,現在の图ウィンドウに,ピリオドグラムPSD推定が単位周波数あたりdB単位でプロットされます。

すべて折りたたむ

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの離散時間正弦波で構成される入力信号のピリオドグラムを求めます。

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの正弦波を作成します。信号长は320サンプルです。既定の箱型ウィンドウとDFT长を使用してピリオドグラムを求めます.DFT长は信号长よりも大きい最小の2のべき乘または512点です。信号は実数値で偶数の长さをもつため,ピリオドグラムは片侧で512/2 + 1点を含みます。

n = 0:319;x = cos(π/ 4 * n) + randn(大小(n));[pxx w] =周期图(x);情节(w, 10 * log10 (pxx))

出力なしで周期图を使用してプロットを缲り返します。

周期图(x)

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの离散时间正弦波で构成される入力信号の修正ピリオドグラムを求めます。

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの正弦波を作成します。信号长は320サンプルです。ハミングウィンドウと既定のDFT长を使用して修正ピリオドグラムを求めます.DFT长は信号长よりも大きい最小の2のべき乘または512点です。信号は実数値で偶数の长さをもつため,ピリオドグラムは片侧で512/2 + 1点を含みます。

n = 0:319;x = cos(π/ 4 * n) + randn(大小(n));周期图(x,汉明(长度(x)))

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの離散時間正弦波で構成される入力信号のピリオドグラムを求めます。信号長と同じDFT長を使用します。

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルの正弦波を作成します。信号长は320サンプルです。既定の箱型ウィンドウと信号长と同じDFT长を使用してピリオドグラムを求めます。信号は実数値のため,既定では长さが二分之三百二十+ 1に等しい片侧ピリオドグラムが返されます。

n = 0:319;x = cos(π/ 4 * n) + randn(大小(n));nfft =长度(x);周期图(x, [], nfft)

1700年から1987年にかけて毎年サンプリングされたウォルフ(相対黒点)数データのピリオドグラムを求めます。

相対黒点数のデータを読み込みます。既定の箱型ウィンドウとDFTの点の数(この例では512)を使用してピリオドグラムを求めます。これらのデータのサンプルレートは1サンプル/年です。ピリオドグラムをプロットします。

负载sunspot.datrelNums =太阳黑子(:,2);[pxx f] =周期图(relNums, [] [], 1);情节(f, 10 * log10 (pxx))包含(“周期/年”)ylabel('分贝/(周期/年)')标题(“相对太阳黑子数数据的周期图”

上の図から,およそ0.1サイクル/年にピリオドグラムのピークがあり,つまりおよそ10年が周期であることがわかります。

N 0 1 加法性ホワイトノイズを伴う角周波数 π / 4 ラジアン/サンプルと π / 2 ラジアン/サンプルの2つの離散時間正弦波で構成される入力信号のピリオドグラムを求めます。 π / 4 および π / 2 ラジアン/サンプルにおける両側ピリオドグラム推定を求めます。結果を片側ピリオドグラムと比較します。

n = 0:319;X = COS(π/ 4 * N)+ 0.5 * SIN(PI / 2 * N)+ randn(大小(N));[PXX,W] =周期图(X,[],π/ 4 PI / 2]);PXX
PXX =1×214.0589 2.8872
[pxx1, w1] =周期图(x);情节(w1 /πpxx1 w /π,2 * pxx,“o”)传说(“pxx1”“2 * pxx”)Xlabel(“ω\ / \π”

得られたピリオドグラムの値は片側ピリオドグラムの値の1/2です。特定の周波数のセットでピリオドグラムを評価する場合,出力は両側推定になります。

N(0,1)加法性ホワイトノイズを伴う周波数100 Hzおよび200 Hzの2つの正弦波で構成される信号を作成します。サンプリング周波数は1 kHzです。100Hz と 200 Hz における両側ピリオドグラムを求めます。

fs = 1000;t = 0:0.001:1 - 0.001;X = COS(2 * PI * 100 * T)+ SIN(2 * PI * 200 * T)+ randn(大小(T));FREQ = [100 200];PXX =周期图(X,[],频率,fs)的
PXX =1×20.2647 - 0.2313

次の例は,ピリオドグラムでの信頼限界の使い方を示します。統計的有意性の必要条件ではありませんが,周囲のPSD推定の信頼下限が信頼上限を超えるピリオドグラムの周波数は,時系列において有意な振幅を明確に示します。

N(0,1)加法性ホワイトノイズを伴う100 Hzと150 Hzの正弦波を重ね合わせて構成される信号を作成します。2つの正弦波の振幅は1です。サンプリング周波数は1 kHzです。

fs = 1000;t = 0:1 / fs: 1 - 1 / f;x = cos(2 *π* 100 * t) +罪(2 *π* 150 * t) + randn(大小(t));

95%信頼限界でピリオドグラムPSD推定を求めます。信頼区间と共にピリオドグラムをプロットし,100赫兹と150赫兹付近の周波数关心领域を拡大します。

[pxx f, pxxc] =周期图(x, rectwin(长度(x)),长度(x), fs,......'ConfidenceLevel', 0.95);情节(f, 10 * log10 (pxx))情节(f, 10 * log10 (pxxc),“-”。xlabel([85 175])“赫兹”)ylabel(“dB /赫兹”)标题(“具有95%置信界限的周期图”

100および150赫兹のごく近傍における信頼限界の下限は,100および150赫兹の近傍外における信頼限界の上限より大幅に上になります。

N 0 1 加法性ノイズを伴う100 Hzの正弦波のピリオドグラムを求めます。データは1 kHzでサンプリングされます。“中心”的オプションを使用して直流を中央に揃えたピリオドグラムを求め,結果をプロットします。

fs = 1000;t = 0:0.001:1 - 0.001;x = cos(2 *π* 100 * t) + randn(大小(t));周期图(x,[],长度(x), fs,“中心”的

ホワイトガウスノイズに含まれる200赫兹の正弦波で构成される信号を生成します。信号は1千赫で1秒间サンプリングされます。ノイズの分散は0.01²です。再现可能な结果が必要な场合は,乱数発生器をリセットします。

rng (“默认”) Fs = 1000;t = 0:1 / Fs: 1 - 1 / f;N =长度(t);x =罪(2 *π* t * 200) + 0.01 * randn(大小(t));

FFTを使用して,信号长で正规化された信号のパワースペクトルを计算します。この正弦波はビン内にあるため,すべてのパワーは単一の周波数サンプルに集中しています。片侧スペクトルをプロットします。ピークの近傍にズームインします。

q = fft (x, N);ff = 0: Fs / N: Fs-Fs / N;fft算法= q * q ' / N ^ 2
fft算法= 0.4997
ff = ff(1:地板(N / 2) + 1);q = q(1:地板(N / 2) + 1);茎(ff、abs (q) / N,‘*’)轴([190 210 0 0.55])

周期图を使用して,信号のパワースペクトルを计算します。ハンウィンドウと1024のFFT长を指定します0.200赫兹における推定パワーと実际の値の割合差を求めます。

风=损害(N);(双关语,fr) =周期图(Fs x,风,1024年,'力量');抓住茎(fr,双关)

periodogErr = abs (max(双关语)fft算法)/ fft算法* 100
periodogErr = 4.7349

パワースペクトルを再度计算しますが,今度は再割り当てを使用します。新しい推定をプロットし,その最大値をFFT値と比较します。

[之前,英国《金融时报》,pxx, fx =周期图(Fs x,风,1024年,'力量'“重新分配”);茎(外汇、前)离开传奇(“原始”“周期图”“重分配”

reassignErr = abs (max(前)fft算法)/ fft算法* 100
reassignErr = 0.0779

'力量'オプションを使用して特定の周波数で正弦波のパワーを推定します。

1 kHzでサンプリングされた1秒間の100 Hz正弦波を作成します。正弦波の振幅は1.8でこれは1.8²/ 2 = 1.62のパワーと等しくなります。'力量'オプションを使用してパワーを推定します。

fs = 1000;t = 0:1 / fs: 1 - 1 / f;X = 1.8 * COS(2 * PI * 100 * T);[PXX中,f] =周期图(X,汉明(长度(X)),长度(X),FS,'力量');[pwrest,IDX] = MAX(PXX);流(“最大功率出现在%3.1f Hz\n”f (idx))
最大功率出现在100.0 Hz
流(“功率估计为%2.2f\n”压水式反应堆)
该功率估计为1.62

N 0 1 加法性ホワイトガウスノイズを伴う3つの正弦波から構成されるマルチチャネル信号の1024サンプルを生成します。正弦波の周波数は, π / 2 π / 3. ,および π / 4 ラジアン/サンプルです。ピリオドグラムを使用して信号のPSDを推定し,プロットします。

N = 1024;n = 0: n - 1;w = pi. / [2, 3, 4);X = cos(w*n)' + randn(length(n),3);周期图(x)

ウィンドウを使用して,入力信号の修正ピリオドグラムパワースペクトル密度(PSD)推定を返す关数periodogram_data.mを作成します。この関数は,入力信号の長さと等しい離散フーリエ変換点の数を指定します。

类型periodogram_data
函数[pxx,f] = periodogram_data(inputData,window) %#codegen nfft = length(inputData);[pxx f] =周期图(inputData、窗、nfft);结束

Codegen.(MATLAB编码器)を使用してMEX关数を生成します。

  • この関数の%#代码生成命令は,MATLAB®コードがコード生成用であることを指定します。

  • arg游戏オプションは,MEXファイルへの入力のサイズ,クラス,および実数/复素数を定义する引数の例を指定します。この例の场合,inputDataを1024行1列の倍精度のランダムベクトルとして指定し,窗口を长さ1024のハミングウィンドウとして指定します。続くMEX关数の呼び出しでは,1024サンプルの入力信号とウィンドウを使用します。

  • MEX关数の名前を変更する场合は,-oオプションを使用します。

  • コード生成レポートを表示するには,Codegen.コマンドの最後に报告オプションを追加します。

Codegen.periodogram_dataarg游戏{randn(1024,1),汉明(1024)}

関数周期图と生成した墨西哥人関数を使用して,1024サンプルのノイズを含んだ正弦波のPSD推定を計算します。 2 π / 5 ラジアン/サンプルの正弦波正規化周波数とハンウィンドウを指定します。2つの推定をプロットして,両者が一致することを確認します。

N = 1024;x = 2*cos(2*pi/5*(0:N-1)') + randn(N,1);periodogram(x,han (N)) [pxMex,fMex] = periodogram_data(x,hann(N));抓住情节(fMex /π,pow2db (pxMex),':'“颜色”,[0 0.4 0])保持离开网格传奇(“周期图”“墨西哥人函数”

入力引数

すべて折りたたむ

行または列のベクトル,または行列として指定する入力信号。xが行列の场合,その各列は独立チャネルとして扱われます。

例:因为(π/ 4 * (0:159))+ randn (1160)は単一チャネルの行ベクトル信号です。

例:COS(PI ./ [4; 2] *(0:159))'+ randn(160,2)は2チャネル信号です。

データ型:单身的|
複素数のサポート:あり

ウィンドウ。入力信号と同じ長さの行ベクトルまたは列ベクトルで指定します。窗口を空として指定した場合,周期图は箱型ウィンドウを使用します。“重新分配”フラグと空の窗口を指定した場合,関数はβ= 38のカイザーウィンドウを使用します。

データ型:单身的|

正の整数として指定するDFT点の数。実数値の入力信号xでは,PSD推定PXXは,nfftが偶数の場合,長さ(nfft/ 2 + 1),nfftが奇数の場合,長さ(nfft+ 1) / 2になります。複素数値の入力信号xでは,PSD推定は常に长さnfftになります。nfftが空として指定されている場合,既定のnfftが使用されます。

データ型:单身的|

サンプルレート。正のスカラーで指定します。サンプルレートは単位時間あたりのサンプル数です。時間の単位が秒の場合,サンプルレートの単位は Hz です。

正規化周波数。少なくとも2つの要素をもつ行ベクトルまたは列ベクトルとして指定します。正規化周波数の単位はラジアン/サンプルです。

例:W = [pi/4 pi/2]

データ型:

周波数。少なくとも2つの要素をもつ行ベクトルまたは列ベクトルとして指定します。周波数の単位は単位時間あたりのサイクルです。単位時間はサンプルレートfsで指定されます。fsの単位がサンプル/秒であれば,fの単位は赫兹です。

例:fs = 1000;F = [100 200]

データ型:

'片面'双侧的または“中心”的で指定する,PSD推定の周波数範囲。既定値は,実数値信号の場合は'片面',複素数値信号の場合は双侧的です。各オプションに対応する周波数範囲は次のとおりです。

  • '片面'- 実数値入力信号xの片側PSDを返します。nfftが偶数の场合,PXXの長さはnfft/ 2 + 1で,计算区间は[0,π]ラジアン/サンプルです。nfftが奇数の場合,PXXの長さは(nfft+ 1) / 2,区間は[0,π)ラジアン/サンプルです。fsがオプションで指定されると,対応する区間はそれぞれ,nfftが偶数の場合は[0,fs/ 2)サイクル/単位時間,奇数の場合は[0,fs/ 2)サイクル/単位时间になります。

  • 双侧的——実数値または複素数値の入力xについて両側PSD推定を返します。この場合,PXXの長さはnfft,計算区間は[0, 2π)ラジアン/サンプルです。fsがオプションで指定される場合,その区間は[0,fs)サイクル/単位時間になります。

  • “中心”的——実数値または複素数値の入力xについて中央に揃えた両側PSD推定を返します。この場合,PXXの長さはnfft,偶数長のnfftについては区間(π-π)ラジアン/サンプルで,奇数長のnfftについては(π-π)ラジアン/サンプルで計算されます。fsがオプションで指定されると,対応する区間はそれぞれ,nfftが偶数長の場合は(-fs/ 2,fs/ 2)サイクル/単位時間,奇数長の場合は(-fs/ 2,fs/ 2)サイクル/単位时间になります。

パワースペクトルのスケーリング。psd的または'力量'で指定します。パワースペクトル密度を返すには,spectrumtypeを省略するか,またはpsd的を指定します。各周波数のパワーの推定を求めるには,代わりに'力量'を使用します。'力量'を指定すると,“重新分配”フラグを使用している場合を除き,ウィンドウ相当ノイズ帯域幅ごとのPSD推定をスケーリングします。

(0,1)の范囲のスカラーとして指定する,真のPSDのカバレッジ确率。出力pxxcは真ののPSD概率×100%区間推定の下限および上限を含みます。

出力引数

すべて折りたたむ

PSD推定。実数値の非負の列ベクトルまたは行列として返されます。PXXの各列がxの対応する列のPSD推定です。PSD 推定の単位は、単位周波数あたりの時系列データの 2 乗振幅単位となります。たとえば、入力データがボルト単位の場合、PSD 推定の単位は単位周波数あたりのボルトの 2 乗となります。ボルト単位の時系列では、抵抗が 1 Ωという想定でサンプルレートをヘルツで指定した場合、PSD 推定はワット/ヘルツ単位となります。

データ型:单身的|

巡回周波数。実数値の列ベクトルとして返されます。片侧PSD推定では,fnfftが偶数の場合は区間[0,fs/ 2]をカバーし,nfftが奇数の場合は[0,fs/ 2)をカバーします。両側PSD推定では,fは区间[0,fs)をカバーします。直流を中央に揃えたPSD推定では,fは,nfftが偶数長であれば区間(-fs/ 2,fs/ 2]サイクル/単位时间をカバーし,nfftが奇数長であれば(-fs/ 2,fs/ 2)サイクル/単位時間をカバーします。

データ型:|单身的

正规化周波数。実数値の列ベクトルとして返されます。PXXが片側PSD推定の場合,wは偶数のnfftに対しては区间[0,π]をカバーし,奇数のnfftに対しては[0,π)をカバーします。PXXが両側PSD推定の場合,wは区间[0, 2π)をカバーします。直流を中央に揃えたPSD推定の場合,nfftが偶数のときはwは区间(π-π)をカバーし,nfftが奇数のときは(π-π)をカバーします。

データ型:

信頼限界。実数値要素をもつ行列として返されます。行列の行のサイズは,PSD推定PXXの长さと同じです。pxxcの列数はPXXの2倍です。奇数番号の列には信頼区間の下限が,偶数番号の列にはその上限がそれぞれ含まれています。したがって,pxxc (m, 2 * n - 1)は,推定pxx (m, n)に対応する信頼区間の下限で,pxxc (m, 2 * n)はその上限となります。信頼区間のカバレッジ確率は,概率の入力値によって決まります。

データ型:单身的|

再代入されたPSD推定。実数値の非负の列ベクトルまたは行列として返されます。rpxxの各列は,xの対応する列の再代入されたPSD推定です。

エネルギー中心の周波数。ベクトルまたは行列として指定します。

詳細

すべて折りたたむ

ピリオドグラム

ピリオドグラムは広义定常性ランダム过程のパワースペクトル密度(PSD)のノンパラメトリック推定です。ピリオドグラムは自己相关列のバイアスのある推定のフーリエ変换です。fsサンプル/単位時間でサンプリングされた信号xnの場合,ピリオドグラムは次のように定義されます。

P f Δ t N | σ. n 0 N - 1 x n e - j 2 π f Δ t n | 2 - 1 / 2 Δ t < f ≤. 1 / 2 Δ t

ここで,Δtはサンプリング间隔です。片側ピリオドグラムの場合,0とナイキスト周波数1/2Δt以外のすべての周波数における値は,合计パワーを保全するため2倍されます。

周波数の単位がラジアン/サンプルの场合,ピリオドグラムは次のように定义されます。

P ω 1 2 π N | σ. n 0 N - 1 x n e - j ω n | 2 - π < ω ≤. π

上記の方程式の周波数範囲はfreqrange引数の値によって異なります。入力引数freqrangeの説明を参照してください。

1周期(巡回周波数の場合は1 /Δt的,正规化周波数の场合は2π)に対する真のPSDの积分(P (f))は広義定常ランダム過程の分散に等しくなります。

σ 2 - 1 / 2 Δ t 1 / 2 Δ t P f d f

正规化周波数の场合は,积分范囲を适切に置き换えます。

修正ピリオドグラム

修正ピリオドグラムは,入力時系列をウィンドウ関数で乗算します。適切なウィンドウ関数は非負であり,開始点と終了点でゼロに減衰します。時系列をウィンドウ関数で乗算すると,データが徐々に断続的に“漸減し”,ピリオドグラムでの漏れを軽減します。例については,ピリオドグラムにおけるバイアスとばらつきを参照してください。

hnがウィンドウ関数の場合,修正ピリオドグラムは次のように定義されます。

P f Δ t N | σ. n 0 N - 1 h n x n e - j 2 π f Δ t n | 2 - 1 / 2 Δ t < f ≤. 1 / 2 Δ t

ここで,Δtはサンプリング间隔です。

周波数の単位がラジアン/サンプルの場合,修正ピリオドグラムは次のように定義されます。

P ω 1 2 π N | σ. n 0 N - 1 h n x n e - j ω n | 2 - π < ω ≤. π

上記の方程式の周波数範囲はfreqrange引数の値によって異なります。入力引数freqrangeの説明を参照してください。

再割り当てされたピリオドグラム

再割り当て手法では,スペクトル推定の局所化が鮮明になり,読み取りと解釈の容易なピリオドグラムが作成されます。この手法では,各PSD推定はビンの幾何学的中心から離れ,そのビンのエネルギー中心に再代入されます。これにより,チャープとインパルスの厳密な局所化が行われます。

参照

[1] Auger, François,和Patrick Flandrin。“用重分配方法提高时频和时标表示的可读性。”IEEE®信号处理论文集。第43卷,1995年5月,1068-1089页。

福洛普,肖恩·A和凯利·菲兹。“计算时间校正瞬时频率(重新分配)谱图的算法及其应用。”美国声学学会杂志。第119卷,2006年1月,360-371页。

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してÇおよびC ++コードを生成します。

R2006aより前に導入