Main Content

umtsUplinkWaveformGenerator

UMTS uplink waveform generation

Description

waveform = umtsUplinkWaveformGenerator(config) returns the Universal Mobile Telecommunications Service (UMTS) uplink waveform defined by the configuration structure, config. This function supports Wideband Code Division Multiple Access (W-CDMA), High-Speed Uplink Packet Access (HSUPA), and Evolved High-Speed Uplink Packet Access (HSPA+) waveform generation. The top-level parameters and lower-level substructures of config characterize the waveform and channel properties of the umtsUplinkWaveformGenerator function output. The config input is generated using the umtsUplinkReferenceChannels function; config includes top-level parameters and substructures to describe the different channels to include in the waveform. The top-level parameters of config are: TotFrames, ScramblingCode, FilterType, OversamplingRatio, and NormalizedPower. To enable the specific channels, you can add associated substructures: DPDCH, DPCCH, HSUPA, and HSDPCCH.

example

Examples

collapse all

Initialize an 'RMC384kbps' reference channel and generate the UMTS waveform that corresponds to these settings.

Generate the configuration structure, config.

rc = 'RMC384kbps';
config = umtsUplinkReferenceChannels(rc);

Generate the desired waveform using config as the input to the waveform generation function. Create a spectrum analyzer object sampling at chiprate x OversamplingRatio. Plot the waveform.

waveform = umtsUplinkWaveformGenerator(config);
saScope = spectrumAnalyzer(SampleRate=3.84e6*config.OversamplingRatio);
saScope(waveform);

Input Arguments

collapse all

Top-Level Parameters and Substructures

Definition of the channels included by the waveform generator, specified as a structure.

Parameter Field

Required or Optional

Values

Description

TotFramesRequired

Positive integer

Total number of frames to be generated, specified as a positive integer.

ScramblingCodeRequired

Nonnegative integer

Scrambling code index used by user equipment (UE), specified as a nonnegative integer in the interval [0, 224–1].

FilterTypeRequired'RRC' (default), or 'Off'

Enable or disable the RRC Filter by specifying FilterType as 'RRC' or 'Off', respectively.

OversamplingRatioRequired

Positive integer

Oversampling ratio, specified as a positive integer.

NormalizedPowerRequired

Float, –inf, inf, 'Off'

Overall waveform power in dBW relative to 1 ohm, specified as a float, –inf, inf, or 'Off'. Disable power normalization by specifying NormalizedPower as 'Off'.

DPDCHOptional

Not present or structure

See DPDCH Substructure.
DPCCHOptional

Not present or structure

See DPCCH Substructure.
HSUPAOptional

Not present or structure

See HSUPA Substructure.
HSDPCCHOptional

Not present or structure

See HSDPCCH Substructure.

DPDCH Substructure

To add the dedicated physical data channel (DPDCH) to the output structure, include the DPDCH substructure in the config structure. The DPDCH substructure contains the following fields.

Parameter Field

Required or Optional

Values

Description

EnableRequired'On', 'Off'

Enable or disable the channel by specifying Enable as 'On' or 'Off, respectively.

SlotFormatRequired

Nonnegative integer

DPDCH slot format number, specified as 0, 1, 2, 3, 4, 5, or 6.

CodeCombinationRequired

Nonnegative integer, vector

Valid spreading factors, specified as a power of two or a vector of powers of two in the interval [4, 256].

PowerRequired

Float, –inf, inf

Channel power in dB, specified as a float, –inf, or inf.

DataSourceRequired

Scalar, vector, character vector, cell array, string scalar

DPDCH data source, specified as a scalar, vector, cell array, or string scalar.

When defined as a cell array, use standard PN sequences and a seed value: {PN, seed}. PN options for character vector or cell array are 'PN9-ITU', 'PN9', 'PN11', 'PN15', and 'PN23'. If no seed is specified, the shift register is initialized with all ones.

To enable transport channel coding, specify DataSource as 'CCTrCH'.

CCTrCHOptional

Structure

See CCTrCH Substructure.

CCTrCH Substructure

The CCTrCH substructure is associated with the DPDCH physical channel definition substructures. The CCTrCH substructure contains the following fields.

Parameter Field

Required or Optional

Values

Description

NameOptional

Character vector, string scalar

Default depends on the physical channel specified

Name assigned to the CCTrCH, specified as a character vector or a string scalar. Functions do not use the Name field. Therefore, you can redefine the content with no consequence.

TrCHRequired

Structure, structure array

Transport channels in the CCTrCH, specified as a structure or a structure array.

  TrCH.NameRequired

Character vector or string scalar

Default depends on the physical channel specified

Name assigned to the TrCH, specified as a character vector or a string scalar. Functions do not use the Name field. Therefore, you can redefine the content with no consequence.

  TrCH.CRCRequired

Character vector, string scalar

Cyclic redundancy check (CRC) polynomial specifier, specified as one of these values: '0', '8', '12', '16', or '24'.

  TrCH.TTIRequired

Positive integer

Transmission Time Interval (TTI) in ms, specified as 10, 20, 40, or 80.

  TrCH.CodingTypeRequired

'turbo', 'conv2', 'conv3'

Channel coding type and rate, specified as 'turbo', 'conv2', or 'conv3'.

  TrCH.RMARequired

Positive integer

Rate matching attribute value, specified as a positive integer in the interval [1, 256].

  TrCH.DataSourceRequired

Binary scalar, binary vector, character vector, cell array, or string scalar

Transport channel data source, specified as a binary scalar, a vector with binary entries, a cell array, or a string scalar.

When defined as a cell array use standard PN sequences and a seed value: {PN, seed}. PN options for character vector or cell array are 'PN9-ITU', 'PN9', 'PN11', 'PN15', and 'PN23'. If no seed is specified, the shift register is initialized with all ones.

Examples for setting the DataSource field include:

  • ...CCTrCH.TrCh(1).DataSource = [1 0 0 1], generates a sequence of transport blocks by looping the vector [1 0 0 1].

  • ...CCTrCH.TrCh(1).DataSource = 'PN9', generates a physical channel data block with random seed = 511.

  • ...CCTrCH.TrCh(1).DataSource = {'PN9',5}, generates a physical channel data block with seed = 5.

  TrCH.ActiveDynamicPartRequired

Positive integer, vector

Active dynamic part, specified as a positive integer or a vector whose entries are positive integers in the interval [1, length(DynamicPart)].

The ActiveDynamicPart field indicates the DynamicPart array index for the active transport format (BlockSize, BlockSetSize) from available combinations defined in DynamicPart. The selected transport format is used for data transmission in the current TTI.

  TrCH.DynamicPartRequired

Structure, structure array

Size of each transport block, specified as a structure or a structure array.

The DynamicPart fields, BlockSize and BlockSetSize, define the size of each transport block and the total bits per transport block set. As a pair (BlockSize, BlockSetSize) describe a transport format set. DynamicPart defines one or multiple transport format sets.

  TrCH.DynamicPart.BlockSizeRequired

Positive integer

Transport block length, specified as a positive integer.

  TrCH.DynamicPart.BlockSetSizeRequired

Integer, multiple of BlockSize

Total number of bits in the transport block set. Implementation does not support multiple transport blocks, so by definition BlockSize is equal to BlockSetSize.

DPCCH Substructure

To add the dedicated physical control channel (DPCCH) to the output structure, include the DPCCH substructure in the config structure. The DPCCH substructure contains the following fields.

Parameter Field

Required or Optional

Values

Description

EnableRequired'On', 'Off'

Enable or disable the channel by setting Enable to 'On' or 'Off', respectively.

SlotFormatRequired

Nonnegative integer

DPCCH slot format number, specified as 0, 1, 2, 3, 4, or 5.

PowerRequired

Float, –inf, inf

DPCCH power in dB, specified as a float, –inf, or inf.

TPCDataRequired

Binary scalar, binary vector

Transmit power control data, specified as a binary scalar or a vector with binary entries.

TFCIRequired

Nonnegative integer

Transport format combination indicator, specified as a nonnegative integer in the interval [0, 1023].

FBIDataRequired

Binary scalar, binary vector

Feedback information data, specified as a binary scalar or a vector with binary entries.

HSUPA Substructure

To add the high-speed uplink packet access (HSUPA) information and channels to the output structure, include the HSUPA substructure in the config structure. The HSUPA substructure contains the following fields.

Parameter Field

Required or Optional

Values

Description

EnableRequired'On', 'Off'

Enable or disable the channel by specifying Enable as 'On' or 'Off', respectively.

CodeCombinationRequired

Positive integer, vector

Valid one-code combinations for BPSK modulation are: 2, 4, 8, 16, 32, 64, 128, and 256.

Valid two-code combinations for BPSK modulation are [2 2] and [4 4].

The valid four-code combination for BPSK and 4PAM modulation is [2 2 4 4].

EDPDCHPowerRequired

Float, –inf, inf

E-DPDCH channel power in dB, specified as a float, –inf, or inf.

EDPCCHPowerRequiredFloat, –inf, inf

E-DPCCH channel power in dB, specified as a float, –inf, or inf.

RSNSequenceRequired

Vector

Retransmission sequence numbers, specified as a vector whose entries are 0, 1, 2, or 3. The length of this vector determines the number of retransmissions.

ETFCIRequired

Nonnegative integer

E-TFCI value, specified as a nonnegative integer in the interval [0, 127].

HappyBitRequired

0 or 1

Happy bit, specified as 0 or 1.

DataSourceRequired

Scalar, vector, character vector, cell array, or string scalar

E-DPDCH data source, specified as a binary scalar, a vector with binary entries, a character vector, a cell array, or a string scalar.

When specifying DataSrouce as a cell array, use standard PN sequences and a seed value: {PN, seed}. PN options for character vector or cell array are 'PN9-ITU', 'PN9', 'PN11', 'PN15', and 'PN23'. If no seed is specified, the shift register is initialized with all ones.

To enable transport channel coding, specify DataSource as 'EDCH'.

EDCHRequired

Structure

Enhanced dedicated channel (EDCH), specified as a structure.

  EDCH.BlockSizeRequired

Nonnegative integer

Transport block size, specified as a nonnegative integer.

  EDCH.TTIRequired

2, 10

Transmission Time Interval (TTI), in ms, specified as 2 or 10.

  EDCH.ModulationRequired'BPSK', '4PAM'

Modulation scheme, specified as 'BPSK' or '4PAM'.

  EDCH.DataSourceRequired

Scalar, vector, character vector, cell array, or string scalar

E-DCH transport data source, specified as a binary scalar, a vector with binary entries, a character vector, a cell array, or a string scalar.

When specifying DataSource as a cell array, use standard PN sequences and a seed value: {PN, seed}. PN options for character vector or cell array are 'PN9-ITU', 'PN9', 'PN11', 'PN15', and 'PN23'. If no seed is specified, the shift register is initialized with all ones.

HSDPCCH Substructure

Include HSDPCCH substructure in config structure To add the high speed dedicated physical control channel (HS-DPCCH) to the output structure. The HSDPCCH substructure contains the following fields.

Parameter Field

Required or Optional

Values

Description

EnableRequired'On', 'Off'

Enable or disable the channel by specifying Enable as 'On' or 'Off', respectively.

PowerRequired

Float, –inf, inf

HS-DPCCH channel power in dB, specified as a float, –inf, or inf.

CQIRequired

Nonnegative integer, vector

CQI values, specified as a nonnegative integer or a vector whose entries are nonnegative integers in the interval [0, 30].

HARQACKRequired

Nonnegative integer, vector

HARQACK messages, specified as a nonnegative integer or a vector whose entries are nonnegative integers in the interval [0, 3].

UEMIMORequired

0, 1

Flag to indicate MIMO mode, specified as 0 or 1.

Output Arguments

collapse all

Modulated baseband waveform containing the UMTS physical channels, returned as a complex vector array, sampled at (3.84 × config.OversamplingRatio) MHz.

Data Types: double
Complex Number Support: Yes

References

[1] 3GPP TS 25.101. “Universal Mobile Telecommunications System (UMTS); User Equipment (UE) Radio Transmission and Reception (FDD).” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

[2] 3GPP TS 25.141. “Universal Mobile Telecommunications System (UMTS); Base Station (BS) Conformance Testing (FDD).” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2015a