summaryrefslogtreecommitdiff
path: root/gr-digital/grc
diff options
context:
space:
mode:
authorMaximilian Stiefel <stiefel.maximilian@online.de>2020-01-07 17:03:59 -0800
committerMartin Braun <martin.braun@ettus.com>2020-01-08 10:19:44 -0800
commit445aa4792dcdf4a8bf14600e6d931451e36f0eaa (patch)
tree8a011d807a5f30fdf8cac945b5ba294a0937d5af /gr-digital/grc
parent90c49ef6d4d215f1db01f591d682947fea727655 (diff)
digital: ofdm: Allow multiple CP lengths for cyclic prefixer
This allows to specify multiple CP lengths that can be used one after another, for example for LTE modulators. - Improve sanity checking - Maintains old API
Diffstat (limited to 'gr-digital/grc')
-rw-r--r--gr-digital/grc/digital_ofdm_cyclic_prefixer.block.yml20
1 files changed, 16 insertions, 4 deletions
diff --git a/gr-digital/grc/digital_ofdm_cyclic_prefixer.block.yml b/gr-digital/grc/digital_ofdm_cyclic_prefixer.block.yml
index 2bae7310eb..fd34e8a3c5 100644
--- a/gr-digital/grc/digital_ofdm_cyclic_prefixer.block.yml
+++ b/gr-digital/grc/digital_ofdm_cyclic_prefixer.block.yml
@@ -8,8 +8,8 @@ parameters:
dtype: int
default: fft_len
- id: cp_len
- label: CP Length
- dtype: int
+ label: CP Length(s)
+ dtype: raw
default: fft_len/4
- id: rolloff
label: Rolloff
@@ -32,8 +32,16 @@ outputs:
templates:
imports: from gnuradio import digital
- make: digital.ofdm_cyclic_prefixer(${input_size}, ${input_size} + ${cp_len}, ${rolloff},
- ${tagname})
+ make: |-
+ digital.ofdm_cyclic_prefixer(
+ ${input_size},
+ % if isinstance(context.get('cp_len')(), (tuple, list)):
+ ${cp_len},
+ % else:
+ ${input_size} + ${cp_len},
+ % endif
+ ${rolloff},
+ ${tagname})
cpp_templates:
includes: ['#include <gnuradio/digital/ofdm_cyclic_prefixer.h>']
@@ -41,7 +49,11 @@ cpp_templates:
make: |-
this->${id} = digital::ofdm_cyclic_prefixer::make(
${input_size},
+ % if isinstance(context.get('cp_len')(), (tuple, list)):
+ ${cp_len},
+ % else:
${input_size} + ${cp_len},
+ % endif
${rolloff},
${tagname});
link: ['gnuradio-digital']