Apply pulse shaping by downsampling signal using raised cosine FIR filter
Comm Filters
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 block icon shows the
impulse response of the filter.
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
Linear 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 Symbol Synchronizer. 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 singlerate processing
, the input and output
of the block have the same sample rate. To generate 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/K times that of the input
(M_{o} =
M_{i}/K), In this
mode, the input frame size, M_{i}, must be a
multiple of K.
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 MbyN matrix input as
M*N independent channels, and
processes each channel over time. The output sample period
(T_{so}) is
K times longer than the input sample period
(T_{so} =
K*T_{si}), and the input and
output sizes are identical.
When you set the Input processing parameter to
Columns as channels (frame based)
, the block
treats an
M_{i}byN
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_{o}),
and making the output frame period
(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.
Specify the filter shape as Square root
or
Normal
.
Specify the rolloff factor of the filter. Use a real number between
0
and 1
.
Specify the number of symbols the filter spans as an even, integervalued
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.
An integer greater than 1 representing the number of samples that represent one symbol in the input signal.
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.
Specify the decimation offset in samples. Use a value between
0
and Decimation factor
1
.
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.
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.
Specify the method by which the block should filter and downsample the input signal. You can select one of the following options:
Enforce singlerate 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.
Select this check box to create a variable in the MATLAB workspace that contains the filter coefficients.
The name of the variable to create in the MATLAB workspace. This field appears only if Export filter coefficients to workspace is selected.
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.
Select the rounding mode for fixedpoint operations. The block uses the
Rounding mode when the result of a fixedpoint
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
or Rounding Mode: Simplest (FixedPoint Designer).
Select the overflow mode for fixedpoint operations. The filter coefficients do not obey this parameter; they are always saturated.
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 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 binarypoint
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 binarypoint 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
poweroftwo slope and a bias of zero.
The filter coefficients do not obey the Rounding
mode and the Saturate on integer
overflow parameters; they are always saturated and
rounded to Nearest
.
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 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 poweroftwo slope and a bias of
zero.
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 poweroftwo slope and a bias of
zero.
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 poweroftwo slope and a bias of
zero.
Select this parameter to prevent any fixedpoint scaling you specify in this block mask from being overridden by the autoscaling tool in the FixedPoint Tool.
Port  Supported Data Types 

In 

Out 
