Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Stretch processor for linear FM waveforms

Detection

`phaseddetectlib`

The Stretch Processor block applies stretch processing on a linear FM waveform. Also known as dechirping, stretch processing is an alternative to matched filtering for linear FM waveforms.

**Pulse width (s)**Specify the duration of each pulse as a positive scalar. The product of

**Pulse width**and**Pulse repetition frequency**must be less than or equal to one. Units are in seconds.**Pulse repetition frequency (Hz)**Pulse repetition frequency,

*PRF*, specified as a scalar or a row vector. Units are in Hz. The pulse repetition interval*PRI*is the inverse of the*PRF*. The value of**Pulse repetition frequency (Hz)**must satisfy these constraints:The product of

**Pulse width**and**Pulse repetition frequency (Hz)**must be less than or equal to one. This is equivalent to the requirement that the pulse width is less than a pulse repetition interval. For the phase-coded waveform, the pulse width is the product of the chip width and number of chips.The ratio of sample rate to any element of

**Pulse repetition frequency**must be an integer. This is equivalent to requiring that the number of samples in one pulse repetition interval be an integer.

You can select the value of

*PRF*by using block parameter settings or an input port.When the

**Enable PRF selection input**check box is not selected, you set the*PRF*using block parameters.To implement a constant

*PRF*, specify**Pulse repetition frequency (Hz)**as a positive scalar.To implement a staggered

*PRF*, specify**Pulse repetition frequency (Hz)**as a row vector with all strictly positive values. After the waveform reaches the last element of the vector, the process continues cyclically with the first element of the vector. When*PRF*is staggered, the time between successive output pulses is determined sequentially by the successive values of the*PRF*vector.

When the

**Enable PRF selection input**check box is selected, you can implement a selectable*PRF*by specifying**Pulse repetition frequency (Hz)**as a row vector with positive real-valued entries. But this time, when you execute block, select a*PRF*by passing an index into the*PRF*vector into the`PRFIdx`

port.

In all cases, when you use a varying

*PRF*and choose**Output signal format**as`Pulses`

, the number of samples per pulse can vary as well. When you choose`Samples`

, the number of samples per pulse is fixed.**FM sweep slope (Hz/s)**Specify the slope of the linear FM sweeping, in hertz per second, as a scalar.

**FM sweep interval**Specify the FM sweep interval as

`Positive`

or`Symmetric`

. If you set this parameter value to`Positive`

, the waveform sweeps in the interval between*0*and*B*, where*B*is the value set in**Sweep bandwidth**. If you set this parameter value to`Symmetric`

, the waveform sweeps in the interval between*–B/2*and*B/2*.**Signal Propagation speed (m/s)**Specify the propagation speed of the signal, in meters per second, as a positive scalar. You can use the function

`physconst`

to specify the speed of light.**Reference range (m)**Specify the center of ranges of interest, in meters, as a positive scalar. The reference range must be within the unambiguous range of one pulse.

**Range span (m)**Specify the length of the interval of ranges of interest, in meters, as a positive scalar. The range span is centered at the range value specified in

**Reference range**.**Simulate using**Block simulation method, specified as

`Interpreted Execution`

or`Code Generation`

. If you want your block to use the MATLAB^{®}interpreter, choose`Interpreted Execution`

. If you want your block to run as compiled code, choose`Code Generation`

. Compiled code requires time to compile but usually runs faster.Interpreted execution is useful when you are developing and tuning a model. The block runs the underlying System object™ in MATLAB. You can change and execute your model quickly. When you are satisfied with your results, you can then run the block using

`Code Generation`

. Long simulations run faster than they would in interpreted execution. You can run repeated executions without recompiling. However, if you change any block parameters, then the block automatically recompiles before execution.When setting this parameter, you must take into account the overall model simulation mode. The table shows how the

**Simulate using**parameter interacts with the overall simulation mode.When the Simulink

^{®}model is in`Accelerator`

mode, the block mode specified using**Simulate using**overrides the simulation mode.For more information, see Choosing a Simulation Mode (Simulink) from the Simulink documentation.**Acceleration Modes**Block Simulation Simulation Behavior `Normal`

`Accelerator`

`Rapid Accelerator`

`Interpreted Execution`

The block executes using the MATLAB interpreter. The block executes using the MATLAB interpreter. Creates a standalone executable from the model. `Code Generation`

The block is compiled. All blocks in the model are compiled.

The block input and output ports correspond to the input and
output parameters described in the `step`

method of
the underlying System
object. See link at the bottom of this page.

Port | Description | Supported Data Types |
---|---|---|

`In` | Input signal. The size of the first dimension of this input matrix can vary to simulate a changing signal length, such as a pulse waveform with variable pulse repetition frequency. | Double-precision floating point |

`Out` | Processed signal. | Double-precision floating point |

Was this topic helpful?