Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Signal Processing > filters > window

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'))

参照

  • wfir — 線形位相FIRフィルタ
  • frmag — FIRおよびIIRフィルタの振幅
  • ffilt — FIRローパスフィルタの係数

参考文献

IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John Wiley and Sons, 1979. Program 5.2.

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:28 CEST 2012