public static CalcLinearBPFCoefficient ( FirFilterType type, double coef, double w, double w0, WindowFunction window ) : void | ||
type | FirFilterType | フィルタタイプ |
coef | double | |
w | double | 遮断周波数(BPF の場合は遮断帯域幅、HPF の場合は π-遮断周波数) |
w0 | double | (BPF のみ) 中心周波数 |
window | WindowFunction | 窓関数 |
리턴 | void |
/// <summary> /// ハイパスフィルタを作成 /// </summary> /// <param name="n">タップ数=2n+1</param> /// <param name="w">遮断周波数</param> /// <param name="window">窓関数</param> public HighPassFir(int n, double w, WindowFunction window) : base(n) { FirCommon.CalcLinearBPFCoefficient(FirCommon.FirFilterType.HPF, this.coef, Math.PI - w, 0, window); }
/// <summary> /// バンドパスフィルタを作成 /// </summary> /// <param name="n">タップ数=2n+1</param> /// <param name="wl">下限周波数</param> /// <param name="wh">上限周波数</param> /// <param name="window">窓関数</param> public BandPassFir(int n, double wl, double wh, WindowFunction window) : base(n) { FirCommon.CalcLinearBPFCoefficient(FirCommon.FirFilterType.BPF, this.coef, (wl - wh) / 2, (wl + wh) / 2, window); }
/// <summary> /// ローパスフィルタを作成 /// </summary> /// <param name="n">タップ数=2n+1</param> /// <param name="w">遮断周波数</param> /// <param name="window">窓関数</param> public LowPassFir(int n, double w, WindowFunction window) : base(n) { FirCommon.CalcLinearBPFCoefficient(FirCommon.FirFilterType.LPF, this.coef, w, 0, window); }