edu.cmu.emulator.signal
Class Path

java.lang.Object
  extended by edu.cmu.emulator.signal.Path

public class Path
extends Object

Represents a signal path between two antennas within a channel model. Contains parameters such as the loss, delay, etc. which are used in calculating the attenuation within the channel model.
A corresponding path is present inside of the DSP.
Note that loss may be negative for some emulator hardware configurations. I.e. gain may occur instead of loss.
IMPORTANT: Paths receive their indices according to the order in which they are defined. See nextEmuPathIndex. FIXME - make sure that the generation code generates the same order. Also make sure that the checksum is order dependent so that bad index ordering will cause the checksum to fail.


Field Summary
protected  Channel channel
           
protected  DelayModel delayModel
           
protected  int emuPathIndex
           
protected  FadingModel fadingModel
           
private static int INVALID_EMU_PATH_INDEX
           
protected  LossModel lossModel
           
 
Constructor Summary
protected Path(Channel channel)
          IMPORTANT
The path index must match the actual verilog code.
  Path(Channel channel, int emuPathIndex, LossModel lossModel, FadingModel fadingModel, DelayModel delayModel)
           
 
Method Summary
 Channel getChannel()
           
 double getCurLossI(long curTimeMillis)
           
 double getCurLossQ(long curTimeMillis)
           
 int getDelay()
           
 int getDelay(long timeMillis)
           
 DelayModel getDelayModel()
           
 int getEmuPathIndex()
          Returns the index of the path object.
 FadingModel getFadingModel()
           
 LossModel getLossModel()
           
 int getMaxDelay()
           
 int getMinDelay()
           
 void init()
           
static Path newPathInstance(Channel channel, Element pathDef)
           
 void parse(Element pathDef)
           
 void setEmuPathIndex(int emuPathIndex)
          Sets the index of the path object.
 void setFadingModel(FadingModel fadingModel)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

channel

protected Channel channel

emuPathIndex

protected int emuPathIndex

lossModel

protected LossModel lossModel

fadingModel

protected FadingModel fadingModel

delayModel

protected DelayModel delayModel

INVALID_EMU_PATH_INDEX

private static final int INVALID_EMU_PATH_INDEX
See Also:
Constant Field Values
Constructor Detail

Path

protected Path(Channel channel)
IMPORTANT
The path index must match the actual verilog code. Automatic code generation should ensure that this is the case. For consistency, path indices should be defined using the natural ordering of paths by src, dest, path ==> pathindex. So for a 2 node system with 2 paths between each node we'd have: 0, 1, 0 ==> 0 0, 1, 1 ==> 1 1, 0, 0 ==> 2 1, 0, 1 ==> 3


Path

public Path(Channel channel,
            int emuPathIndex,
            LossModel lossModel,
            FadingModel fadingModel,
            DelayModel delayModel)
Method Detail

setEmuPathIndex

public void setEmuPathIndex(int emuPathIndex)
Sets the index of the path object. This is the index of the Path object inside of the FPGA.


init

public void init()

newPathInstance

public static Path newPathInstance(Channel channel,
                                   Element pathDef)

parse

public void parse(Element pathDef)

setFadingModel

public void setFadingModel(FadingModel fadingModel)

getFadingModel

public FadingModel getFadingModel()

getLossModel

public LossModel getLossModel()

getDelayModel

public DelayModel getDelayModel()

getDelay

public int getDelay()

getDelay

public int getDelay(long timeMillis)

getMaxDelay

public int getMaxDelay()

getMinDelay

public int getMinDelay()

getEmuPathIndex

public int getEmuPathIndex()
Returns the index of the path object. This is the index of the Path object inside of the FPGA.


getCurLossI

public double getCurLossI(long curTimeMillis)

getCurLossQ

public double getCurLossQ(long curTimeMillis)

getChannel

public Channel getChannel()


Copyright © 2013. All Rights Reserved.