n 次のローパス第1種チェビシェフ(Chebyshev)フィルタを作る.
Chebyshev1FilterModel[{n,ωc}]
カットオフ周波数 ωcを使う.
Chebyshev1FilterModel[{"type",spec}]
指定されたパラメータ spec を使い,指定された"type"のフィルタを作成する.
Chebyshev1FilterModel[{"type",spec},var]
変数 var によってモデルを表す.
Chebyshev1FilterModel
n 次のローパス第1種チェビシェフ(Chebyshev)フィルタを作る.
Chebyshev1FilterModel[{n,ωc}]
カットオフ周波数 ωcを使う.
Chebyshev1FilterModel[{"type",spec}]
指定されたパラメータ spec を使い,指定された"type"のフィルタを作成する.
Chebyshev1FilterModel[{"type",spec},var]
変数 var によってモデルを表す.
詳細
- Chebyshev1FilterModelはフィルタをTransferFunctionModelとして与える.
- Chebyshev1FilterModel[{n,ω}]は,周波数 ω での減衰
のローパスフィルタを返す. - Chebyshev1FilterModel[n]はカットオフ周波数1を使う.
- ローパスフィルタ指定{"type",spec}には以下の任意のものを使うことができる.
-

{"Lowpass",n} 次数 n,カットオフ周波数1のローパスフィルタ 
{"Lowpass",n,ωp} カットオフ周波数 ωpを使う 
{"Lowpass",{ωp,ωs},{ap,as}} パスバンドとストップバンドの周波数と減衰を与える完全フィルタ指定を使う - ハイパスフィルタ指定
-

{"Highpass",n} カットオフ周波数1のハイパスフィルタ 
{"Highpass",n,ωp} カットオフ周波数 ωpを使う 
{"Highpass",{ωs,ωp},{as,ap}} 完全フィルタ指定 - バンドパスフィルタ指定
-

{"Bandpass",n,{ωp1,ωp2}} パスバンド周波数が ωp1と ωp2のバンドパスフィルタ 
{"Bandpass",n,{{ω,q}}} 中心周波数 ω,Q値 q を使う 
{"Bandpass",{ωs1,ωp1,ωp2,ωs2},{as,ap}} 完全フィルタ指定 - バンドストップフィルタ指定
-

{"Bandstop",n,{ωp1,ωp2}} パスバンド周波数が ωp1と ωp2のバンドストップフィルタ 
{"Bandstop",n,{{ω,q}}} 中心周波数 ω,Q値 q を使う 
{"Bandstop",{ωp1,ωs1,ωs2,ωp2},{ap,as}} 完全フィルタ指定 - 周波数値は昇順で与えられなければならない.
- 値 apと asはそれぞれパスバンドとストップバンドの減衰の絶対値である.
- ゲインが
のとき,減衰は
である. - Q値 q は
として定義される.ω はバンドパスフィルタあるいはバンドストップフィルタの中心周波数である.q の値が大きいほどフィルタは狭くなる.
例題
すべて開く すべて閉じる例 (2)
tf = Chebyshev1FilterModel[3]tf = Chebyshev1FilterModel[3, s]BodePlot[tf, GridLines -> Automatic, PlotLayout -> "Magnitude"]tf = Chebyshev1FilterModel[{"Lowpass", {1., 2.}, {1., 20.}}, s]//ChopPlot[Abs[tf[I * ω]], {ω, 0, 3}, PlotRange -> All, Epilog -> {Pink, Dashed, Line[{{0, 0.89}, {1, 0.89}, {1, 0.1}}], Line[{{2., 0.89}, {2., 0.1}, {3., 0.1}}]}]スコープ (5)
ローパスフィルタの記号的な第1種チェビシェフフィルタモデルを作る:
Chebyshev1FilterModel[{2, ω}, s]//NChebyshev1FilterModel[{2, 1}, s]Chebyshev1FilterModel[{2, N[1, 24]}, s]BodePlot[Chebyshev1FilterModel[{"Highpass", {1., 2.}, {20., 1.}}], GridLines -> Automatic, PlotLayout -> "Magnitude"]パスバンド周波数が1と10,減衰の次数が3のバンドパスフィルタを作る:
BodePlot[Chebyshev1FilterModel[{"Bandpass", 3, {1, 10}}], {0.1, 100}, GridLines -> Automatic, PlotLayout -> "Magnitude"]BodePlot[Chebyshev1FilterModel[{"Bandpass", 3, {{1, 1 / 3}}}], {0.01, 100}, GridLines -> Automatic, PlotLayout -> "Magnitude"]完全指定を使ってバンドパス第1種チェビシェフフィルタを作る:
tf = Chebyshev1FilterModel[{"Bandpass", {0.1, 1., 10., 100.}, {60, -20Log10[1 / Sqrt[2]]}}];BodePlot[tf, {0.1, 100}, GridLines -> Automatic, PlotLayout -> "Magnitude"]パスバンド周波数が1および10,次数が3の減衰を持つバンドストップフィルタを作る:
BodePlot[Chebyshev1FilterModel[{"Bandstop", 3, {1, 10}}], {0.1, 100}, GridLines -> Automatic, PlotLayout -> "Magnitude"]BodePlot[Chebyshev1FilterModel[{"Bandstop", 3, {{1, 1 / 3}}}], {0.01, 100}, GridLines -> Automatic, PlotLayout -> "Magnitude"]完全指定を用いてバンドパス第1種チェビシェフフィルタを作る:
tf = Chebyshev1FilterModel[{"Bandstop", {0.1, 1., 10., 100.}, {1, 20}}];
BodePlot[tf, {0.01, 1000.}, GridLines -> Automatic, PlotLayout -> "Magnitude"]アプリケーション (5)
tf = Chebyshev1FilterModel[{"Lowpass", {1., 2.}, {1, 40}}];ω = 1 / 5;input = (Sin[ω t] + 1 / 2 Sin[25ω t]) UnitStep[t];
response1 = OutputResponse[tf, input, {t, 0, 100}][[1]];第1種チェビシェフフィルタの位相は,Arg[tf[ω ]]による応答を移動させる.この場合,ω は入力正弦曲線の周波数である:
Plot[{input, response1}, {t, 20, 100}]delay = Arg[tf[I ω]] / ω//First//First;
Plot[Evaluate[Flatten[{input, response1 /. t -> (t - delay)}]], {t, 20, 100}]ローパスのプロトタイプからハイパスの第1種チェビシェフフィルタを作る:
tf2 = TransferFunctionTransform[1 / #&, tf];Plot[Evaluate[Flatten[{input, OutputResponse[tf2, input, {t, 0, 100}]}]], {t, 20, 100}]次のパスバンド周波数,ストップバンド周波数,減衰を満足する第1種チェビシェフ近似を用いてデジタルローパスフィルタを設計する:
Subscript[ω, p] = 0.4π;Subscript[ω, s] = 0.6π;
Subscript[a, p] = 1;Subscript[a, s] = 20;サンプリング周期が1であると仮定して,上記と同等のアナログ周波数を得る:
{Subscript[Ω, p] = 2 Tan[(0.4π/2)], Subscript[Ω, s] = 2 Tan[(0.6π/2)]}tf = Chebyshev1FilterModel[{"Lowpass", {Subscript[Ω, p], Subscript[Ω, s]}, {Subscript[a, p], Subscript[a, s]}}, s]dtf = ToDiscreteTimeModel[tf, 1, z]//ChopBodePlot[dtf, {0.1 π, π}, PlotLayout -> "Magnitude", GridLines -> {{Subscript[ω, p], Subscript[ω, s]}, {10^-Subscript[a, p] / 20, 10^-Subscript[a, s] / 20}}, ScalingFunctions -> {"Linear", "Absolute"}, PlotRange -> All]離散時間第1種チェビシェフIIRフィルタの長さ31のFIR近似を作成する:
OutputResponse[dtf, KroneckerDelta[n], {n, 0, 30}]//ChopListPlot[%, PlotRange -> All, Filling -> 0]チェビシェフフィルタのFIR近似を使って金融データを平滑化する:
data = Transpose[FinancialData["GE", {"Jan. 1, 2012", "Jan. 1, 2013"}]["Path"]];
fir = OutputResponse[ToDiscreteTimeModel[Chebyshev1FilterModel[{3, 1.}], 1], KroneckerDelta[n], {n, 0, 40}]//Chop//Flatten;
DateListPlot[{Transpose[data], Transpose[{data[[1]], -ListConvolve[fir, data[[2]], 4]}]}, PlotRange -> All, PlotLegends -> {"original", "smoothed"}]離散時間ローパス第1種チェビシェフフィルタを使って画像にフィルタをかける:
h = ToDiscreteTimeModel[Chebyshev1FilterModel[{"Lowpass", 3, 0.75}], 1];
RecurrenceFilter[h, [image]]ハイパスの第1種チェビシェフフィルタを使って画像にフィルタをかける:
h = ToDiscreteTimeModel[Chebyshev1FilterModel[{"Highpass", 3, 0.75}], 1];
RecurrenceFilter[h, [image]]特性と関係 (8)
次数 n が大きくなるにつれてストップバンドの減衰は大きくなる:
tf = Chebyshev1FilterModel[{"Lowpass", #}]& /@ {1, 2, 3};
BodePlot[tf, {0.1, 10}, GridLines -> Automatic, PlotLayout -> "Magnitude", PlotLegends -> {1, 2, 3}]"Bandpass"フィルタのパスバンド幅は品質因子 q が大きくなるにつれて小さくなる:
tf = Chebyshev1FilterModel[{"Bandpass", 2, {{1, #}}}]& /@ {0.5, 1., 3.};
BodePlot[tf, {0.1, 10}, GridLines -> Automatic, PlotLayout -> "Magnitude", PlotRange -> {0, -80}, PlotLegends -> {0.5, 1., 3.}]三次"Lowpass"第1種チェビシェフフィルタの位相応答:
BodePlot[Chebyshev1FilterModel[{"Lowpass", 3}], {0.1, 10.}, PlotLayout -> "Phase", GridLines -> Automatic]BodePlot[Chebyshev1FilterModel[{"Lowpass", #}]& /@ {1, 2, 3}, {0.1, 10.}, PlotLayout -> "Phase", GridLines -> Automatic, PlotLegends -> {1, 2, 3}]いくつかの品質因子についての"Bandpass"フィルタの位相応答:
BodePlot[Chebyshev1FilterModel[{"Bandpass", 2, {{1, #}}}]& /@ {1., 3., 5.}, {0.1, 10}, GridLines -> Automatic, PlotLayout -> "Phase", PlotLegends -> {1., 3., 5.}]ローパスの第1種チェビシェフフィルタと第2種チェビシェフフィルタを比較する:
t1 = Chebyshev1FilterModel[{"Lowpass", {1., 2.}, {1., 20.}}, s]t2 = Chebyshev2FilterModel[{"Lowpass", {1., 2.}, {1., 20.}}, s]Plot[{Abs[t1[I * ω]], Abs[t2[I * ω]]}, {ω, 0, 3}, PlotRange -> All, Epilog -> {Pink, Dashed, Line[{{0, 0.89}, {1, 0.89}, {1, 0.1}}], Line[{{2., 0.89}, {2., 0.1}, {3., 0.1}}]}]SystemsModelOrder[StateSpaceModel[Chebyshev1FilterModel[{"Lowpass", {1., 2.}, {1., 20.}}]]]tfm = Chebyshev1FilterModel[11];
poles = TransferFunctionPoles[tfm]バターワース(Butterworth)フィルタの極をプロットする:
PoleZeroPlot[tfm, ...]dtfm = ToDiscreteTimeModel[Chebyshev1FilterModel[11], 1]PoleZeroPlot[dtfm]lo = Chebyshev1FilterModel[3];
hi = TransferFunctionTransform[(1 / #&), lo];BodePlot[{lo, hi}, {0.1, 10}, GridLines -> Automatic, PlotLayout -> "Magnitude"]関連するガイド
テキスト
Wolfram Research (2012), Chebyshev1FilterModel, Wolfram言語関数, https://reference.wolfram.com/language/ref/Chebyshev1FilterModel.html (2016年に更新).
CMS
Wolfram Language. 2012. "Chebyshev1FilterModel." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/Chebyshev1FilterModel.html.
APA
Wolfram Language. (2012). Chebyshev1FilterModel. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Chebyshev1FilterModel.html
BibTeX
@misc{reference.wolfram_2026_chebyshev1filtermodel, author="Wolfram Research", title="{Chebyshev1FilterModel}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/Chebyshev1FilterModel.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_chebyshev1filtermodel, organization={Wolfram Research}, title={Chebyshev1FilterModel}, year={2016}, url={https://reference.wolfram.com/language/ref/Chebyshev1FilterModel.html}, note=[Accessed: 13-September-2026]}