./receivers/nbrx.cpp: filter = make_rx_filter(PREF_QUAD_RATE, -5000.0, 5000.0, 1000.0); ./receivers/nbrx.cpp: connect(nb, 0, filter, 0); ./receivers/nbrx.cpp: connect(filter, 0, meter, 0); ./receivers/nbrx.cpp: connect(filter, 0, sql, 0); ./receivers/nbrx.cpp:void nbrx::set_filter(double low, double high, double tw) ./receivers/nbrx.cpp: filter->set_param(low, high, tw); ./receivers/nbrx.cpp: filter->set_cw_offset(offset); ./receivers/nbrx.h:#include "dsp/rx_filter.h" ./receivers/nbrx.h: void set_filter(double low, double high, double tw); ./receivers/nbrx.h: rx_filter_sptr filter; /*!< Non-translating bandpass filter.*/ ./receivers/wfmrx.h:#include "dsp/rx_filter.h" ./receivers/wfmrx.h: void set_filter(double low, double high, double tw); ./receivers/wfmrx.h: rx_filter_sptr filter; /*!< Non-translating bandpass filter.*/ ./receivers/wfmrx.cpp: filter = make_rx_filter(PREF_QUAD_RATE, -80000.0, 80000.0, 20000.0); ./receivers/wfmrx.cpp: connect(iq_resamp, 0, filter, 0); ./receivers/wfmrx.cpp: connect(filter, 0, meter, 0); ./receivers/wfmrx.cpp: connect(filter, 0, sql, 0); ./receivers/wfmrx.cpp:void wfmrx::set_filter(double low, double high, double tw) ./receivers/wfmrx.cpp: filter->set_param(low, high, tw); ./receivers/receiver_base.h: virtual void set_filter(double low, double high, double tw) = 0; ./applications/gqrx/remote_control.h: qint64 rc_filter_offset; ./applications/gqrx/mainwindow.cpp: d_filter_shape = receiver::FILTER_SHAPE_NORMAL; ./applications/gqrx/mainwindow.cpp: connect(uiDockRxOpt, SIGNAL(filterOffsetChanged(qint64)), this, SLOT(setFilterOffset(qint64))); ./applications/gqrx/mainwindow.cpp: connect(uiDockRxOpt, SIGNAL(filterOffsetChanged(qint64)), remote, SLOT(setFilterOffset(qint64))); ./applications/gqrx/mainwindow.cpp: qint64 hw_freq = int64_val - d_lnb_lo - (qint64)(rx->get_filter_offset()); ./applications/gqrx/mainwindow.cpp: (qint64)(rx->get_filter_offset()) + d_lnb_lo; ./applications/gqrx/mainwindow.cpp: * frequency range, the selected filter offset and the LNB LO. ./applications/gqrx/mainwindow.cpp: * This function must therefore be called whenever the LNB LO or the filter ./applications/gqrx/mainwindow.cpp: qint64 start = (qint64)(rx->get_filter_offset()) + d_hw_freq_start + d_lnb_lo; ./applications/gqrx/mainwindow.cpp: qint64 stop = (qint64)(rx->get_filter_offset()) + d_hw_freq_stop + d_lnb_lo; ./applications/gqrx/mainwindow.cpp: double hw_freq = (double)(rx_freq-d_lnb_lo) - rx->get_filter_offset(); ./applications/gqrx/mainwindow.cpp: qint64 center_freq = rx_freq - (qint64)rx->get_filter_offset(); ./applications/gqrx/mainwindow.cpp: * @brief Set new channel filter offset. ./applications/gqrx/mainwindow.cpp: * @param freq_hz The new filter offset in Hz. ./applications/gqrx/mainwindow.cpp: rx->set_filter_offset((double) freq_hz); ./applications/gqrx/mainwindow.cpp: qint64 filter_offset = (qint64)rx->get_filter_offset(); ./applications/gqrx/mainwindow.cpp: ui->freqCtrl->setFrequency(d_lnb_lo + freq + filter_offset); ./applications/gqrx/mainwindow.cpp: * and configures the default channel filter. ./applications/gqrx/mainwindow.cpp: int filter_preset = uiDockRxOpt->currentFilter(); ./applications/gqrx/mainwindow.cpp: uiDockRxOpt->getFilterPreset(mode_idx, filter_preset, &flo, &fhi); ./applications/gqrx/mainwindow.cpp: d_filter_shape = (receiver::filter_shape)uiDockRxOpt->currentFilterShape(); ./applications/gqrx/mainwindow.cpp: rx->set_filter((double)flo, (double)fhi, d_filter_shape); ./applications/gqrx/mainwindow.cpp: /* update filter */ ./applications/gqrx/mainwindow.cpp: rx->set_filter(-5000.0, 5000.0, d_filter_shape); ./applications/gqrx/mainwindow.cpp: rx->set_filter(-35000.0, 35000.0, d_filter_shape); ./applications/gqrx/mainwindow.cpp: // set RX filter ./applications/gqrx/mainwindow.cpp: rx->set_filter_offset((double) delta); ./applications/gqrx/mainwindow.cpp: // update RF freq label and channel filter offset ./applications/gqrx/mainwindow.cpp:/* CPlotter::NewfilterFreq() is emitted */ ./applications/gqrx/mainwindow.cpp: retcode = rx->set_filter((double) low, (double) high, d_filter_shape); ./applications/gqrx/receiver.cpp: d_filter_offset(0.0), ./applications/gqrx/receiver.cpp: * @brief Set filter offset. ./applications/gqrx/receiver.cpp: * @param offset_hz The desired filter offset in Hz. ./applications/gqrx/receiver.cpp: * @sa get_filter_offset() ./applications/gqrx/receiver.cpp:receiver::status receiver::set_filter_offset(double offset_hz) ./applications/gqrx/receiver.cpp: d_filter_offset = offset_hz; ./applications/gqrx/receiver.cpp: lo->set_frequency(-d_filter_offset + d_cw_offset); ./applications/gqrx/receiver.cpp: * @brief Get filter offset. ./applications/gqrx/receiver.cpp: * @return The current filter offset. ./applications/gqrx/receiver.cpp: * @sa set_filter_offset() ./applications/gqrx/receiver.cpp:double receiver::get_filter_offset(void) const ./applications/gqrx/receiver.cpp: return d_filter_offset; ./applications/gqrx/receiver.cpp: lo->set_frequency(-d_filter_offset + d_cw_offset); ./applications/gqrx/receiver.cpp:receiver::status receiver::set_filter(double low, double high, filter_shape shape) ./applications/gqrx/receiver.cpp: rx->set_filter(low, high, trans_width); ./applications/gqrx/receiver.cpp: * is located after the band pass filter. The full scale is 1.0 ./applications/gqrx/remote_control.cpp: rc_filter_offset = 0; ./applications/gqrx/remote_control.cpp: rc_filter_offset = settings->value("receiver/offset", 0).toInt(&conv_ok); ./applications/gqrx/remote_control.cpp: // Mode and filter ./applications/gqrx/remote_control.cpp: * hardware frequency + the filter offset. ./applications/gqrx/remote_control.cpp:/*! \brief Slot called when the filter offset is changed. */ ./applications/gqrx/remote_control.cpp: rc_filter_offset = freq; ./applications/gqrx/remote_control.cpp: if (std::abs(rc_filter_offset + delta) < bw_half) ./applications/gqrx/remote_control.cpp: // move filter offset ./applications/gqrx/remote_control.cpp: rc_filter_offset += delta; ./applications/gqrx/remote_control.cpp: emit newFilterOffset(rc_filter_offset); ./applications/gqrx/remote_control.cpp: // reset the filter_offset, otherwise the MainWindo will preserve it ./applications/gqrx/remote_control.cpp: rc_filter_offset = 0; ./applications/gqrx/remote_control.cpp: emit newFilterOffset(rc_filter_offset); ./applications/gqrx/mainwindow.h: enum receiver::filter_shape d_filter_shape; ./applications/gqrx/mainwindow.h: void on_plotter_newDemodFreq(qint64 freq, qint64 delta); /*! New demod freq (aka. filter offset). */ ./applications/gqrx/mainwindow.h: void on_plotter_newFilterFreq(int low, int high); /*! New filter width */ ./applications/gqrx/receiver.h:#include "dsp/rx_filter.h" ./applications/gqrx/receiver.h: enum filter_shape { ./applications/gqrx/receiver.h: status set_filter_offset(double offset_hz); ./applications/gqrx/receiver.h: double get_filter_offset(void) const; ./applications/gqrx/receiver.h: status set_filter(double low, double high, filter_shape shape); ./applications/gqrx/receiver.h: double d_filter_offset; /*!< Current filter offset */ ./qtgui/dockrxopt.cpp:static const int filter_preset_table[DockRxOpt::MODE_LAST][3][2] = ./qtgui/dockrxopt.cpp:DockRxOpt::DockRxOpt(qint64 filterOffsetRange, QWidget *parent) : ./qtgui/dockrxopt.cpp: ui->filterFreq->setup(7, -filterOffsetRange/2, filterOffsetRange/2, 1, UNITS_KHZ); ./qtgui/dockrxopt.cpp: ui->filterFreq->setFrequency(0); ./qtgui/dockrxopt.cpp: // use same slot for filteCombo and filterShapeCombo ./qtgui/dockrxopt.cpp: connect(ui->filterShapeCombo, SIGNAL(activated(int)), this, SLOT(on_filterCombo_activated(int))); ./qtgui/dockrxopt.cpp: * @brief Set value of channel filter offset selector. ./qtgui/dockrxopt.cpp: ui->filterFreq->setFrequency(freq_hz); ./qtgui/dockrxopt.cpp: * @brief Set filter offset range. ./qtgui/dockrxopt.cpp: ui->filterFreq->setup(7, -range_hz/2, range_hz/2, 1, UNITS_KHZ); ./qtgui/dockrxopt.cpp: * The actual RX frequency is the sum of the RF frequency and the filter ./qtgui/dockrxopt.cpp: * Get filter index from filter LO / HI values. ./qtgui/dockrxopt.cpp: * @param lo The filter low cut frequency. ./qtgui/dockrxopt.cpp: * @param hi The filter high cut frequency. ./qtgui/dockrxopt.cpp: * Given filter low and high cut frequencies, this function checks whether the ./qtgui/dockrxopt.cpp: * filter settings correspond to one of the presets in filter_preset_table and ./qtgui/dockrxopt.cpp: * returns the corresponding index to ui->filterCombo; ./qtgui/dockrxopt.cpp:unsigned int DockRxOpt::filterIdxFromLoHi(int lo, int hi) const ./qtgui/dockrxopt.cpp: if (lo == filter_preset_table[mode_index][FILTER_PRESET_WIDE][0] && ./qtgui/dockrxopt.cpp: hi == filter_preset_table[mode_index][FILTER_PRESET_WIDE][1]) ./qtgui/dockrxopt.cpp: else if (lo == filter_preset_table[mode_index][FILTER_PRESET_NORMAL][0] && ./qtgui/dockrxopt.cpp: hi == filter_preset_table[mode_index][FILTER_PRESET_NORMAL][1]) ./qtgui/dockrxopt.cpp: else if (lo == filter_preset_table[mode_index][FILTER_PRESET_NARROW][0] && ./qtgui/dockrxopt.cpp: hi == filter_preset_table[mode_index][FILTER_PRESET_NARROW][1]) ./qtgui/dockrxopt.cpp: * @brief Set filter parameters ./qtgui/dockrxopt.cpp: int filter_index = filterIdxFromLoHi(lo, hi); ./qtgui/dockrxopt.cpp: ui->filterCombo->setCurrentIndex(filter_index); ./qtgui/dockrxopt.cpp: if (filter_index == FILTER_PRESET_USER) ./qtgui/dockrxopt.cpp: ui->filterCombo->setItemText(FILTER_PRESET_USER, QString("User (%1 k)") ./qtgui/dockrxopt.cpp: * @brief Select new filter preset. ./qtgui/dockrxopt.cpp: * @param index Index of the new filter preset (0=wide, 1=normal, 2=narrow). ./qtgui/dockrxopt.cpp: ui->filterCombo->setCurrentIndex(index); ./qtgui/dockrxopt.cpp: * @brief Get current filter preset. ./qtgui/dockrxopt.cpp: * @param The current filter preset (0=wide, 1=normal, 2=narrow). ./qtgui/dockrxopt.cpp: return ui->filterCombo->currentIndex(); ./qtgui/dockrxopt.cpp:/** Select filter shape */ ./qtgui/dockrxopt.cpp: ui->filterShapeCombo->setCurrentIndex(index); ./qtgui/dockrxopt.cpp: return ui->filterShapeCombo->currentIndex(); ./qtgui/dockrxopt.cpp:/** Get filter lo/hi for a given mode and preset */ ./qtgui/dockrxopt.cpp: *lo = filter_preset_table[mode][preset][0]; ./qtgui/dockrxopt.cpp: *hi = filter_preset_table[mode][preset][1]; ./qtgui/dockrxopt.cpp: emit filterOffsetChanged(offs); ./qtgui/dockrxopt.cpp: qint64 offs = ui->filterFreq->getFrequency(); ./qtgui/dockrxopt.cpp: * @brief Channel filter offset has changed ./qtgui/dockrxopt.cpp: * @param freq The new filter offset in Hz ./qtgui/dockrxopt.cpp: * This slot is activated when a new filter offset has been selected either ./qtgui/dockrxopt.cpp:void DockRxOpt::on_filterFreq_newFrequency(qint64 freq) ./qtgui/dockrxopt.cpp: qDebug() << "New filter offset:" << freq << "Hz"; ./qtgui/dockrxopt.cpp: emit filterOffsetChanged(freq); ./qtgui/dockrxopt.cpp: * New filter preset selected. ./qtgui/dockrxopt.cpp: * demodulator and filter preset are tightly coupled. ./qtgui/dockrxopt.cpp:void DockRxOpt::on_filterCombo_activated(int index) ./qtgui/dockrxopt.cpp: qDebug() << "New filter preset:" << ui->filterCombo->currentText(); ./qtgui/dockrxopt.cpp: qDebug() << " shape:" << ui->filterShapeCombo->currentIndex(); ./qtgui/plotter.h: /*! \brief Move the filter to freq_hz from center. */ ./qtgui/plotter.h: bool m_FilterBoxEnabled; /*!< Draw filter box. */ ./qtgui/dockfft.h: void fftAvgChanged(float gain); /*! FFT video filter gain has changed. */ ./qtgui/dockrxopt.h: MODE_CWL = 8, /*!< CW using LSB filter. */ ./qtgui/dockrxopt.h: MODE_CWU = 9, /*!< CW using USB filter. */ ./qtgui/dockrxopt.h: explicit DockRxOpt(qint64 filterOffsetRange = 90000, QWidget *parent = 0); ./qtgui/dockrxopt.h: unsigned int filterIdxFromLoHi(int lo, int hi) const; ./qtgui/dockrxopt.h: /** Signal emitted when the channel filter frequency has changed. */ ./qtgui/dockrxopt.h: void filterOffsetChanged(qint64 freq_hz); ./qtgui/dockrxopt.h: void on_filterFreq_newFrequency(qint64 freq); ./qtgui/dockrxopt.h: void on_filterCombo_activated(int index); ./qtgui/dockrxopt.ui: ./qtgui/dockrxopt.ui: <html><head/><body><p>Channel filter offset.<br/> ./qtgui/dockrxopt.ui: ./qtgui/dockrxopt.ui: ./qtgui/dockrxopt.ui: Apply mode dependent filter preset ./qtgui/dockrxopt.ui: ./qtgui/dockrxopt.ui: ./qtgui/dockrxopt.ui: Select the filter shape ./qtgui/plotter.cpp: "Drag filter edges to adjust filter." ./qtgui/plotter.cpp:// filter edges. ./qtgui/plotter.cpp: { // filter low cut ./qtgui/plotter.cpp: { // filter high cut ./qtgui/plotter.cpp: // filter width ./qtgui/plotter.cpp: // filter shift ./qtgui/plotter.cpp: // Draw demod filter box ./qtgui/dockfft.cpp:/** FFT filter gain changed. */ ./qtgui/demod_options.ui: Time constant for the FM de-emphasis IIR filter. ./dsp/rx_fft.h:#include /* contains enum win_type */ ./dsp/rx_fft.h: * \param winttype The window type (see gnuradio/filter/firdes.h) ./dsp/rx_fft.h:rx_fft_c_sptr make_rx_fft_c(unsigned int fftsize=4096, int wintype=gr::filter::firdes::WIN_HAMMING); ./dsp/rx_fft.h: rx_fft_c(unsigned int fftsize=4096, int wintype=gr::filter::firdes::WIN_HAMMING); ./dsp/rx_fft.h: * \param winttype The window type (see gnuradio/filter/firdes.h) ./dsp/rx_fft.h:rx_fft_f_sptr make_rx_fft_f(unsigned int fftsize=1024, int wintype=gr::filter::firdes::WIN_HAMMING); ./dsp/rx_fft.h: rx_fft_f(unsigned int fftsize=1024, int wintype=gr::filter::firdes::WIN_HAMMING); ./dsp/hbf_decim.h:#include "filter/decimator.h" ./dsp/hbf_decim.h: * Decimator block using half-band filters. ./dsp/stereo_demod.h:#include ./dsp/stereo_demod.h:#include ./dsp/stereo_demod.h:#include ./dsp/stereo_demod.h: gr::filter::fir_filter_fcc::sptr tone; /*!< Pilot tone BPF. */ ./dsp/stereo_demod.h: gr::filter::fir_filter_fff::sptr lo2; /*!< Subtone BPF. */ ./dsp/stereo_demod.h: lpf_ff_sptr lpf0; /*!< Low-pass filter #0. */ ./dsp/stereo_demod.h: lpf_ff_sptr lpf1; /*!< Low-pass filter #1. */ ./dsp/rx_demod_fm.h:#include ./dsp/rx_demod_fm.h:#include ./dsp/rx_demod_fm.h: gr::filter::iir_filter_ffd::sptr d_deemph; /*! De-emphasis IIR filter. */ ./dsp/rx_demod_fm.h: gr::filter::pfb_arb_resampler_ccf::sptr d_resampler; /*! PFB resampler. */ ./dsp/rx_demod_fm.h: /* De-emph IIR filter taps */ ./dsp/resampler_xx.cpp:#include ./dsp/resampler_xx.cpp: d_taps = gr::filter::firdes::low_pass(flt_size, flt_size, cutoff, trans_width); ./dsp/resampler_xx.cpp: /* create the filter */ ./dsp/resampler_xx.cpp: d_filter = gr::filter::pfb_arb_resampler_ccf::make(rate, d_taps, flt_size); ./dsp/resampler_xx.cpp: /* connect filter */ ./dsp/resampler_xx.cpp: connect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: connect(d_filter, 0, self(), 0); ./dsp/resampler_xx.cpp: d_taps = gr::filter::firdes::low_pass(flt_size, flt_size, cutoff, trans_width); ./dsp/resampler_xx.cpp: disconnect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: disconnect(d_filter, 0, self(), 0); ./dsp/resampler_xx.cpp: d_filter.reset(); ./dsp/resampler_xx.cpp: d_filter = gr::filter::pfb_arb_resampler_ccf::make(rate, d_taps, flt_size); ./dsp/resampler_xx.cpp: connect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: connect(d_filter, 0, self(), 0); ./dsp/resampler_xx.cpp: d_taps = gr::filter::firdes::low_pass(flt_size, flt_size, cutoff, trans_width); ./dsp/resampler_xx.cpp: /* create the filter */ ./dsp/resampler_xx.cpp: d_filter = gr::filter::pfb_arb_resampler_fff::make(rate, d_taps, flt_size); ./dsp/resampler_xx.cpp: /* connect filter */ ./dsp/resampler_xx.cpp: connect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: connect(d_filter, 0, self(), 0); ./dsp/resampler_xx.cpp: d_taps = gr::filter::firdes::low_pass(flt_size, flt_size, cutoff, trans_width); ./dsp/resampler_xx.cpp: disconnect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: disconnect(d_filter, 0, self(), 0); ./dsp/resampler_xx.cpp: d_filter.reset(); ./dsp/resampler_xx.cpp: d_filter = gr::filter::pfb_arb_resampler_fff::make(rate, d_taps, flt_size); ./dsp/resampler_xx.cpp: connect(self(), 0, d_filter, 0); ./dsp/resampler_xx.cpp: connect(d_filter, 0, self(), 0); ./dsp/rx_filter.h:#include ./dsp/rx_filter.h:#include ./dsp/rx_filter.h:#define RX_FILTER_MIN_WIDTH 100 /*! Minimum width of filter */ ./dsp/rx_filter.h:class rx_filter; ./dsp/rx_filter.h:class rx_xlating_filter; ./dsp/rx_filter.h:typedef boost::shared_ptr rx_filter_sptr; ./dsp/rx_filter.h:typedef boost::shared_ptr rx_xlating_filter_sptr; ./dsp/rx_filter.h:/*! \brief Return a shared_ptr to a new instance of rx_filter. ./dsp/rx_filter.h: * \param low The lower limit of the bandpass filter. ./dsp/rx_filter.h: * \param high The upper limit of the filter. ./dsp/rx_filter.h: * of raw pointers, rx_filter's constructor is private. ./dsp/rx_filter.h: * make_rxfilter is the public interface for creating new instances. ./dsp/rx_filter.h:rx_filter_sptr make_rx_filter(double sample_rate, ./dsp/rx_filter.h:/*! \brief Complex band-pass filter with complex taps. ./dsp/rx_filter.h: * This class encapsulates a complex FIR filter and the code ./dsp/rx_filter.h: * required to generate complex band pass filter taps. It provides a simple ./dsp/rx_filter.h: * interface to set the filter parameters. ./dsp/rx_filter.h: * performed by the accessors (though the taps generator from gr::filter::firdes does perform ./dsp/rx_filter.h:class rx_filter : public gr::hier_block2 ./dsp/rx_filter.h: rx_filter(double sample_rate=96000.0, double low=-5000.0, double high=5000.0, double trans_width=1000.0); // FIXME: should be private ./dsp/rx_filter.h: ~rx_filter(); ./dsp/rx_filter.h: gr::filter::fir_filter_ccc::sptr d_bpf; ./dsp/rx_filter.h:/*! \brief Return a shared_ptr to a new instance of rx_xlating_filter. ./dsp/rx_filter.h: * \param offset The filter offset. ./dsp/rx_filter.h: * \param low The lower limit of the bandpass filter. ./dsp/rx_filter.h: * \param high The upper limit of the filter. ./dsp/rx_filter.h: * of raw pointers, rx_filter's constructor is private. ./dsp/rx_filter.h: * make_rxfilter is the public interface for creating new instances. ./dsp/rx_filter.h:rx_xlating_filter_sptr make_rx_xlating_filter(double sample_rate, ./dsp/rx_filter.h:/*! \brief Frequency translating band-pass filter with complex taps. ./dsp/rx_filter.h: * This class encapsulates a frequency translating FIR filter and the code ./dsp/rx_filter.h: * required to generate complex band pass filter taps. It provides a simple ./dsp/rx_filter.h: * interface to set the filter offset and limits and takes care of generating ./dsp/rx_filter.h: * The filter limits are relative to the filter offset and thanks to the complex taps ./dsp/rx_filter.h: * performed by the accessors (though the taps generator from gr::filter::firdes does perform ./dsp/rx_filter.h:class rx_xlating_filter : public gr::hier_block2 ./dsp/rx_filter.h: rx_xlating_filter(double sample_rate=96000.0, double center=0.0, double low=-5000.0, double high=5000.0, double trans_width=1000.0); // FIXME: should be private ./dsp/rx_filter.h: ~rx_xlating_filter(); ./dsp/rx_filter.h: gr::filter::freq_xlating_fir_filter_ccc::sptr d_bpf; ./dsp/rx_rds.cpp:#include ./dsp/rx_rds.cpp: d_taps2 = gr::filter::firdes::low_pass(2500.0, d_sample_rate, 2400, 2000); ./dsp/rx_rds.cpp: f_fxff = gr::filter::freq_xlating_fir_filter_fcf::make(5.0, d_taps2, 57000, d_sample_rate); ./dsp/rx_rds.cpp: f_rrcf = gr::filter::firdes::root_raised_cosine(1, sample_rate/5, 2375, 1, 100); ./dsp/rx_rds.cpp: d_bpf2 = gr::filter::fir_filter_ccf::make(1, f_rrcf); ./dsp/rx_rds.cpp: /* connect filter */ ./dsp/rx_demod_am.h:#include ./dsp/rx_demod_am.h: * This block implements an optional IIR DC-removal filter for the demodulated signal. ./dsp/rx_demod_am.h: gr::filter::iir_filter_ffd::sptr d_dcr; /*! DC removal (IIR high pass). */ ./dsp/rx_demod_am.h: /* IIR DC-removal filter taps */ ./dsp/CMakeLists.txt: afsk1200/filter-i386.h ./dsp/CMakeLists.txt: afsk1200/filter.h ./dsp/CMakeLists.txt: filter/decimator.cpp ./dsp/CMakeLists.txt: filter/decimator.h ./dsp/CMakeLists.txt: filter/filtercoef_hbf_70.h ./dsp/CMakeLists.txt: filter/filtercoef_hbf_100.h ./dsp/CMakeLists.txt: filter/filtercoef_hbf_140.h ./dsp/CMakeLists.txt: rx_filter.cpp ./dsp/CMakeLists.txt: rx_filter.h ./dsp/lpf.h:#include ./dsp/lpf.h:#include ./dsp/lpf.h: * \param gain Overall gain of filter (typically 1.0). ./dsp/lpf.h:/*! \brief low-pass filter (LPF) with float taps. ./dsp/lpf.h: * This class encapsulates a low-pass FIR filter and the code ./dsp/lpf.h: * required to generate filter taps. It provides a simple ./dsp/lpf.h: * interface to set the filter parameters. ./dsp/lpf.h: * performed by the accessors (though the taps generator from gr::filter::firdes does perform ./dsp/lpf.h: gr::filter::fir_filter_fff::sptr lpf; ./dsp/lpf.cpp:#include ./dsp/lpf.cpp: d_taps = gr::filter::firdes::low_pass(d_gain, d_sample_rate, ./dsp/lpf.cpp: /* create low-pass filter (decimation=1) */ ./dsp/lpf.cpp: lpf = gr::filter::fir_filter_fff::make(1, d_taps); ./dsp/lpf.cpp: /* connect filter */ ./dsp/lpf.cpp: d_taps = gr::filter::firdes::low_pass(d_gain, d_sample_rate, ./dsp/correct_iq_cc.h:#include ./dsp/correct_iq_cc.h: * \param tau The time constant for the filter ./dsp/correct_iq_cc.h:/*! \brief Single pole IIR filter-based DC offset correction block. ./dsp/correct_iq_cc.h: * filter ./dsp/correct_iq_cc.h: gr::filter::single_pole_iir_filter_cc::sptr d_iir; ./dsp/rx_fft.cpp:#include ./dsp/rx_fft.cpp: * \param wintype The window type (see gr::filter::firdes::win_type). ./dsp/rx_fft.cpp: if ((d_wintype < gr::filter::firdes::WIN_HAMMING) || (d_wintype > gr::filter::firdes::WIN_BLACKMAN_hARRIS)) ./dsp/rx_fft.cpp: d_wintype = gr::filter::firdes::WIN_HAMMING; ./dsp/rx_fft.cpp: d_window = gr::filter::firdes::window((gr::filter::firdes::win_type)d_wintype, d_fftsize, 6.76); ./dsp/rx_fft.cpp: * \param wintype The window type (see gr::filter::firdes::win_type). ./dsp/rx_fft.cpp: if ((d_wintype < gr::filter::firdes::WIN_HAMMING) || (d_wintype > gr::filter::firdes::WIN_BLACKMAN_hARRIS)) ./dsp/rx_fft.cpp: d_wintype = gr::filter::firdes::WIN_HAMMING; ./dsp/rx_fft.cpp: d_window = gr::filter::firdes::window((gr::filter::firdes::win_type)d_wintype, d_fftsize, 6.76); ./dsp/rx_noise_blanker_cc.h: * This block implements noise blanking filters based on the noise blanker code ./dsp/resampler_xx.h:#include ./dsp/resampler_xx.h:#include ./dsp/resampler_xx.h: * of generating filter taps that can be used for the filter, as well as calculating ./dsp/resampler_xx.h: gr::filter::pfb_arb_resampler_ccf::sptr d_filter; ./dsp/resampler_xx.h: * of generating filter taps that can be used for the filter, as well as calculating ./dsp/resampler_xx.h: gr::filter::pfb_arb_resampler_fff::sptr d_filter; ./dsp/filter/filtercoef_hbf_100.h: * Half-band filter coefficients with 100 dB stop band attenuation. ./dsp/filter/decimator.h: * Decimate by power-of-2 classes using half band filters. ./dsp/filter/decimator.h: * 11-tap half-band filter with unrolled loop. ./dsp/filter/decimator.h: int init_filters_70(unsigned int decimation); ./dsp/filter/decimator.h: int init_filters_100(unsigned int decimation); ./dsp/filter/decimator.h: int init_filters_140(unsigned int decimation); ./dsp/filter/decimator.h: void delete_filters(); ./dsp/filter/decimator.h: CDec2 *filter_table[MAX_STAGES]; ./dsp/filter/filtercoef_hbf_140.h: * Half-band filter coefficients with 140 dB stop band attenuation. ./dsp/filter/filtercoef_hbf_140.h:// normalized 140 dB alias free bandwidths for the filters ./dsp/filter/filtercoef_hbf_70.h: * Half-band filter coefficients with 70 dB stop band attenuation. ./dsp/filter/decimator.cpp: * Decimate by power-of-2 using half band filters. ./dsp/filter/decimator.cpp:#include "filtercoef_hbf_70.h" ./dsp/filter/decimator.cpp:#include "filtercoef_hbf_100.h" ./dsp/filter/decimator.cpp:#include "filtercoef_hbf_140.h" ./dsp/filter/decimator.cpp: filter_table[i] = 0; ./dsp/filter/decimator.cpp: delete_filters(); ./dsp/filter/decimator.cpp: delete_filters(); ./dsp/filter/decimator.cpp: decim = init_filters_70(_decim); ./dsp/filter/decimator.cpp: decim = init_filters_100(_decim); ./dsp/filter/decimator.cpp: decim = init_filters_140(_decim); ./dsp/filter/decimator.cpp: while (filter_table[i]) ./dsp/filter/decimator.cpp: n = filter_table[i++]->DecBy2(n, pin, pin); ./dsp/filter/decimator.cpp:void Decimator::delete_filters() ./dsp/filter/decimator.cpp: if (filter_table[i]) ./dsp/filter/decimator.cpp: delete filter_table[i]; ./dsp/filter/decimator.cpp: filter_table[i] = 0; ./dsp/filter/decimator.cpp:int Decimator::init_filters_70(unsigned int decimation) ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBand11TapDecimateBy2(HBF_70_11); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_70_39_LENGTH, HBF_70_39); ./dsp/filter/decimator.cpp:int Decimator::init_filters_100(unsigned int decimation) ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBand11TapDecimateBy2(HBF_100_11); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_100_19_LENGTH, HBF_100_19); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_100_59_LENGTH, HBF_100_59); ./dsp/filter/decimator.cpp:int Decimator::init_filters_140(unsigned int decimation) ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBand11TapDecimateBy2(HBF_140_11); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_140_15_LENGTH, HBF_140_15); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_140_27_LENGTH, HBF_140_27); ./dsp/filter/decimator.cpp: filter_table[n++] = new CHalfBandDecimateBy2(HBF_140_87_LENGTH, HBF_140_87); ./dsp/filter/decimator.cpp: * Half band filter and decimate by 2 function. ./dsp/filter/decimator.cpp: // perform decimation FIR filter on even samples ./dsp/filter/decimator.cpp: * Decimate by 2 Fixed 11 Tap Halfband filter class implementation ./dsp/filter/decimator.cpp: * Decimate by 2 Fixed 11 Tap Halfband filter class implementation ./dsp/resampler_ff_old.cpp: /* create band pass filter */ ./dsp/resampler_ff_old.cpp: /* connect filter */ ./dsp/correct_iq_cc.cpp: d_iir = gr::filter::single_pole_iir_filter_cc::make(d_alpha, 1); ./dsp/afsk1200/filter-i386.h: * filter-i386.h -- optimized filter routines ./dsp/afsk1200/cafsk12.cpp:#include "filter.h" ./dsp/afsk1200/filter.h: * filter.h -- optimized filter routines ./dsp/afsk1200/filter.h:#include "filter-i386.h" ./dsp/rx_demod_am.cpp: d_dcr = gr::filter::iir_filter_ffd::make(d_fftaps, d_fbtaps); ./dsp/rx_meter.h: * make_rxfilter is the public interface for creating new instances. ./dsp/agc_impl.cpp://adjust to cover the impulse response time of filter ./dsp/agc_impl.cpp: // calculate fast and slow filter values. ./dsp/rx_rds.h:#include ./dsp/rx_rds.h:#include ./dsp/rx_rds.h:#include ./dsp/rx_rds.h:#include ./dsp/rx_rds.h:#include ./dsp/rx_rds.h:#include ./dsp/rx_rds.h: gr::filter::fir_filter_ccc::sptr d_bpf; ./dsp/rx_rds.h: gr::filter::fir_filter_ccf::sptr d_bpf2; ./dsp/rx_rds.h: gr::filter::freq_xlating_fir_filter_fcf::sptr f_fxff; ./dsp/rx_rds.h: gr::filter::freq_xlating_fir_filter_ccf::sptr f_fxff_ccf; ./dsp/rx_demod_fm.cpp:#include ./dsp/rx_demod_fm.cpp: d_deemph = gr::filter::iir_filter_ffd::make(d_fftaps, d_fbtaps); ./dsp/rx_demod_fm.cpp: * \bug Assumes that IIR filter has already been constructed so that we ./dsp/rx_demod_fm.cpp:/*! \brief Calculate taps for FM de-emph IIR filter. */ ./dsp/hbf_decim.cpp:#include "filter/decimator.h" ./dsp/resampler_ff_old.h: * of generating filter taps that can be used for the resampler, as well as calculating ./dsp/rx_filter.cpp:#include ./dsp/rx_filter.cpp:#include "dsp/rx_filter.h" ./dsp/rx_filter.cpp: * Create a new instance of rx_filter and return ./dsp/rx_filter.cpp:rx_filter_sptr make_rx_filter(double sample_rate, double low, double high, double trans_width) ./dsp/rx_filter.cpp: return gnuradio::get_initial_sptr(new rx_filter(sample_rate, low, high, trans_width)); ./dsp/rx_filter.cpp:rx_filter::rx_filter(double sample_rate, double low, double high, double trans_width) ./dsp/rx_filter.cpp: : gr::hier_block2 ("rx_filter", ./dsp/rx_filter.cpp: d_taps = gr::filter::firdes::complex_band_pass(1.0, d_sample_rate, d_low, d_high, d_trans_width); ./dsp/rx_filter.cpp: /* create band pass filter */ ./dsp/rx_filter.cpp: d_bpf = gr::filter::fir_filter_ccc::make(1, d_taps); ./dsp/rx_filter.cpp: /* connect filter */ ./dsp/rx_filter.cpp:rx_filter::~rx_filter () ./dsp/rx_filter.cpp:void rx_filter::set_param(double low, double high, double trans_width) ./dsp/rx_filter.cpp: d_taps = gr::filter::firdes::complex_band_pass(1.0, d_sample_rate, ./dsp/rx_filter.cpp: std::cout << "Genrating taps for new filter LO:" << d_low ./dsp/rx_filter.cpp:void rx_filter::set_cw_offset(double offset) ./dsp/rx_filter.cpp:/** Frequency translating filter **/ ./dsp/rx_filter.cpp: * Create a new instance of rx_xlating_filter and return ./dsp/rx_filter.cpp:rx_xlating_filter_sptr make_rx_xlating_filter(double sample_rate, double center, double low, double high, double trans_width) ./dsp/rx_filter.cpp: return gnuradio::get_initial_sptr(new rx_xlating_filter(sample_rate, center, low, high, trans_width)); ./dsp/rx_filter.cpp:rx_xlating_filter::rx_xlating_filter(double sample_rate, double center, double low, double high, double trans_width) ./dsp/rx_filter.cpp: : gr::hier_block2 ("rx_xlating_filter", ./dsp/rx_filter.cpp: d_taps = gr::filter::firdes::complex_band_pass(1.0, d_sample_rate, -d_high, -d_low, d_trans_width); ./dsp/rx_filter.cpp: /* create band pass filter */ ./dsp/rx_filter.cpp: d_bpf = gr::filter::freq_xlating_fir_filter_ccc::make(1, d_taps, d_center, d_sample_rate); ./dsp/rx_filter.cpp: /* connect filter */ ./dsp/rx_filter.cpp:rx_xlating_filter::~rx_xlating_filter() ./dsp/rx_filter.cpp:void rx_xlating_filter::set_offset(double center) ./dsp/rx_filter.cpp:void rx_xlating_filter::set_param(double low, double high, double trans_width) ./dsp/rx_filter.cpp: d_taps = gr::filter::firdes::complex_band_pass(1.0, d_sample_rate, -d_high, -d_low, d_trans_width); ./dsp/rx_filter.cpp:void rx_xlating_filter::set_param(double center, double low, double high, double trans_width) ./dsp/stereo_demod.cpp: d_tone_taps = gr::filter::firdes::complex_band_pass( ./dsp/stereo_demod.cpp: d_tone_taps = gr::filter::firdes::complex_band_pass( ./dsp/stereo_demod.cpp: tone = gr::filter::fir_filter_fcc::make(1, d_tone_taps); ./dsp/stereo_demod.cpp: d_pll_taps = gr::filter::firdes::band_pass( ./dsp/stereo_demod.cpp: lo2 = gr::filter::fir_filter_fff::make(1, d_pll_taps);