Applies a pulse-shaping filter to an input stream comprised of FSK-modulated symbols. The node performs filtering using the specified **pulse shaping filter coefficients** followed by accumulation on the phase of the information symbols to generate the oversampled FSK-modulated complex baseband waveform. This process is the digital equivalent of continuous-time analog frequency modulation.

**Note**
If you set the **symbol phase continuity** to **discontinuous**, the node ignores the **pulse shaping filter coefficients** parameter. Instead, the node generates the baseband waveform after sampling the output of *M* separate complex exponential oscillators.

This node first upsamples (zero-insertion) the **symbols** array by a factor equal to the **samples per symbol** value, then filters the symbols stream with the pulse-shaping filter that you specify.

## symbols

Array of symbols (comprised of frequency deviations) corresponding to information bits. Wire the **symbols** parameter of MT Map Bits to Symbols to this parameter.

## pulse shaping filter coefficients

An ordered array containing sample-spaced coefficients for the desired pulse-shaping filter. Wire the **pulse shaping filter coefficients** parameter of MT Generate Filter Coefficients to this parameter. Ensure that the value of the **samples per symbol** parameter passed to this node matches the ** pulse shaping samples per symbol** value used to generate the filter coefficients.

**Note**
When **reset?** is set to TRUE, there is a transient response of ½ the filter length at the start of the modulated signal, and the returned data is shortened by approximately ½ the filter length. When **reset?** is set to FALSE, the node uses data from the previous iteration to eliminate the transient.

You can also specify custom pulse-shaping filter coefficients.

**Note**
This node does not verify absence of intersymbol interference in custom filter coefficients before applying the pulse-shaping filter.

## samples per symbol

Number of samples per information symbol in the **output complex waveform**. Multiply this value by the **symbol rate** to determine the system sample rate.

**Default: **16

## symbol rate

The symbol rate in symbols per second.

**Default: **1.0

## error in

Error conditions that occur before this node runs.
The node responds to this input according to standard error behavior.

**Default: **no error

## symbol phase continuity

Continuity of phase transitions between symbols.

continuous |
Continuous phase transitions between symbols. |

discontinuous |
Discontinuous phase transitions between symbols, that is, discontinuous phase FSK (DPFSK). With discontinuous phase-FSK (DPFSK), modulation consists of selecting the appropriate sinusoid based on the input data. Thus, when switching between symbols, there is a discontinuity in the FSK signal phase. To emulate a hardware-based DPFSK source, this node maintains the phase of each independent sinusoid versus time. Thus, the DPFSK modulator acts like a hardware-based (multiple switched tone generator) FSK modulator. |

**Default: ****continuous**

## reset?

A Boolean that determines whether the node continues pulse-shape filtering using the previous iteration states.

TRUE |
Resets the pulse-shape filtering. |

FALSE |
Continues pulse shaping at the previous iteration state on subsequent calls. |

**Default: **TRUE

## output phase waveform

The output pulse-shaped continuous-time phase waveform.

### t0

Trigger (start) time of the **Y** array.

**Default: **0

### dt

Time interval between data points in the **Y** array. The reciprocal of this value is equal to the system sample rate.

**Default: **1.0

### Y

The complex-valued signal-only baseband phase waveform.

**Installed By: **LabVIEW Communications System Design Suite (introduced in 1.0)

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported