主要内容

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

pspectrum

周波数領域および時間-周波数領域内の信号の解析

説明

p= pspectrum (xは,xのパワースペクトルを返します。

  • xがベクトルまたはデータのベクトルをもつ时间表の場合,単一チャネルとして扱われます。

  • xが1つの行列,行列変数をもつ时间表,または複数のベクトル変数をもつ时间表の場合,スペクトルは各チャネルに対して個別に計算され,pの個別の列に保存されます。

p= pspectrum (xfsは,fsのレートでサンプリングされたベクトルまたは行列信号のパワースペクトルを返します。

p= pspectrum (xtは,tで指定された時点でサンプリングされたベクトルまたは行列信号のパワー スペクトルを返します。

p= pspectrum (<年代pan class="argument_placeholder">___类型は,関数で実行されるスペクトル解析の種類を指定します。类型は,“权力”的谱图、または“坚持不懈”のいずれかに指定します。この構文には,前の構文の入力引数を任意に組み合わせて含めることができます。

p= pspectrum (<年代pan class="argument_placeholder">___名称,值は,名前と値のペアの引数を使用して追加オプションを指定します。オプションには,周波数分解能帯域幅や,隣り合ったセグメント間のオーバーラップ率があります。

pf) = pspectrum (<年代pan class="argument_placeholder">___はスペクトル推定に対応する周波数をpに含めて返します。

pft) = pspectrum (<年代pan class="argument_placeholder">___,谱图)は、短時間のパワー スペクトルの推定の計算に使用されるウィンドウ セグメントの中心に対応する時点のベクトルも返します。

pf压水堆) = pspectrum (<年代pan class="argument_placeholder">___、“持久性”)は,パーシステンススペクトルに含まれる推定に対応するパワー値のベクトルも返します。

出力引数を設定せずに<年代pan id="d123e123150" itemprop="syntax">pspectrum(<年代pan class="argument_placeholder">___を使用すると,現在の图ウィンドウにスペクトル推定がプロットされます。プロットでは,この関数が<年代pan class="inlineequation">10原木<年代ub>10pを使用してpをdBに変換します。

すべて折りたたむ

2チャネルの複素正弦波の128サンプルを生成します。

  • 最初のチャネルは,単位振幅および<年代pan class="inlineequation"> π / 4 ラジアン/サンプルの正規化された正弦波周波数をもちます。

  • 2番目チャネルは,<年代pan class="inlineequation"> 1 / 2 の振幅および<年代pan class="inlineequation"> π / 2 ラジアン/サンプルの正規化された周波数をもちます。

各チャネルのパワースペクトルを計算し,その絶対値をプロットします。<年代pan class="inlineequation"> 0 15 π ラジアン/サンプルから<年代pan class="inlineequation"> 0 6 π ラジアン/サンプルの周波数範囲を拡大表示します。pspectrumは,信号の周波数成分がビンに正確に収まる場合,そのビン内の振幅が信号の真の平均パワーになるようにスペクトルをスケールします。複素指数の場合,平均パワーは振幅の2乗です。信号の離散フーリエ変換を計算して確認します。詳細については,確定的周期信号のパワーの測定を参照してください。

N = 128;x =[1 1/根号(2)].*exp(1j*pi./[4;2]*(0:N-1)).';[p f] = pspectrum (x);情节(f /π,abs (p))<年代pan style="color:#A020F0">在茎(0:2 / N: 2 - 1 / N, abs (fft (x) / N) ^ 2)<年代pan style="color:#A020F0">从轴([0.15 0.6 0 1.1])<年代pan style="color:#A020F0">“频道1,pspectrum”,<年代pan style="color:#A020F0">“通道2,pspectrum”,<年代pan style="color:#0000FF">...“频道1,fft”,<年代pan style="color:#A020F0">“通道2,fft”)网格

1 kHzで296 ms間サンプリングされ,ホワイトガウスノイズに組み込まれた正弦波信号を生成します。200赫兹の正弦波周波数と0.1²のノイズ分散を指定します。信号とその時間情報をMATLAB®时间表に保存します。

Fs=1000;t=(0:1/Fs:0.296)';x=cos(2*pi*t*200)+0.1*randn(大小(t));xTable=时间表(秒(t),x);

信号のパワースペクトルを計算します。スペクトルをデシベル単位で表し,プロットします。

[pxx f] = pspectrum (xTable);情节(f, pow2db (pxx))网格<年代pan style="color:#A020F0">在xlabel(<年代pan style="color:#A020F0">的频率(赫兹)) ylabel (<年代pan style="color:#A020F0">的功率谱(dB))头衔(<年代pan style="color:#A020F0">默认频率分辨率的

正弦波のパワースペクトルを再計算しますが,今度は粗いほうの周波数分解能25 Hzを使用します。出力引数なしで関数pspectrumを使用してスペクトルをプロットします。

pspectrum(xTable,<年代pan style="color:#A020F0">“频率分辨率”, 25)

3千赫でそれぞれ1秒間サンプリングされた2つの信号を生成します。最初の信号は凸二次チャープで,測定中に周波数が300 Hzから1300 Hzに増加します。チャープはホワイトガウスノイズに組み込まれます。2番目の信号もホワイト ノイズに組み込まれますが、これは正弦関数的に変化する周波数成分をもつチャープです。

fs = 3000;t = 0:1 / fs: 1 - 1 / f;x1 =唧唧喳喳(1300 t, 300 t(结束),,<年代pan style="color:#A020F0">“二次”,0,<年代pan style="color:#A020F0">“凸”)+<年代pan style="color:#0000FF">...randn(大小(t)) / 100;x2 = exp (2 j *π* 100 * cos(2 *π* 2 * t)) + randn(大小(t)) / 100;

箱型ウィンドウを使用して、最初の信号の両側パワー スペクトルを計算してプロットします。実信号の場合、pspectrumは既定では片側スペクトルをプロットします。両側スペクトルをプロットするには、双侧を真正に設定します。

pspectrum (x1, fs,<年代pan style="color:#A020F0">“漏”1.<年代pan style="color:#A020F0">双侧的,真正的)

2番目の信号のスペクトログラムを計算します。複素信号の場合,スペクトログラムは既定では両側です。スペクトログラムをウォータフォールプロットとして表示します。

[p f t] = pspectrum (x2, fs,<年代pan style="color:#A020F0">的谱图); 瀑布(f,t,p’);xlabel(<年代pan style="color:#A020F0">的频率(赫兹)) ylabel (<年代pan style="color:#A020F0">'时间(秒)')wtf=gca;wtf.XDir=<年代pan style="color:#A020F0">“反向”;视图([30 45])

100Hzで 2.秒間サンプリングされた 2.チャネルの信号を生成します。

  1. 最初のチャネルは20 hzトーンと21赫兹トーンで構成されます。どちらのトーンにも単位振幅があります。

  2. 2番目のチャネルも2つのトーンをもちます。1つのトーンは単位振幅および 20Hz の周波数をもちます。もう 1 つのトーンは 1/100 の振幅および 30Hz の周波数をもちます。

fs = 100;t = (0:1 / fs: 2 - 1 / fs) ';X = sin(2*pi*[20 20].*t) +[1 /100]。* sin(2 *π*[21 30]。* t);

ホワイトノイズに信号を組み込みます。40dB の S/N 比を指定します。信号をプロットします。

X = X + randn(size(X)).*std(X)/db2mag(40);情节(t, x)

2.つのチャネルのスペクトルを計算し、表示します。

pspectrum (x, t)

スペクトル漏れの既定値0.5は分解能帯域幅の約1.29赫兹に相当します。1番目のチャネルの2つのトーンは,分解されていません。2番目のチャネルの 30Hz トーンは、他のトーンよりもかなり弱いにもかかわらず表示されています。

0.85に漏れを増やし、約 0.74赫兹の分解能と等価にします。2.番目のチャネルの弱いトーンは、はっきりと表示されます。

pspectrum (x, t,<年代pan style="color:#A020F0">“漏”, 0.85)

漏れを最大値に増やします。分解能帯域幅はおよそ0.5赫兹です。1番目のチャネルの 2 つのトーンは、分解されています。2 番目のチャネルの弱いトーンは、大きいウィンドウのサイドローブによってマスクされています。

pspectrum (x, t,<年代pan style="color:#A020F0">“漏”,1)

広帯域信号に組み込まれた狭帯域の干渉信号を可視化します。

1千赫で500秒間サンプリングされたチャープを生成します。チャープの周波数は,測定中に180 Hzから220 Hzに増加します。

fs = 1000;t = (0:1 / fs: 500)”;x =唧唧喳喳(220 t, 180 t(结束),)+ 0.15 * randn(大小(t));

この信号には210 Hzの正弦波も含まれます。正弦波の振幅は0.05で,正弦波は信号の全持続時間の1/6の時間のみ存在します。

idx =地板(长度(x) / 6);(1: idx) = x (1: idx) + 0.05 * cos(2 *π* t (1: idx) * 210);

信号のスペクトログラムを計算します。周波数範囲を100 Hz ~ 290 Hzに制限します。1秒の時間分解能を指定します。両方の信号成分が表示されます。

pspectrum (x, fs,<年代pan style="color:#A020F0">的谱图,<年代pan style="color:#0000FF">...“频率限制”(100 290),<年代pan style="color:#A020F0">“时间分辨率”,1)

信号のパワースペクトルを計算します。弱い正弦波はチャープによって不明瞭になります。

pspectrum (x, fs,<年代pan style="color:#A020F0">“频率限制”290年[100])

信号のパーシステンス スペクトルを計算します。今度は、両方の信号成分が明瞭に表示されます。

pspectrum (x, fs,<年代pan style="color:#A020F0">“坚持不懈”,<年代pan style="color:#0000FF">...“频率限制”(100 290),<年代pan style="color:#A020F0">“时间分辨率”,1)

1 kHzで2秒間サンプリングされた2次チャープを生成します。チャープの初期周波数は100 Hzで,<年代pan class="emphasis">t= 1 秒のとき 200赫兹まで増大します。関数pspectrumの既定の設定を使用してスペクトログラムを計算します。

fs = 1 e3;t = 0:1 / fs: 2;y =唧唧声(t, 100, 1200,<年代pan style="color:#A020F0">“二次”); [sp,fp,tp]=pspectrum(y,fs,<年代pan style="color:#A020F0">的谱图);网格(tp、fp sp)视图(-15、60)包含(<年代pan style="color:#A020F0">“时间(s)”) ylabel (<年代pan style="color:#A020F0">的频率(赫兹)

再代入されたスペクトログラムを計算します。10 Hzの周波数分解能を指定します。出力引数なしで関数pspectrumを使用して結果を視覚化します。

pspectrum (y, fs,<年代pan style="color:#A020F0">的谱图,<年代pan style="color:#A020F0">“频率分辨率”10<年代pan style="color:#A020F0">“再分配”,真正的)

0.2秒の時間分解能を使用してスペクトログラムを再計算します。

pspectrum (y, fs,<年代pan style="color:#A020F0">的谱图,<年代pan style="color:#A020F0">“时间分辨率”, 0.2)

同じ時間分解能を使用して再代入されたスペクトログラムを計算します。

pspectrum (y, fs,<年代pan style="color:#A020F0">的谱图,<年代pan style="color:#A020F0">“时间分辨率”, 0.2,<年代pan style="color:#A020F0">“再分配”,真正的)

4千赫でサンプリングされた信号を作成します。これはデジタル電話のすべてのキーを押下した場合と似ています。信号を MATLAB®の 时间表として保存します。

fs=4e3;t=0:1/fs:0.5-1/fs;ver=[69770852941];hor=[120913361477];音调=[];<年代pan style="color:#0000FF">为k = 1:长度(版本)<年代pan style="color:#0000FF">为l = 1:长度(小时)语气=总和(罪(2 *π*[版本(k),贺南洪(l)]。* t)) ';音调=[音调、语气、零(大小(音)));<年代pan style="color:#0000FF">结束结束%听到,键入soundsc(声调,fs)S =时间表(秒(0:长度(音调)1)”/ fs,音调);

信号のスペクトログラムを計算します.0.5秒の時間分解能を指定し,隣接するセグメント間のオーバーラップとしてゼロを入力します.0.85の漏れを指定します。これは,ハンウィンドウでデータをウィンドウ処理することとほぼ等価です。

pspectrum(年代,<年代pan style="color:#A020F0">的谱图,<年代pan style="color:#0000FF">...“时间分辨率”, 0.5,<年代pan style="color:#A020F0">“OverlapPercent”,0,<年代pan style="color:#A020F0">“漏”, 0.85)

スペクトログラムに,各キーが0.5秒間押下され,キー間の無音の一時停止期間が0.5秒であることが示されます。最初のトーンの周波数成分は697 Hzと1209 Hz付近に集中しており,DTMF規格の数字' 1 'に対応します。

入力引数

すべて折りたたむ

入力信号。ベクトル、行列、またはMATLAB<年代up>®时间表として指定します。

  • xが时间表の場合,増加する有限の行時間を含んでいなければなりません。

    メモ

    时间表が欠損している場合や時間点が重複している場合,欠損または重複する時間および非等間隔の時間をもつ时间表の整理のヒントを使用して修正できます。

  • xがマルチチャネル信号を表す 时间表の場合は、行列を含む単一変数か、ベクトルで構成される複数の変数のどちらかをもたなければなりません。

xのサンプリングが一様でない場合、pspectrumは信号を等間隔グリッドに内挿して,スペクトル推定を計算します。関数は線形内挿を使用し、サンプル時間が隣接する時間点の差の中央値に等しいと仮定します。サンプリングが一様ではない信号がサポートされるには、時間間隔の中央値と時間間隔の平均値は以下に従わなければなりません。

1 One hundred. < 平均时间间隔 平均时间间隔 < One hundred.

例:因为(pi. / (4; 2) * (0:159)) ' + randn (160 2)は,ホワイトノイズに組み込まれた正弦波で構成される2チャネル信号です。

例:时间表(秒(0:4)”,兰德(2))は1 Hzで4秒間サンプリングされた2チャネルの確率変数を指定します。

例:时间表(秒(0:4)’,兰特(5,1),兰特(5,1))は1 Hzで4秒間サンプリングされた2チャネルの確率変数を指定します。

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

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

時間値。ベクトル、datetime持续时间配列,またはサンプル間の時間間隔を表す持续时间スカラーとして指定します。

例:秒(0:1/100:1)は100 Hzでサンプリングされた1秒間を表す持续时间配列です。

例:秒(1)は,連続する信号サンプル間の1秒間の時間差を表す持续时间スカラーです。

計算するスペクトルのタイプ。“权力”的谱图または“坚持不懈”として指定します。

  • “权力”— 入力のパワー スペクトルを計算します。定常信号の周波数成分を解析する場合に、このオプションを使用します。詳細については、スペクトルの計算を参照してください。

  • 的谱图——入力のスペクトログラムを計算します。信号の周波数成分が時間の経過と共に変化する様子を解析する場合に、このオプションを使用します。詳細については、スペクトログラムの計算を参照してください。

  • “坚持不懈”——入力のパーシステンスパワースペクトルを計算します。特定の周波数成分が信号に存在する瞬間を可視化する場合に,このオプションを使用します。詳細については,パーシステンススペクトルの計算を参照してください。

メモ

的谱图および“坚持不懈”オプションはマルチチャネル入力をサポートしません。

名前と値のペアの引数

オプションの引数名称,值のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。名称1,值1,…,名称,值のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“泄漏”,“重新分配”,的确,“MinThreshold”,-35は,箱型ウィンドウを使用してデータをウィンドウ処理し,再代入されたスペクトル推定を計算して,-35分贝より小さいすべての値をゼロに設定します。

周波数帯域の範囲。“频率限制”と2要素数値ベクトルから構成されるコンマ区切りのペアとして指定します。

  • 入力に時間情報が含まれる場合,周波数帯域は赫兹単位で表されます。

  • 入力に時間情報が含まれない場合,周波数帯域は正規化された単位のラジアン/サンプルで表されます。

既定の設定では,pspectrumはナイキスト範囲全体のスペクトルを計算します。

  • 指定された周波数帯域にナイキスト範囲外の領域が含まれる場合,pspectrumはその周波数帯域を切り捨てます。

  • 指定された周波数帯域が完全にナイキスト範囲外の場合、pspectrumはエラーをスローします。

ナイキスト範囲の詳細については、スペクトルの計算を参照してください。

xのサンプリングが等間隔でない場合、pspectrumは信号を等間隔グリッドに線形内挿して,隣接する時間点の差の中央値の逆数と等価の有効なサンプルレートを定義します。“频率限制”を有効なサンプルレートで表します。

例:(0.2 * 0.7π*π)は,0.2π~ 0.7πラジアン/サンプルの時間情報をもたない信号のスペクトルを計算します。

周波数分解能帯域幅。“频率分辨率”および実数の数値スカラーで構成されるコンマ区切りのペアとして指定します。入力に時間情報が含まれる場合は赫兹単位,含まれない場合は正規化された単位のラジアン/サンプルで表します。この引数は,“时间分辨率”と同時に指定することはできません。この引数の既定値は,入力データのサイズによって異なります。詳細については,スペクトログラムの計算を参照してください。

例:π/ 100は,π/ 100ラジアン/サンプルの周波数分解能で,時間情報をもたない信号のスペクトルを計算します。

スペクトル漏れ。“漏”および0 ~ 1の実数の数値スカラーで構成されるコンマ区切りのペアとして指定します。“漏”はメインローブの幅に相対するカイザー ウィンドウのサイドローブの減衰を制御し、分解能の改善と漏れの低減の間の妥協点を見つけます。

  • 漏れの値が大きいと、近接したトーンが分解されますが、近傍の弱いトーンがマスクされます。

  • 漏れの値が小さいと,より大きいトーンの近傍で小さなトーンが見つかりますが,近い周波数が固まって不鮮明になります。

例:“漏”,0は,漏れを少なくしてスペクトル分解能の低下を最小にします。

例:“泄漏”,0.85は,ハンウィンドウを使用したデータのウィンドウ処理を近似します。

例:“漏”,1は,箱型ウィンドウを使用したデータのウィンドウ処理と等価で,漏れは最大になりますが,スペクトル分解能が改善されます。

非ゼロ値の下限。“MinThreshold”と実数スカラーで構成されるコンマ区切りのペアで指定します。pspectrumは,类型引数の値に応じて異なる“MinThreshold”を実装します。

  • “权力”または的谱图- - - - - -pspectrumは,<年代pan class="inlineequation">10原木<年代ub>10p)≤“MinThreshold”がゼロとなるようにpの要素を設定します。“MinThreshold”をデシベル単位で指定します。

  • “坚持不懈”- - - - - -pspectrumは,“MinThreshold”より小さいpの要素をゼロに設定します。“MinThreshold”には0 ~ 100%を指定します。

パーシステンススペクトルのパワービンの数。“NumPowerBins”と、20 ~ 1024 の整数で構成されるコンマ区切りのペアとして指定します。

スペクトログラムまたはパーシステンススペクトルの隣り合ったセグメント間のオーバーラップ。“OverlapPercent”と [0, 100) の範囲の実数スカラーで構成されるコンマ区切りのペアとして指定します。この引数の既定値は、スペクトル ウィンドウによって異なります。詳細については、スペクトログラムの計算を参照してください。

再割り当てオプション。“再分配”と 必然的で構成されるコンマ区切りのペアとして指定します。このオプションを真正的に設定した場合,pspectrumは、時間と周波数の再割り当てを実行することで、スペクトル推定の局所化が鮮明になります。再割り当て手法では、読み取りと解釈の容易なピリオドグラムとスペクトログラムが作成されます。この手法では、各スペクトル推定はビンの幾何学的中心ではなく、そのビンのエネルギー中心に再代入されます。この手法により、チャープとインパルスの厳密な局所化が行われます。

スペクトログラムまたはパーシステンススペクトルの時間分解能。“时间分辨率”および実数スカラーで構成されるコンマ区切りのペアとして指定します。入力に時間情報が含まれる場合は秒単位,含まれない場合は整数の数のサンプルで表します。この引数は,スペクトログラムまたはパーシステンス スペクトル推定を形成する短時間パワー スペクトルの計算に使用するセグメントの持続時間を制御します。“时间分辨率”は,“频率分辨率”と同時に指定することはできません。この引数の既定値は,入力データのサイズと,指定された場合は周波数分解能によって異なります。詳細については,スペクトログラムの計算を参照してください。

両側スペクトル推定。双侧的と逻辑値で構成されるコンマ区切りのペアとして指定します。

  • このオプションが真正的の場合,この関数は<年代pan class="inlineequation">(-ππ)に対する中央揃えの両側スペクトル推定を計算します。入力に時間情報が含まれる場合,推定は<年代pan class="inlineequation">[- f<年代ub>年代f / 2,<年代ub>年代/ 2)に対して計算されます。ここでf<年代ub>年代は有効なサンプルレートです。

  • このオプションがの場合、この関数はナイキスト範囲<年代pan class="inlineequation">[0, π]に対する片側スペクトル推定を計算します。入力に時間情報が含まれる場合,推定は<年代pan class="inlineequation">[0 f<年代ub>年代/ 2)に対して計算されます。ここでf<年代ub>年代は有効なサンプルレートです。合計したパワーを保存するために,この関数は0とナイキスト周波数以外のすべての周波数でパワーを2倍にします。このオプションは,実信号でのみ有効です。

指定しない場合,双侧的の既定値は実数入力信号の場合は,複素入力信号の場合は真正的です。

出力引数

すべて折りたたむ

スペクトル。ベクトルまたは行列として返されます。スペクトルのタイプとサイズは、类型引数の値によって異なります。

  • “权力”- - - - - -pは,xの各チャネルのパワースペクトル推定を含みます。この場合,pのサイズはN<年代ub>f×N<年代ub>chであり、ここで、N<年代ub>ffの長さ、N<年代ub>chxのチャネル数です。pspectrumは,信号の周波数成分がビンに正確に収まる場合,そのビン内の振幅が信号の真の平均パワーになるようにスペクトルをスケールします。たとえば,正弦波の平均パワーは,正弦波の振幅の2乗の半分です。詳細については,確定的周期信号のパワーの測定を参照してください。

  • 的谱图- - - - - -pは,xの短時間の,時間が局所化されたパワースペクトルの推定を含みます。この場合,pは,サイズN<年代ub>f×N<年代ub>tに含まれます。ここでN<年代ub>ffの長さ、N<年代ub>ttの長さです。

  • “坚持不懈”- - - - - -pは,パーセントで表され,与えられた時間と周波数位置で信号が与えられたパワーレベルの成分をもつ確率を含みます。この場合,pは,サイズN<年代ub>压水堆×N<年代ub>fに含まれます。ここでN<年代ub>压水堆压水堆の長さ、N<年代ub>ffの長さです。

スペクトル周波数。ベクトルとして返されます。入力信号に時間情報が含まれる場合、fは赫兹単位で表される周波数を含みます。入力信号に時間情報が含まれない場合、周波数は正規化された単位のラジアン/サンプルで表されます。

スペクトログラムの時間値。秒単位の時間値のベクトルまたは持续时间配列として返されます。入力に時間情報が含まれない場合,tはサンプル数を含みます。tは、短時間のパワー スペクトル推定の計算に使用されるデータ セグメントの中心に対応する時間値を含みます。

  • pspectrumへの入力が时间表である場合,tの形式は,入力时间表の時間値と同じです。

  • pspectrumへの入力が,数値,持续时间またはdatetime配列で指定された一連の時点でサンプリングされた数値ベクトルである場合,tのタイプと形式は,入力時間値と同じです。

  • pspectrumへの入力が連続するサンプル間の指定された時間差をもつ数値ベクトルである場合,t持续时间配列です。

パーシステンス スペクトルのパワー値。ベクトルとして返されます。

詳細

すべて折りたたむ

スペクトルの計算

信号のスペクトルを計算するため、pspectrumは信号の全長で達成可能なスペクトル分解能と,膨大なFFTを計算することから生じるパフォーマンス上の制限との間の妥協点を見つけます。

  • この関数は,可能な場合,カイザーウィンドウを使用して信号全体の単一の修正ピリオドグラムを計算します。

  • 合理的な時間で単一の修正ピリオドグラムを計算できない場合は,ウェルチピリオドグラムを計算します。信号をオーバーラップセグメントに分割し,各セグメントにカイザーウィンドウを適用して,セグメントのピリオドグラムを平均します。

スペクトルウィンドウ処理

実際の信号はいずれも有限の時間に対してのみ測定可能です。この事実は,信号が周期的または無限長のいずれかであることを前提とする,フーリエ解析に無視できない影響をもたらします。異なる信号サンプルに異なる重みを割り当てる“スペクトルウィンドウ処理”は,有限サイズの影響をシステマチックに処理します。

信号をウィンドウ処理する最も簡単な方法は,測定間隔外は等しくゼロであり,すべてのサンプルが等しく重要であると仮定することです。この“箱型ウィンドウ”には,両端にスペクトルリンギングをもたらす不連続のジャンプがあります。その他のスペクトルウィンドウはすべて両端が細くなっており,信号のエッジに近づくにつれて,より小さい重みをサンプルに割り当てることで,この影響を小さくします。

ウィンドウ処理には常に,分解能の改善と漏れの低減という相反する目的の間で妥協することが伴います。

  • “分解能“は信号エネルギーが周波数空間にどのように分布しているかを正確に把握するための能力です。理想的な分解能のスペクトルアナライザーは,信号内に存在する2つの異なるトーン(基本的な正弦波)を,周波数がどれほど近くても識別できます。量的には,この能力はウィンドウの変換のメインローブの幅に関係します。

  • ”“漏れは,有限の信号で,すべての周波数成分が周波数範囲全体にわたってエネルギー量を投影することです。スペクトル内の漏れの量は,隣接する強いトーンの存在下で,ノイズから弱いトーンを検出する能力によって測定できます。量的には,この能力はウィンドウの周波数変換のサイドローブレベルに関係します。

  • スペクトルを正規化することにより,その帯域幅内の純音は,完全に中央に位置する場合に正確な振幅をもちます。

分解能を高くすると、漏れも高くなります。その逆も同様です。範囲の一方の端で、箱型ウィンドウのメインローブは可能な限り狭くなり、サイドローブは最も高くなります。このウィンドウは、近接したトーンが同様のエネルギー量を持つ場合は分解できますが、そうでない場合は、より弱いトーンを見つけることに失敗します。もう一方の端で、高いサイドローブ抑制を持つウィンドウに広いメインローブがあり、ここでは近い周波数がかたまって不鮮明になります。

pspectrumはカイザーウィンドウを使用してウィンドウ処理を実行します。カイザーウィンドウの場合,メインローブによって取得された信号エネルギーの比率は,調整可能な"形状係数"βに最大に依存します。pspectrumが使用する形状係数の範囲は、箱型ウィンドウに対応する<年代pan class="inlineequation">β = 0から、広いメインローブが倍精度で表現可能なスペクトル エネルギーを基本的にすべて取得する<年代pan class="inlineequation">β= 40までです。<年代pan class="inlineequation">6β≈の中間値はハンウィンドウをかなり正確に近似します。βを制御するには,名前と値のペア“漏”を使用します。“漏”に ℓ を設定した場合、ℓ と β は<年代pan class="inlineequation">β = 40(1 -ℓ)と関連しています。詳細は,凯撒を参照してください。

時間領域における<年代pan class="inlineequation">β= 5.7の51点ハンウィンドウおよび51点カイザーウィンドウ 周波数領域における<年代pan class="inlineequation">β= 5.7の51点ハンウィンドウおよび51点カイザーウィンドウ

パラメーターとアルゴリズムの選択

信号のスペクトルを計算するため、pspectrumは最初に2つのトーンが分解可能なままどのくらい近接できるかを測定する”分解能帯域幅”を決定します。分解能帯域幅には,次の理論値があります。

RBW 学说 ENBW t 马克斯 t 最小值

  • t<年代ub>马克斯–t<年代ub>最小值(“レコード長”)は選択した信号領域の時間領域の持続時間です。

  • ENBWはスペクトルウィンドウの”等価ノイズ帯域幅”です。詳細は,enbwを参照してください。

    ENBWを制御するには、名前と値のペア“漏”を使用します。この引数の最小値は,<年代pan class="inlineequation">β= 40のカイザー ウィンドウに対応します。最大値は、<年代pan class="inlineequation">β = 0のカイザーウィンドウに対応します。

しかし実際には,pspectrumは分解能を低くする可能性があります。分解能を低くすることで,合理的な時間でスペクトルを計算して,限りのあるピクセル数で表示できるようにします。これらの実用的な理由から,pspectrumが使用できる最も低い分解能帯域幅は次になります。

RBW 表演 4 × f 跨度 4096 1

ここで,<年代pan class="inlineequation">f<年代ub>跨度“频率限制”を使用して指定された周波数帯域の幅です。“频率限制”を指定しない場合、pspectrumでは、サンプル レートを<年代pan class="inlineequation">f<年代ub>跨度として使用します。<年代pan class="inlineequation">RBW<年代ub>表演は調整できません。

信号のスペクトルを計算するため,関数は2つの値の大きい方を選択します。値は”ターゲット分解能帯域幅”

RBW 马克斯 RBW 学说 RBW 表演

と呼ばれます。

  • 分解能帯域幅が<年代pan class="inlineequation">RBW<年代ub>学说の場合、pspectrumは信号全体に対して単一の”修正ピリオドグラム”を計算します。関数は、カイザー ウィンドウと、名前と値のペア“漏”で制御される形状係数を使用して、座標軸の時間範囲が信号の持続時間を超える場合にゼロ パディングを適用します。詳細は、周期图を参照してください。

  • 分解能帯域幅が<年代pan class="inlineequation">RBW<年代ub>表演の場合、pspectrumは信号に対して”ウェルチピリオドグラム”を計算します。関数は以下を実行します。

    1. 信号をオーバーラップ セグメントに分割する。

    2. カイザーウィンドウと指定した形状係数を使用して,各セグメントを個別にウィンドウ処理する。

    3. すべてのセグメントのピリオドグラムを平均化する。

    ウェルチの手続きは,オーバーラップセクションによって指定された信号の異なる”実現”を平均化し,ウィンドウを使用して冗長データを除去することでスペクトル推定の分散を軽減するために設計されています。詳細については,pwelchを参照してください。

    • 各セグメント(または同様にウィンドウ)の長さは,次を使用して計算されます。

      段长度 f 奈奎斯特 × ENBW RBW

      ここで,<年代pan class="inlineequation">f<年代ub>奈奎斯特“ナイキスト周波数”です(エイリアシングがない場合,ナイキスト周波数は,隣接する時間点の差の中央値の逆数として定義される有効なサンプルレートの1/2になります。“ナイキスト範囲”は、実信号の場合は<年代pan class="inlineequation">[0 f<年代ub>奈奎斯特,複素信号の場合は<年代pan class="inlineequation">[- f<年代ub>奈奎斯特f<年代ub>奈奎斯特です)。

    • 1歩の長さは,初期推定値

      步幅 段长度 重叠 段长度 2 × ENBW 1

      を調整して,最初のウィンドウが正確に最初のセグメントの最初のサンプルで開始され,最後のウィンドウが正確に最後のセグメントの最後のサンプルで終わるようにすることで求められます。

スペクトログラムの計算

非定常信号の時間依存スペクトルを計算するために,pspectrumは信号をオーバーラップしたセグメントに分割し,各セグメントにカイザーウィンドウを適用して,短時間フーリエ変換を計算し,変換を連結して行列にします。

非定常信号は周波数成分が時間と共に変化する信号です。非定常信号の”スペクトログラム”は,周波数成分の時間発展の推定です。非定常信号のスペクトログラムを作成するために,pspectrumは以下の手順に従います。

  1. 信号を等しい長さのセグメントに分割します。セグメントは十分に短くなければならず,信号の周波数成分がセグメント内で感知されるほど変化してはいけません。セグメントはオーバーラップしている場合も,そうでない場合もあります。

  2. 各セグメントにウィンドウを適用してスペクトルを計算し,“短時間フーリエ変換”を求めます。

  3. セグメントのスペクトルを使用してスペクトログラムを作成します。

    • 出力引数を設定して呼び出された場合,スペクトルを連結して行列にします。

    • 出力引数を設定せずに呼び出された場合,各スペクトルのパワーをセグメントごとにデシベル単位で表示します。振幅を振幅依存のカラーマップをもつイメージとして並べて表します。

関数が計算できるのは、単一チャネル信号のスペクトログラムのみです。

信号のセグメント分割

スペクトログラムを作成するために、まず、信号をオーバーラップの可能性のあるセグメントに分割します。関数pspectrumで,名前と値のペアの引数“时间分辨率”および“OverlapPercent”を使用して,セグメントの長さおよび隣接するセグメント間のオーバーラップの量を制御することができます。長さとオーバーラップを指定しない場合,関数は,信号の全体長に基づいて長さを選択します。オーバーラップ率は

1 1 2 × ENBW 1 × One hundred.

で求められ、ここで<年代pan class="inlineequation">ENBWはスペクトルウィンドウの”等価ノイズ帯域”です。詳細については、enbwおよびスペクトルの計算を参照してください。

指定された時間分解能

  • 信号に時間情報がない場合は、時間分解能 (セグメント長) をサンプル単位で指定します。時間分解能は 1.以上で信号の長さ以下の整数でなければなりません。

    信号に時間情報がある場合は,時間分解能を秒単位で指定します。この関数は結果をサンプル数に変換し,サンプル数以下で1以上の最も近い整数に丸めます。時間分解能は信号の持続時間以下でなければなりません。

  • オーバーラップをセグメント長のパーセンテージで指定します。関数は結果をサンプル数に変換し、サンプル数以下の最も近い整数に丸めます。

既定の時間分解能

時間分解能を指定しない場合、pspectrumは信号全体の長さを使用してセグメントの長さを選択します。関数は時間分解能を<年代pan class="inlineequation">⌈N / d⌉サンプル数として設定します。ここで、<年代pan class="inlineequation">⌈⌉記号は天井関数を表し,Nは信号の長さ,dはNに依存する除数です。

信号の長さ(N) 除数(d) セグメント長
2サンプル –63サンプル 2 1サンプル –32サンプル
64サンプル –255サンプル 8 8サンプル –32サンプル
256サンプル –2047サンプル 8 32サンプル –256サンプル
2048サンプル –4095サンプル 16 128サンプル –256サンプル
4096サンプル –8191サンプル 32 128サンプル –256サンプル
8192サンプル –16383サンプル 64 128サンプル –256サンプル
16384サンプル- Nサンプル 128 128サンプル——⌈N /128⌉サンプル

隣接するセグメント間のオーバーラップを指定することもできます。オーバーラップを指定すると,セグメント数が変化します。信号の端点を越えるセグメントにはゼロが付加されます。

7サンプルの信号[s0 s1 s2 s3 s4 s5 s6]を考えてみましょう。<年代pan class="inlineequation">⌈7/2⌉=⌈3.5⌉= 4であるため、オーバーラップがない場合、関数は信号を長さ 4.の 2.つのセグメントに分割します。オーバーラップが増加すると、セグメント数が変化します。

オーバーラップするサンプル数 結果のセグメント数
0
s0 s1 s2 s3 s4 s5 s6 0
1
s0 s1 s2 s3 s3 s4 s5 s6
2
0 0 0 0 0 0 0 0 0 0 0
3.
s0 s1 s2 s3 s1 s2 s3 s4 s3 s4 s5 s4 s6

pspectrumは,最後のセグメントが信号の端点を越えた場合は,信号にゼロを付加します。この関数は,セグメントの中心に対応する時点のベクトルtを返します。

セグメントのウィンドウ処理とスペクトルの計算

pspectrumは信号をオーバーラップしたセグメントに分割した後で,各セグメントにカイザーウィンドウを適用します。ウィンドウの形状係数βにより,漏れを“漏”の名前と値のペアを使用して調整できます。次に関数は,各セグメントのスペクトルを計算し,スペクトルを連結してスペクトログラム行列にします。セグメントスペクトルを計算するには,pspectrumスペクトルの計算で説明している手順に従います。ただし,分解能帯域幅の下限が次である場合を除きます。

RBW 表演 4 × f 跨度 1024 1

スペクトルのパワーの表示

出力引数を設定しないで呼び出された場合,関数はカラーバーと共に既定のMATLABカラーマップを使用して,短時間フーリエ変換のパワーをデシベル単位で表示します。カラーバーはスペクトログラムのパワー範囲全体を含みます。

パーシステンススペクトルの計算

信号の“パーシステンススペクトル”は,与えられた周波数が信号内に存在する時間の割合を示す時間——周波数領域の表示です。パーシステンススペクトルはパワー周波数空間のヒストグラムです。信号が変化する中で特定の周波数が信号内に存在する時間が長ければ長いほど,その時間の割合は大きくなるため,表示内の色が明るく(“熱く”)なります。パーシステンススペクトルを使用して,他の信号の中に隠れている信号を識別します。

パーシステンススペクトルを計算するために,pspectrumは以下のステップを実行します。

  1. 指定された漏れ,時間分解能,およびオーバーラップを使用してスペクトログラムを計算します詳細については,スペクトログラムの計算を参照してください。

  2. パワーと周波数の値を2次元ビンに分割します(パワービンの数を指定するには,名前と値のペア“NumPowerBins”を使用します)。

  3. 各時間値について,パワースペクトルの対数の二変量ストグラムを再計算します。その時点に信号エネルギーが存在する各パワー周波数ビンについて,対応する行列要素を1ずつ増やします。すべての時間値のヒストグラムの総和を求めます。

  4. パワーと周波数に対して累積したヒストグラムをプロットします。色は,正規化された割合で表したヒストグラムカウントの対数に比例します。ゼロ値を表現するために,考えられる最小の振幅の1/2を使用します。

パワースペクトル

ヒストグラム

累積ヒストグラム

参照

[1] harris,fredric j.“离散傅里叶变换谐波分析窗口的使用”,《IEEE会议录》<年代up>®.1978年1月第66卷,第51-83页。

[2] Welch, Peter D.“使用快速傅里叶变换估计功率谱:一种基于时间平均的方法,在短的,修改的周期图。”IEEE音频和电声学汇刊。第15卷,1967年6月,第70-73页。

拡張機能

参考

アプリ

関数

  • |<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">
R2017bで導入