RT-WDF  0.0.1
Real-time Wave Digital Filter Framework
wdfTerminatedSeries Class Reference

#include <rt-wdf.h>

Inheritance diagram for wdfTerminatedSeries:

Public Member Functions

 wdfTerminatedSeries (wdfTreeNode *left, wdfTreeNode *right)
 
virtual double calculateUpRes (double T)
 
virtual void calculateScatterCoeffs ()
 
virtual double calculateUpB ()
 
virtual void calculateDownB (double descendingWave)
 
virtual std::string getType () const
 
void setParentInChildren ()
 
void createPorts ()
 
double adaptPorts (double T)
 
virtual double pullWaveUp ()
 
virtual void pushWaveDown (double descendingWave)
 

Public Attributes

std::unique_ptr< wdfPortupPort
 
std::unique_ptr< wdfTreeNodeparentNode
 

Protected Attributes

std::vector< wdfPort * > downPorts
 
std::vector< wdfTreeNode * > childrenNodes
 

Constructor & Destructor Documentation

§ wdfTerminatedSeries()

wdfTerminatedSeries::wdfTerminatedSeries ( wdfTreeNode left,
wdfTreeNode right 
)

Adapter class for terminated three port series nodes.

The adapter owns one terminated upfacing port and two downfacing ports

Parameters
*leftholds a pointer to the left child of the node
*rightholds a pointer to the right child of the node

Member Function Documentation

§ adaptPorts()

double wdfTreeNode::adaptPorts ( double  T)
inherited

Recursively adapts all ports in the tree.

This recursion should be initiated from the base of the tree. It sets port resistances of all upfacing ports according to component values and/or adaptation rules and copies it onto connected downfacing ports in the parent.

Parameters
Tsample period as specified by setSamplerate()
Returns
a double type up-facing port resistance of that WDF element

§ calculateDownB()

void wdfTerminatedSeries::calculateDownB ( double  descendingWave)
virtual

Sets the wave components in the downfacing ports.

This function weights the input wave and the incident waves on the downports with the coefficients yu, yl and yr and sets the reflected waves in the downfacing port objects.

Parameters
descendingWaveincoming wave component on the upfacing port

Implements wdfTreeNode.

§ calculateScatterCoeffs()

void wdfTerminatedSeries::calculateScatterCoeffs ( )
virtual

Recursively calculates scattering coefficients of adapters.

This recursion should be initiated from the base of the tree. It calculates the scattering coefficients according to the port resistances of the adaptor and the series adaptor scattering law.

Implements wdfTreeNode.

§ calculateUpB()

double wdfTerminatedSeries::calculateUpB ( )
virtual

Returns the upfacing wave component towards the root.

This function is called from pullWave() to calculate the wave that travels towards the base.

It collects the wave components from the downfacing ports and returns the reflected wave.

Returns
the upward traveling wave of the node

Implements wdfTreeNode.

§ calculateUpRes()

double wdfTerminatedSeries::calculateUpRes ( double  T)
virtual

Returns the series adaptors upfacing port resistance.

This function is called from adaptPorts(). It returns the upfacing port resistance of the node to fulfill termination according to the series adaptation law Rup = Rleft + Rright.

Parameters
Tsample period T = 1/fs as needed to adapt capacitors/inductors
Returns
a double type port resistance of that element in Ohms

Implements wdfTreeNode.

§ createPorts()

void wdfTreeNode::createPorts ( )
inherited

Recursively creates WDF ports in the tree.

This recursion should be initiated from the base of the tree. It creates downfacing ports for all children and an upfacing port in each child while setting the correct pointers to the nodes that these ports are connected to.

§ getType()

std::string wdfTerminatedSeries::getType ( ) const
virtual

Returns a String describing the type of this adaptor.

Returns
a String describing the type of this adaptor as "Series Adapter (TOP adapted)"

Implements wdfTreeNode.

§ pullWaveUp()

double wdfTreeNode::pullWaveUp ( )
virtualinherited

Recursively pulls the wave from the leafs towards the root.

This recursion should be initiated from the base of the tree. As all tree nodes are adapted, it basically just pulls up correctly scattered states of reactive elements and input values from adapted sources.

Returns
the upward traveling wave of a node

§ pushWaveDown()

void wdfTreeNode::pushWaveDown ( double  descendingWave)
virtualinherited

Recursively pushes the wave from the root towards the leafs.

This recursion should be initiated from the base of the tree. It pushes the respective wave component of a branch from the root to the leafs by scattering them correctly along the way.

Parameters
descendingWavedescending wave component that shall be scattered to the downfacing ports of the node or processed in a leaf accordingly

§ setParentInChildren()

void wdfTreeNode::setParentInChildren ( )
inherited

Recursively sets pointers to parent node in children.

This recursion should be initiated from the base of the tree. It sets a pointer to *this parent node in all connected children.

Member Data Documentation

§ childrenNodes

std::vector<wdfTreeNode*> wdfTreeNode::childrenNodes
protectedinherited

Vector of pointers to connected children nodes of this node.

§ downPorts

std::vector<wdfPort*> wdfTreeNode::downPorts
protectedinherited

Vector of pointers to downfacing port objects of this tree.

§ parentNode

std::unique_ptr<wdfTreeNode> wdfTreeNode::parentNode
inherited

Pointer to the connected parent node of this node.

§ upPort

std::unique_ptr<wdfPort> wdfTreeNode::upPort
inherited

Pointer to the upfacing port object of this node.


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