gr::digital::additive_scrambler
gr::sync_block
gnuradio/digital/additive_scrambler.h
class T
std::shared_ptr< additive_scrambler< T > > typedef std::shared_ptr<additive_scrambler<T> > gr::digital::additive_scrambler< T >::sptr sptr gr::digital::additive_scrambler::sptr
sptr static sptr gr::digital::additive_scrambler< T >::make (uint64_t mask, uint64_t seed, uint8_t len, int64_t count=0, uint8_t bits_per_byte=1, const std::string &reset_tag_key="") make gr::digital::additive_scrambler::make uint64_t mask uint64_t seed uint8_t len int64_t count 0 uint8_t bits_per_byte 1 const std::string & reset_tag_key ""

Create additive scrambler.

mask

Polynomial mask for LFSR

seed

Initial shift register contents

len

Shift register length

count

Number of bytes after which shift register is reset, 0=never

bits_per_byte

Number of bits per byte (must be 1 if T != uint8_t)

reset_tag_key

When a tag with this key is detected, the shift register is reset (when this is set, count is ignored!)

uint64_t virtual uint64_t gr::digital::additive_scrambler< T >::mask () const =0 mask gr::digital::additive_scrambler::mask
uint64_t virtual uint64_t gr::digital::additive_scrambler< T >::seed () const =0 seed gr::digital::additive_scrambler::seed
uint8_t virtual uint8_t gr::digital::additive_scrambler< T >::len () const =0 len gr::digital::additive_scrambler::len
int64_t virtual int64_t gr::digital::additive_scrambler< T >::count () const =0 count gr::digital::additive_scrambler::count
uint8_t virtual uint8_t gr::digital::additive_scrambler< T >::bits_per_byte ()=0 bits_per_byte gr::digital::additive_scrambler::bits_per_byte

Scramble an input stream using an LFSR.

The scrambler can work with soft symbols (gr_complex, float, int32_t, or int16_t) or with hard symbols (uint8_t). When working with soft symbols, the scrambler works by changing the sign of the input symbol whenever the output of the LFSR is one.

When working with hard symbols, this block scrambles up to 8 bits per byte of the input data stream, starting at the LSB. In this case, the scrambler works by XORing the incoming bit stream by the output of the LFSR.

In both cases, optionally, after `count` bits have been processed, the shift register is reset to the `seed` value. This allows processing fixed length vectors of samples.

Alternatively, the LFSR can be reset using a reset tag to scramble variable length vectors. However, it cannot be reset between bytes in the hard symbol mode.

For details on configuring the LFSR, see gr::digital::lfsr.

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