Frequency Xlating FIR Filter
Jump to navigation
Jump to search
This block performs a frequency translation on the signal, as well as downsamples the signal by running a decimating FIR filter on it. It can be used as a channelizer, to pull out a narrowband portion of a wideband signal, without that narrowband portion having to be centered in frequency.
(note- taken from http://blog.sdr.hu/grblocks/xlating-fir.html)
This block does not support C++ output, so it cannot be used when the output language of a flowgraph in GRC is C++.
See this page for more details.
Parameters
- Decimation
- The integer ratio between the input and the output signal’s sampling rate.
- Taps
- The vector of the complex or real taps of the FIR filter. You can generate these taps within the parameter box using firdes, for example:
- Real taps:
firdes.low_pass(1,samp_rate,samp_rate/(2*decimation), transition_bw)
- Complex taps:
firdes.complex_band_pass(1, samp_rate, -samp_rate/(2*decimation), samp_rate/(2*decimation), transition_bw)
- Note: transition_bw is the transition bandwidth of the filter in Hz. The lower it is, the more taps the function will generate, and the more CPU time it will take to apply this filter. This parameter will determine the CPU usage and thus the execution speed of the block.
- Center Frequency
- The frequency translation offset frequency.
- Sample Rate
- The sample rate of the input signal.
Example Flowgraph
This flowgraph uses the Frequency Xlating FIR Filter block to center Frequency Shift Keying tones around zero. Then a Quadrature Demod block can detect the high and low tones as positive or negative values.
Source Files
- C++ files
- freq_xlating_fir_filter_impl.cc
- Header files
- freq_xlating_fir_filter_impl.h
- Block definition
- filter_freq_xlating_fir_filter_xxx.block.yml