00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
#ifndef _gr_fir_FFF_H_
00030
#define _gr_fir_FFF_H_
00031
00032
#include <vector>
00033
00034
00045 class gr_fir_FFF {
00046
00047
protected:
00048 std::vector<float>
d_taps;
00049
00050
public:
00051
00052
00053
00061 gr_fir_FFF () {}
00062 gr_fir_FFF (
const std::vector<float> &taps) :
d_taps (taps) {}
00063
00064
virtual ~gr_fir_FFF ();
00065
00066
00067
00076
virtual float filter (
const float input[]) = 0;
00077
00084
virtual void filterN (
float output[],
const float input[],
00085
unsigned long n) = 0;
00086
00094
virtual void filterNdec (
float output[],
const float input[],
00095
unsigned long n,
unsigned decimate) = 0;
00096
00100 virtual void set_taps (
const std::vector<float> &taps)
00101 {
00102
d_taps = taps;
00103 }
00104
00105
00106
00110 unsigned ntaps ()
const {
return d_taps.size (); }
00111
00115 virtual const std::vector<float> &
get_taps ()
const {
return d_taps; }
00116 };
00117
00118
#endif