public static class SignalProcessing.SqrtRaisedCosineSampleGenerator extends java.lang.Object implements DoubleUnaryOperation
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 and Description |
---|
SqrtRaisedCosineSampleGenerator(double firstZeroCrossing,
double excess)
Construct a SqrtRaisedCosineSampleGenerator.
|
Modifier and Type | Method and Description |
---|---|
double |
operate(double time)
Operate on the operand, returning a value of the same type.
|
public SqrtRaisedCosineSampleGenerator(double firstZeroCrossing, double excess)
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).public final double operate(double time)
DoubleUnaryOperation
operate
in interface DoubleUnaryOperation
time
- The operand.