pathloss

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2020 License: Apache-2.0, LGPL-3.0 Imports: 8 Imported by: 4

Documentation

Overview

Code contribution by istdev

Implements a simple phase delay from different n-Antenna elements

Code contribution by istdev

Implements a simple phase delay from different n-Antenna elements

Implements a simple phase delay from different n-Antenna elements

Index

Constants

This section is empty.

Variables

View Source
var PathLossTypes = [...]string{
	"Exponential",
	"FreeSpace",
}

Functions

func Distance

func Distance(src, dest complex128) float64

func Distance3D

func Distance3D(src, dest vlib.Location3D) float64

Types

type Model

type Model interface {
	Set(ModelSetting)
	Get() ModelSetting
	LossInDbNodes(txnode, rxnode deployment.Node, freqGHz float64) (plDb float64, valid bool)
	LossInDb3D(txnode, rxnode vlib.Location3D, freqGHz float64) (plDb float64, valid bool)
}

type ModelSetting

type ModelSetting struct {
	Type   PathLossType
	FreqHz float64

	CutOffDistance float64
	Param          []float64 /// Factors relatedto

	Name string

	ShadowLoss bool
	// contains filtered or unexported fields
}

func NewModelSetting

func NewModelSetting() *ModelSetting

func (*ModelSetting) AddParam

func (m *ModelSetting) AddParam(name string, value float64) *ModelSetting

func (*ModelSetting) FGHz

func (m *ModelSetting) FGHz() (fGHz float64)

func (*ModelSetting) Init

func (m *ModelSetting) Init()

func (*ModelSetting) Parameters

func (m *ModelSetting) Parameters() []string

func (*ModelSetting) Set

func (s *ModelSetting) Set(str string)

func (*ModelSetting) SetDefault

func (m *ModelSetting) SetDefault()

func (*ModelSetting) SetFGHz

func (m *ModelSetting) SetFGHz(fGHz float64) *ModelSetting

func (*ModelSetting) Value

func (m *ModelSetting) Value(pname string) float64

Value returns the vaue of the paramter set for the model

type OkumuraHata

type OkumuraHata struct {
	// contains filtered or unexported fields
}

func (OkumuraHata) Get

func (w OkumuraHata) Get() ModelSetting

func (OkumuraHata) LossInDb3D

func (w OkumuraHata) LossInDb3D(src, dest vlib.Location3D, freqGHz float64) (plDb float64, valid bool)

func (OkumuraHata) LossInDbNodes

func (w OkumuraHata) LossInDbNodes(txnode, rxnode deployment.Node, freqGHz float64) (plDb float64, valid bool)

func (*OkumuraHata) Set

func (w *OkumuraHata) Set(ModelSetting)

type PLModel

type PLModel interface {
	Set(ModelSetting)
	Get() ModelSetting
	LossInDbNodes(txnode, rxnode deployment.Node, freqGHz float64) (plDb float64, valid bool)
	LossInDb3D(txnode, rxnode vlib.Location3D, freqGHz float64) (plDb float64, valid bool)
}

type PathLossType

type PathLossType int
const (
	Exponential PathLossType = iota
	FreeSpace
)

func (PathLossType) String

func (p PathLossType) String() string

type RMa

type RMa struct {
	// contains filtered or unexported fields
}

func (RMa) Get

func (w RMa) Get() ModelSetting

func (*RMa) LossInDb3D

func (r *RMa) LossInDb3D(src, dest vlib.Location3D, freqGHz float64) (plDb float64, valid bool)

func (*RMa) LossInDbNodes

func (r *RMa) LossInDbNodes(txnode, rxnode deployment.Node, freqGHz float64) (plDb float64, valid bool)

func (*RMa) Set

func (w *RMa) Set(ModelSetting)

type SimplePLModel

type SimplePLModel struct {
	ModelSetting
}

func (*SimplePLModel) AllLossInDbBetween

func (p *SimplePLModel) AllLossInDbBetween(src complex128, dest vlib.VectorC) vlib.VectorF

func (*SimplePLModel) AllLossInDbBetween3D

func (p *SimplePLModel) AllLossInDbBetween3D(src vlib.Location3D, dest []vlib.Location3D) vlib.VectorF

func (SimplePLModel) Get

func (w SimplePLModel) Get() ModelSetting

func (*SimplePLModel) LossInDb

func (p *SimplePLModel) LossInDb(distance float64) float64

func (*SimplePLModel) LossInDb3D

func (p *SimplePLModel) LossInDb3D(src, dest vlib.Location3D, freqGHz float64) (plDb float64, valid bool)

func (*SimplePLModel) LossInDbBetween3D

func (p *SimplePLModel) LossInDbBetween3D(src, dest vlib.Location3D) (plDb float64, valid bool)

func (*SimplePLModel) LossInDbBetweenNodes

func (p *SimplePLModel) LossInDbBetweenNodes(src, dest deployment.Node) (plDb float64, valid bool)

func (SimplePLModel) LossInDbNodes

func (w SimplePLModel) LossInDbNodes(txnode, rxnode deployment.Node, freqGHz float64) (plDb float64, valid bool)

func (*SimplePLModel) Set

func (w *SimplePLModel) Set(ModelSetting)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL