edu.cmu.emulator.signal
Class SignalEnvironment

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

public class SignalEnvironment
extends Object

Represents the signal propagation environment. Stores information about the Channels and the ChannelModels in the system. Also holds the CommSender object which communicates with the hardware.


Field Summary
protected  Antenna[] antennas
           
private  String[] channelModelNames
           
private  ChannelModel[][] channelModels
           
protected  Channel[][] channels
           
private  RWLock channelsLock
          channelsLock protects any significant changes to channels.
protected  CommSender commSender
           
protected  DSPConfiguration dspConfig
           
protected  EmuHWConfiguration emuHWConfig
           
protected  ArrayList fadingModelDefNames
           
protected  HashMap fadingModelDefs
           
protected  PathBasedFadingController pbFadingController
           
 
Constructor Summary
SignalEnvironment(DSPConfiguration dspConfig, EmuHWConfiguration emuHWConfig, Antenna[] antennas)
           
 
Method Summary
 Antenna getAntenna(int index)
           
 Channel getChannel(Antenna srcAntenna, Antenna destAntenna)
           
 Channel getChannel(int srcAntenna, int destAntenna)
           
private  int getChannelModelIndex(String channelModelName)
           
 RWLock getChannelsLock()
           
 DSPConfiguration getDSPConfig()
           
 FadingModel getFadingModel(String name)
           
 ArrayList getFadingModelDefNames()
           
 PathBasedFadingController getPBFadingController()
           
 void init()
           
protected  void initFadingModelDefs()
           
 void setChannel(int srcAntenna, int destAntenna, Channel channel)
           
 void setCommSender(CommSender commSender)
           
 void shutdown()
           
 void start()
           
 void updateSigEnvironment(EmuNode[] emuNodes)
           
 void updateSigEnvironment(int portA, int portB, int status)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dspConfig

protected DSPConfiguration dspConfig

emuHWConfig

protected EmuHWConfiguration emuHWConfig

antennas

protected Antenna[] antennas

channels

protected Channel[][] channels

pbFadingController

protected PathBasedFadingController pbFadingController

commSender

protected CommSender commSender

fadingModelDefs

protected HashMap fadingModelDefs

fadingModelDefNames

protected ArrayList fadingModelDefNames

channelsLock

private RWLock channelsLock
channelsLock protects any significant changes to channels. Must be held for: - Channel model changes. Other cases may exist.


channelModelNames

private String[] channelModelNames

channelModels

private ChannelModel[][] channelModels
Constructor Detail

SignalEnvironment

public SignalEnvironment(DSPConfiguration dspConfig,
                         EmuHWConfiguration emuHWConfig,
                         Antenna[] antennas)
Method Detail

setCommSender

public void setCommSender(CommSender commSender)

getAntenna

public Antenna getAntenna(int index)

init

public void init()

start

public void start()

getPBFadingController

public PathBasedFadingController getPBFadingController()

getChannelModelIndex

private int getChannelModelIndex(String channelModelName)

shutdown

public void shutdown()

getChannelsLock

public RWLock getChannelsLock()

getChannel

public Channel getChannel(Antenna srcAntenna,
                          Antenna destAntenna)

getChannel

public Channel getChannel(int srcAntenna,
                          int destAntenna)

setChannel

public void setChannel(int srcAntenna,
                       int destAntenna,
                       Channel channel)

initFadingModelDefs

protected void initFadingModelDefs()

getFadingModel

public FadingModel getFadingModel(String name)

getFadingModelDefNames

public ArrayList getFadingModelDefNames()

getDSPConfig

public DSPConfiguration getDSPConfig()

updateSigEnvironment

public void updateSigEnvironment(int portA,
                                 int portB,
                                 int status)

updateSigEnvironment

public void updateSigEnvironment(EmuNode[] emuNodes)


Copyright © 2013. All Rights Reserved.