public class ModulationOok extends DigitalModulation
For the equations used in computing Eb/No and BER for the OOK modulation, see Section 4.3.3 page 172 of "Optical Wireless Communications - System and Channel Modeling with MATLAB" by Z. Ghassemlooy, W. Popoola, and S. Rajbhandari.
Constructor and Description |
---|
ModulationOok()
Initializes a new instance.
|
ModulationOok(double dutyCycle)
Create a new instance based on the given duty cycle.
|
Modifier and Type | Method and Description |
---|---|
double |
computeBitErrorRate(double bitEnergyPerNoiseDensity)
A method to decode the digital signal and produce the probability that any given bit will be incorrect.
|
double |
computeBitErrorRate(Signal intendedSignal)
A method to decode the digital signal and produce the probability that any given bit will be incorrect.
|
boolean |
equals(Object obj)
Indicates whether another object is exactly equal to this instance.
|
double |
getDutyCycle()
Gets the duty cycle which is the percentage of one period in which the signal is active.
|
double |
getSpectralEfficiency()
Gets the spectral efficiency representing the number of bits that can be represented per unit bandwidth, in bps/Hz.
|
int |
hashCode()
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
|
public ModulationOok()
public ModulationOok(double dutyCycle)
dutyCycle
- The percentage of one period in which the signal is active.
Valid values are greater then zero and less than or equal to one.
A value of one represents non-return-to-zero OOK while a duty cycle less than 1 represents a return-to-zero (RZ) type OOK modulation.public double computeBitErrorRate(Signal intendedSignal)
computeBitErrorRate
in class DigitalModulation
intendedSignal
- The signal object which represents the digital data.ArgumentNullException
- Thrown when intendedSignal
is null
.public double computeBitErrorRate(double bitEnergyPerNoiseDensity)
computeBitErrorRate
in class DigitalModulation
bitEnergyPerNoiseDensity
- The bit energy per noise density ratio (Eb/No).public double getSpectralEfficiency()
This specifies the bandwidth needed to represent a certain SignalDataRate
successfully.
The half-bandwidth (or base-band bandwidth) of the corresponding signal is the data rate divided by the spectral efficiency.
getSpectralEfficiency
in class DigitalModulation
public final double getDutyCycle()
public boolean equals(Object obj)
equals
in class Object
obj
- The object to compare to this instance.true
if obj
is an instance of this type and represents the same value as this instance; otherwise false
.Object.hashCode()
,
HashMap
public int hashCode()
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)