![]() |
The Inspector (GNU Radio module gr-inspector)
|
Signal Separator takes input signal and RF map as input and passes samples of each filtered and decimated signal as output. More...
#include <signal_separator_c.h>
Public Types | |
typedef boost::shared_ptr< signal_separator_c > | sptr |
Public Member Functions | |
virtual void | set_samp_rate (double d_samp_rate)=0 |
virtual void | set_window (int d_window)=0 |
virtual void | set_trans_width (float d_trans_width)=0 |
virtual void | set_oversampling (float d_oversampling)=0 |
Static Public Member Functions | |
static sptr | make (double samp_rate, int window, float trans_width, float oversampling, bool taps_file, std::map< float, std::vector< float >> &file_path) |
Return new instance of Signal Separator block. More... | |
Signal Separator takes input signal and RF map as input and passes samples of each filtered and decimated signal as output.
Signal Separator block takes input signal and RF map with signal center frequencies and bandwidths and filters the input spectrum for each signal.
Internally, FIR filters get calculated according to the RF map's specs. The steepness of the filters can be set with the relative transition width parameter. The spectrum gets shifted by the center frequency of each signal and filtered with the corresponding filter calculated from the RF map information. A floored integer decimation will be applied according to the set oversampling factor (decim = floor(samp_rate/(bw*OSF))).
To save CPU load, generic taps can be precalculated with the tool in the apps/ folder. This tool outputs a JSON file, which path can be specified in the block parameter file_path
.
Output of this block is a pmt vector of tuples in the format
#[#(SigNo, cfreq, bandwidth, #[vector of samples]), #(...)]
typedef boost::shared_ptr<signal_separator_c> gr::inspector::signal_separator_c::sptr |
|
static |
Return new instance of Signal Separator block.
samp_rate | Sample rate of input signal |
window | Firdes window type to scale input samples with |
trans_width | Transition width for each signal relative to center frequency (w = trans_width*center_freq) |
oversampling | Oversampling factor (OSF) to ensure the whole signal gets passed |
taps_file | Determine wether to use a file of precalculated taps or caluculate them during runtime |
file_path | File path to taps file (leave empty if not enabled) |
|
pure virtual |
Implemented in gr::inspector::signal_separator_c_impl.
|
pure virtual |
Implemented in gr::inspector::signal_separator_c_impl.
|
pure virtual |
Implemented in gr::inspector::signal_separator_c_impl.
|
pure virtual |
Takes integers and does internal cast to firdes::win_type
Implemented in gr::inspector::signal_separator_c_impl.