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

Zadoff-Chu sequence index

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

bandwidthBandwidth of phase-coded waveform
cloneCreate phase-coded waveform object with same property values
getMatchedFilterMatched filter coefficients for waveform
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
plotPlot phase-coded pulse waveform
releaseAllow property value and input characteristics changes
resetReset states of phase-coded waveform object
stepSamples 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 πf(k)SequenceIndex/NumChips instead of πf(k)SequenceIndex/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.

Was this topic helpful?