- Scilabヘルプ
- Signal Processing
- filters
- analpf
- buttmag
- casc
- cheb1mag
- cheb2mag
- convol
- ell1mag
- eqfir
- eqiir
- faurre
- ffilt
- filter
- find_freq
- frmag
- fsfirlin
- group
- iir
- iirgroup
- iirlp
- kalm
- lev
- levin
- lindquist
- remez
- remezb
- 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
window
様々な型の対称ウインドウを計算
呼び出し手順
win_l=window('re',n) win_l=window('tr',n) win_l=window('hn',n) win_l=window('hm',n) win_l=window('kr',n,alpha) [win_l,cwp]=window('ch',n,par)
パラメータ
- n
ウインドウの長さ
- par
2要素のベクトル
par=[dp,df])のパラメータで,dp(0<dp<.5) はメインローブの幅を規定し,dfはサイドローブの高さ (df>0)を規定します.これら2つの片方のみを指定することができ, もう片方には
-1を指定する必要があります.- alpha
カイザーウインドウのパラメータ
alpha >0).- win
ウインドウ
- cwp
未定義のチェビシェフウインドウのパラメータ
説明
デジタル信号処理用の様々な対称ウインドウを計算する関数です.
カイザーウインドウは,準最適ウインドウ関数です.
alphaは任意の正の実数で,ウインドウの形状を定義します.
整数 n はウインドウの長さです.
構築の際,この関数は,k = n/2,すなわち,ウインドウの
中央,における最大値を 1 にし,ウインドウの端に向かって減少させます.
alphaの大きさを大きくすると,
ウインドはより狭くなります;
alpha = 0 の場合,矩形ウインドウと同じになります.
逆に,alpha を大きくすると,フーリエ変換における
メインローブの幅が増加し,振幅のサイドローブは減少します.
つまり,このパラメータはメインローブの幅とサイドローブの面積の
トレードオフを制御します.
| alpha | ウインドウ形状 |
| 0 | 矩形形状 |
| 5 | ハミングウインドウに類似 |
| 6 | ハニングウインドウに類似 |
| 8.6 | ブラックマンウインドウに類似 |
チェビシェフウインドウは,指定した特定のサイドローブの高さのもとで, メインローブの幅を最小化します. このウインドウの特徴は,等リプル特性であり, 全てのサイドローブは同じ高さとなります.
ハニングおよびハミングウインドウは非常に似ており,
パラメータ alphaの選択のみが異なります:
w=alpha+(1 - alpha)*cos(2*%pi*x/(n-1))
alpha はハニングウインドでは 1/2 ,
ハミングウインドウでは 0.54 です.
例
// ハミングウインドウ clf() N=64; w=window('hm',N); subplot(121);plot2d(1:N,w,style=color('blue')) set(gca(),'grid',[1 1]*color('gray')) subplot(122) n=256;[W,fr]=frmag(w,n); plot2d(fr,20*log10(W),style=color('blue')) set(gca(),'grid',[1 1]*color('gray')) // カイザーウインドウ clf() N=64; w=window('kr',N,6); subplot(121);plot2d(1:N,w,style=color('blue')) set(gca(),'grid',[1 1]*color('gray')) subplot(122) n=256;[W,fr]=frmag(w,n); plot2d(fr,20*log10(W),style=color('blue')) set(gca(),'grid',[1 1]*color('gray')) // チェビシェフウインドウ clf() N=64; [w,df]=window('ch',N,[0.005,-1]); subplot(121);plot2d(1:N,w,style=color('blue')) set(gca(),'grid',[1 1]*color('gray')) subplot(122) n=256;[W,fr]=frmag(w,n); plot2d(fr,20*log10(W),style=color('blue')) set(gca(),'grid',[1 1]*color('gray'))
参考文献
IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John Wiley and Sons, 1979. Program 5.2.
| Report an issue | ||
| << wigner | filters | yulewalk >> |