- Scilab help
 - Signal Processing
 - How to
 - Signal
 - analpf
 - bilt
 - buttmag
 - casc
 - cepstrum
 - cheb1mag
 - cheb2mag
 - chepol
 - convol
 - corr
 - cspect
 - czt
 - detrend
 - dft
 - ell1mag
 - eqfir
 - eqiir
 - faurre
 - ffilt
 - fft
 - fft2
 - fftshift
 - filt_sinc
 - filter
 - find_freq
 - findm
 - frfit
 - frmag
 - fsfirlin
 - group
 - hank
 - hilb
 - hilbert
 - iir
 - iirgroup
 - iirlp
 - intdec
 - jmat
 - kalm
 - lattn
 - lattp
 - lev
 - levin
 - lindquist
 - mese
 - mfft
 - mrfit
 - %asn
 - %k
 - %sn
 - phc
 - pspect
 - remez
 - remezb
 - rpem
 - sincd
 - srfaur
 - srkf
 - sskf
 - syredi
 - system
 - trans
 - wfir
 - wiener
 - wigner
 - window
 - yulewalk
 - zpbutt
 - zpch1
 - zpch2
 - zpell
 
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
pspect
Welchの平均ペリオドグラム法による 2つの離散時間信号の間の両面相互スペクトル推定.
呼び出し手順
[sm [,cwp]]=pspect(sec_step,sec_leng,wtype,x [,y] [,wpar]) [sm [,cwp]]=pspect(sec_step,sec_leng,wtype,nx [,ny] [,wpar])
パラメータ
- x
 ベクトル, 最初の信号の時間領域標本.
- y
 ベクトル, 2番目の信号の時間領域標本.
yが 省略された場合,xに等しいと仮定されます(自己相関). 指定された場合,xと同じ数の要素を有している必要があります.- nx
 スカラー :
x信号の標本数. この場合,x信号のセグメントはgetxという名前の ユーザ定義の関数によりロードされます (下記参照).- ny
 スカラー :
y信号の標本数. この場合,x信号のセグメントはgetyという名前の ユーザ定義の関数によりロードされます (下記参照). 指定された場合,nyはnxと等しい必要があります.- sec_step
 各データウインドウのオフセット. オーバーラップ
Dはisec_leng -sec_stepにより指定されます.sec_step==sec_leng/2の場合, 50% オーバーラップとなります.- sec_leng
 ウインドウの点の数.
- wtype
 ウインドウの種類
're': 矩形'tr': 三角形'hm': ハミング'hn': ハニング'kr': カイザー,この場合,wpar引数を指定する必要があります'ch': チェビシェフ, この場合,wpar引数を指定する必要があります
- wpar
 カイザーおよびチェビシェフウインドウに関する オプションのパラメータ:'kr':
wparは厳密に正の数とする必要があります'ch':
wparは要素数2のベクトル[main_lobe_width,side_lobe_height]とする必要があります. ただし,0<main_lobe_width<.5, およびside_lobe_height>0です.
- sm
 正規化された周波数の範囲
[0,1]における両面スペクトル推定. これは,sec_len個の要素を有する行配列です. この配列は自己相関の場合には実数,相互相関の場合には複素数となります.関係する正規化された周波数配列は
linspace(0,1,sec_len)です.- cwp
 チェビシェフウインドの場合は チェビシェフウインドウの未指定のパラメータ, または空の行列.
説明
2つの信号x および yが両方共指定
	された場合,相互スペクトル推定値,
	そうでない場合に自己相関スペクトルを計算します.
	修正ペリオドグラム法により得られたスペクトル推定値.
2つの信号x および  yの
	相互スペクトルは以下のように定義されます

スペクトル推定の修正ペリオドグラム法は,
	x および yに含まれる
	データのウインドウ処理されたサブセクションのペリオドグラムを
	繰り返し計算します.
	これらのペリオドグラムは,最終的なスペクトル推定値を得るために平均化され,
	適当な定数により正規化されます.
	これは推定値の分散を減らすための平均化処理です.
バッチ処理の場合, x および
    y データはユーザ定義関数
	getx および getyにより
	セグメント毎に読まれます.
	これらの関数の呼び出し手順は以下のようになります:
xk=getx(ns,offset) および
    yk=gety(ns,offset). ただし,ns は
    セグメントの大きさ, offset は
	完全な信号のセグメントの最初の要素のインデックスです.
参考文献
Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999
例
rand('normal');rand('seed',0); x=rand(1:1024-33+1); //make low-pass filter with eqfir nf=33;bedge=[0 .1;.125 .5];des=[1 0];wate=[1 1]; h=eqfir(nf,bedge,des,wate); //filter white data to obtain colored data h1=[h 0*ones(1:max(size(x))-1)]; x1=[x 0*ones(1:max(size(h))-1)]; hf=fft(h1,-1); xf=fft(x1,-1);y=real(fft(hf.*xf,1)); //plot magnitude of filter h2=[h 0*ones(1:968)];hf2=fft(h2,-1);hf2=real(hf2.*conj(hf2)); hsize=max(size(hf2));fr=(1:hsize)/hsize;plot(fr,log(hf2)); //pspect example sm=pspect(100,200,'tr',y);smsize=max(size(sm));fr=(1:smsize)/smsize; plot(fr,log(sm)); rand('unif');
参照
作者
C. Bunks INRIA
| << phc | Signal Processing | remez >> |