ChangeSets: API and Code Changes between Versions

Version 3.5

Digital Modulation

We are separating the digital modulation-specific blocks from gnuradio-core into their own top-level directory gr-digital. This creates a new gnuradio module in Python called digital that can be accessed as:

from gnuradio import digital

Many blocks have been moved from gnuradio-core and others have been removed completely as they were obsolete or duplicated elsewhere.

New Blocks

  • digital_constellation_decoder_cb
  • digital_constellation
  • digital_constellation_receiver_cb
  • python/bpsk.py
  • python/qpsk.py
  • python/generic_mod_demod.py

Moved Blocks

  • digital_binary_slicer_fb
  • digital_clock_recovery_mm_cc
  • digital_clock_recovery_mm_ff
  • digital_cma_equalizer_cc
  • digital_correlate_access_code_bb
  • digital_costas_loop_cc
  • digital_crc32
  • digital_fll_band_edge_cc
  • digital_kurtotic_equalizer_cc
  • digital_lms_dd_equalizer_cc
  • digital_mpsk_receiver_cc (superseded in new blocks; may be removed)
  • python/cpm.py
  • python/gmsk.py
  • python/crc.py

Removed Blocks

  • python/dbpsk.py
  • python/dbpsk2.py
  • python/dqpsk.py
  • python/dqpsk2.py
  • python/d8psk.py
  • python/d8psk2.py

To Be Reviewed

  • python/modulation_utils(2).py
  • python/packet_utils(2).py
  • python/psk(2).py

Control Loops

All blocks that use a second-order control loop to track a phase and frequency are being replaced to inherit from the gri_control_loop parent class. This class takes care of setting the gains given a loop bandwidth and damping frequency. By default, it sets the damping frequency for a critically damped system so only the loop bandwidth is required. The constructor looks like:

gri_control_loop(float loop_bw, float max_freq, float min_freq);

All blocks that have this structure used to set the internal alpha and beta gains individually. Now, the constructors for their blocks have been replaced to accept the loop bandwidth instead of the two gains. All values, the loop bandwidth, damping factor, alpha, beta, current phase, and current frequency can all be retrieved (get_) and set (set_).

This affects the following blocks:
  • gr_pll_carrier_tracking_cc
  • gr_pll_freqdet_cf
  • gr_pll_refout_cc
  • gr_pfb_clock_sync_ccf (TBD)
  • gr_pfb_clock_sync_fff (TBD)
  • digital_costas_loop_cc
  • digital_constellation_receiver_cb
  • digital_mpsk_receiver_cc
  • digital_fll_band_edge_cc

Moving All USRP-based examples/apps to UHD

Completed in bold.

gnuradio-examples/python

  • apps/hf_explorer/hfx2.py
  • apps/hf_radio/input.py
  • apps/hf_radio/radio.py
  • apps/hf_radio/ssbdemod.py
  • digital/benchmark_qt_rx2.py
  • digital/benchmark_qt_rx.py
  • digital/benchmark_rx2.py
  • digital/benchmark_rx.py
  • digital/benchmark_tx2.py
  • digital/benchmark_tx.py
  • digital/rx_voice.py
  • digital/tunnel.py
  • digital/tx_voice.py
  • digital/usrp_receive_path.py
  • digital/usrp_transmit_path.py
  • multi-antenna/multi_fft.py
  • multi-antenna/multi_file.py
  • multi-antenna/multi_scope.py
  • multi_usrp/multi_usrp_oscope.py
  • multi_usrp/multi_usrp_rx_cfile.py
  • ofdm/benchmark_ofdm_rx.py
  • ofdm/benchmark_ofdm_tx.py
  • ofdm/receive_path.py
  • ofdm/transmit_path.py
  • ofdm/tunnel.py
  • usrp/fm_tx_2_daughterboards.py
  • usrp/fm_tx4.py
  • usrp/max_power.py
  • usrp/usrp_am_mw_rcv.py
  • usrp/usrp_benchmark_usb.py
  • usrp/usrp_nbfm_ptt.py
  • usrp/usrp_nbfm_rcv.py
  • usrp/usrp_spectrum_sense.py
  • usrp/usrp_test_loop_lfsr.py
  • usrp/usrp_tv_rcv_nogui.py
  • usrp/usrp_tv_rcv.py
  • usrp/usrp_wfm_rcv2_nogui.py
  • usrp/usrp_wfm_rcv_fmdet.py
  • usrp/usrp_wfm_rcv_nogui.py
  • usrp/usrp_wfm_rcv_pll.py
  • usrp/usrp_wfm_rcv.py
  • usrp/usrp_wfm_rcv_sca.py
  • usrp/usrp_wxapt_rcv.py
  • usrp2/usrp2_wfm_qt.py
  • usrp2/usrp2_wfm_rcv.py

gr-utils/src/python

  • usrp_fft.py
  • usrp2_fft.py
  • usrp_oscope.py
  • usrp_rx_nogui.py
  • usrp_siggen_gui.py
  • usrp_siggen.py

gr-noaa/apps

  • usrp_rx_hrpt.grc
  • usrp_rx_htpt_nogui.grc
  • usrp_rx_lrit.grc

gr-pager/apps

  • usrp_flex_all.py
  • usrp_flex_band.py
  • usrp_flex.py
  • usrp_rx_flex.grc

gr-qtgui/apps

  • usrp_display.py
  • usrp2_display.py

gr-radio-astronomy/src/python

  • usrp_psr_receiver.py
  • usrp_ra_receiver.py








注:ChangeSets(原文出处,翻译整理仅供参考!)