Engee documentation

Custom FM Waveform

Signal generator with custom frequency modulation.

blockType: CustomFMWaveform

Path in the library:

/Phased Array System Toolbox/Waveforms/Custom FM Waveform

Description

The Custom FM Waveform unit generates a custom frequency modulated pulse signal with a specified pulse width, pulse repetition rate and frequency deviation. The signal at the block output is an integer number of pulses or an integer number of samples.

Ports

Input

FreqOffset - frequency offset
scalar

Frequency offset in Hz as a scalar.

Dependencies

To use this port, set the Source of Frequency Offset parameters to Input port.

Data types: Float64.

Output

Y - pulse signal
`complex vector

A signal at the block output returned as a complex vector.

Data types: Float64.

Support for complex numbers: Yes

PRF - pulse repetition rate
`positive scalar

The pulse repetition rate returned as a positive scalar.

Dependencies

To use this port, set the Output signal format parameter to Pulses and then select the checkbox for the Enable PRF output parameter.

Data types: Float64.

Coeff - coefficients of matched filter
vector | matrix

Coefficients of the matched filter returned as a vector or matrix.

Dependencies

To use this port, select the Enable Matched Filter Coefficients Output checkbox.

Data types: Float64.

Support for complex numbers: Yes

Parameters

Sample rate (Hz) - sampling rate of the output signal
1e6 (by default) | positive scalar

The sampling frequency of the signal as a positive scalar. The unit of measurement is Hz.

The ratio of Sample rate (Hz) to each element of the vector Pulse repetition frequency (Hz) must be an integer.

This constraint is equivalent to requiring that the pulse repetition interval be an integer multiple of the sampling interval.

Usage in program code

Block parameters

SampleRate

Values

positive scalar

By default

1e6

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

Method to specify pulse duration, options to choose from:

  • Pulse width - the pulse width is set using the Pulse width (s) parameters.

  • Duty cycle - fill factor, where the pulse duration is calculated from the values of the parameters Pulse repetition frequency (Hz) and Duty Cycle.

Usage in program code

Block parameters

Method

Values

Pulse width | Duty cycle

By default

Pulse width

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

Pulse width in s, specified as a positive scalar value.

The product of Pulse width (s) and Pulse repetition frequency (Hz) must be less than or equal to one. This constraint ensures that the pulse width is less than the pulse repetition interval.

Dependencies

To use this parameter, set the Method to specify pulse duration parameter to Pulse width.

Usage in program code

Block parameters

PulseWidth

Values

string

By default

50e-6

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

Fill factor set as a scalar in the range .

Dependencies

To use this parameter, set the Method to specify pulse duration parameters to Duty cycle.

Usage in program code

Block parameters

DutyCycle

Values

scalar in range [0,1]

By default

0.5

Pulse repetition frequency (Hz) - pulse repetition frequency
1e4 (By default) | positive scalar

Pulse repetition frequency , specified as a scalar or string vector. The pulse repetition interval is the inverse of the pulse repetition frequency .

The Pulse repetition frequency (Hz) must meet the following constraints:

  • The product of Pulse width (s) and Pulse repetition frequency (Hz) must be less than or equal to one. This constraint ensures that the pulse width is less than one pulse repetition interval. 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 the sampling frequency to any Pulse repetition frequency element must be an integer. This constraint is equivalent to requiring that the number of samples in one pulse repetition interval be an integer.

You can select the value , using the block parameters:

  • To implement a constant , specify Pulse repetition frequency (Hz) as a positive scalar.

  • To realise a stepped , specify Pulse repetition frequency (Hz) as a string vector with positive values. After the signal reaches the last element of the vector, the process cycles from the first element of the vector. When is stepped, the time between successive output pulses cycles through successive vector values .

The number of output samples is fixed if the Output signal format parameter is set to Samples. If a variable is used and Output signal format is set to Pulses, the number of output samples can vary.

Usage in program code

Block parameters

PRF

Values

positive scalar

By default

1e4

Frequency modulation - function of frequency modulation of the signal
[0, 1e5] (by default) | ` real vector of length M` | ` function descriptor` | ` cell array`

Frequency modulation function of a signal defined as a real vector of length , a function descriptor or a cell array.

  • If Frequency Modulation is a vector, it specifies a sample of instantaneous frequency values at points as . For -th pulse with start time and duration , the instantaneous frequency at the moment of time

is , where and . The instantaneous frequencies between the times and are found by linear interpolation between and . The resulting user frequency modulated signal can be viewed as a piecewise linear frequency modulated signal consisting of linear sections of equal duration.

  • If the value Frequency Modulation is a function descriptor, the function must have the following syntax: , where is the instantaneous frequency at time , is the time at which to calculate the instantaneous frequency. The values in range from 0 to the pulse width.

  • If the Frequency Modulation value is an array of cells, the first cell must be a function descriptor as above. The remaining entries in the cell array are additional input arguments to the function, if any.

Usage in program code

Block parameters

FreqModulation

Values

real vector of length M | function descriptor | cell array

By default

[0, 1e5]

Envelope function - setting the envelope of a frequency modulated signal
Rectangular (by default) | Gaussian | Hamming | Chebyshev | Hann | Kaiser | Taylor

Frequency modulated envelope, selectable options: Rectangular, Gaussian, Hamming, Chebyshev, Hann, Kaiser or Taylor.

Usage in program code

Block parameters

EnvelopeFunc

Values

Rectangular | Gaussian | Hamming | Chebyshev | Hann | Kaiser | Taylor

* By default*

Rectangular

Source of Frequency Offset - frequency offset setting
Property (By default) | Input port

Source of Frequency Offset specified as Property or Input port:

  • If Property is set, the offset is determined by the value of the Frequency Offset parameters.

  • If Input port is set, the offset is determined by the port value FreqOffset.

Usage in program code

Block parameters

FreqOffsetSource

Values

Property | Input port

By default

Property

Frequency Offset (Hz) - frequency offset
0 (By default) | scalar

Frequency offset, specified as a scalar. The unit of measurement is Hz.

Dependencies

To use this parameter, set the Source of Frequency Offset parameter to Property.

Usage in program code

Block parameters

FreqOffset

Values

scalar

By default

0

Output signal format - output signal format
Pulses (by default) | Samples

Output signal format as Pulses or Samples:

  • If you set this parameter to Pulses, the block output consists of a number of pulses. The number of pulses is the value of the Number of pulses in output parameter.

  • If you set this parameter to Samples, the block output consists of multiple samples. The number of samples is the value of the Number of samples in output parameters.

Usage in program code

Block parameters

OutSigFormat

Values

Pulses | Samples

By default

Pulses

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

The number of samples of the output signal specified as a positive integer.

*Example: 1000

Dependencies

To use this parameter, set the Output signal format parameters to Samples.

Usage in program code

Block parameters

NumSamples

Values

positive number

By default

100

Number of pulses in output - number of pulses of the output signal
1 (by default) | positive number

The number of pulses of the output signal set as a positive integer.

Dependencies

To use this parameter, set the Output signal format parameters to Pulses.

Usage in program code

Block parameters

NumPulses

Values

positive number

By default

1

Enable PRF Output - enable PRF output
off (by default) | on.

Select the checkbox to enable the PRF output port.

Dependencies

To use this parameter, set the Output signal format parameters to Pulses.

Usage in program code

Block parameters

PRFOutPort

Values

disabled | enabled

* By default*

off

Enable Matched Filter Coefficients Output - enable output of matched filter coefficients
off (by default) | on - enable

Tick the checkbox to enable the Coeff output port.

Usage in program code

Block parameters

CoeffOutPort

Values

off | on

* By default*

off