/// <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); }