From 12:00 PM - 4:00 PM CST on Thursday, October 18, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

From 12:00 PM - 4:00 PM CST on Thursday, October 18, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Version:

Last Modified: February 7, 2018

Calculates filter coefficients for pulse-shaping and matched filters applied by the digital modulation nodes and demodulation nodes.

Class of filter to generate.

You must correspond the selection here with the **modulation type** parameter setting as shown in the following table.

**Default: ****none**

Number of desired samples per symbol for the pulse-shaping filter.

If you use the pulse-shaping filter for demodulation, this parameter value must match the **samples per symbol** element of the system parameters cluster passed to the demodulation node. Specify an even number greater than 2.

**Default: **16

Number of desired samples per symbol for the demodulation matched filter.

You must match this parameter value to the **samples per symbol** element of the system parameters cluster passed to the digital demodulation node. Specify an even number greater than 2.

**Default: **16

A value that indicates either alpha (rolloff for raised cosine and square root raised cosine filters), or *BT* (the product of the -3 dB bandwidth and the symbol period for a Gaussian filter). Ignore this parameter when you set the **pulse shaping filter** parameter to **none**.

**Default: **0.5

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

Type of modulation or demodulation for which to generate filter coefficients.

Name | Description |
---|---|

FSK | Generates FSK filter coefficients. |

PSK | Generates PSK filter coefficients. |

QAM | Generates QAM filter coefficients. |

MSK | Generates MSK filter coefficients. |

PAM | Generates PAM filter coefficients. |

ASK | Generates ASK filter coefficients. |

CPM | Generates CPM filter coefficients. |

**Default: ****FSK**

The desired length, in symbols, of the pulse-shaping filter. The length of the matched filter can vary according to filter type and modulation type. Valid values are greater than 1.

**Default: **8

An ordered array of filter coefficients corresponding to the desired filter response for the pulse-shaping filter used in modulation. The number of coefficients depends on the pulse-shaping filter characteristics specified in the **pulse shaping filter** parameter.

Number of Coefficients | Size for FSK | Size for MSK | Size for PSK/QAM/ASK/PAM |
---|---|---|---|

none | (samples/symbol) |
(samples/symbol) |
(samples/symbol) |

raised cosine | (samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |

root raised cosine | (samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |

Gaussian | (samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |
N/A |

An ordered array of filter coefficients corresponding to the desired filter response for the matched filter used in demodulation.

Number of Coefficients | Size for FSK | Size for MSK | Size for PSK/QAM/ASK/PAM |
---|---|---|---|

none | (samples/symbol) |
(samples/symbol) |
(samples/symbol) |

raised cosine | 1 | 1 | 1 |

root raised cosine | (samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |
(samples/symbol) × filter length + 1 |

Gaussian | 14 × (samples/symbol) + 1 |
3 × (samples/symbol) - 1 |
N/A |

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

Use the calculated filter coefficients during modulation to reduce the bandwidth of the transmitted signal and during demodulation to reduce intersymbol interference. The pulse-shaping filter can be used either in transmission or for demodulation of PSK-, FSK-, MSK-, ASK-, PAM-, QAM-, and CPM-modulated signals. Use matched filter only for demodulation.

The node calculates the impulse response of the filter using the following formulas.

Filter Type | Formula |
---|---|

Raised Cosine |
$h\left(t\right)=\mathrm{sin}c\left(\frac{t}{T}\right)\frac{\mathrm{cos}\left(\frac{\pi \alpha t}{T}\right)}{1-\frac{4{\pi}^{2}{\alpha}^{2}{t}^{2}}{{\text{}}^{{T}^{2}}}}$
where T is the symbol period and α is the filter rolloff factor. |

Root Raised Cosine |
$h\left(t\right)=\{\begin{array}{c}1-\alpha +\frac{4\alpha}{\pi},\text{\hspace{0.17em}}t=0\\ \frac{\alpha}{\sqrt{2}}\left[(1+\frac{2}{\pi})\mathrm{sin}\left(\frac{\pi}{4\alpha}\right)+(1+\frac{2}{\pi})\mathrm{cos}\left(\frac{\pi}{4\alpha}\right)\right],\text{\hspace{0.17em}}t=\pm \frac{T}{4\alpha}\\ \frac{\mathrm{sin}\left(\pi \frac{t}{T}(1-\alpha )\right)+4\alpha \frac{t}{T}\mathrm{cos}\left(\pi \frac{t}{T}(1-\alpha )\right)}{\pi \frac{t}{T}(1-{\left(\frac{4\alpha t}{T}\right)}^{2})},\text{\hspace{0.17em}}otherwise\end{array}$
where T is the symbol period and α is the filter rolloff factor. |

Gaussian |
$g\left(t\right)=\sqrt{\frac{BT}{\pi}{e}^{-{\left(BT\right)}^{2}{t}^{2}}}$
where T is the symbol period and B is the -3 dB bandwidth of the filter. |

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application