Main Content

cdma2000ReverseWaveformGenerator

Generate cdma2000 reverse link waveform

Description

waveform = cdma2000ReverseWaveformGenerator(cfg) returns the cdma2000® reverse link baseband waveform, waveform as defined by the parameter configuration structure, cfg.

The top-level parameters and lower-level substructures of cfg specify the waveform and channel properties used by the function to generate a cdma2000 waveform. You can generate the input argument by using the cdma2000ReverseReferenceChannels function. The top-level parameters of cfg are RadioConfiguration, LongCodeState, PowerNormalization, OversamplingRatio, FilterType, InvertQ, EnableModulation, ModulationFrequency, and NumChips. To enable specific channels, add their associated substructures, for example, the reverse dedicated control channel, RDCCH.

Note

The tables herein list the allowable values for the top-level parameters and substructure fields. However, not all combinations of spreading rate, radio configuration, frame length, and data rate are supported. To ensure that the input argument is valid, use the cdma2000ReverseReferenceChannels function. If you input the structure fields manually, consult [1] to ensure that the input parameter combinations are permitted.

example

Examples

collapse all

Generate the structure corresponding to the reverse common control channel (R-CCCH) having a 19,200 bps data rate and 10 ms frames.

config = cdma2000ReverseReferenceChannels('R-CCCH-19200-10');

Verify that the R-CCCH substructure is configured for the correct data rate and frame duration.

config.RCCCH
ans = struct with fields:
          Enable: 'On'
           Power: 0
    LongCodeMask: 0
    EnableCoding: 'On'
      DataSource: {'PN9'  [1]}
        DataRate: 19200
     FrameLength: 10
       WalshCode: 1

Generate the reverse channel waveform using the corresponding waveform generator function, cdma2000ReverseWaveformGenerator.

wv = cdma2000ReverseWaveformGenerator(config);

Create a configuration structure for a reverse channel having an R-FCH with a 4800 bps data rate and two R-SCHs. Specify that each R-SCH have a 153,600 bps data rate using RC5.

config = cdma2000ReverseReferenceChannels( ...
    "TRAFFIC-RC5-4800", ...
    5000, ...
    "R-SCH-153600-40");

Determine the sample rate. Because RC5 corresponds to SR3, the chip rate is 3.6864 Mcps. Multiply by the oversampling ratio to obtain the sample rate.

fs = 3.6864e6*config.OversamplingRatio;

Generate the reverse link waveform.

wv = cdma2000ReverseWaveformGenerator(config);

Plot the spectrum of the resultant waveform.

sa = spectrumAnalyzer(SampleRate=fs);
sa(wv)
release(sa)

Create a parameter structure specifying a reverse traffic channel containing a pair of supplemental channels and generate the corresponding waveform.

Create a parameter structure specifying a traffic channel consisting of a 14,400 bps fundamental channel, 2000 chips, and a 57,600 bps supplemental channel (R-SCH) pair having a 40 ms frame duration.

cfg = cdma2000ReverseReferenceChannels( ...
    "TRAFFIC-RC4-14400", ...
    2000, ...
    "F-SCH-57600-40");

Create a second R-SCH pair by copying the R-SCH fields from the existing pair.

cfg(2).RSCH1 = cfg.RSCH1;
cfg(2).RSCH2 = cfg.RSCH2;

Set the data rate of the second R-SCH pair to 28,800 bps.

cfg(2).RSCH1.DataRate = 28800;
cfg(2).RSCH2.DataRate = 28800;

Set the Walsh codes of the second pair so that they differ from the first pair.

cfg(2).RSCH1.WalshCode = 4;
cfg(2).RSCH2.WalshCode = 5;

Verify that the data rates are set correctly and that no two supplemental channels share the same Walsh code.

cfg.RSCH1
ans = struct with fields:
          Enable: 'On'
           Power: 0
    LongCodeMask: 0
    EnableCoding: 'On'
      DataSource: {'PN9'  [1]}
        DataRate: 57600
     FrameLength: 40
     WalshLength: 2
       WalshCode: 0

ans = struct with fields:
          Enable: 'On'
           Power: 0
    LongCodeMask: 0
    EnableCoding: 'On'
      DataSource: {'PN9'  [1]}
        DataRate: 28800
     FrameLength: 40
     WalshLength: 2
       WalshCode: 4

cfg.RSCH2
ans = struct with fields:
          Enable: 'On'
           Power: 0
    LongCodeMask: 0
    EnableCoding: 'On'
      DataSource: {'PN9'  [1]}
        DataRate: 57600
     FrameLength: 40
     WalshLength: 2
       WalshCode: 1

ans = struct with fields:
          Enable: 'On'
           Power: 0
    LongCodeMask: 0
    EnableCoding: 'On'
      DataSource: {'PN9'  [1]}
        DataRate: 28800
     FrameLength: 40
     WalshLength: 2
       WalshCode: 5

Generate the reverse link waveform.

wv = cdma2000ReverseWaveformGenerator(cfg);

Input Arguments

collapse all

Configuration of the parameters and channels used by the waveform generator. The configuration structure is defined in these tables.

Top-Level Parameters and Substructures

Parameter Field

Values

Description

RadioConfiguration'RC1' | 'RC2' | 'RC3' | 'RC4' | 'RC5' | 'RC6'

Radio configuration of the reverse channel. The spreading rate of the waveform is derived from the radio configuration. Spreading rate 1, SR1, corresponds to a 1.2288 Mcps carrier and is associated with RC1 through RC4. Spreading rate 3, SR3, corresponds to a 3.6864 Mcps carrier and is associated with RC5 and RC6.

PowerNormalization'Off' | 'NormalizeTo0dB'

Power normalization of the waveform

NumChips

Positive scalar integer

Number of chips in the waveform

OversamplingRatio

Positive scalar integer

Oversampling ratio at output

FilterType'cdma2000Long' | 'cdma2000Short' | 'Off' | 'Custom'

Type of output filtering

CustomFilterCoefficients

Real vector

Custom filter coefficients used only when the FilterType field is set to 'Custom'

InvertQ'Off' | 'On'

Negate the quadrature output

EnableModulation'Off' | 'On'

Enable carrier modulation

ModulationFrequency

Nonnegative scalar integer

Carrier modulation frequency (applies when EnableModulation is 'On')

RPICH

Structure

See RPICH Substructure. Optional.
RACH

Structure

See RACH Substructure. Optional.
REACH

Structure

See REACH Substructure. Optional.
RCCCH

Structure

See RCCCH Substructure. Optional.
RDCCH

Structure

See RDCCH Substructure. Optional.
RFCH

Structure

See RFCH Substructure. Optional.
RSCCH

Structure

See RSCCH Substructure. Optional.
RSCH1

Structure

See RSCH1 Substructure. Optional.
RSCH2

Structure

See RSCH2 Substructure. Optional.

RPICH Substructure

Include the RPICH substructure in the cfg structure to configure the Reverse Pilot Channel (R-PICH). The RPICH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

LongCodeMask

42-bit binary number

Long code identifier

PowerControlEnable'On' | 'Off'

Enable or disable power control subchannel

PowerControlPower

Real scalar

Power control subchannel power (relative to R-PICH)

PowerControlDataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Power control subchannel data source

RACH Substructure

Include the RACH substructure in the cfg structure to configure the Reverse Access Channel (R-ACH). The RACH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array: {'PN Type', RN Seed} or a binary vector.

Standard PN types are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a binary vector.

REACH Substructure

Include the REACH substructure in the cfg structure to configure the Reverse Enhanced Access Channel (R-EACH). The REACH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate

9600 | 19200 | 38400

Data rate (bps)

FrameLength5 | 10 | 20

Frame length (ms)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 7

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array: {'PN Type', RN Seed} or a binary vector.

Standard PN types are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a binary vector.

RCCCH Substructure

Include the RCCCH substructure in the cfg structure to configure the Reverse Common Control Channel (R-CCCH). The RCCCH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate9600 | 19200 | 38400

Data rate (bps)

FrameLength5 | 10 | 20

Frame length (ms)

CodingType'conv' | 'turbo'

Type of error control coding

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 7

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array: {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

RDCCH Substructure

Include the RDCCH substructure in the cfg structure to configure the Reverse Dedicated Control Channel (R-DCCH). The RDCCH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

FrameLength5 | 20

Frame length (ms)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 15

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

RFCH Substructure

Include the RFCH substructure in the cfg structure to configure the Reverse Fundamental Traffic Channel (R-FCH). The RFCH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate1200 | 1500 | 1800 | 2400 | 2700 | 3600 | 4800 | 7200 | 9600 | 14400

Data rate (bps)

FrameLength5 | 10 | 20

Frame length (ms)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 15

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

RSCCH Substructure

Include the RSCCH substructure in the cfg structure to configure the Reverse Supplemental Code Channel (R-SCCH). The RSCCH substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

RSCH1 Substructure

Include the RSCH1 substructure in the cfg structure to configure the Reverse Supplemental Channel 1 (R-SCH 1). The RSCH1 substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate1200 | 1350 | 1500 | 1800 | 2400 | 2700 | 3600 | 4800 | 7200 | 9600 | 14400 | 19200 | 28800 | 38400 | 57600 | 76800 | 115200 | 153600 | 230400 | 259200 | 307200 | 460800 | 518400 | 614400 | 1036800

Data rate (bps)

FrameLength20 | 40 | 80

Frame length (ms)

WalshLength2 | 4

Walsh code length

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCodeWalshLength – 1

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

RSCH2 Substructure

Include the RSCH2 substructure in the cfg structure to configure the Reverse Supplemental Channel 2 (R-SCH 2). The RSCH2 substructure contains the following fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate1200 | 1350 | 1500 | 1800 | 2400 | 2700 | 3600 | 4800 | 7200 | 9600 | 14400 | 19200 | 28800 | 38400 | 57600 | 76800 | 115200 | 153600 | 230400 | 259200 | 307200 | 460800 | 518400 | 614400 | 1036800

Data rate (bps)

FrameLength20 | 40 | 80

Frame length (ms)

WalshLength4 | 8

Walsh code length

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCodeWalshLength – 1

Walsh code number

LongCodeMask

42-bit binary number

Long code identifier

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

Cell array, {'PN Type', RN Seed} or binary vector.

Standard PN sequence options are 'PN9', 'PN15', 'PN23', 'PN9-ITU', and 'PN11'.

Data source. Specify a standard PN sequence with a random number seed or a custom vector.

Output Arguments

collapse all

Modulated baseband waveform comprising the cdma2000 physical channels, returned as a complex vector array.

References

[1] 3GPP2 C.S0002–F v2.0. “Physical Layer Standard for cdma2000 Spread Spectrum Systems.” 3rd Generation Partnership Project 2.

Version History

Introduced in R2015b