diff options
-rw-r--r-- | gr-blocks/grc/blocks_plateau_detector_fb.block.yml | 2 | ||||
-rw-r--r-- | gr-blocks/grc/blocks_vector_sink_x.block.yml | 7 | ||||
-rw-r--r-- | gr-channels/grc/channels_iqbal_gen.block.yml | 39 | ||||
-rw-r--r-- | gr-digital/grc/digital_chunks_to_symbols.block.yml | 3 | ||||
-rw-r--r-- | gr-digital/grc/digital_corr_est_cc.block.yml | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_sync_sc_cfb.block.yml | 12 | ||||
-rw-r--r-- | gr-filter/grc/filter_pfb_channelizer.block.yml | 2 | ||||
-rw-r--r-- | grc/blocks/options.block.yml | 4 |
9 files changed, 74 insertions, 7 deletions
diff --git a/gr-blocks/grc/blocks_plateau_detector_fb.block.yml b/gr-blocks/grc/blocks_plateau_detector_fb.block.yml index 9af55a67f9..09ae10b340 100644 --- a/gr-blocks/grc/blocks_plateau_detector_fb.block.yml +++ b/gr-blocks/grc/blocks_plateau_detector_fb.block.yml @@ -21,5 +21,7 @@ outputs: templates: imports: from gnuradio import blocks make: blocks.plateau_detector_fb(${max_len}, ${threshold}) + callbacks: + - set_threshold(${threshold}) file_format: 1 diff --git a/gr-blocks/grc/blocks_vector_sink_x.block.yml b/gr-blocks/grc/blocks_vector_sink_x.block.yml index 9be64eae2d..4ffa4ddfde 100644 --- a/gr-blocks/grc/blocks_vector_sink_x.block.yml +++ b/gr-blocks/grc/blocks_vector_sink_x.block.yml @@ -14,6 +14,11 @@ parameters: dtype: int default: '1' hide: ${ 'part' if vlen == 1 else 'none' } +- id: reserve_items + label: Reserve memory for items + default: '1024' + dtype: int + hide: part inputs: - domain: stream @@ -25,6 +30,6 @@ asserts: templates: imports: from gnuradio import blocks - make: blocks.vector_sink_${type.fcn}(${vlen}) + make: blocks.vector_sink_${type.fcn}(${vlen}, ${reserve_items}) file_format: 1 diff --git a/gr-channels/grc/channels_iqbal_gen.block.yml b/gr-channels/grc/channels_iqbal_gen.block.yml index 5b424761c1..3eb6c599f8 100644 --- a/gr-channels/grc/channels_iqbal_gen.block.yml +++ b/gr-channels/grc/channels_iqbal_gen.block.yml @@ -10,6 +10,13 @@ parameters: label: Phase dtype: float default: '0' +- id: mode + label: Origin + dtype: enum + default: '0' + options: [Receiver, Transmitter] + options_attributes: + fcn: [0, 1] inputs: - domain: stream @@ -21,9 +28,39 @@ outputs: templates: imports: from gnuradio import channels - make: channels.iqbal_gen(${mag}, ${phase}) + make: channels.iqbal_gen(${mag}, ${phase}, ${mode}) callbacks: - set_magnitude(${mag}) - set_phase(${phase}) +documentation: |- +This block implements the single branch IQ imbalance +transmitter and receiver models. + +Developed from source (2014): +"In-Phase and Quadrature Imbalance: Modeling, Estimation, and Compensation" + + TX Impairment: + + {R}--|Multiply: 10**(mag/20)|--+--|Multiply: cos(pi*degree/180)|--X1 +Input ---|Complex2Float|---| |--|Multiply: sin(pi*degree/180)|--X2 + {I}--| Adder | + X2--| (+) |--X3 + + X1--{R}--| Float 2 |--- Output + X3---{I}--| Complex | + + RX Impairment: + + {R}--|Multiply: cos(pi*degree/180)|-------| | +Input ---|Complex2Float|---| | Adder |--X1 + {I}--+--|Multiply: sin(pi*degree/180)|----| (+) | + | + +--X2 + + X1--|Multply: 10**(mag/20)|--{R}--| Float 2 |--- Output + X2--------------------------------------------{I}--| Complex | + + (ASCII ART adjusted for GRC viewing) + file_format: 1 diff --git a/gr-digital/grc/digital_chunks_to_symbols.block.yml b/gr-digital/grc/digital_chunks_to_symbols.block.yml index 35b5ee94c6..7f31d56058 100644 --- a/gr-digital/grc/digital_chunks_to_symbols.block.yml +++ b/gr-digital/grc/digital_chunks_to_symbols.block.yml @@ -39,6 +39,9 @@ outputs: - domain: stream dtype: ${ out_type } multiplicity: ${ num_ports } +- domain: message + id: set_symbol_table + optional: true asserts: - ${ num_ports > 0 } diff --git a/gr-digital/grc/digital_corr_est_cc.block.yml b/gr-digital/grc/digital_corr_est_cc.block.yml index b3a9698d18..9ded725a0f 100644 --- a/gr-digital/grc/digital_corr_est_cc.block.yml +++ b/gr-digital/grc/digital_corr_est_cc.block.yml @@ -15,6 +15,12 @@ parameters: label: Threshold dtype: float default: '0.9' +- id: threshold_method + label: Threshold Method + dtype: enum + options: [Absolute, Dynamic] + option_attributes: + fcn: [digital.corr_est_cc.THRESHOLD_ABSOLUTE, digital.corr_est_cc.THRESHOLD_DYNAMIC] inputs: - domain: stream diff --git a/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml index ab260ab9d9..ae80e3f76d 100644 --- a/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml +++ b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml @@ -13,15 +13,15 @@ parameters: - id: pilot_carriers label: Pilot Carriers dtype: raw - default: () + default: ((),) - id: pilot_symbols label: Pilot Symbols dtype: raw - default: () + default: ((),) - id: sync_words label: Sync Words dtype: raw - default: () + default: ((),) - id: len_tag_key label: Length tag key dtype: string diff --git a/gr-digital/grc/digital_ofdm_sync_sc_cfb.block.yml b/gr-digital/grc/digital_ofdm_sync_sc_cfb.block.yml index f1e2f3b13b..96e7ab55d0 100644 --- a/gr-digital/grc/digital_ofdm_sync_sc_cfb.block.yml +++ b/gr-digital/grc/digital_ofdm_sync_sc_cfb.block.yml @@ -15,6 +15,10 @@ parameters: options: ['False', 'True'] option_labels: [Odd, Even] hide: part +- id: threshold + label: Threshold + dtype: real + default: '0.9' inputs: - domain: stream @@ -28,8 +32,14 @@ outputs: domain: stream dtype: byte +asserts: + - ${ fft_len > 0} + - ${ cp_len >= 0} + templates: imports: from gnuradio import digital - make: digital.ofdm_sync_sc_cfb(${fft_len}, ${cp_len}, ${use_even_carriers}) + make: digital.ofdm_sync_sc_cfb(${fft_len}, ${cp_len}, ${use_even_carriers}, ${threshold}) + callbacks: + - set_treshold(${threshold}) file_format: 1 diff --git a/gr-filter/grc/filter_pfb_channelizer.block.yml b/gr-filter/grc/filter_pfb_channelizer.block.yml index 74db21c5cc..57aed84c53 100644 --- a/gr-filter/grc/filter_pfb_channelizer.block.yml +++ b/gr-filter/grc/filter_pfb_channelizer.block.yml @@ -11,7 +11,7 @@ parameters: label: Taps dtype: real_vector - id: osr - label: Over Sample Ratio + label: Oversampling Ratio dtype: real default: '1.0' - id: atten diff --git a/grc/blocks/options.block.yml b/grc/blocks/options.block.yml index ab18f8ae5f..269351ddc0 100644 --- a/grc/blocks/options.block.yml +++ b/grc/blocks/options.block.yml @@ -10,6 +10,10 @@ parameters: label: Author dtype: string hide: ${ ('none' if author else 'part') } +- id: copyright + label: Copyright + dtype: string + hide: ${ ('none' if copyright else 'part') } - id: description label: Description dtype: string |