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

#include <rt-wdf.h>

Inheritance diagram for wdfTerminatedResVSource:

Public Member Functions

 wdfTerminatedResVSource (double Vs, double RSer)
 
virtual double calculateUpRes (double T)
 
virtual double calculateUpB ()
 
virtual void calculateDownB (double descendingWave)
 
virtual std::string getType () const
 
virtual void calculateScatterCoeffs ()
 
void setParentInChildren ()
 
void createPorts ()
 
double adaptPorts (double T)
 
virtual double pullWaveUp ()
 
virtual void pushWaveDown (double descendingWave)
 

Public Attributes

double Vs
 
double RSer
 
std::unique_ptr< wdfPortupPort
 
std::unique_ptr< wdfTreeNodeparentNode
 

Protected Attributes

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

Constructor & Destructor Documentation

§ wdfTerminatedResVSource()

wdfTerminatedResVSource::wdfTerminatedResVSource ( double  Vs,
double  RSer 
)

Adapted resistive voltage source model class.

Creates a voltage source with series resistance Rser.

Parameters
Vsinitial source voltage in Volts
Rserphysical resistance of the series resistor in Ohm

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 wdfTerminatedResVSource::calculateDownB ( double  descendingWave)
virtual

Sets the wave component in the downfacing port.

This function does nothing for the adapted voltage source.

Parameters
descendingWaveincoming wave component on the upfacing port

Implements wdfTreeNode.

§ calculateScatterCoeffs()

void wdfTerminatedLeaf::calculateScatterCoeffs ( )
virtualinherited

This variant of the base classes' calculateScatterCoeffs() function is an empty function to break the recursion that only applies to adapters and stops here at the leafs.

Implements wdfTreeNode.

§ calculateUpB()

double wdfTerminatedResVSource::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 returns the source voltage value as the reflected wave.

Returns
the upward traveling wave of the node

Implements wdfTreeNode.

§ calculateUpRes()

double wdfTerminatedResVSource::calculateUpRes ( double  T)
virtual

Returns the voltage source's upfacing port resistance.

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

Parameters
Tsample period T = 1/fs in seconds as needed to adapt the capacitor
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 wdfTerminatedResVSource::getType ( ) const
virtual

Returns a String describing the type of this leaf.

Returns
a String describing the type of this leaf as "Vs (incl. Rp = RSer -> 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.

§ RSer

double wdfTerminatedResVSource::RSer

Series resistance in Ohms.

§ upPort

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

Pointer to the upfacing port object of this node.

§ Vs

double wdfTerminatedResVSource::Vs

Source voltage in volts. Change this public variable during operation if necessary according to input samples.


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