Package ptolemy.math

Class SignalProcessing.SqrtRaisedCosineSampleGenerator

  • All Implemented Interfaces:
    DoubleUnaryOperation
    Enclosing class:
    SignalProcessing

    public static class SignalProcessing.SqrtRaisedCosineSampleGenerator
    extends java.lang.Object
    implements DoubleUnaryOperation
    This class generates samples of a square-root raised cosine pulse. The function computed is:

               4 x(cos((1+x)PI t/T) + T sin((1-x)PI t/T)/(4x t/T))
      h(t) =  ---------------------------------------------------
                    PI sqrt(T)(1-(4 x t/T)2)
      

    where x is the the excess bandwidth. This pulse convolved with itself will, in principle, be equal to a raised cosine pulse. However, because the pulse decays rather slowly for low excess bandwidth, this ideal is not closely approximated by short finite approximations of the pulse.

    This implementation was ported from the Ptolemy 0.x implementation by Joe Buck, Brian Evans, and Edward A. Lee. Reference: E. A. Lee and D. G. Messerschmitt, Digital Communication, Second Edition, Kluwer Academic Publishers, Boston, 1994. The implementation was then further optimized to cache computations that are independent of time.

    • Constructor Summary

      Constructors 
      Constructor Description
      SqrtRaisedCosineSampleGenerator​(double firstZeroCrossing, double excess)
      Construct a SqrtRaisedCosineSampleGenerator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double operate​(double time)
      Operate on the operand, returning a value of the same type.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SqrtRaisedCosineSampleGenerator

        public SqrtRaisedCosineSampleGenerator​(double firstZeroCrossing,
                                               double excess)
        Construct a SqrtRaisedCosineSampleGenerator.
        Parameters:
        firstZeroCrossing - The time of the first zero crossing of the corresponding raised cosine pulse.
        excess - The excess bandwidth of the corresponding raised cosine pulse (also called the rolloff factor).
    • Method Detail

      • operate

        public final double operate​(double time)
        Description copied from interface: DoubleUnaryOperation
        Operate on the operand, returning a value of the same type.
        Specified by:
        operate in interface DoubleUnaryOperation
        Parameters:
        time - The operand.
        Returns:
        The results of the operation.