Decimating FIR Filter: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
For a large number of taps, consider using an [[FFT Filter]], see [http://www.trondeau.com/blog/2014/2/27/to-use-or-not-to-use-fft-filters.html] | For a large number of taps, consider using an [[FFT Filter]], see [http://www.trondeau.com/blog/2014/2/27/to-use-or-not-to-use-fft-filters.html] | ||
For standard filters such as lowpass, highpass, bandpass, etc., the filter.firdes and filter.optfir classes provide convenient generating methods. | |||
== Parameters == | == Parameters == | ||
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span> | (''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span> | ||
; | ; Decimation | ||
: | : Decimation rate. The output stream will have this decimation applied to it. A decimation rate of 1 simply means no decimation. If decimation is set higher than 1, make sure the filter will remove energy outside of the "output region", i.e. -Fs/2 to Fs/2 where Fs is the input sample rate divided by the decimation rate. | ||
; Taps (''R'') | |||
: Taps to use in FIR filter. | |||
; | ; Sample Delay | ||
: | : Additional samples to delay by, default is 0 or no delay. | ||
== Example Flowgraph == | == Example Flowgraph == | ||
This flowgraph implements a Broadcast FM stereo receiver using basic blocks. | |||
[[File:USRP_FM_stereo_fg.png|644px]] | |||
== Source Files == | == Source Files == | ||
; C++ files | ; C++ files | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/main/gr-filter/lib/fir_filter.cc fir_filter.cc] | ||
; Public header files | ; Public header files | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/main/gr-filter/include/gnuradio/filter/fir_filter.h fir_filter.h] | ||
; Block definition | ; Block definition | ||
: [https://github.com/gnuradio/gnuradio/blob/ | : [https://github.com/gnuradio/gnuradio/blob/main/gr-filter/grc/filter_fir_filter_xxx.block.yml filter_fir_filter_xxx.block.yml] |
Latest revision as of 15:21, 27 October 2023
This is GNU Radio's "normal" FIR Filter.
For a large number of taps, consider using an FFT Filter, see [1]
For standard filters such as lowpass, highpass, bandpass, etc., the filter.firdes and filter.optfir classes provide convenient generating methods.
Parameters
(R): Run-time adjustable
- Decimation
- Decimation rate. The output stream will have this decimation applied to it. A decimation rate of 1 simply means no decimation. If decimation is set higher than 1, make sure the filter will remove energy outside of the "output region", i.e. -Fs/2 to Fs/2 where Fs is the input sample rate divided by the decimation rate.
- Taps (R)
- Taps to use in FIR filter.
- Sample Delay
- Additional samples to delay by, default is 0 or no delay.
Example Flowgraph
This flowgraph implements a Broadcast FM stereo receiver using basic blocks.
Source Files
- C++ files
- fir_filter.cc
- Public header files
- fir_filter.h
- Block definition
- filter_fir_filter_xxx.block.yml