Specify a rolloff factor of 0.25. Truncate the filter to 6 symbols and represent each symbol with 4 samples. Verify that `'sqrt'`

is the default value of the `shape`

parameter.

Compare a normal raised cosine filter with a square-root cosine filter. An ideal (infinite-length) normal raised cosine pulse-shaping filter is equivalent to two ideal square-root raised cosine filters in cascade. Thus, the impulse response of an FIR normal filter should resemble that of a square-root filter convolved with itself.

Create a normal raised cosine filter with rolloff 0.25. Specify that this filter span 4 symbols with 3 samples per symbol.

The normal filter has zero crossings at integer multiples of `sps`

. It thus satisfies Nyquist's criterion for zero intersymbol interference. The square-root filter, however, does not:

Convolve the square-root filter with itself. Truncate the impulse response outward from the maximum so it has the same length as `h1`

. Normalize the response using the maximum. Then, compare the convolved square-root filter to the normal filter.

The convolved response does not coincide with the normal filter because of its finite length. Increase `span`

to obtain closer agreement between the responses and better compliance with the Nyquist criterion.

This example shows how to pass a signal through a square-root, raised cosine filter.

Specify the filter parameters.

Generate the square-root, raised cosine filter coefficients.

Create a vector of bipolar data.

Upsample and filter the data for pulse shaping.

Add noise.

Filter and downsample the received signal for matched filtering.

This example shows how to interpolate and decimate signals
using square-root, raised cosine filters designed with the `rcosdesign`

function.
This example requires the Communications System Toolbox™ software.

Define the square-root, raised cosine filter parameters. Define
the signal constellation parameters.

Generate the coefficients of the square-root, raised cosine
filter using the `rcosdesign`

function.

Generate 10,000 data symbols using the `randi`

function.

Apply PSK modulation to the data symbols. Because the
constellation size is 4, the modulation type is QPSK.

Using the `upfirdn`

function, upsample
and filter the input data.

Convert the *E*_{b}/*N*_{0} to
SNR and then pass the signal through an AWGN channel.

Filter and downsample the received signal. Remove a portion
of the signal to compensate for the filter delay.

Create a scatter plot of the modulated data using the
first 5,000 symbols.