# phased.PhaseCodedWaveform System object

Package: phased

Phase-coded pulse waveform

## Description

The `PhaseCodedWaveform` object creates a phase-coded pulse waveform.

To obtain waveform samples:

1. Define and set up your phase-coded pulse waveform. See Construction.

2. Call `step` to generate the phase-coded pulse waveform samples according to the properties of `phased.PhaseCodedWaveform`. The behavior of `step` is specific to each object in the toolbox.

## Construction

`H = phased.PhaseCodedWaveform` creates a phase-coded pulse waveform System object™, `H`. The object generates samples of a phase-coded pulse.

`H = phased.PhaseCodedWaveform(Name,Value)` creates a phase-coded pulse waveform object, `H`, with additional options specified by one or more `Name,Value` pair arguments. `Name` is a property name, and `Value` is the corresponding value. `Name` must appear inside single quotes (`''`). You can specify several name-value pair arguments in any order as `Name1,Value1,…,NameN,ValueN`.

## Properties

`SampleRate`

Sample rate

Specify the sample rate in hertz as a positive scalar. The default value of this property corresponds to 1 MHz. The value of this property must satisfy these constraints:

• `(SampleRate ./ PRF)` is a scalar or vector that contains only integers.

• `(SampleRate * ChipWidth)` is an integer value.

Default: `1e6`

`Code`

Phase code type

Specify the phase code type used in phase modulation. Valid values are:

• `'Barker'`

• `'Frank'`

• `'P1'`

• `'P2'`

• `'P3'`

• `'P4'`

• `'Px'`

• `'Zadoff-Chu'`

Default: `'Frank'`

`ChipWidth`

Duration of each chip

Specify the duration of each chip in a phase-coded waveform in seconds as a positive scalar.

The value of this property must satisfy these constraints:

• `ChipWidth` is less than or equal to `(1./(NumChips * PRF))`.

• `(SampleRate * ChipWidth)` is an integer value.

Default: `1e-5`

`NumChips`

Number of chips

Specify the number of chips in a phase-coded waveform as a positive integer. The value of this property must be less than or equal to ```(1./(ChipWidth * PRF))```.

The table shows additional constraints on the number of chips for different code types.

If the `Code` property is ...Then the `NumChips` property must be...
`'Frank'`, `'P1'`, or `'Px'`A perfect square
`'P2'`An even number that is a perfect square
`'Barker'`2, 3, 4, 5, 7, 11, or 13

Default: `4`

`SequenceIndex`

Specify the sequence index used in Zadoff-Chu code as a positive integer. This property applies only when you set the `Code` property to `'Zadoff-Chu'`. The value of `SequenceIndex` must be relatively prime to the value of the `NumChips` property.

Default: `1`

`PRF`

Pulse repetition frequency

Specify the pulse repetition frequency (in hertz) as a scalar or a row vector. The default value of this property corresponds to 10 kHz.

To implement a constant PRF, specify `PRF` as a positive scalar. To implement a staggered PRF, specify `PRF` as a row vector with positive elements. When `PRF` is a vector, the output pulses use successive elements of the vector as the PRF. If the last element of the vector is reached, the process continues cyclically with the first element of the vector.

The value of this property must satisfy these constraints:

• `PRF` is less than or equal to `(1/PulseWidth)`.

• `(SampleRate ./ PRF)` is a scalar or vector that contains only integers.

Default: `1e4`

`OutputFormat`

Output signal format

Specify the format of the output signal as one of `'Pulses'` or `'Samples'`. When you set the `OutputFormat` property to `'Pulses'`, the output of the `step` method is in the form of multiple pulses. In this case, the number of pulses is the value of the `NumPulses` property.

When you set the `OutputFormat` property to `'Samples'`, the output of the `step` method is in the form of multiple samples. In this case, the number of samples is the value of the `NumSamples` property.

Default: `'Pulses'`

`NumSamples`

Number of samples in output

Specify the number of samples in the output of the `step` method as a positive integer. This property applies only when you set the `OutputFormat` property to `'Samples'`.

Default: `100`

`NumPulses`

Number of pulses in output

Specify the number of pulses in the output of the `step` method as a positive integer. This property applies only when you set the `OutputFormat` property to `'Pulses'`.

Default: `1`

## Methods

 bandwidth Bandwidth of phase-coded waveform clone Create phase-coded waveform object with same property values getMatchedFilter Matched filter coefficients for waveform getNumInputs Number of expected inputs to step method getNumOutputs Number of outputs from step method isLocked Locked status for input attributes and nontunable properties plot Plot phase-coded pulse waveform release Allow property value and input characteristics changes reset Reset states of phase-coded waveform object step Samples of phase-coded waveform

## Examples

Create and plot a phase-coded pulse waveform that uses the Zadoff-Chu code.

```hw = phased.PhaseCodedWaveform('Code','Zadoff-Chu',... 'ChipWidth',1e-6,'NumChips',16,... 'OutputFormat','Pulses','NumPulses',2); plot(hw);```

Generate samples of a phase-coded pulse waveform that uses the Zadoff-Chu code, and plot the samples.

```hw = phased.PhaseCodedWaveform('Code','Zadoff-Chu',... 'ChipWidth',1e-6,'NumChips',16,... 'OutputFormat','Pulses','NumPulses',2); x = step(hw); figure; plot(real(x)); title('Waveform Output, Real Part'); xlabel('Samples'); ylabel('Amplitude (V)');```

## Algorithms

A 2-chip Barker code can use [1 –1] or [1 1] as the sequence of amplitudes. This software implements [1 –1].

A 4-chip Barker code can use [1 1 –1 1] or [1 1 1 –1] as the sequence of amplitudes. This software implements [1 1 –1 1].

A Zadoff-Chu code can use a clockwise or counterclockwise sequence of phases. This software implements the latter, such as $\pi \cdot f\left(k\right)\cdot \text{SequenceIndex}/\text{NumChips}$ instead of $-\pi \cdot f\left(k\right)\cdot \text{SequenceIndex}/\text{NumChips}$. In these expressions, k is the index of the chip and f(k) is a function of k.

For further details, see [1].

## References

[1] Levanon, N. and E. Mozeson. Radar Signals. Hoboken, NJ: John Wiley & Sons, 2004.