def SetCommunicationModel(self, propagation_model, reception_model, propagation_params, reception_params): """ :param propagation_model: name of signal propagation model ex: "NoLoss", "FreeSpace", "TwoRayGround" :param reception_model: name of V2V reception model, ex: "Perfect", "Deterministic", "Rayleigh", "Nakagami" :param propagation_params: dict of keyword params for propagation model :param reception_params: dict of keyword params for reception model """ pm = get_propagation_model(propagation_model, propagation_params) reception_params["propagation_model"] = pm rm = get_reception_model(reception_model, reception_params) self.comm_channel = cm.ChannelModel(pm, rm)
def __init__(self, propagation_model="NoLoss", reception_model="Perfect", propagation_params={}, reception_params={}, verbose=1, fasttime=True, time_limit=None): """ :param propagation_model: name of signal propagation model ex: "NoLoss", "FreeSpace", "TwoRayGround" :param reception_model: name of V2V reception model, ex: "Perfect", "Deterministic", "Rayleigh", "Nakagami" :param propagation_params: dict of keyword params for propagation model :param reception_params: dict of keyword params for reception model """ self.verbose = verbose # Vehicle instances self.icInstances = [] self.icStartDelay = [] self.icTimeLimit = [] self.tfList = [] # Communication channel pm = get_propagation_model(propagation_model, propagation_params) reception_params["propagation_model"] = pm rm = get_reception_model(reception_model, reception_params) self.comm_channel = cm.ChannelModel(pm, rm) if verbose > 0: print("Reception model: %s" % rm.model_name) # Simulation environment conditions self.wind = [(0, 0)] self.commDelay = 0 self.mergeFixFile = None self.home_gps = [0, 0, 0] self.fasttime = fasttime self.dT = 0.05 self.time_limit = time_limit # Simulation status self.count = 0 self.current_time = 0 self.windFrom, self.windSpeed = self.wind[0]