Filter Delay: Difference between revisions
mNo edit summary |
|||
Line 15: | Line 15: | ||
; Taps | ; Taps | ||
: The vector of real-valued | : The vector of real-valued taps. Half of the length of this vector is the delay introduced by this block. | ||
== Example Flowgraph == | == Example Flowgraph == | ||
Line 24: | Line 24: | ||
; C++ files | ; C++ files | ||
: [https://github.com/gnuradio/gnuradio/gr-filter/lib/filter_delay_fc_impl.cc] | : [https://github.com/gnuradio/gnuradio/gr-filter/lib/filter_delay_fc_impl.cc filter_delay_fc_impl.cc] | ||
; Header files | ; Header files | ||
: [https://github.com/gnuradio/gnuradio/gr-filter/lib/filter_delay_fc_impl.h] | : [https://github.com/gnuradio/gnuradio/gr-filter/lib/filter_delay_fc_impl.h filter_delay_fc_impl.h] | ||
; Public header files | ; Public header files | ||
: [https://github.com/gnuradio/gnuradio/gr-filter/include/gnuradio/filter/filter_delay_fc.h] | : [https://github.com/gnuradio/gnuradio/gr-filter/include/gnuradio/filter/filter_delay_fc.h filter_delay_fc.h] | ||
; Block definition | ; Block definition | ||
: [https://github.com/gnuradio/gnuradio/gr-filter/grc/filter_filter_delay_fc.block.yml] | : [https://github.com/gnuradio/gnuradio/gr-filter/grc/filter_filter_delay_fc.block.yml filter_filter_delay_fc.block.yml] |
Revision as of 17:55, 15 May 2024
The purpose of this block is to compensate the delay that a linear-phase filter introduces.
It does that by introducing a delay of half the length of the FIR tap vector on passed-through samples.
The block takes one or two float stream and outputs a stream composed of pairs of floats. (In GNU Radio, pairs of floats are identical to complex numbers, where the real and imaginary parts are the first and second element, respectively.)
If only one float stream is input, the first element of each output item is a delayed version of this input and the second element is the filtered output.
If two floats are connected to the input, then the first element of each output item is the delayed version of the first input, and the second element is the filtered second input.
The delay in the first elements of the output accounts for the group delay introduced by the filter in the second elements path under the assumption of linear-phase filtering. The filter taps need to be calculated before initializing this block.
Parameters
- Taps
- The vector of real-valued taps. Half of the length of this vector is the delay introduced by this block.
Example Flowgraph
Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
Source Files
- C++ files
- filter_delay_fc_impl.cc
- Header files
- filter_delay_fc_impl.h
- Public header files
- filter_delay_fc.h
- Block definition
- filter_filter_delay_fc.block.yml