## Documentation Center |

Filter input signal, possibly downsampling, using raised cosine FIR filter

The Raised Cosine Receive Filter block filters the input signal
using a normal raised cosine FIR filter or a square root raised cosine
FIR filter. It also downsamples the filtered signal if you set the **Output
mode** parameter to `Downsampling`.
The FIR Decimation block implements
this functionality. The Raised Cosine Receive Filter block's icon
shows the filter's impulse response.

Characteristics of the raised cosine filter are the same as
in the Raised Cosine Transmit Filter block,
except that the length of the filter's input response has a slightly
different expression: *L* * **Filter span in symbols **+ 1, where *L* is
the value of the **Input samples per symbol** parameter
(not the **Output samples per symbol** parameter,
as in the case of the Raised Cosine Transmit Filter block).

The block normalizes the filter coefficients to unit energy.
If you specify a **Liner amplitude filter gain** other
than `1`, then the block scales the normalized filter
coefficients using the gain value you specify.

To have the block decimate the filtered signal, set the **Decimation
factor** parameter to a value greater than `1`.

If `K` represents the **Decimation
factor** parameter value, then the block retains 1/*K* of
the samples, choosing them as follows:

If the

**Decimation offset**parameter is zero, then the block selects the samples of the filtered signal indexed by 1,*K*+1, 2**K*+1, 3**K*+1, etc.If the

**Decimation offset**parameter is a positive integer less than M, then the block initially discards that number of samples from the filtered signal and downsamples the remaining data as in the previous case.

To preserve the entire filtered signal and avoid decimation,
set **Decimation factor** to `1`.
This setting is appropriate, for example, when the output from the
filter block forms the input to a timing phase recovery block such
as Squaring Timing Recovery. The timing
phase recovery block performs the downsampling in that case.

This block accepts a column vector or matrix input signal. For information about the data types each block port supports, see the Supported Data Type table on this page.

If you set **Decimation factor** to `1`,
then the input and output signals share the same sampling mode, sample
time, and vector length.

If you set **Decimation factor** to *K*,
which is greater than `1`, then *K* and
the input sampling mode determine characteristics of the output signal:

When you set the **Rate options** parameter
to `Enforce single-rate processing`, the
input and output of the block have the same sample rate. To genereate
the output while maintaining the input sample rate, the block resamples
the data in each column of the input such that the frame size of the
output (*M _{o}*) is 1/

When you set the **Rate options** parameter
to `Allow multirate processing`, the input
and output of the block are the same size, but the sample rate of
the output is *K* times slower than that of the input.
When the block is in multirate processing mode, you must also specify
a value for the **Input processing** parameter:

When you set the

**Input processing**parameter to`Elements as channels (sample based)`, the block treats an*M*-by-*N*matrix input as*M***N*independent channels, and processes each channel over time. The output sample period (*T*) is_{so}*K*times longer than the input sample period (*T*=_{so}*K*T*), and the input and output sizes are identical._{si}When you set the

**Input processing**parameter to`Columns as channels (frame based)`, the block treats an*M*-by-_{i}*N*matrix input as*N*independent channels. The block processes each column of the input over time by keeping the frame size constant (*M*=_{i}*M*), and making the output frame period (_{o}*T*)_{fo}*K*times longer than the input frame period (*T*=_{fo}*K***T*)._{fi}

To examine or manipulate the coefficients of the filter that
this block designs, select **Export filter coefficients to
workspace**. Then set the **Coefficient variable
name** parameter to the name of a variable that you want
the block to create in the MATLAB^{®} workspace. Running the simulation
causes the block to create the variable, overwriting any previous
contents in case the variable already exists.

For information pertaining to the latency of the block, see details in FIR Decimation.

**Filter shape**Specify the filter shape as

`Square root`or`Normal`.**Rolloff factor**Specify the rolloff factor of the filter. Use a real number between

`0`and`1`.**Filter span in symbols**Specify the number of symbols the filter spans as an even, integer-valued positive scalar. The default is

`10`. Because the ideal raised cosine filter has an infinite impulse response, the block truncates the impulse response to the number of symbols that this parameter specifies.**Input samples per symbol**An integer greater than 1 representing the number of samples that represent one symbol in the input signal.

**Decimation factor**Specify the decimation factor the block applies to the input signal. The output samples per symbol equals the value of the input samples per symbol divided by the decimation factor. If the decimation factor is one, then the block only applies filtering. There is no decimation.

**Decimation offset**Specify the decimation offset in samples. Use a value between

`0`and**Decimation factor**-`1`.**Linear amplitude filter gain**Specify a positive scalar value that the block uses to scale the filter coefficients. By default, the block normalizes filter coefficients to provide unit energy gain. If you specify a gain other than

`1`, the block scales the normalized filter coefficients using the gain value you specify.**Input processing**Specify how the block processes the input signal. You can set this parameter to one of the following options:

`Columns as channels (frame based)`— When you select this option, the block treats each column of the input as a separate channel.`Elements as channels (sample based)`— When you select this option, the block treats each element of the input as a separate channel.

**Note:**The`Inherited (this choice will be removed - see release notes)`option will be removed in a future release. See Frame-Based Processing in the*Communications System Toolbox™ Release Notes*for more information.**Rate options**Specify the method by which the block should filter and downsample the input signal. You can select one of the following options:

`Enforce single-rate processing`— When you select this option, the block maintains the input sample rate and processes the signal by decreasing the output frame size by a factor of*K*. To select this option, you must set the**Input processing**parameter to`Columns as channels (frame based)`.`Allow multirate processing`— When you select this option, the block processes the signal such that the output sample rate is*K*times slower than the input sample rate.

**Export filter coefficients to workspace**Select this check box to create a variable in the MATLAB workspace that contains the filter coefficients.

**Coefficient variable name**The name of the variable to create in the MATLAB workspace. This field appears only if

**Export filter coefficients to workspace**is selected.**Visualize filter with FVTool**If you click this button, then MATLAB launches the Filter Visualization Tool,

`fvtool`, to analyze the raised cosine filter whenever you apply any changes to the block's parameters. If you launch`fvtool`for the filter, and subsequently change parameters in the mask,`fvtool`will not update. You will need to launch a new`fvtool`in order to see the new filter characteristics. Also note that if you have launched`fvtool`, then it will remain open even after the model is closed.

**Rounding mode**Select the rounding mode for fixed-point operations. The block uses the

**Rounding mode**when the result of a fixed-point calculation does not map exactly to a number representable by the data type and scaling storing the result. The filter coefficients do not obey this parameter; they always round to`Nearest`. For more information, see Rounding Modes in the DSP System Toolbox™ documentation or Rounding Mode: Simplest in the Fixed-Point Designer™ documentation.**Overflow mode**Select the overflow mode for fixed-point operations. The filter coefficients do not obey this parameter; they are always saturated.

**Coefficients**Choose how you specify the word length and the fraction length of the filter coefficients (numerator and/or denominator).

See the Coefficients section of the FIR Decimation help page and Filter Structure Diagrams in

*DSP System Toolbox Reference Guide*for illustrations depicting the use of the coefficient data types in this block:See the Coefficients subsection of the Digital Filter help page for descriptions of parameter settings.

When you select

`Same word length as input`, the word length of the filter coefficients match that of the input to the block. In this mode, the fraction length of the coefficients is automatically set to the binary-point only scaling that provides you with the best precision possible given the value and word length of the coefficients.When you select

`Specify word length`, you are able to enter the word length of the coefficients, in bits. In this mode, the fraction length of the coefficients is automatically set to the binary-point only scaling that provides you with the best precision possible given the value and word length of the coefficients.When you select

`Binary point scaling`, you are able to enter the word length and the fraction length of the coefficients, in bits. If applicable, you are able to enter separate fraction lengths for the numerator and denominator coefficients.When you select

`Slope and bias scaling`, you are able to enter the word length, in bits, and the slope of the coefficients. If applicable, you are able to enter separate slopes for the numerator and denominator coefficients. This block requires power-of-two slope and a bias of zero.The filter coefficients do not obey the

**Rounding mode**and the**Overflow mode**parameters; they are always saturated and rounded to`Nearest`.

**Product output**Use this parameter to specify how you would like to designate the product output word and fraction lengths. See Filter Structure Diagrams and Multiplication Data Types in

*DSP System Toolbox Reference Guide*for illustrations depicting the use of the product output data type in this block:When you select

`Same as input`, these characteristics match those of the input to the block.When you select

`Binary point scaling`, you are able to enter the word length and the fraction length of the product output, in bits.When you select

`Slope and bias scaling`, you are able to enter the word length, in bits, and the slope of the product output. This block requires power-of-two slope and a bias of zero.

**Accumulator**Use this parameter to specify how you would like to designate the accumulator word and fraction lengths. See Filter Structure Diagrams and Multiplication Data Types for illustrations depicting the use of the accumulator data type in this block:

When you select

`Same as input`, these characteristics match those of the input to the block.When you select

`Same as product output`, these characteristics match those of the product output.When you select

`Binary point scaling`, you are able to enter the word length and the fraction length of the accumulator, in bits.When you select

`Slope and bias scaling`, you are able to enter the word length, in bits, and the slope of the accumulator. This block requires power-of-two slope and a bias of zero.

**Output**Choose how you specify the output word length and fraction length:

When you select

`Same as input`, these characteristics match those of the input to the block.When you select

`Same as accumulator`, these characteristics match those of the accumulator.When you select

`Binary point scaling`, you are able to enter the word length and the fraction length of the output, in bits.When you select

`Slope and bias scaling`, you are able to enter the word length, in bits, and the slope of the output. This block requires power-of-two slope and a bias of zero.

**Lock data type settings against changes by the fixed-point tools**Select this parameter to prevent any fixed-point scaling you specify in this block mask from being overridden by the autoscaling tool in the Fixed-Point Tool.

Was this topic helpful?