# Documentation

### This is machine translation

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

# lteULPerfectChannelEstimate

## Syntax

``hest = lteULPerfectChannelEstimate(ue,propchan)``
``hest = lteULPerfectChannelEstimate(ue,propchan,toffset)``

## Description

example

````hest = lteULPerfectChannelEstimate(ue,propchan)` performs perfect channel estimation for a system configuration given structures containing the UE-specific settings, and the propagation channel configuration. The perfect channel estimates are only produced for the fading channel model created using the `lteFadingChannel` toolbox function. This function provides a perfect MIMO channel estimate after SC-FDMA modulation. Perfect channel estimation is achieved by setting the channel with the desired configuration and sending a set of known symbols through it, for each transmit antenna in turn.```

example

````hest = lteULPerfectChannelEstimate(ue,propchan,toffset)` adds the parameter `toffset`, which specifies the timing offset. This parameter allows `hest` to be the precise channel that results when the receiver is precisely synchronized. ```

## Examples

collapse all

Perform perfect channel estimation for a given propagation channel configuration.

Initialize strucutres for UE configuration and propagation channel configuration.

```ue.NULRB = 6; ue.CyclicPrefixUL = 'Normal'; ue.NTxAnts = 2; ue.TotSubframes = 1;```
```chs.Seed = 1; chs.DelayProfile = 'EPA'; chs.NRxAnts = 4; chs.DopplerFreq = 5.0; chs.MIMOCorrelation = 'Low'; chs.InitPhase = 'Random'; chs.InitTime = 0.0; chs.ModelType = 'GMEDS'; chs.NTerms = 16; chs.NormalizeTxAnts = 'On'; chs.NormalizePathGains = 'On';```

Perform perfect channel estimation and display dimension of channel estimate array.

```H = lteULPerfectChannelEstimate(ue, chs); sizeH = size(H)```
```sizeH = 72 14 4 2 ```

Perform perfect channel estimation on a time offset waveform that has passed through a fading channel.

Configuration initialization

Initialize structures for UE configuration and propagation channel configuration, and timing offset.

```ue = lteRMCUL('A1-1','FDD',1); ue.NULRB = 10; ue.CyclicPrefixUL = 'Normal'; ue.NTxAnts = 4; ue.TotSubframes = 1;```
```propchan.Seed = 1; propchan.DelayProfile = 'EVA'; propchan.NRxAnts = 2; propchan.DopplerFreq = 5.0; propchan.MIMOCorrelation = 'UplinkMedium'; propchan.InitPhase = 'Random'; propchan.InitTime = 0.0; propchan.ModelType = 'GMEDS'; propchan.NTerms = 16; propchan.NormalizeTxAnts = 'On'; propchan.NormalizePathGains = 'On';```

Waveform processing

• Create waveform and add samples for channel delay.

```[txwave,txgrid,rmcCfg] = lteRMCULTool(ue,[1;0;0;1]); txwave = [txwave; zeros(25,4)]; propchan.SamplingRate = rmcCfg.SamplingRate; rxwave = lteFadingChannel(propchan,txwave);```

Determine timing offset

`toffset = lteULFrameOffset(ue,ue.PUSCH,rxwave)`
```toffset = 8 ```
`rxwave = rxwave(1+toffset:end,:);`

Demodulation and perfect channel estimation

• Demodulate `rxwave` to generate frequency-domain receiver data in `rxgrid`.

• Equalize with perfect channel estimate with time offset.

• Plot resource element grids to show impact of fading channel on the transmitted signal and recovery of the signal using the perfect channel estimate.

```rxgrid = lteSCFDMADemodulate(ue,rxwave); hest = lteULPerfectChannelEstimate(ue,propchan,toffset); sizeH = size(hest)```
```sizeH = 120 14 2 4 ```

The output channel estimate is a 4D array. The input specified ten resource blocks leading to 120 subcarriers per symbol. Normal cyclic prefix results in 14 symbols per subframe. The third and forth dimensions reflect the 2 receive and 4 transmit antennas specified in the input configuration structures.

```recoveredgrid = rxgrid./hest; subplot(2,2,1) surf(abs(txgrid(:,:,1,1))) title('Transmitted Grid') subplot(2,2,2) surf(abs(rxgrid(:,:,1,1))) title('Received Grid') subplot(2,2,3) surf(abs(hest(:,:,1,1))) title('Perfect Channel Estimate') subplot(2,2,4) surf(abs(recoveredgrid(:,:,1,1))) title('Recovered Grid')```

Comparing the transmitted grid to the recovered grid, shows equalization of the received grid with the perfect channel estimate recovers the transmission.

## Input Arguments

collapse all

UE-specific settings, specified as a scalar structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
`NULRB`Required

Scalar integer from 6 to 110

Number of uplink resource blocks. (${N}_{\text{RB}}^{\text{UL}}$)

`CyclicPrefixUL`Optional

`'Normal'` (default), `'Extended'`

Cyclic prefix length.

`NTxAnts`Required

1, 2, 4

Number of transmission antennas.

`TotSubframes`Optional

Nonnegative scalar integer

(default 1)

Total number of subframes to generate

Data Types: `struct`

Propagation channel configuration structure, specified as a scalar structure. `propchan` must contain the fields required to parameterize the channel model for `lteFadingChannel` to be configured.

### Note

Before execution of the channel itself, `lteULPerfectChannelEstimate` sets `SamplingRate` internally to the sampling rate of the time domain waveform passed to `lteFadingChannel` for channel filtering. Therefore, the `propchan` structure does not require the `SamplingRate` field. If one is included, it is not used.

Parameter FieldRequired or OptionalValuesDescription
`NRxAnts`Required

1, 2, 4

`MIMOCorrelation`Required

`'Low'`, `'Medium'`, `'UplinkMedium'`, `'High'`, `'Custom'`

Correlation between UE and eNodeB antennas

• `'Low'` correlation is equivalent to no correlation between antennas.

• `'Medium'` correlation level is applicable to tests defined in TS 36.101 [1].

• `'UplinkMedium'` correlation level is applicable to tests defined in TS 36.104 [2].

`NormalizeTxAnts`Optional

`'On'` (default), `'Off'`

Transmit antenna number normalization.

• `'On'`, this function normalizes the model output by `1/sqrt(NTX)`, where NTX is the number of transmit antennas. Normalization by the number of transmit antennas ensures that the output power per receive antenna is unaffected by the number of transmit antennas.

• `'Off'`, normalization is not performed.

`DelayProfile`Required

`'EPA'`, `'EVA'`, `'ETU'`, `'Custom'`, `'Off'`

Setting `DelayProfile` to `'Off'` switches off fading completely and implements a static MIMO channel model. In this case, the antenna geometry corresponds to `propchan`.`MIMOCorrelation`, `propchan`.`NRxAnts`, and the number of transmit antennas. The temporal part of the model for each link between transmit and receive antennas consists of a single path with zero delay and constant unit gain.

The following fields are applicable when `DelayProfile` is set to a value other than `'Off'`.
`DopplerFreq`RequiredNumeric value

Maximum Doppler frequency, in Hz.

`InitTime`RequiredNumeric value

Fading process time offset, in seconds.

`NTerms`Optional

Positive integer, 16 (default), power of 2

Number of oscillators used in fading path modeling.

`ModelType`Optional

`'GMEDS'` (default), `'Dent'`

• `'GMEDS'`, the Rayleigh fading is modeled using the Generalized Method of Exact Doppler Spread (GMEDS), as described in [4].

• `'Dent'`, the Rayleigh fading is modeled using the modified Jakes fading model described in [3].

### Note

`ModelType` = `'Dent'` is not recommended. Use `ModelType` = `'GMEDS'` instead.

`NormalizePathGains`Optional

`'On'` (default), `'Off'`

Model output normalization.

• `'On'`, the model output is normalized such that the average power is unity.

• `'Off'`, the average output power is the sum of the powers of the taps of the delay profile.

`InitPhase`Optional

`'Random'` (default),

N-by-L-by-NTX-by-NRX array

Phase initialization for the sinusoidal components of the model.

• `'Random'`, sets the phases randomly initialized according to `Seed`.

• A numeric value, assumed to be in radians, is used to initialize the phases of all components.

• An N-by-L-by-NTX-by-NRX array used to explicitly initialize the phase in radians of each component. In this case, N is the number of phase initialization values per path, L is the number of paths, NTX is the number of transmit antennas, and NRX is the number of receive antennas (`NRxAnts`).

### Note

• When `ModelType` is set to `'GMEDS'`, N = 2 × `NTerms`.

• When `ModelType` is set to `'Dent'`, N = `NTerms`.

The following field is applicable when `DelayProfile` is set to a value other than `'Off'` and `InitPhase` is set to `'Random'`.
`Seed`RequiredNumeric value

Random number generator seed. To use a random seed, set `Seed` to zero.

### Note

MathWorks® recommends using `Seed` values from 0 to 231 – 1 – (K(K – 1)/2), where K = NTX × NRX, the product of the number of transmit and receive antennas. `Seed` values outside of this range are not guaranteed to give distinct results.

The following fields are applicable when `DelayProfile` is set to `'Custom'`.
`AveragePathGaindB`RequiredVector

Average gains of the discrete paths, expressed in dB.

`PathDelays`RequiredVector

Delays of the discrete paths, expressed in seconds. This vector must have the same size as `AveragePathGaindB`.

The following fields are applicable when `MIMOCorrelation` is set to `'Custom'`.
`TxCorrelationMatrix`RequiredMatrix

Correlation between each of the transmit antennas, specified as a NTX-by-NTX complex matrix.

`RxCorrelationMatrix`RequiredMatrix

Correlation between each of the receive antennas, specified as a complex matrix of size NRX-by-NRX.

Data Types: `struct`

Timing offset in samples, specified as a nonnegative integer. The timing offset is specified from the start of the output of the channel to the estimated SC-FDMA demodulation starting point. Specify the timing offset, when known, to obtain the perfect channel estimate as seen by a synchronized receiver. Use `lteULFrameOffset` to derive `toffset`.

Data Types: `double`

## Output Arguments

collapse all

Perfect channel estimate, returned as an NSC-by-NSYM-by-NRX-by-NTX array.

• NSC is the number of subcarriers.

• NSYM is the number of SC-FDMA symbols.

• NRX is the number of receive antennas as specified by `propchan`.`NRxAnts`.

• NTX is the number of transmit antenna planes, specified by `ue`.`NTxAnts`.

Data Types: `double`
Complex Number Support: Yes

## References

[1] 3GPP TS 36.101. “User Equipment (UE) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[2] 3GPP TS 36.104. “Base Station (BS) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[3] Dent, P., G. E. Bottomley, and T. Croft. “Jakes Fading Model Revisited.” Electronics Letters. Vol. 29, 1993, Number 13, pp. 1162–1163.

[4] Pätzold, Matthias, Cheng-Xiang Wang, and Bjørn Olav Hogstad. “Two New Sum-of-Sinusoids-Based Methods for the Efficient Generation of Multiple Uncorrelated Rayleigh Fading Waveforms.” IEEE Transactions on Wireless Communications. Vol. 8, 2009, Number 6, pp. 3122–3131.