edu.cmu.emulator.signal
Class GeoFadingSpectrum

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

public class GeoFadingSpectrum
extends Object

Generate Doppler power spectrum Model: Geometrical Model for V2V - Cheng Assumptions: - Model road-side obstacles only - Similar (no) delay for all reflected path


Field Summary
protected  double d_s
          Roadside scatterers distance
protected  double d0
          Reference distance
protected  double dc
          Two-ray cross-over distance d_c
protected  double density
           
protected  double dtr
          Tx-Rx distance
static double fcarrier_GHz
          Carrier Frequency
protected  double fm
          Maximum Doppler frequency
protected  double[][] fSpec
          Doppler Spectrum
protected  double[][] fSpecI
          Interpolated doppler spectrum at given freq points
protected  Logger log
           
protected  int N
          Frequency Samples
protected  Antenna receiver
          Receiver
protected  double[][] rho
          Roadside Object Density
protected  Antenna transmitter
          Trasmitter
protected  double V_min
          Minimum Speed
protected  double V_rx
          Rx speed
protected  double V_tx
          Tx speed
 
Constructor Summary
GeoFadingSpectrum(Antenna srcAntenna, Antenna destAntenna)
          Constructor.
GeoFadingSpectrum(String specName, int samples)
          Constructor for manual use.
 
Method Summary
protected  double[] gen_Sf(double theta)
          Calculate frequency shift, response and power density at given angle
 void genDopperSpectrum(double R_tx, double d_tr, double rho)
          Generate Doppler Spectrum using speed Ratio and default MAX_SPEED
 void genDopplerSpectrum()
          Generate Doppler Spectrum using default parameters
 void genDopplerSpectrum(double v_tx, double v_rx, double d_tr, double rho)
          Generate Doppler Spectrum for given set of parameters
protected  double get_density(double theta)
          Calculate scatterer density at angle theta
 double getDMDistance(double d)
          Calculate the dual-mode distance
protected  double[][] getFadingSpectrum()
          Get (frequency shift) Interpolated Doppler Spectrum
protected  double[][] getFadingSpectrumOriginal()
          Get Original Doppler Spectrum/Power Density
protected  double interp_lin(double f1, double f2, double Sf1, double Sf2, double f)
          Estimate power density at given frequency shift f Mathod 1: linear interpolation
protected  double[] interp_poly(double[] f0, double[] Sf0, double[] f, int power)
          Estimate power density at given frequency shift f points Method 2: Spline interpolation
protected  void interpolateSpectrum()
          Interpolate Spectrum at desired frequency shift points
static void main(String[] args)
           
protected  void show(String name, double value)
          for debug: check parameter values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transmitter

protected Antenna transmitter
Trasmitter


receiver

protected Antenna receiver
Receiver


V_tx

protected double V_tx
Tx speed


V_rx

protected double V_rx
Rx speed


V_min

protected double V_min
Minimum Speed


dtr

protected double dtr
Tx-Rx distance


fm

protected double fm
Maximum Doppler frequency


N

protected int N
Frequency Samples


rho

protected double[][] rho
Roadside Object Density


density

protected double density

fcarrier_GHz

public static final double fcarrier_GHz
Carrier Frequency

See Also:
Constant Field Values

d0

protected double d0
Reference distance


dc

protected double dc
Two-ray cross-over distance d_c


d_s

protected double d_s
Roadside scatterers distance


fSpec

protected double[][] fSpec
Doppler Spectrum


fSpecI

protected double[][] fSpecI
Interpolated doppler spectrum at given freq points


log

protected Logger log
Constructor Detail

GeoFadingSpectrum

public GeoFadingSpectrum(Antenna srcAntenna,
                         Antenna destAntenna)
Constructor.


GeoFadingSpectrum

public GeoFadingSpectrum(String specName,
                         int samples)
Constructor for manual use.

Method Detail

genDopplerSpectrum

public void genDopplerSpectrum()
Generate Doppler Spectrum using default parameters


genDopperSpectrum

public void genDopperSpectrum(double R_tx,
                              double d_tr,
                              double rho)
Generate Doppler Spectrum using speed Ratio and default MAX_SPEED


genDopplerSpectrum

public void genDopplerSpectrum(double v_tx,
                               double v_rx,
                               double d_tr,
                               double rho)
Generate Doppler Spectrum for given set of parameters


show

protected void show(String name,
                    double value)
for debug: check parameter values


gen_Sf

protected double[] gen_Sf(double theta)
Calculate frequency shift, response and power density at given angle

Parameters:
theta - scatterer at angle theta with respect to receiver
Returns:
Sf[] Sf[0] : power density Sf at shift f Sf[1] : frequency shift f at this angle Sf[2] : response observed at this angle Sf[3] : probablility distribution p at this angle

get_density

protected double get_density(double theta)
Calculate scatterer density at angle theta

Parameters:
theta - angle with respect to receiver
Returns:
density, between [0,1]

getDMDistance

public double getDMDistance(double d)
Calculate the dual-mode distance

Parameters:
d - original distance
Returns:
dual-model distance D(d)

interpolateSpectrum

protected void interpolateSpectrum()
Interpolate Spectrum at desired frequency shift points


interp_lin

protected double interp_lin(double f1,
                            double f2,
                            double Sf1,
                            double Sf2,
                            double f)
Estimate power density at given frequency shift f Mathod 1: linear interpolation

Parameters:
f1 - frequency shift f1
f2 - frequency shift f2
Sf1 - power density Sf1
Sf1 - power density Sf2
f - given frequency shift f

interp_poly

protected double[] interp_poly(double[] f0,
                               double[] Sf0,
                               double[] f,
                               int power)
Estimate power density at given frequency shift f points Method 2: Spline interpolation

Parameters:
f0 - array of frequency shift f0
Sf0 - array of power density Sf0. the length should match with f0
f - array of desired shift pings f
power - polynomial order. In general 3 (cubic) gives the best trade-off
Returns:
power density at given frequency point f

getFadingSpectrumOriginal

protected double[][] getFadingSpectrumOriginal()
Get Original Doppler Spectrum/Power Density

Returns:
1-step Doppler Spectrum where frequency points are not equally spaced.

getFadingSpectrum

protected double[][] getFadingSpectrum()
Get (frequency shift) Interpolated Doppler Spectrum

Returns:
Normalized Doppler Spectrum where frequency points are evenly spaced.

main

public static void main(String[] args)


Copyright © 2013. All Rights Reserved.