GNU Radio's CDMA Package

Public Types | Static Public Member Functions | List of all members
gr::cdma::chopper Class Reference

Chop the input data stream according to the flags in the input control stream. More...

`#include <chopper.h>`

Inheritance diagram for gr::cdma::chopper:
[legend]

## Public Types
typedef boost::shared_ptr< chopper > | sptr

## Static Public Member Functions
static sptr | make (int length_out, int length_in, size_t vector_length)
| Return a shared_ptr to a new instance of cdma::chopper. More...

## Detailed Description

Chop the input data stream according to the flags in the input control stream.

When flag is detected in the control stream, the chopper start to chop. The chopper outputs a copy of length_out items from the input stream to the output stream per chop.
The chopper consumes length_in items from the input and control streams.
Typically the flags are periodic and length_out>=length_in. Therefore, there exist three cases.
Case 1: period <= length_in <= length_out
For example, with length_in=4, length_out=5, period=3, the input and output streams will look like
input:--—>abcdefghijklmn...
flags:--—>10010010010010... (period=3)
outputs:-->abcdeghijkmn...
Case 2: length_in <= period <= length_out
For example, with length_in=4, length_out=6, period=5, the input and output streams will look like
input:--—>abcdefghijklmn...
flags:--—>100001000010000... (period=5)
outputs:-->abcdeffghijkklmnop...
Case 3: length_in <=length_out <= period
For example, with length_in=4, length_out=6, period=7, the input and output streams will look like
input:--—>abcdefghijklmnopqrst...
flags:--—>100000010000001000000...(periold=7)
outputs:-->abcdefhijklmonqrst...

## Member Typedef Documentation

## ◆ sptr

typedef boost::shared_ptr<chopper> gr::cdma::chopper::sptr

## Member Function Documentation

## ◆ make()

static sptr gr::cdma::chopper::make | ( | int | length_out,
|  | int | length_in,
|  | size_t | vector_length
| ) |  |
| static

Return a shared_ptr to a new instance of cdma::chopper.

To avoid accidental use of raw pointers, cdma::chopper's constructor is in a private implementation class. cdma::chopper::make is the public interface for creating new instances.

Parameters

  vector_length | size of input item in data stream
  length_in | number of items chopper consumes per chop.
  length_out | number of items chopper outputs per chop. Typically length out>=length in.

The documentation for this class was generated from the following file:

- chopper.h