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.2. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Signal Processing > Filters > analpf

analpf

アナログローパスフィルタを作成する

呼び出し手順

[hs,pols,zers,gain]=analpf(n,fdesign,rp,omega)

hs=analpf(n,fdesign,rp,omega)

引数

n

正の整数 : フィルタ次数

fdesign

文字列 : 以下のようにフィルタ設計手法を示します:

  • "butt" は,バターワースフィルタ用です.

  • "cheb1" は,チェビシェフI型フィルタ用です.

  • "cheb2" は,チェビシェフII型フィルタ用 (逆チェビシェフフィルタとも呼ばれます)です.

  • "ellip" は,楕円フィルタ用です.

rp

"cheb1", "cheb2"および"ellip"フィルタ用の リップル値の2要素ベクトル. この要素は以下の関係を満たす必要があります: 0<rp(1),rp(2)<1.

  • "cheb1"フィルタの場合, rp(1)のみが 使用されます. 通過域のリップルは, 1-rp(1) および 1 の間です.

  • "cheb2" フィルタの場合, rp(2)のみが 使用されます. 阻止域のリップルは, 0 および rp(2)の間です.

  • "ellip" フィルタの場合, rp(1) および rp(2) が共に使用されます. 通過域の リップルは1-rp(1)および1の 間, 一方, 阻止域のリップルは, 0 および rp(2)の間です.

omega

ローパスフィルタのカットオフ周波数(単位:rad/s)

hs

有理数多項式伝達関数 (syslin参照). これは,以下となります: hs=gain*syslin("c",real(poly(zers,"s")), real(poly(pols,"s")))

pols

行ベクトル: 伝達関数の極

zers

行ベクトル: 伝達関数のゼロ

gain

スカラー: 伝達関数のゲイン

説明

omegaをカットオフ周波数とするアナログローパスフィルタを作成します. この関数は, zpbutt, zpch1, zpch2 およびzpell関数のドライバです.

バターワースフィルタは通過域にリップルを有さず, 阻止域においてゼロ方向に緩やかにロールオフします. 他のフィルタ型は通過域または阻止域に非単調リップルを 有するのに対して, バターワースフィルタは,omegaについてゲインが単調に 変換する関数を有します. バターワースフィルタは,他のフィルタよりも 通過域でより線形な位相応答を有します.

チェビシェフフィルタは,バターワースフィルタに比べ, より急なロールオフと,より大きな通過域リップル(I型)または 阻止域リップル(II型)を有します. チェビシェフフィルタは,フィルタの範囲において 理想化されたフィルタと実際のフィルタの間の 誤差を最小化する特性を有しますが, 通過域にリップルを有します.

楕円フィルタは通過域と阻止域の両方で 均一化したリップル特性を有します. 各バンドにおけるリップルの量は独立に調整でき, リップルの値を指定された場合, 同じ次数の他のフィルタでは, 通過域と阻止域の間で,より速いゲインの遷移を実現できません.

//Evaluate magnitude response of the filter
fcut=5; //hz
n=7;//filter order
hc1=analpf(n,'cheb1',[0.1 0],fcut*2*%pi);
hc2=analpf(n,'cheb2',[0 0.1],fcut*2*%pi);
he=analpf(n,'ellip',[0.1 0.1],fcut*2*%pi);
hb=analpf(n,'butt',[0 0],fcut*2*%pi);
hc1.dt='c';hc2.dt='c';he.dt='c';hb.dt='c';
clf();
[fr, hf]=repfreq(hc1,0,15);
plot(fr,abs(hf),'b')
[fr, hf]=repfreq(hc2,0,15);
plot(fr,abs(hf),'y')
[fr, hf]=repfreq(he,0,15);
plot(fr,abs(hf),'r')
[fr, hf]=repfreq(hb,0,15);
plot(fr,abs(hf),'c')

legend(["Chebyshev I","Chebyshev II","Elliptic","Butterworth"]);
xgrid()
xlabel("Frequency (Hz)")
ylabel("Gain")
title("Analog filters of order 7")

参照

  • repfreq — 周波数応答
  • bode — ボード線図
  • csim — 線形システムのシミュレーション (時間応答)
  • syslin — 線形システムを定義する
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 23:12:40 CET 2018