gr_align_on_samplenumbers_ss Class Reference
[Signal Processing Blocks]

align several complex short (interleaved short) input channels with corresponding unsigned 32 bit sample_counters (provided as interleaved 16 bit values) More...

#include <gr_align_on_samplenumbers_ss.h>

Inheritance diagram for gr_align_on_samplenumbers_ss:

gr_block

List of all members.

Classes

class  align_state

Public Member Functions

 ~gr_align_on_samplenumbers_ss ()
bool check_topology (int ninputs, int noutputs)
 Confirm that ninputs and noutputs is an acceptable combination.
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Estimate input requirements given output request.
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items

Friends

gr_align_on_samplenumbers_ss_sptr gr_make_align_on_samplenumbers_ss (int nchan, int align_interval)


Detailed Description

align several complex short (interleaved short) input channels with corresponding unsigned 32 bit sample_counters (provided as interleaved 16 bit values)

Parameters:
number of complex_short input channels (including the 32 bit counting channel)
align_interval is after how much samples (minimally) the sample-alignement is refreshed. Default is 128. A bigger value means less processing power but also requests more buffer space, which has a maximum. Decrease the align_interval if you get an error like: "sched: <gr_block align_on_samplenumbers_ss (0)> is requesting more input data than we can provide. ninput_items_required = 32768 max_possible_items_available = 16383 If this is a filter, consider reducing the number of taps."
Pay attention on how you connect this block. It expects a minimum of 2 usrp_source_s with nchan number of channels and FPGA_MODE_COUNTING_32BIT enabled. This means that the first complex_short channel on every input is an interleaved 32 bit counter. The samples are aligned by dropping samples untill the samplenumbers match.

Constructor & Destructor Documentation

gr_align_on_samplenumbers_ss::~gr_align_on_samplenumbers_ss (  ) 


Member Function Documentation

bool gr_align_on_samplenumbers_ss::check_topology ( int  ninputs,
int  noutputs 
) [virtual]

Confirm that ninputs and noutputs is an acceptable combination.

Parameters:
ninputs number of input streams connected
noutputs number of output streams connected
Returns:
true if this is a valid configuration for this block.
This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.

Reimplemented from gr_block.

References ePrintf.

void gr_align_on_samplenumbers_ss::forecast ( int  noutput_items,
gr_vector_int ninput_items_required 
) [virtual]

Estimate input requirements given output request.

Parameters:
noutput_items number of output items to produce
ninput_items_required number of input items required on each input stream
Given a request to product noutput_items, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

Reimplemented from gr_block.

References gr_block::history().

int gr_align_on_samplenumbers_ss::general_work ( int  noutput_items,
gr_vector_int ninput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

compute output items from input items

Parameters:
noutput_items number of output items to write on each output stream
ninput_items number of input items available on each input stream
input_items vector of pointers to the input items, one entry per input stream
output_items vector of pointers to the output items, one entry per output stream
Returns:
number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

Implements gr_block.

References gr_block::consume(), ePrintf, min(), gr_block::output_signature(), and tcPrintf.


Friends And Related Function Documentation

gr_align_on_samplenumbers_ss_sptr gr_make_align_on_samplenumbers_ss ( int  nchan,
int  align_interval 
) [friend]


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

Generated on Sat Apr 18 14:00:52 2009 for GNU Radio 3.0.4 by  doxygen 1.5.8