Prev Next srrcfir

Raisied Cosine FIR Filter Function
Syntax h = srrcfir(Nsampsym, Ntaps, beta, KaiserFactor)
Include: include spt\srrcfir.oms
See Also pwlfir , pbfir , hilbert , linfir , rcfir

ARGUMENTS:
  INPUTS:
    Nsampsym     = Number of samples per symbol.
    Ntaps        = Number of filter taps, >= 2.
    beta         = Excess bandwidth, 0 <= beta <= 1.0
    KaiserFactor = Kaiser window factor, 2 < K < 20.
                   If this is out-of-range, no window is applied.
  OUTPUTS:
    h = column vector of filter coefficients. Peak sample is 1.0.
  RETURN: VECTOR, DOUBLE, filter coefficients.

Description

This function creates a Square-Root Raised Cosine FIR filter, commonly used as a pulse-shaping fiter in digital communication signal generation. This is the filter that would typically be used once in a transmitter and once in a receiver to achieve an overall rasied cosine response.

"Nsampsym" is the number of samples per symbol resolution of the filter. "Ntaps" is the length of the desired FIR and can be either odd or even.

"beta" is the excess bandwidth for the FIR (sometimes called "alpha") and is between 0.0 and 1.0.

The "KaiserFactor" is the adjustment factor for a Kaiser window that may be applied to the FIR during design for sideband suppression. If no windowing is desired, set this any value outside it's range of 2 to 20, 0(zero) for example.

The function returns a column vector, double precision, of row length "Ntaps".

Example
Create a 33-tap raised cosine FIR and plot the impulse and frequency responses.

Nsampsym     = 4;
Nspan        = 8;
Ntaps        = Nsampsym*Nspan+1;    # Number of taps
beta         = 0.25d0;
KaiserFactor = 2d0;
h            = srrcfir(Nsampsym, Ntaps, beta, KaiserFactor);