- Scilabヘルプ
- Signal Processing
- Filters
- How to design an elliptic filter
- analpf
- buttmag
- casc
- cheb1mag
- cheb2mag
- ell1mag
- eqfir
- eqiir
- faurre
- ffilt
- filt_sinc
- filter
- find_freq
- frmag
- fsfirlin
- group
- hilbert
- iir
- iirgroup
- iirlp
- kalm
- lev
- levin
- lindquist
- remez
- remezb
- srfaur
- srkf
- sskf
- syredi
- system
- trans
- wfir
- wfir_gui
- wiener
- wigner
- window
- yulewalk
- zpbutt
- zpch1
- zpch2
- zpell
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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")
Report an issue | ||
<< How to design an elliptic filter | Filters | buttmag >> |