Construct bi-Gaussian Doppler spectrum object

`dop = doppler.bigaussian(property1,value1,...)`

`dop = doppler.bigaussian`

The `doppler.bigaussian`

function creates
a bi-Gaussian Doppler spectrum object to be used for the `DopplerSpectrum`

property
of a channel object (created with either the `rayleighchan`

function
or the `ricianchan`

function).

creates
a bi-Gaussian Doppler spectrum object with properties as specified
by the property/value pairs. If you do not specify a value for a property,
the property is assigned a default value.`dop = doppler.bigaussian(property1,value1,...)`

creates
a bi-Gaussian Doppler spectrum object with default properties. The
constructed Doppler spectrum object is equivalent to a single Gaussian
Doppler spectrum centered at zero frequency. The equivalent command
with property/value pairs is:`dop = doppler.bigaussian`

dop = doppler.bigaussian('SigmaGaussian1', 1/sqrt(2), ... 'SigmaGaussian2', 1/sqrt(2), ... 'CenterFreqGaussian1', 0, ... 'CenterFreqGaussian2', 0, ... 'GainGaussian1', 0.5, ... 'GainGaussian2', 0.5)

The bi-Gaussian Doppler spectrum object contains the following properties.

Property | Description |
---|---|

`SpectrumType` | Fixed value, `'BiGaussian'` |

`SigmaGaussian1` | Normalized standard deviation of first Gaussian function (real positive finite scalar value) |

`SigmaGaussian2` | Normalized standard deviation of second Gaussian function (real positive finite scalar value) |

`CenterFreqGaussian1` | Normalized center frequency of first Gaussian function (real scalar value between -1 and 1) |

`CenterFreqGaussian2` | Normalized center frequency of second Gaussian function (real scalar value between -1 and 1) |

`GainGaussian1` | Power gain of first Gaussian function (linear scale, real nonnegative finite scalar value) |

`GainGaussian2` | Power gain of second Gaussian function (linear scale, real nonnegative finite scalar value) |

All properties are writable except for the `SpectrumType`

property.

The properties `SigmaGaussian1`

, `SigmaGaussian2`

, `GainGaussian1`

,
and `GainGaussian2`

are normalized by the `MaxDopplerShift`

property
of the associated channel object.

Analytically, the normalized standard deviations of the first
and second Gaussian functions are determined as $${\sigma}_{G1,norm}={\sigma}_{G1}/{f}_{d}$$ and $${\sigma}_{G2,norm}={\sigma}_{G2}/{f}_{d}$$, respectively, where $${\sigma}_{G1}$$ and $${\sigma}_{G2}$$ are the standard deviations
of the first and second Gaussian functions, and $${f}_{d}$$ is the maximum Doppler shift,
in hertz. Similarly, the normalized center frequencies of the first
and second Gaussian functions are determined as $${f}_{G1,norm}={f}_{G1}/{f}_{d}$$ and $${f}_{G2,norm}={f}_{G2}/{f}_{d}$$, respectively, where $${f}_{G1}$$ and $${f}_{G2}$$ are the center frequencies of
the first and second Gaussian functions. The properties `GainGaussian1`

and `GainGaussian2`

correspond
to the power gains $${C}_{G1}$$ and $${C}_{G2}$$, respectively, of the two Gaussian
functions.

The bi-Gaussian power spectrum consists of two frequency-shifted Gaussian spectra. The COST207 channel models ([1], [2], [3]) specify two distinct bi-Gaussian Doppler spectra, GAUS1 and GAUS2, to be used in modeling long echos for urban and hilly terrain profiles.

The normalized bi-Gaussian Doppler spectrum is given analytically by:

$${S}_{G}(f)={A}_{G}\left[\frac{{C}_{G1}}{\sqrt{2\pi {\sigma}_{G1}^{2}}}\mathrm{exp}\left(-\frac{{(f-{f}_{G1})}^{2}}{2{\sigma}_{G1}^{2}}\right)+\frac{{C}_{G2}}{\sqrt{2\pi {\sigma}_{G2}^{2}}}\mathrm{exp}\left(-\frac{{(f-{f}_{G2})}^{2}}{2{\sigma}_{G2}^{2}}\right)\right]$$

where $${\sigma}_{G1}$$ and $${\sigma}_{G2}$$ are standard deviations, $${f}_{G1}$$ and $${f}_{G2}$$ are center frequencies, $${C}_{G1}$$ and $${C}_{G2}$$ are power gains, and $${A}_{G}=\frac{1}{{C}_{G1}+{C}_{G2}}$$ is a normalization coefficient.

If either $${f}_{G1}=0$$ or $${f}_{G2}=0$$, a frequency-shifted Gaussian Doppler spectrum is obtained.

The following MATLAB code first creates a bi-Gaussian Doppler
spectrum object with the same parameters as that of a COST 207 GAUS2
Doppler spectrum. It then creates a Rayleigh channel object with a
maximum Doppler shift of $${f}_{d}=30$$ and
assigns the constructed Doppler spectrum object to its `DopplerSpectrum`

property.

dop_bigaussian = doppler.bigaussian('SigmaGaussian1', 0.1, ... 'SigmaGaussian2', 0.15, 'CenterFreqGaussian1', 0.7, ... 'CenterFreqGaussian2', -0.4, 'GainGaussian1', 1, ... 'GainGaussian2', 1/10^1.5) chan = rayleighchan(1e-3, 30); chan.DopplerSpectrum = dop_bigaussian;

[1] COST 207 WG1, *Proposal on channel
transfer functions to be used in GSM tests late 1986*,
COST 207 TD (86) 51 Rev. 3, Sept. 1986.

[2] COST 207, *Digital land mobile
radio communications*, Office for Official Publications
of the European Communities, Final report, Luxembourg, 1989.

[3] Pätzold, M., *Mobile Fading
Channels*, Wiley, 2002.

`doppler`

| `doppler.ajakes`

| `doppler.bell`

| `doppler.flat`

| `doppler.gaussian`

| `doppler.jakes`

| `doppler.rjakes`

| `doppler.rounded`

| `rayleighchan`

| `ricianchan`

| `stdchan`

Was this topic helpful?