wlanReferenceSymbols

Find reference symbols of constellation diagram

Description

example

refSym = wlanReferenceSymbols(mod) returns the reference symbols of the constellation diagram for the specified modulation scheme.

example

refSym = wlanReferenceSymbols(mod,phase) returns reference symbols with counterclockwise rotation phase for the specified modulation scheme.

refSym = wlanReferenceSymbols(cfg) returns the reference symbols used in the data field of a single-user (SU) transmission or a recovered high-efficiency (HE) transmission parameterized by the configuration object cfg.

example

refSym = wlanReferenceSymbols(cfg,userNumber) returns the reference symbols used in the data field for the user specified by userNumber in a multiuser (MU) transmission specified by MU-format configuration object cfg.

Examples

collapse all

Fine reference symbols for a quadrature phase-shift keying (QPSK) modulation scheme and plot the resulting constellation.

Generate noisy QPSK symbols.

sym =  awgn(qammod(randi([0 3],100,1),4)/sqrt(2),20);

Find the reference symbols.

refSym =  wlanReferenceSymbols('QPSK');

Plot the constellation diagram.

figure;
plot(sym,'b.');
hold on;
plot(refSym,'ro');
title('Noisy QPSK Constellation with Reference Symbols');
legend('Noisy symbols','Reference symbols','Location','South');

Find reference symbols for a chosen modulation scheme and counterclockwise rotation.

Reference Symbols for π2-BPSK

Specify a π2-BPSK modulation scheme and a counterclockwise rotation of π6.

mod = 'pi/2-BPSK';
phase =  pi/6;

Find the reference symbols for the chosen modulation and rotation.

refSym = wlanReferenceSymbols(mod,phase);

Display the reference symbols on a constellation diagram.

figure;
plot(refSym,'b*');
hold on;
title('Reference Symbols for $\frac{\pi}{2}$-BPSK','Interpreter','latex');
legend('Reference symbols');

Reference Symbols for π2-16-QAM

Specify a π2-16-QAM modulation scheme and a counterclockwise rotation of π3.

mod = 'pi/2-16QAM';
phase =  pi/3;

Find the reference symbols for the chosen modulation and rotation.

refSym = wlanReferenceSymbols(mod,phase);

Display the reference symbols on a constellation diagram.

figure;
plot(refSym,'b*');
hold on;
title('Reference Symbols for $\frac{\pi}{2}$-16-QAM','Interpreter','latex');
legend('Reference symbols');

Plot the reference constellation for a user in a very-high-throughput (VHT) multiuser configuration.

Create a VHT-format configuration object, setting channel bandwidth, number of users, group identifier, number of transmit antennas, number of space-time streams, and modulation and coding schemes.

cfg = wlanVHTConfig('ChannelBandwidth','CBW20','NumUsers',2,'GroupID',2, ...
    'NumTransmitAntennas',2,'NumSpaceTimeStreams',[1 1],'MCS',[8 4]);

Find the reference symbols for both users and plot the constellations.

refSym1 = wlanReferenceSymbols(cfg,1);
refSym2 = wlanReferenceSymbols(cfg,2);
figure;
plot(refSym1,'b*'); hold on
plot(refSym2,'ro');
title('Reference Constellations for Both Users')
legend('User 1','User 2','Location','bestoutside');

Input Arguments

collapse all

Modulation scheme, specified as one of these values:

  • 'BPSK' – Indicates binary phase-shift keying (BPSK)

  • 'pi/2-BPSK' – Indicates π/2-BPSK

  • 'QPSK' – Indicates quadrature phase-shift keying (QPSK)

  • 'pi/2-QPSK' – Indicates π/2-QPSK

  • '16QAM' – Indicates 16-point quadrature amplitude modulation (16-QAM)

  • 'pi/2-16QAM' – Indicates π/2-16-QAM

  • '64QAM' – Indicates 64-QAM

  • 'pi/2-64QAM' – Indicates π/2-64-QAM

  • '256QAM' – Indicates 256-QAM

  • '1024QAM' – Indicates 1024-QAM

Data Types: char | string

Counterclockwise rotation, in radians, specified as a real-valued scalar or real-valued row vector. To return reference symbols for different phases, specify phase as a row vector in which each element represents a chosen phase.

Data Types: double

Physical layer (PHY) format configuration, specified as one of these objects: wlanHESUConfig, wlanHEMUConfig, wlanHETBConfig, wlanHERecoveryConfig, wlanDMGConfig, wlanS1GConfig, wlanVHTConfig, wlanHTConfig, or wlanNonHTConfig.

Number assigned to user of interest, specified as a positive integer in the interval [1, Nu], where Nu is the number users in the transmission.

This argument is required when you specify the cfg input as an object of type wlanHEMUConfig, wlanS1GConfig, or wlanVHTConfig.

If cfg is a wlanHEMUConfig object, Nu is equal to the number of elements in the value of its User property. If cfg is a wlanS1GConfig or wlanVHTConfig object, Nu is equal to the value of its NumUsers.

Dependencies

This argument applies only when the cfg input is an object of type wlanHEMUConfig, wlanS1GConfig, or wlanVHTConfig.

Data Types: double

Output Arguments

collapse all

Reference symbols of constellation diagram, returned as a complex-valued column vector.

Data Types: double
Complex Number Support: Yes

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

Functions

Objects

Introduced in R2019a