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

Resampler, rectangular anti-aliasing, and timing impairments insertion. More...

Inherits unit.

Public Member Functions

function ResampleSkewJitter_v1 (in param)
 Class constructor. More...
 
function traverse (in obj, in in)
 Main function call.
 
- 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.
 

Public Attributes

Property nOutputs
 Number of outputs.
 
Property nInputs
 Number of inputs.
 
Property resamplingRate
 Downsampling Rate.
 
Property outputSamplingRate
 Output Sampling Rate.
 
Property skew
 Skew.
 
Property jitterVariance
 Jitter Variance.
 
Property clockError
 Clock deviation.
 
- 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

Resampler, rectangular anti-aliasing, and timing impairments insertion.

This function resample the input signal doing anti-aliasing in a signal. It also inserts timing impairments such as jitter, skew and clock deviance.

Observations The input signal shall be a complex signal_interface signal.

Example

param.resamp.reamplingRate = 0.5;
resamp = ResampleSkewJitter_v1(param.resamp);
param.sig.Fs = 64e9;
param.sig.Fc = 0;
param.sig.Rs = 32e9;
param.sig.PCol = [pwr(20,{-2,'dBm'}), pwr(-inf,{-inf,'dBm'})];
Ein = upsample((randi(2,1000,1)-1.5)*2 + 1j*(randi(2,1000,1)-1.5)*2,2);
sigIn = signal_interface(Ein, param.sig);
sigOut = resample.traverse(sigIn);

Advanced Example

param.resamp.outputSamplingRate = 128e9;
param.resamp.skew = [0 0.5];
param.resamp.jitterVariance = 1e-8;
param.resamp.clockError = 5e-6;
upsamp = ResampleSkewJitter_v1(param.resamp);
param.sig.Fs = 64e9;
param.sig.Fc = 0;
param.sig.Rs = 32e9;
param.sig.PCol = [pwr(20,{-2,'dBm'}), pwr(-inf,{-inf,'dBm'})];
Ein = upsample((randi(2,1000,1)-1.5)*2 + 1j*(randi(2,1000,1)-1.5)*2,2);
sigIn = signal_interface(Ein, param.sig);
sigOut = resample.traverse(sigIn);
Author
jcesardiniz
Version
1

Definition at line 48 of file ResampleSkewJitter_v1.m.

Constructor & Destructor Documentation

function ResampleSkewJitter_v1::ResampleSkewJitter_v1 ( in  param)

Class constructor.

  • properties
Parameters
param.skewSkew - A vector with skews: [I1, Q1, I2, Q2, ...]. Normalized by symbol period.
param.jitterVarianceJitterVariance - The variance of a random walk Jitter.
param.clockErrorClockError - The clock deviance. E.g. 1e-6 means 1 ppm.
param.outputSamplingRateOutputSamplingRate - The sampling rate of output signal. It will calculate automatically the resamplingRate if defined. It also has priority over resamplingRate.
param.resamplingRateResamplingRate - This is a downsampling rate. E.g. if the number of samples per symbol of input is 6 and the resampling rate is 3, the output will have 2 samples per symbol. If you need to do upsampling you need to define the inverse of upsampling rate. E.g. if the number of samples is 6 and the resampling rate is 0.5, the output will have 12 samples per symbol.
Return values
objAn instance of the class ResampleSkewJitter_v1

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