Documentation

### This is machine translation

Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# doppler

Construct Doppler spectrum structure

## Syntax

``s = doppler(specType)``
``s = doppler(specType, fieldValue)``
``s = doppler('BiGaussian', Name,Value)``

## Description

example

````s = doppler(specType)` constructs a Doppler spectrum structure of type `specType` for use with a fading channel System object. The returned structure, `s`, has default values for its dependent fields.```

example

````s = doppler(specType, fieldValue)` constructs a Doppler spectrum structure of type `specType` for use with a fading channel System object. The returned structure, `s`, has its dependent field specified to `fieldValue`.```

example

````s = doppler('BiGaussian', Name,Value)` constructs a BiGaussian Doppler spectrum structure for use with a fading channel System object. The returned structure, `s`, has dependent fields specified by `Name,Value` pair arguments.```

## Examples

collapse all

Construct a flat Doppler structure variable for use with channel objects such as `comm.RayleighChannel`.

Invoke the `doppler` function to create a flat Doppler structure variable.

`s = doppler('Flat')`
```s = struct with fields: SpectrumType: 'Flat' ```

Use the `doppler` function to create a Doppler structure variable having the Bell spectrum.

`s = doppler('Bell')`
```s = struct with fields: SpectrumType: 'Bell' Coefficient: 9 ```

Specify the coefficients of the Doppler spectrum structure variable.

Construct a Rounded Doppler spectrum structure with coefficients `a0`, `a2`, and `a4` set to `2`, `6`, and `1`, respectively.

`s = doppler('Rounded', [2, 6, 1])`
```s = struct with fields: SpectrumType: 'Rounded' Polynomial: [2 6 1] ```

Use the `doppler` function to create a Doppler spectrum structure with the parameters specified for a BiGaussian spectrum.

```s = doppler('BiGaussian','NormalizedCenterFrequencies', ... [.1 .85],'PowerGains',[1 2])```
```s = struct with fields: SpectrumType: 'BiGaussian' NormalizedStandardDeviations: [0.7071 0.7071] NormalizedCenterFrequencies: [0.1000 0.8500] PowerGains: [1 2] ```

The `NormalizedStandardDeviations` field is set to the default value. The `NormalizedCenterFrequencies`, and `PowerGains` fields are set to the values specified from the input arguments.

## Input Arguments

collapse all

The spectrum type of a Doppler spectrum structure for use with a fading channel System object. Specify this value as a character vector.

The analytical expression for each Doppler spectrum type is described in the Algorithms section.

Data Types: `char`

The value of the dependent field of the Doppler spectrum structure, specified as a scalar or vector of built-in data type. If you do not specify `fieldValue` , the dependent fields of the spectrum type use the default values.

Spectrum TypeDependent FieldDescriptionDefault Value
`Jakes`
`Flat`
`Rounded``Polynomial`1-by-3 vector of real finite values, representing the polynomial coefficients, `a0, a2 ` and `a4``[1 -1.72 0.785]`
`Bell``Coefficient`Nonnegative, finite, real scalar representing the Bell spectrum coefficient`9`
```Asymmetric Jakes````NormalizedFrequencyInterval`1-by-2 vector of real values between –1 and 1, inclusive, representing the minimum and maximum normalized Doppler shifts`[0 1]`
```Restricted Jakes````NormalizedFrequencyInterval`1-by-2 vector of real values between 0 and 1, inclusive, representing the minimum and maximum normalized Doppler shifts`[0 1]`
`Gaussian``NormalizedStandardDeviation`Normalized standard deviation of the Gaussian Doppler spectrum, specified as a positive, finite, real scalar`0.7071`
`BiGaussian``NormalizedStandardDeviations`Normalized standard deviations of the BiGaussian Doppler spectrum, specified as a positive, finite, real 1-by-2 vector`[0.7071 0.7071]`
`NormalizedCenterFreqencies`Normalized center frequencies of the BiGaussian Doppler spectrum specified as a real 1-by-2 vector whose elements fall between –1 and 1`[0 0]`
`PowerGains`Linear power gains of the BiGaussian Doppler spectrum specified as a real nonnegative 1-by-2 vector`[0.5 0.5]`

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

Example: ```s=doppler('BiGaussian', 'NormalizedStandardDeviations', [.8 .75], 'NormalizedCenterFrequencies', [-.8 0], 'PowerGains', [.6 .6])```

The normalized standard deviation of the first and second Gaussian functions. You can specify this value as a 1-by-2 vector of positive, finite, real values, of built-in data types.

When you do not specify this dependent field, the default value is `[1/sqrt(2) 1/sqrt(2)]`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

The normalized center frequencies of the first and second Gaussian functions. You can specify this value as a 1-by-2 vector of real values between –1 and 1, of built-in data types.

When you do not specify this dependent field, the default value is `[0 0]`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

The power gains of the first and second Gaussian functions. You can specify this value as a 1-by-2 nonnegative, finite, real vector of built-in data types.

When you do not specify this dependent field, the default value is `[0.5 0.5]`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

## Algorithms

collapse all

The following algorithms represent the analytical expressions for each Doppler spectrum type. In each case, ${f}_{d}$ denotes the maximum Doppler shift (`MaximumDopplerShift` property) of the associated fading channel System object.

### Jakes

The theoretical `Jakes` Doppler spectrum, S(f) has the analytic formula

### Flat

The theoretical `Flat` Doppler spectrum, S(f) has the analytic formula

### Rounded

The theoretical `Rounded` Doppler spectrum, S(f) has the analytic formula

where

`${C}_{r}=\frac{1}{2{f}_{d}\left[{a}_{0}+\frac{{a}_{2}}{3}+\frac{{a}_{4}}{5}\right]}$`

and you can specify [] in the dependent field, `polynomial`.

### Bell

The theoretical `Bell` Doppler spectrum, S(f) has the analytic formula

`$S\left(f\right)=\frac{{C}_{b}}{1\text{​}+\text{​}A\text{\hspace{0.17em}}\text{​}{\left(\frac{f}{{f}_{d}}\right)}^{2}}$`

`$|f|\le {f}_{d}$`

where

`${C}_{b}=\frac{\sqrt{A}}{\pi {f}_{d}}$`

You can specify A in the dependent field, `coefficient`.

### Asymmetric Jakes

The theoretical `Asymmetric Jakes` Doppler spectrum, S(f) has the analytic formula

where you can specify ${f}_{\mathrm{min}}$/ ${f}_{d}$ and${f}_{\mathrm{max}}$ /${f}_{d}$ in the dependent field, `NormalizedFrequencyInterval`.

### Restricted Jakes

The theoretical `Restricted Jakes` Doppler spectrum, S(f) has the analytic formula

where

`${A}_{r}=\frac{1}{\frac{2}{\pi }\left[{\mathrm{sin}}^{-1}\left(\frac{{f}_{\mathrm{max}}}{{f}_{d}}\right)-{\mathrm{sin}}^{-1}\left(\frac{{f}_{\mathrm{min}}}{{f}_{d}}\right)\right]}$`

where you can specify ${f}_{\mathrm{min}}$/ ${f}_{d}$ and${f}_{\mathrm{max}}$ /${f}_{d}$ in the dependent field, `NormalizedFrequencyInterval`.

### Gaussian

The theoretical `Gaussian` Doppler spectrum, S(f) has the analytic formula

`${S}_{G}\left(f\right)=\frac{1}{\sqrt{2\pi {\sigma }_{G}^{2}}}\mathrm{exp}\left(-\frac{{f}^{2}}{2{\sigma }_{G}^{2}}\right)$`

You can specify ${\sigma }_{G}/{f}_{d}$ in the dependent field, `NormalizedStandardDeviation`.

### BiGaussian

The theoretical `BiGaussian` Doppler spectrum, S(f) has the analytic formula

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

where ${A}_{G}=\frac{1}{{C}_{G1}+{C}_{G2}}$ is a normalization coefficient.

You can specify ${\sigma }_{G1}$/${f}_{d}$ and ${\sigma }_{G2}$/${f}_{d}$ in the `NormalizedStandardDeviations` dependent field.

You can specify ${f}_{G1}$/${f}_{d}$ and ${f}_{G2}$/${f}_{d}$ in the `NormalizedCenterFrequencies` dependent field.

${C}_{G1}$ and ${C}_{G2}$ are power gains that you can specify in the `PowerGains` dependent field.