Main Content

cdma2000ForwardWaveformGenerator

Generate cdma2000 forward link waveform

Description

example

[waveform1,waveform2] = cdma2000ForwardWaveformGenerator(cfg) returns the cdma2000® forward link baseband primary waveform, waveform1, and the forward link diversity waveform, waveform2, as defined by the parameter definition structure, cfg.

The top-level parameters and lower-level substructures of cfg specify the waveform and channel properties the function uses to generate a cdma2000 waveform. You can generate cfg by using the cdma2000ForwardReferenceChannels function. The top-level parameters of cfg are SpreadingRate, Diversity, QOF, PNOffset, LongCodeState, PowerNormalization, CustomFilterCoefficients, OversamplingRatio, FilterType, InvertQ, EnableModulation, ModulationFrequency, and NumChips. To enable specific channels, add their associated substructures, for example, the forward paging channel, FPCH.

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 cdma2000ForwardReferenceChannels function. If you input the structure fields manually, consult [1] to ensure that the input parameter combinations are permitted.

Examples

collapse all

Create a parameter structure, config, for all forward traffic channels (F-FCH and F-SCCH) that are supported by radio configuration 2.

config = cdma2000ForwardReferenceChannels('ALL-RC2')
config = struct with fields:
          SpreadingRate: 'SR1'
              Diversity: 'NTD'
                    QOF: 'QOF1'
               PNOffset: 0
          LongCodeState: 0
     PowerNormalization: 'Off'
      OversamplingRatio: 4
             FilterType: 'cdma2000Long'
                InvertQ: 'Off'
       EnableModulation: 'Off'
    ModulationFrequency: 0
               NumChips: 1000
                  FPICH: [1x1 struct]
                 FAPICH: [1x1 struct]
                FTDPICH: [1x1 struct]
               FATDPICH: [1x1 struct]
                   FPCH: [1x1 struct]
                  FSYNC: [1x1 struct]
                  FBCCH: [1x1 struct]
                  FCACH: [1x1 struct]
                  FCCCH: [1x1 struct]
                 FCPCCH: [1x1 struct]
                  FQPCH: [1x1 struct]
                   FFCH: [1x1 struct]
                  FOCNS: [1x1 struct]
                  FSCCH: [1x1 struct]

Examine the fields for the Forward Fundamental Channel (F-FCH). The data rate is 14,400 bps and the frame length is 20 ms.

config.FFCH
ans = struct with fields:
                Enable: 'On'
                 Power: 0
    RadioConfiguration: 'RC2'
              DataRate: 14400
           FrameLength: 20
          LongCodeMask: 0
          EnableCoding: 'On'
            DataSource: {'PN9'  [1]}
             WalshCode: [7]
             EnableQOF: 'Off'
    PowerControlEnable: 'Off'

Generate the complex waveform using the corresponding waveform generator function.

waveform = cdma2000ForwardWaveformGenerator(config);

A waveform composed of the channels specified by each substructure of config is generated by cdma2000ForwardWaveformGenerator.

Configure a cdma2000 forward link supporting a 307.2 kbps forward supplemental channel (F-SCH) using radio configuration 4.

config = cdma2000ForwardReferenceChannels( ...
    "TRAFFIC-RC4-4800", ...
    20000, ...
    "F-SCH-307200-20")
config = struct with fields:
          SpreadingRate: 'SR1'
              Diversity: 'NTD'
                    QOF: 'QOF1'
               PNOffset: 0
          LongCodeState: 0
     PowerNormalization: 'Off'
      OversamplingRatio: 4
             FilterType: 'cdma2000Long'
                InvertQ: 'Off'
       EnableModulation: 'Off'
    ModulationFrequency: 0
               NumChips: 20000
                  FPICH: [1x1 struct]
                   FFCH: [1x1 struct]
                   FSCH: [1x1 struct]

Generate the waveform and plot its spectrum. The sample rate is equal to the product of the chip rate and the oversampling ratio. RC4 uses spreading rate 1, which is equivalent to a 1.2288 Mcps chip rate.

wv = cdma2000ForwardWaveformGenerator(config);
fs = 1.2288e6 * config.OversamplingRatio;

Change the filter type to "cdma2000Short".

config.FilterType = "cdma2000Short";
wvShortFilt = cdma2000ForwardWaveformGenerator(config);

Use the spectrumAnalyzer object with Method="welch" to plot the spectrum for both waveforms. The 'cdma2000Short' filter does not provide as much out-of-band attenuation as does the 'cdma2000Long' filter.

sa = spectrumAnalyzer( ...
    SampleRate=fs, ...
    Method="welch", ...
    ChannelNames=["cdma2000Long","cdma2000Short"]);
sa(wv,wvShortFilt)

Create a parameter structure that specifies a forward traffic channel. Use it to generate a forward channel waveform.

Create a parameter structure specifying a traffic channel consisting of a 4800 bps fundamental channel, 5000 chips, and a 614.4 kbps supplemental channel (F-SCH) having a 20 ms frame duration.

cfg = cdma2000ForwardReferenceChannels('TRAFFIC-RC7-4800', ...
    5000,'F-SCH-614400-20');

Based on the first F-SCH, create a second F-SCH.

cfg(2).FSCH = cfg.FSCH;

Set the data rate of the second F-SCH to 38.4 kbps. Set the frame duration to 40 ms.

cfg(2).FSCH.DataRate = 38400;
cfg(2).FSCH.FrameLength = 40;
cfg.FSCH
ans = struct with fields:
                Enable: 'On'
                 Power: 0
    RadioConfiguration: 'RC7'
              DataRate: 614400
           FrameLength: 20
          LongCodeMask: 0
          EnableCoding: 'On'
            DataSource: {'PN9'  [1]}
             WalshCode: [2]
             EnableQOF: 'Off'
            CodingType: 'conv'

ans = struct with fields:
                Enable: 'On'
                 Power: 0
    RadioConfiguration: 'RC7'
              DataRate: 38400
           FrameLength: 40
          LongCodeMask: 0
          EnableCoding: 'On'
            DataSource: {'PN9'  [1]}
             WalshCode: [2]
             EnableQOF: 'Off'
            CodingType: 'conv'

Set the Walsh code of the second F-SCH so that it is not identical to the Walsh code of the first F-SCH.

cfg(2).FSCH.WalshCode = 3;

Generate the forward link waveform.

wv = cdma2000ForwardWaveformGenerator(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

SpreadingRate'SR1' | 'SR3'

Spreading rate of the waveform. SR1 corresponds to a 1.2288 Mcps carrier. SR3 corresponds to a 3.6864 Mcps carrier.

SR3 supports direct sequence spreading only.

Diversity'NTD' | 'OTD' | 'STS'

Transmit diversity type (applicable only for SR1), where NTD is no transmit diversity, OTD is orthogonal transmit diversity, and STS is space time spreading

QOF'QOF1' | 'QOF2' | 'QOF3'

Quasi-orthogonal function type

PNOffset

Nonnegative scalar integer

PN offset of the base station

LongCodeState

Positive scalar integer

Initial long code state

PowerNormalization'Off' | 'NormalizeTo0dB' | 'NoiseFillTo0dB'

Power normalization of the waveform

NumChips

Positive scalar integer

Number of chips in the waveform

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'

OversamplingRatio

Positive scalar integer

Oversampling ratio at output

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')

FPICH

Structure

See FPICH Substructure. Optional.
FAPICH

Structure

See FAPICH Substructure. Optional.
FTDPICH

Structure

See FTDPICH Substructure. Optional.
FATDPICH

Structure

See FATDPICH Substructure. Optional.
FSYNC

Structure

See FSYNC Substructure. Optional.
FPCH

Structure

See FPCH Substructure. Optional.
FCCCH

Structure

See FCCCH Substructure. Optional.
FCACH

Structure

See FCACH Substructure. Optional.
FQPCH

Structure

See FQPCH Substructure. Optional.
FCPCCH

Structure

See FCPCCH Substructure. Optional.
FBCCH

Structure

See FBCCH Substructure. Optional.
FFCH

Structure

See FFCH Substructure. Optional.
FDCCH

Structure

See FDCCH Substructure. Optional.
FSCCH

Structure

See FSCCH Substructure. Optional.
FSCH

Structure

See FSCH Substructure. Optional.
FOCNS

Structure

See FOCNS Substructure. Optional.

FPICH Substructure

Include the FPICH substructure in the cfg structure to configure the forward pilot channel (F-PICH). The FPICH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

FAPICH Substructure

Include the FAPICH substructure in the cfg structure to configure the forward auxiliary pilot channel (F-APICH). The FAPICH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

WalshLength64 | 128 | 256 | 512

Walsh code length

WalshCode

Nonnegative integer scalar, such that 0 ≤ WalshCodeWalshLength – 1

Walsh code number

LongCodeMask

Positive scalar integer

Long code identifier

FTDPICH Substructure

Include the FTDPICH substructure in the cfg structure to configure the forward transmit diversity pilot Channel (F-TDPICH). The FTDPICH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

FATDPICH

Include the FATDPICH substructure in the cfg structure to configure the forward auxiliary transmit diversity pilot channel (F-ATDPICH). The FATDPICH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

WalshLength64 | 128 | 256, 512

Walsh code length

WalshCodeNonnegative integer scalar, such that 0 ≤ WalshCodeWalshLength – 1

Walsh code number

LongCodeMask

Positive scalar integer

Long code identifier

FSYNC Substructure

Include the FSYNC substructure in the cfg structure to configure the forward sync channel (F-SYNC). The FSYNC substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

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

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

Data source. Specify a standard PN sequence with a random number seed, a binary vector, or a 'SyncMessage' character vector.

SyncMessage

Structure

See SyncMessage Substructure. Optional.

SyncMessage Substructure

If the DataSource field of the FSYNC substructure is set to 'SyncMessage', add the SyncMessage substructure to the cfg.FSYNC substructure to configure the sync channel message. The SyncMessage substructure contains these fields.

Parameter Field

Typical Value

Description

P_REV6Protocol revision
MIN_P_REV6Minimum protocol revision
SIDhex2dec('14B')System identifier
NID1Network identification
PILOT_PN0Pilot PN offset
LC_STATEhex2dec('20000000000')Long code state
SYS_TIMEhex2dec('36AE0924C')System time
LP_SEC0Leap second
LTM_OFF0Local time offset
DAYLT0Daylight saving time indicator
PRAT0Paging channel data rate
CDMA_FREQhex2dec('2F6')CDMA frequency
EXT_CDMA_FREQhex2dec('2F6')Extended CDMA frequency

FPCH Substructure

Include the FPCH substructure in the cfg substructure to configure the forward paging channel (F-PCH). The FPCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate

4800 | 9600

Data rate (bps)

LongCodeMask

Positive scalar integer

Long code identifier

WalshCode

Nonnegative integer scalar, such that 0 ≤ WalshCode ≤ 7

Walsh code number

EnableCoding'On' | 'Off'

Enable or disable channel coding

DataSource

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

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

Paging message options include 'PagingMessage1', 'PagingMessage2', and 'PagingMessage3'.

Data source. Specify a standard PN sequence with a random number seed, a binary vector, or one of three paging messages. For a description of paging message contents see footnote 1.

  1. When the DataSource enumeration specifies one of the paging message options, simulated paging message data is used as input to the F-PCH physical channel:

    • 'PagingMessage1' — Streams a 7680 bit sequence (800 ms at fullrate) of paging message contents onto the channel that includes the General Page Message, the CDMA Channel List Message, the Extended System Parameter Message, the Extended Neighbor List Message, the System Parameter Message, and the Access Parameter Message. The paging message repeats these messages in a nonsequential pattern.

    • 'PagingMessage2' — Streams a 2304 bit sequence (240 ms at fullrate) of paging message contents onto the channel that includes a truncated version of the full 'PagingMessage1' content.

    • 'PagingMessage3' — Streams an 864 bit sequence (90 ms at fullrate) of paging message contents onto the channel that includes the Neighbor List Message, the CDMA Channel List Message, the General Page Message, the System Parameter Message, and the Access Parameter Message. The paging message repeats these messages in a sequential pattern.

    For more information on the F-PCH contents, refer to 3GPP2 C.S0004, Table 3.1.2.3.1.1.2–1.

FCCCH Substructure

Include the FCCCH substructure in the cfg structure to configure the forward common control channel (F-CCCH). The FCCCH substructure contains these 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 correction coding

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

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.

FCACH Substructure

Include the FCACH substructure in the cfg structure to configure the forward common assignment channel (F-CACH). The FCACH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

CodingType'conv' | 'turbo'

Type of error correction coding

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

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.

FQPCH Substructure

Include the FQPCH substructure in the cfg structure to configure the forward quick paging channel (F-QPCH). The FQPCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate2400 | 4800

Data rate (bps)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

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.

FCPCCH Substructure

Include the FCPCCH substructure in the cfg structure to configure the forward common power control channel (F-CPCCH). The FCPCCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 63

Walsh code number

LongCodeMask

Positive scalar integer

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.

FBCCH Substructure

Include the FBCCH substructure in the cfg structure to configure the forward broadcast control channel (F-BCCH). The FBCCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

DataRate4800 | 9600 | 19200

Data rate (bps)

CodingType'conv' | 'turbo'

Type of error correction coding

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 127

Walsh code number

LongCodeMask

Positive scalar integer

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.

FFCH Substructure

Include the FFCH substructure in the cfg structure to configure the forward fundamental traffic channel (F-FCH). The FFCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

RadioConfiguration'RC1' through 'RC9'

Radio configuration channel

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 ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

Long code identifier

EnableQOF'On' | 'Off'

Enable QOF spreading

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.

PowerControlEnable'On' | 'Off'

Enable or disable power control subchannel

PowerControlPower

Real scalar

Power control subchannel power (relative to F-FCH)

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

FDCCH Substructure

Include the FDCCH substructure in the cfg structure to configure the forward dedicated control channel (F-DCCH). The FDCCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

RadioConfiguration'RC3' through 'RC9'

Radio configuration channel

DataRate9600 | 14400

Data rate (bps)

FrameLength5 | 20

Frame length (ms)

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

Long code identifier

EnableQOF'On' | 'Off'

Enable QOF spreading

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.

FSCCH Substructure

Include the FSCCH substructure in the cfg structure to configure the forward supplemental code channel (F-SCCH). The FSCCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

RadioConfiguration'RC1' | 'RC2'

Radio configuration channel

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

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.

FSCH Substructure

Include the FSCH substructure in the cfg structure to configure the forward supplemental channel (F-SCH). The FSCH substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

RadioConfiguration'RC3' | 'RC4' | 'RC5' | 'RC6' | 'RC7' | 'RC8' | 'RC9'

Radio configuration channel

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

Data rate (bps)

FrameLength20 | 40 | 80

Frame length (ms)

CodingType'Conv' | 'Turbo'

Channel coding type, convolutional or turbo

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCode ≤ 255

Walsh code number

LongCodeMask

Positive scalar integer

Long code identifier

EnableQOF'On' | 'Off'

Enable QOF spreading

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.

FOCNS Substructure

Include the FOCNS substructure in the cfg structure to configure orthogonal channel noise source information. The FOCNS substructure contains these fields.

Parameter Field

Values

Description

Enable'On' | 'Off'

Enable or disable the channel

Power

Real scalar

Relative channel power (dB)

WalshLength64 | 128 | 256

Walsh code length

WalshCode

Nonnegative integer scalar such that 0 ≤ WalshCodeWalshLength – 1

Walsh code number

Output Arguments

collapse all

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

Modulated baseband waveform comprising the diversity 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.

[2] 3GPP2 C.S0004–F v1.0. “Signaling Link Access Control (LAC) Standard for cdma2000 Spread Spectrum Systems.” 3rd Generation Partnership Project 2.

Version History

Introduced in R2015b