#include <GrFreqXlatingFIRfilterSCF.h>
Inheritance diagram for GrFreqXlatingFIRfilterSCF:
Public Member Functions | |
GrFreqXlatingFIRfilterSCF (int decimation_factor, const std::vector< float > &taps, float center_freq) | |
GrFreqXlatingFIRfilterSCF (int decimation_factor, gr_fir_builderF *builder, float center_freq) | |
virtual | ~GrFreqXlatingFIRfilterSCF () |
virtual const char * | name () |
default name for a module (override with actual name) | |
virtual void | initialize () |
Initialize any local state that is dependent on sampling frequency. | |
virtual int | work (VrSampleRange output, void *o[], VrSampleRange inputs[], void *i[]) |
Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#]. | |
void | setCenterFreq (float center_freq) |
void | setTaps (const std::vector< float > &taps) |
Protected Member Functions | |
virtual void | build_composite_fir () |
Protected Attributes | |
gr_fir_builderF * | d_builder |
std::vector< float > | d_proto_taps |
gr_fir_SCC * | d_composite_fir |
gr_rotator | d_r |
float | d_center_freq |
int | d_updated |
This class efficiently combines a frequency translation (typically "down conversion") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a "channel selection filter" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.
Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.
|
Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation. |
|
Construct a FIR filter where the taps will be determined at initialization time by invoking builder->taps (sampling_freq). The resulting filter will be preceeded by a frequency translation that shifts center_freq down to zero Hz. GrFreqXlatingFIRfilterSCF becomes responsible for life time management of builder. |
|
|
|
|
|
Initialize any local state that is dependent on sampling frequency.
Reimplemented from VrSigProc. |
|
default name for a module (override with actual name)
Reimplemented from VrSigProc. |
|
|
|
|
|
Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#]. Pointers start at corresponding VrSampleIndex in the range params. output.size is a multiple of outputSize. Returns the number of outputs (<= output.size) that it was able to compute with the given input ranges. If this value is < output.size, forecast() will need to be called again. Implements VrSigProc. |
|
|
|
|
|
|
|
|
|
|
|
|