Robochameleon  v1.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Decimate_v1 Class Reference

Decimator. More...

Inherits unit.

Public Member Functions

function Decimate_v1 (in param)
 Class constructor. More...
 
function traverse (in obj, in in)
 Chooses a decimator, decimates, plots. More...
 
- Public Member Functions inherited from unit
function traverseNode (in obj)
 Set unique ID when creating a unit. More...
 
function connectOutput (in obj, in uobj, in unitOutput, in nextUnitInput)
 Specify where signal should go next. More...
 
function connectOutputs (in obj, in units, in destInputs)
 Specify where signal should go next. More...
 
function writeInputBuffer (in obj, in sig, in inputId)
 write input buffer
 
function horzcat (in varargin)
 horizontal concatenation
 
function vertcat (in varargin)
 vertical concatenation
 
function setparams (in obj, in params, in REQUIRED_PARAMS, in QUIET_PARAMS)
 set parameters More...
 
function view (in obj)
 Show interactive GUI through unit_view-class.
 

Static Public Member Functions

static function decimate (in x, in Nss_in, in Nss_out, in offset)
 Decimation by the maximum variance method. More...
 
static function GardDecimate (in x, in Nss_in, in Nss_out, in offset)
 Decimation using Gardner criteria. More...
 
static function NyquistGardDecimate (in x, in Nss_in, in Nss_out, in offset)
 Decimation using Nyquist/Gardner criteria. More...
 
static function SLNDecimate (in x, in Nss_in, in Nss_out, in offset)
 Decimation using SLN criteria. More...
 

Public Attributes

Property nInputs
 
Property nOutputs
 
Property Nss
 Target Nss.
 
Property mode
 Decimate each signal component separately or choose same point for all? {'separate'|'joint'}.
 
Property offset
 Offset wrt. found sampling point (in samples)
 
Property method
 Decimation method.
 
- Public Attributes inherited from unit
Property inputBuffer
 Buffer for storing inputs as we traverse the graph.
 
Property nextNodes
 Children nodes.
 
Property destInputs
 Destination inputs in children.
 
Property results
 For storing results.
 
Property label
 
Property draw
 enable/disable plotting
 
Property nInputs
 Number of signals traverse expects.
 
Property nOutputs
 Number of outputs traverse expects.
 

Detailed Description

Decimator.

Performs decimation according to the user-specified criterion.

Example:

param.Nss = 2; %number of samples per symbol out
param.method = 'gardner' %criterion
decimator = Decimate_v1(param);
param.sig.L = 10e6;
param.sig.Fs = 64e9;
param.sig.Fc = 193.1e12;
param.sig.Rs = 10e9;
param.sig.PCol = [pwr(20,{-2,'dBm'}), pwr(-inf,{-inf,'dBm'})];
Ein = rand(1000,2);
sIn = signal_interface(Ein, param.sig);
sigOut = decimator.traverse(sigIn);
Version
3

Definition at line 31 of file Decimate_v1.m.

Constructor & Destructor Documentation

function Decimate_v1::Decimate_v1 ( in  param)

Class constructor.

Constructs an object of type Decimate_v1

Parameters
param.NssTarget number of samples per symbol out. [Default: 1]
param.offsetNumber of samples to shift by [Default: 0].
param.methodDecimation criterion {'variance' | 'gardner' | 'SLN' | 'gardner4nyquist'}. [Default: variance]
Return values
objAn instance of the class Decimate_v1

Member Function Documentation

static function Decimate_v1::decimate ( in  x,
in  Nss_in,
in  Nss_out,
in  offset 
)
static

Decimation by the maximum variance method.

Parameters
xsignal to be decimated
Nss_inNumber of samples per symbol in
Nss_outNumber of samples per symbol out
offsetoffset to apply
Return values
outdownsampled signal
idxsampling point
symbolsreshaped input
static function Decimate_v1::GardDecimate ( in  x,
in  Nss_in,
in  Nss_out,
in  offset 
)
static

Decimation using Gardner criteria.

Reference: F. Gardner, "A BPSK/QPSK Timing-Error Detector for Sampled Receivers," IEEE Trans. Commun., vol. 34, no. 5, pp. 423–429, May 1986.

Parameters
xsignal to be decimated
Nss_inNumber of samples per symbol in
Nss_outNumber of samples per symbol out
offsetoffset to apply
Return values
outdownsampled signal
idxsampling point
symbolsreshaped input
static function Decimate_v1::NyquistGardDecimate ( in  x,
in  Nss_in,
in  Nss_out,
in  offset 
)
static

Decimation using Nyquist/Gardner criteria.

Parameters
xsignal to be decimated
Nss_inNumber of samples per symbol in
Nss_outNumber of samples per symbol out
offsetoffset to apply
Return values
outdownsampled signal
idxsampling point
symbolsreshaped input
static function Decimate_v1::SLNDecimate ( in  x,
in  Nss_in,
in  Nss_out,
in  offset 
)
static

Decimation using SLN criteria.

SLN = "square law nonlinearity"

Reference: M. Oerder and H. Meyr, “Digital filter and square timing recovery,” IEEE Trans. Commun. 36(5), 605–61 (1988).

Parameters
xsignal to be decimated
Nss_inNumber of samples per symbol in
Nss_outNumber of samples per symbol out
offsetoffset to apply
Return values
outdownsampled signal
idxsampling point
symbolsreshaped input
function Decimate_v1::traverse ( in  obj,
in  in 
)
virtual

Chooses a decimator, decimates, plots.

Parameters
insignal to be decimated
Return values
outdownsampled signal

Reimplemented from unit.


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