Communications Toolbox | ![]() ![]() |
Design a raised cosine IIR filter
Syntax
[num,den] = rcosiir(R,T_delay,rate,T,tol);
[num,den] = rcosiir(R,T_delay,rate,T,tol,filter_type
);
rcosiir(...);
rcosiir(...,colr);
[num,den,sample_time] = rcosiir(...);
Optional Inputs
Input |
Default Value |
T_delay |
3 |
rate |
5 |
T |
1 |
tol |
0.01 |
Description
The rcosiir
function designs the same filters that the rcosine
function designs when the latter's type_flag
argument includes '
iir
'
. However, rcosine
is somewhat easier to use.
The time response of the raised cosine filter has the form
[num,den] = rcosiir(R,T_delay,rate,T,tol)
designs an IIR approximation of an FIR raised cosine filter, and returns the numerator and denominator of the IIR filter. The filter's rolloff factor is R
, where .
T
is the symbol period in seconds. The filter's group delay is T_delay
symbol periods. rate
is the number of sample points in each interval of duration T
. rate
must be greater than 1. The input sample rate is T
samples per second, while the output sample rate is T*rate
samples per second. If tol
is an integer greater than 1, then it becomes the order of the IIR filter; if tol
is less than 1, then it indicates the relative tolerance for rcosiir
to use when selecting the order based on the singular values.
The arguments T_delay
, rate
, T
, and tol
are optional inputs whose default values are 3, 5, 1, and 0.01, respectively.
[num,den] = rcosiir(R,T_delay,rate,T,tol,
designs a square-root raised cosine filter if filter_type
)
filter_type
is '
sqrt
'
. If filter_type
is 'normal
' then this syntax is the same as the previous one.
rcosiir(...)
plots the time and frequency responses of the raised cosine filter.
rcosiir(...,colr)
uses the string colr
to determine the plotting color. The choices for colr
are the same as those listed for the plot
function.
[num,den,sample_time] = rcosiir(...)
returns the transfer function and the sample time of the IIR filter.
Examples
The script below compares different values of T_delay
.
rcosiir(0,10); subplot(211); hold on; subplot(212); hold on; col = ['r-';'g-';'b-';'m-';'c-';'w-']; R = [8,6,4,3,2,1]; for ii = R rcosiir(0,ii,[],[],[],[],col(find(R==ii),:)); end;
This example shows how the filter's frequency response more closely approximates that of the ideal raised cosine filter as T_delay
increases.
See Also
rcosfir
, rcosflt
, rcosine
, rcosdemo
, grpdelay
References
Kailath, Thomas, Linear Systems, Englewood Cliffs, N.J., Prentice-Hall, 1980.
Korn, Israel, Digital Communications, New York, Van Nostrand Reinhold, 1985.
![]() | rcosflt | rcosine | ![]() |