# Documentation

### This is machine translation

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

# wlanTGacChannel System object

Filter signal through 802.11ac multipath fading channel

## Description

The `wlanTGacChannel` System object™ filters an input signal through an 802.11ac™ (TGac) multipath fading channel.

The fading processing assumes the same parameters for all NT-by-NR links of the TGac channel, where NT is the number of transmit antennas and NR is the number of receive antennas. Each link comprises all multipaths for that link.

To filter an input signal using a TGac multipath fading channel:

1. Define and set up your TGac channel object. See Construction.

2. Call `step` to filter the input signal through a TGac multipath fading channel according to the properties of `wlanTGacChannel`.

### Note

Alternatively, instead of using the `step` method to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For example, ```y = step(obj,x)``` and `y = obj(x)` perform equivalent operations.

## Construction

`tgac = wlanTGacChannel` creates a TGac fading channel System object, `tgac`. This object filters a real or complex input signal through the TGac channel to obtain the channel-impaired signal.

`tgac = wlanTGacChannel(Name,Value)` creates a TGac channel object, `tgac`, with the specified property `Name` set to the specified `Value`. You can specify additional name-value pair arguments in any order as `Name1`,`Value1`,...,`NameN`,`ValueN`.

## Properties

`SampleRate`

Input signal sample rate (Hz)

Sample rate of the input signal in Hz, specified as a real positive scalar. The default is `80e6`.

`DelayProfile`

Delay profile model

Delay profile model, specified as `'Model-A'`, `'Model-B'`, `'Model-C'`, `'Model-D'`, `'Model-E'`, or `'Model-F'`. The default is `'Model-B'`. To enable the `FluorescentEffect` property, select either `'Model-D'` or `'Model-E'`.

The table summarizes the models.

ParameterModel
ABCDEF
Breakpoint distance (m)555102030
Maximum delay (ns)0802003907301050
Rician K-factor (dB)000366
Number of taps1914181818
Number of clusters122346

The number of clusters represents the number of independently modeled propagation paths.

`ChannelBandwidth`

Channel bandwidth

Channel bandwidth in MHz, specified as `'CBW20'`, `'CBW40'`, `'CBW80'`, or `'CBW160'`. The default is `'CBW80'`, which corresponds to an 80 MHz channel bandwidth.

`CarrierFrequency`

RF carrier frequency

RF carrier frequency in Hz, specified as a real positive scalar. The default is `5.25e9`.

`NormalizePathGains`

Normalize path gains

To normalize the fading processes such that the total power of the path gains, averaged over time, is 0 dB, set this property to `true` (default). When you set this property to `false`, the path gains are not normalized.

`UserIndex`

User index

User index, specified as a nonnegative integer scalar. The default is `0`.

`TransmissionDirection`

Transmission direction

Transmission direction of the active link, specified as either `'Uplink'` or `'Downlink'`. The default is `'Downlink'`.

`NumTransmitAntennas`

Number of transmit antennas

Number of transmit antennas, specified as a positive integer scalar from `1` to `8`. The default is `1`.

`TransmitAntennaSpacing`

Distance between transmit antenna elements

Distance between transmit antenna elements, specified as a real positive scalar expressed in wavelengths. The default is `0.5`. This property is available when `NumTransmitAntennas` is greater than `1`.

`NumReceiveAntennas`

Number of receive antennas, specified as a positive integer scalar from `1` to `8`. The default is `1`.

`ReceiveAntennaSpacing`

Distance between receive antenna elements, specified as a real positive scalar expressed in wavelengths. The default is `0.5`. This property is available when `NumReceiveAntennas` is greater than `1`.

`LargeScaleFadingEffect`

Type of large-scale fading effects, specified as `'None'`, `'Pathloss'`, `'Shadowing'`, or `'Pathloss and shadowing'`. The default is `'None'`.

`TransmitReceiveDistance`

Distance between the transmitter and receiver (m)

Distance in meters between the transmitter and receiver, specified as a real positive scalar. The default is `3`.

`FluorescentEffect`

Enable fluorescent effect

To include Doppler effects due to fluorescent lighting, set this property to `true` (default). This property is available when you set `DelayProfile` to `'Model-D'` or `'Model-E'`.

`PowerLineFrequency`

Frequency of the power line (Hz)

Frequency of the power line in Hz, specified as `'50Hz'` or `'60Hz'`. The default is `'60Hz'`. This property is available when you set `FluorescentEffect` to `true` and `DelayProfile` to `'Model-D'` or `'Model-E'`.

`NormalizeChannelOutputs`

Normalize channel outputs

To normalize the channel outputs by the number of receive antennas, set this property to `true` (default).

`RandomStream`

Source of random number stream

Source of random number stream, specified as ```'Global stream'``` or `'mt19937ar with seed'`. The default is `'Global stream'`.

If you set `RandomStream` to ```'Global stream'```, the current global random number stream is used for normally distributed random number generation. In this case, the `reset` method resets the filters only.

If you set `RandomStream` to ```'mt19937ar with seed'```, the mt19937ar algorithm is used for normally distributed random number generation. In this case, the `reset` method not only resets the filters but also reinitializes the random number stream to the value of the `Seed` property.

`Seed`

Initial seed of mt19937ar random number stream

Initial seed of an mt19937ar random number generator algorithm, specified as a real, nonnegative integer scalar. The default is `73`. This property applies when you set the `RandomStream` property to `'mt19937ar with seed'`. The `Seed` property reinitializes the mt19937ar random number stream in the `reset` method.

`PathGainsOutputPort`

Enable path gain output

To enable computation of path gain output, set this property to `true`. The default value of this property is `false`.

## Methods

 info Characteristic information about TGac Channel reset Reset states of the `wlanTGacChannel` object step Filter signal through 802.11ac multipath fading channel
Common to All System Objects
`clone`

Create System object with same property values

`getNumInputs`

Expected number of inputs to a System object

`getNumOutputs`

Expected number of outputs of a System object

`isLocked`

Check locked states of a System object (logical)

`release`

Allow System object property value changes

## Examples

expand all

Generate a VHT waveform and pass it through a TGac SISO channel. Display the spectrum of the resultant signal.

Set the channel bandwidth and the corresponding sample rate.

```bw = 'CBW80'; fs = 80e6; ```

Generate a VHT waveform.

```cfg = wlanVHTConfig; txSig = wlanWaveformGenerator(randi([0 1],1000,1),cfg); ```

Create a TGac SISO channel with path loss and shadowing enabled.

```tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',bw, ... 'LargeScaleFadingEffect','Pathloss and shadowing'); ```

Pass the VHT waveform through the channel.

```rxSig = tgacChan(txSig); ```

Plot the spectrum of the received waveform.

```saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'YLimits',[-120 -40]); saScope(rxSig) ```

Because path loss and shadowing are enabled, the mean received power across the spectrum is approximately -60 dBm.

Create a VHT waveform having four transmit antennas and two space-time streams.

```cfg = wlanVHTConfig('NumTransmitAntennas',4,'NumSpaceTimeStreams',2, ... 'SpatialMapping','Fourier'); txSig = wlanWaveformGenerator([1;0;0;1],cfg); ```

Create a 4x2 MIMO TGac channel and disable large-scale fading effects.

```tgacChan = wlanTGacChannel('SampleRate',80e6,'ChannelBandwidth','CBW80', ... 'NumTransmitAntennas',4,'NumReceiveAntennas',2, ... 'LargeScaleFadingEffect','None'); ```

Pass the transmit waveform through the channel.

```rxSig = tgacChan(txSig); ```

Display the spectrum of the two received space-time streams.

```saScope = dsp.SpectrumAnalyzer('SampleRate',80e6, ... 'ShowLegend',true, ... 'ChannelNames',{'Stream 1','Stream 2'}); saScope(rxSig) ```

Transmit a VHT-LTF and a VHT data field through a noisy 2x2 MIMO channel. Demodulate the received VHT-LTF to estimate the channel coefficients. Recover the VHT data and determine the number of bit errors.

Set the channel bandwidth and corresponding sample rate.

```bw = 'CBW160'; fs = 160e6; ```

Create VHT-LTF and VHT data fields having two transmit antennas and two space-time streams.

```cfg = wlanVHTConfig('ChannelBandwidth',bw, ... 'NumTransmitAntennas',2,'NumSpaceTimeStreams',2); txPSDU = randi([0 1],8*cfg.PSDULength,1); txLTF = wlanVHTLTF(cfg); txDataSig = wlanVHTData(txPSDU,cfg); ```

Create a 2x2 MIMO TGac channel.

```tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',bw, ... 'NumTransmitAntennas',2,'NumReceiveAntennas',2); ```

Create an AWGN channel noise, setting SNR = 15 dB.

```chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',... 'SNR',15); ```

Pass the signals through the TGac channel and noise models.

```rxLTF = chNoise(tgacChan(txLTF)); rxDataSig = chNoise(tgacChan(txDataSig)); ```

Create an AWGN channel for a 160 MHz channel with a 9 dB noise figure. The noise variance, `nVar`, is equal to kTBF, where k is Boltzmann's constant, T is the ambient temperature of 290 K, B is the bandwidth (sample rate), and F is the receiver noise figure.

```nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10); rxNoise = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar); ```

Pass the signals through the reciever noise model.

```rxLTF = rxNoise(rxLTF); rxDataSig = rxNoise(rxDataSig); ```

Demodulate the VHT-LTF. Use the demodulated signal to estimate the channel coefficients.

```dLTF = wlanVHTLTFDemodulate(rxLTF,cfg); chEst = wlanVHTLTFChannelEstimate(dLTF,cfg); ```

Recover the data and determine the number of bit errors.

```rxPSDU = wlanVHTDataRecover(rxDataSig,chEst,nVar,cfg); numErr = biterr(txPSDU,rxPSDU) ```
```numErr = 0 ```

## Algorithms

The algorithms used to model the TGac channel are based on those used for the TGn channel and are described in `wlanTGnChannel` and [1]. The changes to support the TGac channel include:

• Increased bandwidth

• Higher-order MIMO

• Multi-user MIMO

• Reduced Doppler

• Dual-polarized antennas

Complete information on the changes required to support TGac channels can be found in [2].

### Increased Bandwidth

TGac channels support bandwidths of up to 1.28 GHz, whereas TGn channels have a maximum bandwidth of 40 MHz. By increasing the sampling rate and decreasing the tap spacing of the power delay profile (PDP), the TGn model is used as the basis for TGac. The channel sampling rate is increased by a factor of ${2}^{⌈{\mathrm{log}}_{2}\left(W/40\right)⌉}$, where W is the bandwidth. The PDP tap spacing is reduced by the same factor.

Bandwidth, WSampling Rate Expansion FactorPDP Tap Spacing (ns)
W ≤ 40 MHz110
40 MHz < W ≤ 80 MHz25
80 MHz < W ≤ 160 MHz42.5
160 MHz < W ≤ 320 MHz81.25
320 MHz < W ≤ 640 MHz160.625
640 MHz < W ≤ 1280 MHz320.3125

### MIMO Enhancements

The TGn channel model supports no more than 4x4 MIMO, while the TGac model supports 8x8 MIMO.

The TGac model also includes support for multiple users as simultaneous communication takes place between access points and user stations. Accordingly, the TGac model extends the concept of cluster angles of arrival and departure to account for point-to-multipoint transmission. Further details are described in [2].

### Reduced Doppler

Indoor channel measurements indicate that the magnitude of Doppler assumed in the TGn channel model is too high for stationary users. As such, the TGac channel model uses a reduced environment velocity of 0.089 km/hr. This model assumes a coherence time of 800 ms or, equivalently, an RMS Doppler spread of 0.4 Hz for a 5 GHz carrier frequency.

## References

[1] Erceg, V., L. Schumacher, P. Kyritsi, et al. TGn Channel Models. Version 4. IEEE 802.11-03/940r4, May 2004.

[2] Breit, G., H. Sampath, S. Vermani, et al.TGac Channel Model Addendum. Version 12. IEEE 802.11-09/0308r12, March 2010.

[3] Kermoal, J. P., L. Schumacher, K. I. Pedersen, P. E. Mogensen, and F. Frederiksen, “A Stochastic MIMO Radio Channel Model with Experimental Validation”. IEEE Journal on Selected Areas in Communications., Vol. 20, No. 6, August 2002, pp. 1211–1226.