Engee documentation

EngeePhased.SteppedFMWaveform

Signal generator with stepped frequency modulation.

Library

EngeePhased

Block

Stepped FM Waveform

Description

The EngeePhased.SteppedFMWaveform system object models a signal generator with stepped frequency modulation.

To model a stepped frequency modulated signal, follow these steps:

  1. Define and configure the stepped FM waveform.

  2. Call the step! method to generate stepped FM pulse samples according to the EngeePhased.SteppedFMWaveform properties.

Syntax

The system object constructor can be called in the following ways:

  • object = EngeePhased.SteppedFMWaveform creates a stepped frequency modulated signal with by default property values. Example:

    sSFM = EngeePhased.SteppedFMWaveform
  • sSFM = EngeePhased.SteppedFMWaveform creates a stepped frequency modulated signal with each specified property Name (name) set to the specified Value (value). You can specify additional arguments as a name-value pair in any order (Name1=Value1,…​,NameN=ValueN). Example:

    sSFM = EngeePhased.SteppedFMWaveform (PRFOutputPort="true",NumSamples="36",PRF="4e3")

Properties

SampleRate — sampling rate
1e6 (by default) | positive scalar

Details

The sampling rate of the signal as a positive scalar.

The unit of measurement is Hz.

By default

1e6.

DurationSpecification - pulse duration as time or fill factor (duty cycle)
Pulse width (By default) | Duty cycle

Details

Method to set the pulse width as Pulse width or Duty cycle:

  • Pulse width - the pulse width is set using the PulseWidth property.

  • Duty cycle - the pulse duration is calculated from the values of the PRF and Duty Cycle properties. The pulse duration is equal to the cycle duration divided by PRF.

By default

Pulse width.

PulseWidth — pulse width
50e-6 s (by default) | positive scalar

Details

Pulse duration , specified as a positive scalar.

The PulseWidth value must be less than or equal to one:

By default

50e-6.

DutyCycle - fill factor (duty cycle)
0.5 (by default) | scalar in the range [0,1]

Details

Fill factor specified as a scalar in the range [0,1].

Dependencies

This property applies if the DurationSpecification property is set to Duty cycle. The pulse duration is equal to the value of the DutyCycle property divided by the value of the PRF property.

By default

0.5.

PRF - pulse repetition rate
10e3 Hz (by default) | positive scalar

Details

The pulse repetition frequency (PRF) specified as a scalar or vector string. The pulse repetition interval (PRI) is the inverse of the pulse repetition frequency (PRF).

The unit of measurement is Hz.

The value of the PRF property must meet the following restrictions:

  • The product of PRF and PulseWidth must be less than or equal to one . This constraint ensures that the pulse width is less than the pulse period. For a phase encoded signal, the pulse width is equal to the product of the duration of one chip by the number of chips.

  • The ratio of SampleRate to PRF must be an integer: .

You can choose the value of PRF using the property settings alone or using the property settings in combination with the prfidx input argument of the step! method.

  • If the PRFSelectionInputPort property is set to false, you set PRF using properties only. You can implement a constant value of PRF by specifying PRF as a positive real scalar.

    • Set the constant value of PRF by specifying PRF as a positive real scalar.

    • Set a stepped PRF by specifying PRF as a positive real vector-string. Then, each call to the step! method for PRF uses successive elements of that vector. If the last element of the vector is reached, the process cycles from the first element of the vector.

  • If the PRFSelectionInputPort property is set to true, you can set PRF as a positive real string vector. But when you execute the step! method, select PRF by passing an argument specifying the index in the PRF vector.

By default

10e3.

PRFSelectionInputPort — enable PRF output
false (by default) | true

Details

Set to true to enable the PRF output argument.

  • If you set the PRFSelectionInputPort property to false, the step! method uses the values set in the PRF property.

  • If you set the PRFSelectionInputPort property to true, the index argument is passed to the step! method to select a value from the PRF vector.

By default

false.

FrequencyStep - linear frequency step size
20e3 Hz (by default) | positive scalar

Details

The linear step size in frequency, specified as a positive scalar. The value of this property by default corresponds to 20 kHz.

The unit of measurement is Hz.

By default

20e3.

NumSteps - number of frequency steps in a pulse
5 (by default) | positive integer

Details

The number of frequency steps specified as a positive integer. If the number of frequency steps is 1, the step frequency modulated signal is reduced to a rectangular signal.

By default

5.

FrequencyOffsetSource — frequency offset setting
Property (By default) | Input port

Details

Frequency offset set as Property or Input port:

  • If the FrequencyOffsetSource property is set to Property, the offset is determined by the value of the FrequencyOffset property.

  • If the FrequencyOffsetSource property is set to Input port, the offset is determined by the value of the input argument freqoffset.

By default

Property.

FrequencyOffset — frequency offset
0 (By default) | scalar

Details

Frequency offset specified as a scalar.

The unit of measurement is Hz.

By default

0.

OutputFormat - output format
Pulses (by default) | `Samples `

Details

Output signal format as Pulses or Samples:

  • If the FrequencyOffset property is set to Pulses, the output of the object consists of a number of pulses. The number of pulses is the value of the NumPulses property.

  • If the FrequencyOffset property is set to Samples, then the output of the object consists of multiple samples. The number of samples is the value of the NumSamples property.

By default

Pulses.

NumSamples - number of samples of the output signal
100 (by default) | `positive number `

Details

The number of output samples specified as a positive integer.

Dependencies

This property applies only if the OutputFormat property is set to Samples.

By default

100.

NumPulses - number of output pulses
1 (by default) | positive number

Details

The number of output pulses specified as a positive integer.

Dependencies

This property applies only if the OutputFormat property is set to Pulses.

By default

1.

PRFOutputPort - enable PRF output
false (by default) | true

Details

Set to true to enable the PRF output argument.

Dependencies

This property only applies if the OutputFormat property is set to Pulses.

By default

false.

CoefficientsOutputPort — enable output of matched filter coefficients
false (by default) | true

Details

Enable the matched filter coefficients output argument.

  • If you set the CoefficientsOutputPort property to false, the object does not provide the matched filter coefficients used during simulation as output.

  • If you set the CoefficientsOutputPort property to true, the object provides the matched filter coefficients used during the simulation as output data.

Methods

Common for all system objects

step!

Starts the system object’s operating algorithm

release!

Enables changing the value of a system object property

reset!

Resets the internal states of the system object

Optional

Signal with step frequency modulation

Stepped frequency modulated FM signals occupy a specific band of frequencies. Each pulse in this band occupies a specific centre frequency, and these centre frequencies are evenly spaced in the overall bandwidth.

References

  1. Richards, M. A. "Fundamentals of Radar Signal Processing". New York: McGraw-Hill, 2005.