gr::digital::ofdm_cyclic_prefixer
gr::tagged_stream_block
gnuradio/digital/ofdm_cyclic_prefixer.h
std::shared_ptr< ofdm_cyclic_prefixer > typedef std::shared_ptr<ofdm_cyclic_prefixer> gr::digital::ofdm_cyclic_prefixer::sptr sptr gr::digital::ofdm_cyclic_prefixer::sptr
sptr static sptr gr::digital::ofdm_cyclic_prefixer::make (size_t input_size, size_t output_size, int rolloff_len=0, const std::string &len_tag_key="") make gr::digital::ofdm_cyclic_prefixer::make size_t input_size size_t output_size int rolloff_len 0 const std::string & len_tag_key ""

input_size

IFFT length (i.e. length of the OFDM symbols).

output_size

FFT length + cyclic prefix length (in samples).

rolloff_len

Length of the rolloff flank in samples.

len_tag_key

For framed processing the key of the length tag.

sptr static sptr gr::digital::ofdm_cyclic_prefixer::make (int fft_len, const std::vector< int > &cp_lengths, int rolloff_len=0, const std::string &len_tag_key="") make gr::digital::ofdm_cyclic_prefixer::make int fft_len const std::vector< int > & cp_lengths int rolloff_len 0 const std::string & len_tag_key ""

fft_len

IFFT length (i.e. length of the OFDM symbols).

cp_lengths

CP lengths. Wraps around after reaching the end.

rolloff_len

Length of the rolloff flank in samples.

len_tag_key

For framed processing the key of the length tag.

Adds a cyclic prefix and performs optional pulse shaping on OFDM symbols.

Input: OFDM symbols (in the time domain, i.e. after the IFFT). Optionally, entire frames can be processed. In this case, `len_tag_key` must be specified which holds the key of the tag that denotes how many OFDM symbols are in a frame. Output: A stream of (scalar) complex symbols, which include the cyclic prefix and the pulse shaping. Note: If complete frames are processed, and `rolloff_len` is greater than zero, the final OFDM symbol is followed by the delay line of the pulse shaping.

The pulse shape is a raised cosine in the time domain.

Different CP lengths as for instance needed in LTE are supported. This is why one of the inputs is std::vector<int>. After every CP given has been prepended to symbols, each with the length of the IFFT operation, the mechanism will wrap around and start over. To give an example, the input tuple for LTE with an FFT length of 2048 would be (160,) + (144,)*6, which is equal to (160, 144, 144, 144, 144, 144, 144). A uniform CP would be indicated by (uniform_cp_length, ).

This block does some sanity checking: 1. It is not allowed to have a vector of CP lengths, which are only 0. 2. Not a single CP in the vector must be longer than the rolloff. 3. Not a single CP is allowed to be < 0.

gr::basic_block
gr::block
gr::digital::ofdm_cyclic_prefixer
gr::messages::msg_accepter
gr::msg_accepter
gr::tagged_stream_block
std::enable_shared_from_this< basic_block >
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::digital::ofdm_cyclic_prefixer
gr::messages::msg_accepter
gr::msg_accepter
gr::tagged_stream_block
d_length_tag_key_str
std::basic_string< Char >
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
std::shared_ptr< io_signature >
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::shared_ptr< rpcbasic_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
- gr::digital::ofdm_cyclic_prefixer
  _post
- gr::digital::ofdm_cyclic_prefixer
  active_thread_priority
- gr::digital::ofdm_cyclic_prefixer
  add_item_tag
- gr::digital::ofdm_cyclic_prefixer
  add_item_tag
- gr::digital::ofdm_cyclic_prefixer
  alias
- gr::digital::ofdm_cyclic_prefixer
  alias_pmt
- gr::digital::ofdm_cyclic_prefixer
  alias_set
- gr::digital::ofdm_cyclic_prefixer
  alignment
- gr::digital::ofdm_cyclic_prefixer
  allocate_buffer
- gr::digital::ofdm_cyclic_prefixer
  allocate_detail
- gr::digital::ofdm_cyclic_prefixer
  basic_block
- gr::digital::ofdm_cyclic_prefixer
  basic_block
- gr::digital::ofdm_cyclic_prefixer
  BLACK
- gr::digital::ofdm_cyclic_prefixer
  blkd_input_timer_value
- gr::digital::ofdm_cyclic_prefixer
  block
- gr::digital::ofdm_cyclic_prefixer
  block
- gr::digital::ofdm_cyclic_prefixer
  calculate_output_stream_length
- gr::digital::ofdm_cyclic_prefixer
  check_topology
- gr::digital::ofdm_cyclic_prefixer
  clear_finished
- gr::digital::ofdm_cyclic_prefixer
  color
- gr::digital::ofdm_cyclic_prefixer
  consume
- gr::digital::ofdm_cyclic_prefixer
  consume_each
- gr::digital::ofdm_cyclic_prefixer
  d_blkd_input_timer_value
- gr::digital::ofdm_cyclic_prefixer
  d_color
- gr::digital::ofdm_cyclic_prefixer
  d_debug_logger
- gr::digital::ofdm_cyclic_prefixer
  d_input_signature
- gr::digital::ofdm_cyclic_prefixer
  d_length_tag_key_str
- gr::digital::ofdm_cyclic_prefixer
  d_logger
- gr::digital::ofdm_cyclic_prefixer
  d_max_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  d_message_subscribers
- gr::digital::ofdm_cyclic_prefixer
  d_min_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  d_name
- gr::digital::ofdm_cyclic_prefixer
  d_output_signature
- gr::digital::ofdm_cyclic_prefixer
  d_pmt_done
- gr::digital::ofdm_cyclic_prefixer
  d_rpc_set
- gr::digital::ofdm_cyclic_prefixer
  d_rpc_vars
- gr::digital::ofdm_cyclic_prefixer
  d_setlock
- gr::digital::ofdm_cyclic_prefixer
  d_symbol_alias
- gr::digital::ofdm_cyclic_prefixer
  d_symbol_name
- gr::digital::ofdm_cyclic_prefixer
  d_symbolic_id
- gr::digital::ofdm_cyclic_prefixer
  d_system_port
- gr::digital::ofdm_cyclic_prefixer
  d_unique_id
- gr::digital::ofdm_cyclic_prefixer
  declare_sample_delay
- gr::digital::ofdm_cyclic_prefixer
  declare_sample_delay
- gr::digital::ofdm_cyclic_prefixer
  delete_head_nowait
- gr::digital::ofdm_cyclic_prefixer
  detail
- gr::digital::ofdm_cyclic_prefixer
  dispatch_msg
- gr::digital::ofdm_cyclic_prefixer
  empty_handled_p
- gr::digital::ofdm_cyclic_prefixer
  empty_handled_p
- gr::digital::ofdm_cyclic_prefixer
  empty_p
- gr::digital::ofdm_cyclic_prefixer
  empty_p
- gr::digital::ofdm_cyclic_prefixer
  enable_update_rate
- gr::digital::ofdm_cyclic_prefixer
  erase_msg
- gr::digital::ofdm_cyclic_prefixer
  expand_minmax_buffer
- gr::digital::ofdm_cyclic_prefixer
  finished
- gr::digital::ofdm_cyclic_prefixer
  fixed_rate
- gr::digital::ofdm_cyclic_prefixer
  fixed_rate_ninput_to_noutput
- gr::digital::ofdm_cyclic_prefixer
  fixed_rate_noutput_to_ninput
- gr::digital::ofdm_cyclic_prefixer
  forecast
- gr::digital::ofdm_cyclic_prefixer
  general_work
- gr::digital::ofdm_cyclic_prefixer
  get_iterator
- gr::digital::ofdm_cyclic_prefixer
  get_msg_map
- gr::digital::ofdm_cyclic_prefixer
  get_tags_in_range
- gr::digital::ofdm_cyclic_prefixer
  get_tags_in_range
- gr::digital::ofdm_cyclic_prefixer
  get_tags_in_window
- gr::digital::ofdm_cyclic_prefixer
  get_tags_in_window
- gr::digital::ofdm_cyclic_prefixer
  GREY
- gr::digital::ofdm_cyclic_prefixer
  has_msg_handler
- gr::digital::ofdm_cyclic_prefixer
  has_msg_port
- gr::digital::ofdm_cyclic_prefixer
  history
- gr::digital::ofdm_cyclic_prefixer
  identifier
- gr::digital::ofdm_cyclic_prefixer
  input_signature
- gr::digital::ofdm_cyclic_prefixer
  insert_tail
- gr::digital::ofdm_cyclic_prefixer
  is_pc_rpc_set
- gr::digital::ofdm_cyclic_prefixer
  is_rpc_set
- gr::digital::ofdm_cyclic_prefixer
  is_set_max_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  is_unaligned
- gr::digital::ofdm_cyclic_prefixer
  log_level
- gr::digital::ofdm_cyclic_prefixer
  make
- gr::digital::ofdm_cyclic_prefixer
  make
- gr::digital::ofdm_cyclic_prefixer
  max_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  max_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  message_port_is_hier
- gr::digital::ofdm_cyclic_prefixer
  message_port_is_hier_in
- gr::digital::ofdm_cyclic_prefixer
  message_port_is_hier_out
- gr::digital::ofdm_cyclic_prefixer
  message_port_pub
- gr::digital::ofdm_cyclic_prefixer
  message_port_register_in
- gr::digital::ofdm_cyclic_prefixer
  message_port_register_out
- gr::digital::ofdm_cyclic_prefixer
  message_port_sub
- gr::digital::ofdm_cyclic_prefixer
  message_port_unsub
- gr::digital::ofdm_cyclic_prefixer
  message_ports_in
- gr::digital::ofdm_cyclic_prefixer
  message_ports_out
- gr::digital::ofdm_cyclic_prefixer
  message_subscribers
- gr::digital::ofdm_cyclic_prefixer
  min_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  min_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  mp_relative_rate
- gr::digital::ofdm_cyclic_prefixer
  msg_accepter
- gr::digital::ofdm_cyclic_prefixer
  msg_queue
- gr::digital::ofdm_cyclic_prefixer
  name
- gr::digital::ofdm_cyclic_prefixer
  nitems_read
- gr::digital::ofdm_cyclic_prefixer
  nitems_written
- gr::digital::ofdm_cyclic_prefixer
  nmsgs
- gr::digital::ofdm_cyclic_prefixer
  no_pc_rpc
- gr::digital::ofdm_cyclic_prefixer
  notify_msg_neighbors
- gr::digital::ofdm_cyclic_prefixer
  output_multiple
- gr::digital::ofdm_cyclic_prefixer
  output_multiple_set
- gr::digital::ofdm_cyclic_prefixer
  output_signature
- gr::digital::ofdm_cyclic_prefixer
  parse_length_tags
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full_var
- gr::digital::ofdm_cyclic_prefixer
  pc_input_buffers_full_var
- gr::digital::ofdm_cyclic_prefixer
  pc_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  pc_noutput_items_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_noutput_items_var
- gr::digital::ofdm_cyclic_prefixer
  pc_nproduced
- gr::digital::ofdm_cyclic_prefixer
  pc_nproduced_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_nproduced_var
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full_var
- gr::digital::ofdm_cyclic_prefixer
  pc_output_buffers_full_var
- gr::digital::ofdm_cyclic_prefixer
  pc_throughput_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_work_time
- gr::digital::ofdm_cyclic_prefixer
  pc_work_time_avg
- gr::digital::ofdm_cyclic_prefixer
  pc_work_time_total
- gr::digital::ofdm_cyclic_prefixer
  pc_work_time_var
- gr::digital::ofdm_cyclic_prefixer
  post
- gr::digital::ofdm_cyclic_prefixer
  processor_affinity
- gr::digital::ofdm_cyclic_prefixer
  produce
- gr::digital::ofdm_cyclic_prefixer
  relative_rate
- gr::digital::ofdm_cyclic_prefixer
  relative_rate_d
- gr::digital::ofdm_cyclic_prefixer
  relative_rate_i
- gr::digital::ofdm_cyclic_prefixer
  remove_item_tag
- gr::digital::ofdm_cyclic_prefixer
  remove_item_tag
- gr::digital::ofdm_cyclic_prefixer
  replace_buffer
- gr::digital::ofdm_cyclic_prefixer
  reset_perf_counters
- gr::digital::ofdm_cyclic_prefixer
  rpc_set
- gr::digital::ofdm_cyclic_prefixer
  sample_delay
- gr::digital::ofdm_cyclic_prefixer
  set_alignment
- gr::digital::ofdm_cyclic_prefixer
  set_blkd_input_timer_value
- gr::digital::ofdm_cyclic_prefixer
  set_block_alias
- gr::digital::ofdm_cyclic_prefixer
  set_color
- gr::digital::ofdm_cyclic_prefixer
  set_detail
- gr::digital::ofdm_cyclic_prefixer
  set_fixed_rate
- gr::digital::ofdm_cyclic_prefixer
  set_history
- gr::digital::ofdm_cyclic_prefixer
  set_input_signature
- gr::digital::ofdm_cyclic_prefixer
  set_inverse_relative_rate
- gr::digital::ofdm_cyclic_prefixer
  set_is_unaligned
- gr::digital::ofdm_cyclic_prefixer
  set_log_level
- gr::digital::ofdm_cyclic_prefixer
  set_max_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  set_max_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  set_max_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  set_min_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  set_min_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  set_min_output_buffer
- gr::digital::ofdm_cyclic_prefixer
  set_msg_handler
- gr::digital::ofdm_cyclic_prefixer
  set_output_multiple
- gr::digital::ofdm_cyclic_prefixer
  set_output_signature
- gr::digital::ofdm_cyclic_prefixer
  set_processor_affinity
- gr::digital::ofdm_cyclic_prefixer
  set_relative_rate
- gr::digital::ofdm_cyclic_prefixer
  set_relative_rate
- gr::digital::ofdm_cyclic_prefixer
  set_tag_propagation_policy
- gr::digital::ofdm_cyclic_prefixer
  set_thread_priority
- gr::digital::ofdm_cyclic_prefixer
  set_unaligned
- gr::digital::ofdm_cyclic_prefixer
  setup_pc_rpc
- gr::digital::ofdm_cyclic_prefixer
  setup_rpc
- gr::digital::ofdm_cyclic_prefixer
  shared_from_base
- gr::digital::ofdm_cyclic_prefixer
  sptr
- gr::digital::ofdm_cyclic_prefixer
  start
- gr::digital::ofdm_cyclic_prefixer
  stop
- gr::digital::ofdm_cyclic_prefixer
  symbol_name
- gr::digital::ofdm_cyclic_prefixer
  symbolic_id
- gr::digital::ofdm_cyclic_prefixer
  system_handler
- gr::digital::ofdm_cyclic_prefixer
  tag_propagation_policy
- gr::digital::ofdm_cyclic_prefixer
  tag_propagation_policy_t
- gr::digital::ofdm_cyclic_prefixer
  tagged_stream_block
- gr::digital::ofdm_cyclic_prefixer
  tagged_stream_block
- gr::digital::ofdm_cyclic_prefixer
  thread_priority
- gr::digital::ofdm_cyclic_prefixer
  to_basic_block
- gr::digital::ofdm_cyclic_prefixer
  TPP_ALL_TO_ALL
- gr::digital::ofdm_cyclic_prefixer
  TPP_CUSTOM
- gr::digital::ofdm_cyclic_prefixer
  TPP_DONT
- gr::digital::ofdm_cyclic_prefixer
  TPP_ONE_TO_ONE
- gr::digital::ofdm_cyclic_prefixer
  unaligned
- gr::digital::ofdm_cyclic_prefixer
  unique_id
- gr::digital::ofdm_cyclic_prefixer
  unset_max_noutput_items
- gr::digital::ofdm_cyclic_prefixer
  unset_processor_affinity
- gr::digital::ofdm_cyclic_prefixer
  update_length_tags
- gr::digital::ofdm_cyclic_prefixer
  update_rate
- gr::digital::ofdm_cyclic_prefixer
  vcolor
- gr::digital::ofdm_cyclic_prefixer
  WHITE
- gr::digital::ofdm_cyclic_prefixer
  work
- gr::digital::ofdm_cyclic_prefixer
  WORK_CALLED_PRODUCE
- gr::digital::ofdm_cyclic_prefixer
  WORK_DONE
- gr::digital::ofdm_cyclic_prefixer
  work_return_t
- gr::digital::ofdm_cyclic_prefixer
  ~basic_block
- gr::digital::ofdm_cyclic_prefixer
  ~block
- gr::digital::ofdm_cyclic_prefixer
  ~msg_accepter