1
<?xml version="1.0" encoding="UTF-8"?>
2
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="pspect" xml:lang="ja">
4
<refname>pspect</refname>
7
2つの離散時間信号の間の両面相互スペクトル推定.
13
[sm [,cwp]]=pspect(sec_step,sec_leng,wtype,x [,y] [,wpar])
14
[sm [,cwp]]=pspect(sec_step,sec_leng,wtype,nx [,ny] [,wpar])
23
<para>ベクトル, 最初の信号の時間領域標本.</para>
30
ベクトル, 2番目の信号の時間領域標本. <literal>y</literal>が
31
省略された場合,<literal>x</literal>に等しいと仮定されます(自己相関).
32
指定された場合, <literal>x</literal>と同じ数の要素を有している必要があります.
40
スカラー : <literal>x</literal>信号の標本数.
41
この場合,<literal>x</literal>信号のセグメントは<literal>getx</literal>という名前の
42
ユーザ定義の関数によりロードされます (下記参照).
50
スカラー : <literal>y</literal>信号の標本数.
51
この場合,<literal>x</literal>信号のセグメントは<literal>gety</literal>という名前の
52
ユーザ定義の関数によりロードされます (下記参照).
53
指定された場合, <literal>ny</literal>は<literal>nx</literal>と等しい必要があります.
62
オーバーラップ <literal>D</literal> はi <literal>sec_leng -sec_step</literal>により指定されます.
63
<literal>sec_step==sec_leng/2</literal>の場合, 50% オーバーラップとなります.
70
<para>ウインドウの点の数.</para>
80
<literal>'re'</literal>: 矩形
85
<literal>'tr'</literal>: 三角形
90
<literal>'hm'</literal>: ハミング
95
<literal>'hn'</literal> : ハニング
100
<literal>'kr'</literal>: カイザー,この場合,wpar引数を指定する必要があります
105
<literal>'ch'</literal>: チェビシェフ, この場合,wpar引数を指定する必要があります
115
<literal>カイザーおよびチェビシェフウインドウ</literal>に関する
121
'kr': <literal>wpar</literal>は厳密に正の数とする必要があります
126
'ch': <literal>wpar</literal> は要素数2のベクトル
127
<literal> [main_lobe_width,side_lobe_height]</literal>
129
ただし,<literal>0<main_lobe_width<.5</literal>, および
130
<literal>side_lobe_height>0</literal>です.
140
正規化された周波数の範囲 <literal>[0,1]</literal>における両面スペクトル推定.
141
これは,<literal>sec_len</literal>個の要素を有する行配列です.
142
この配列は自己相関の場合には実数,相互相関の場合には複素数となります.
146
<literal>linspace(0,1,sec_len)</literal>です.
155
チェビシェフウインドウの未指定のパラメータ,
165
2つの信号<literal>x</literal> および <literal>y</literal>が両方共指定
167
そうでない場合に自己相関スペクトルを計算します.
168
修正ペリオドグラム法により得られたスペクトル推定値.
171
2つの信号<literal>x</literal> および <literal>y</literal>の
183
<mml:mi mml:fontstyle="italic">xy</mml:mi>
187
<mml:mo mml:stretchy="false">(</mml:mo>
188
<mml:mo mml:stretchy="false">ω</mml:mo>
189
<mml:mo mml:stretchy="false">)</mml:mo>
191
<mml:mo mml:stretchy="false">=</mml:mo>
198
<mml:mo mml:stretchy="false">(</mml:mo>
202
<mml:mo mml:stretchy="false">∑</mml:mo>
205
<mml:mo mml:stretchy="false">=</mml:mo>
210
<mml:mo mml:stretchy="false">−</mml:mo>
217
<mml:mo mml:stretchy="false">(</mml:mo>
219
<mml:mo mml:stretchy="false">)</mml:mo>
225
<mml:mo mml:stretchy="false">−</mml:mo>
228
<mml:mo mml:stretchy="false">ω</mml:mo>
233
<mml:mo mml:stretchy="false">)</mml:mo>
236
<mml:mo mml:stretchy="false">(</mml:mo>
240
<mml:mo mml:stretchy="false">∑</mml:mo>
243
<mml:mo mml:stretchy="false">=</mml:mo>
248
<mml:mo mml:stretchy="false">−</mml:mo>
252
<mml:mover mml:accent="true">
254
<mml:mo mml:stretchy="false">ˉ</mml:mo>
258
<mml:mo mml:stretchy="false">(</mml:mo>
260
<mml:mo mml:stretchy="false">)</mml:mo>
266
<mml:mo mml:stretchy="false">ω</mml:mo>
271
<mml:mo mml:stretchy="false">)</mml:mo>
274
<mml:annotation mml:encoding="StarMath 5.0"> S_{xy}(%omega)={1}
275
over {N} (sum from{n=0} to{N-1} x(n)e^{-i %omega n}) ( sum
276
from{n=0} to{N-1} bar y(n)e^{i %omega n})
286
<literal>x</literal> および <literal>y</literal>に含まれる
287
データのウインドウ処理されたサブセクションのペリオドグラムを
289
これらのペリオドグラムは,最終的なスペクトル推定値を得るために平均化され,
291
これは推定値の分散を減らすための平均化処理です.
294
バッチ処理の場合, <literal>x</literal> および
295
<literal>y</literal> データはユーザ定義関数
296
<literal>getx</literal> および <literal>gety</literal>により
298
これらの関数の呼び出し手順は以下のようになります:
301
<literal>xk=getx(ns,offset)</literal> および
302
<literal>yk=gety(ns,offset)</literal>. ただし,<literal>ns</literal> は
303
セグメントの大きさ, <literal>offset</literal> は
304
完全な信号のセグメントの最初の要素のインデックスです.
309
<para>Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing,
310
Upper Saddle River, NJ: Prentice-Hall, 1999
315
<programlisting role="example"><![CDATA[
316
rand('normal');rand('seed',0);
319
//make low-pass filter with eqfir
320
nf=33;bedge=[0 .1;.125 .5];des=[1 0];wate=[1 1];
321
h=eqfir(nf,bedge,des,wate);
323
//filter white data to obtain colored data
324
h1=[h 0*ones(1:max(size(x))-1)];
325
x1=[x 0*ones(1:max(size(h))-1)];
326
hf=fft(h1,-1); xf=fft(x1,-1);y=real(fft(hf.*xf,1));
328
//plot magnitude of filter
329
h2=[h 0*ones(1:968)];hf2=fft(h2,-1);hf2=real(hf2.*conj(hf2));
330
hsize=max(size(hf2));fr=(1:hsize)/hsize;plot(fr,log(hf2));
333
sm=pspect(100,200,'tr',y);smsize=max(size(sm));fr=(1:smsize)/smsize;
338
<refsection role="see also">
340
<simplelist type="inline">
342
<link linkend="cspect">cspect</link>
345
<link linkend="pspect">pspect</link>
348
<link linkend="mese">mese</link>
351
<link linkend="window">window</link>