Demux SimObject that takes a vector as input and splits it into several output ports.
A demux (or demultiplexer) is a device taking a single input signal and selecting one of many data-output-lines, which is connected to the single input. The sum of all output port sizes must be equal to the input port size. Implementation class is CDemux.
A figure illustrating the principles of demultiplexing.
- Author
- Karl-Johan Reite
- Date
- 02.03.2007 KJR: Initial version
-
20.07.2011 KGA: Ported to 2.0
Example configuration excerpt
<Lib
LibName = "fhsim_base"
SimObject = "Signal/Demux"
Name = "A"
NumOutput = "3"
OutPortWidth1 = "1"
OutPortWidth2 = "1"
OutPortWidth3 = "1"
/>
...
<Connection
A.In="1,2,3"
/>
Input Ports
Name | Width | Description |
In | <NumOutput> | The input port |
Output Ports
Name | Width | Description |
Out1 .. Out<NumOutput> | <OutPortWidth> | The input signal "De-multiplexed" into <NumOutput> ports of sizes OutPortWidth1.. OutPortWidth<NumOutput>, which sums up to <NumOutput>. |
Configuration parameters
Name | Width | Description |
NumOutput | 1 | The number of output signals |
OutPortWidth1 .. OutPortWidth1<NumOutput> | - | The number of elements in each individual output signal |
Initial conditions
There are no initial conditions for this function.
Full example file
<Contents>
<OBJECTS>
<Lib
LibName="base"
SimObject="Signal/Demux"
Name="A"
NumOutput="3"
OutPortWidth1="1"
OutPortWidth2="1"
OutPortWidth3="1"
/>
<Lib
LibName="base"
SimObject="Body/Mass"
Name="M"
Scale="1"
Mass="1"
Material="Simple/Red"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
A.In="M.Pos"
M.Force="1,0,0"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
M.Pos="0,10,100"
M.Vel="0,0,0"
/>
</INITIALIZATION>
<INTEGRATION>
<Engine
IntegratorMethod="2"
NumCores="1"
TOutput="0, 5, 30"
LogStates ="1"
stepsize ="0"
HMax="0.002"
HMin="0.00000001"
AbsTol="1e-3" RelTol="1e-3"
UseRSSNormInsteadOfInfNorm="0"
FileOutput="objects:all"
/>
</INTEGRATION>
</Contents>
This SimObject is referred to as Signal/Demux