Package ptolemy.math
Class SignalProcessing.SqrtRaisedCosineSampleGenerator
- java.lang.Object
-
- ptolemy.math.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.
-
-
-
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 interfaceDoubleUnaryOperation
- Parameters:
time
- The operand.- Returns:
- The results of the operation.
-
-